diff --git a/webapp/views/write/write.js b/webapp/views/write/write.js
index e29199f..19ed35f 100644
--- a/webapp/views/write/write.js
+++ b/webapp/views/write/write.js
@@ -2,66 +2,105 @@
angular.module('app.write', ['ngRoute'])
- .config(['$routeProvider', function($routeProvider) {
- $routeProvider.when('/write', {
- templateUrl: 'views/write/write.html',
- controller: 'WriteCtrl'
- });
- }])
+ .config(['$routeProvider', function($routeProvider) {
+ $routeProvider.when('/write', {
+ templateUrl: 'views/write/write.html',
+ controller: 'WriteCtrl'
+ });
+ }])
- .controller('WriteCtrl', function($scope, $rootScope, $http) {
- $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;
- console.log($scope.post.content);
- });
+ .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() {
- 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 = "#!/user/" + $scope.user.id;
- },
- function(data) {
- console.log(data);
- });
+ $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]);
+ });
+ });
+ }
+ };
+ }]);