'use strict';
|
|
|
|
angular.module('app.write', ['ngRoute'])
|
|
|
|
.config(['$routeProvider', function($routeProvider) {
|
|
$routeProvider.when('/write', {
|
|
templateUrl: 'views/write/write.html',
|
|
controller: 'WriteCtrl'
|
|
});
|
|
}])
|
|
|
|
.controller('WriteCtrl', function($scope, $rootScope, $http, toastr) {
|
|
$scope.post = {
|
|
title: "",
|
|
content: "",
|
|
summary: ""
|
|
};
|
|
var editor = new MediumEditor('.editable', {
|
|
toolbar: {
|
|
/* These are the default options for the toolbar,
|
|
if nothing is passed this is what is used */
|
|
allowMultiParagraphSelection: true,
|
|
buttons: ['bold', 'italic', 'underline', 'anchor', 'h2', 'h3', 'quote'],
|
|
diffLeft: 0,
|
|
diffTop: -10,
|
|
firstButtonClass: 'medium-editor-button-first',
|
|
lastButtonClass: 'medium-editor-button-last',
|
|
relativeContainer: null,
|
|
standardizeSelectionStart: false,
|
|
static: false,
|
|
/* options which only apply when static is true */
|
|
align: 'center',
|
|
sticky: false,
|
|
updateOnEmptySelection: false
|
|
},
|
|
autoLink: true,
|
|
placeholder: {
|
|
text: 'Start to writting your decentralized blog post...'
|
|
}
|
|
}).subscribe('editableInput', function(event, editable) {
|
|
// Do some work
|
|
$scope.post.content = editable.innerHTML;
|
|
});
|
|
|
|
|
|
$scope.publicate = function() {
|
|
//add the thumbimg to ipfs
|
|
var formdata = new FormData();
|
|
formdata.append("file", $scope.file);
|
|
$http({
|
|
url: ipfsurl + 'add',
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": undefined
|
|
},
|
|
data: formdata
|
|
})
|
|
.then(function(data) {
|
|
console.log("data: ");
|
|
console.log(data.data);
|
|
$scope.post.thumbimg = data.data.Hash;
|
|
toastr.success("Thumb image added to IPFS");
|
|
$scope.publicate2();
|
|
},
|
|
function(data) {
|
|
console.log(data);
|
|
toastr.error("Error adding Model to IPFS");
|
|
});
|
|
};
|
|
$scope.publicate2 = function() {
|
|
//$scope.post.thumbimg = hash;
|
|
//send the post content to the Go api, that will add the html content to ipfs
|
|
console.log("post", $scope.post);
|
|
$http({
|
|
url: apiurl + 'post',
|
|
method: "POST",
|
|
headers: {
|
|
"Content-Type": undefined
|
|
},
|
|
data: $scope.post
|
|
})
|
|
.then(function(data) {
|
|
console.log("data: ");
|
|
console.log(data.data);
|
|
window.location = "#!/main";
|
|
},
|
|
function(data) {
|
|
console.log(data);
|
|
});
|
|
|
|
};
|
|
}).directive('fileModel', ['$parse', function($parse) {
|
|
//directive code from https://www.tutorialspoint.com/angularjs/angularjs_upload_file.htm
|
|
return {
|
|
restrict: 'A',
|
|
link: function(scope, element, attrs) {
|
|
var model = $parse(attrs.fileModel);
|
|
var modelSetter = model.assign;
|
|
element.bind('change', function() {
|
|
scope.$apply(function() {
|
|
modelSetter(scope, element[0].files[0]);
|
|
});
|
|
});
|
|
}
|
|
};
|
|
}]);
|