(function() { "use strict"; angular.module('shared') .component('folderDescription', { templateUrl: '/shared/js/angular/file-cabinet/folder-description.html', controller: 'FolderDescriptionCtrl', bindings: { folder: '<' } }) .controller('FolderDescriptionCtrl', ['folderService','currentSubFolders', function FolderDescriptionCtrl(folderService,currentSubFolders) { var ctrl = this; ctrl.$onChanges = function() { folderService.setFolderDescriptionMode("display"); if (ctrl.folder) { ctrl.description = ctrl.folder.description; ctrl.originalDescription = ctrl.folder.description; } }; ctrl.editDescriptionSubmit = function() { var data = { folder_id: ctrl.folder.id, folder_description: ctrl.description, isEveryone: currentSubFolders.getAreFoldersForEveryone() }; folderService.editFolderDescription(data) .then(function() { ctrl.updateDescription(); }) .catch(function() { ctrl.revertDescription(); }); folderService.setFolderDescriptionMode("display"); }; ctrl.updateDescription = function () { ctrl.folder.description = ctrl.description; ctrl.originalDescription = ctrl.description; }; ctrl.revertDescription = function () { ctrl.folder.description = ctrl.originalDescription; ctrl.description = ctrl.originalDescription; }; ctrl.isDisplayMode = function() { return folderService.getFolderDescriptionMode() === "display"; }; ctrl.isEditMode = function() { return folderService.getFolderDescriptionMode() === "edit"; }; }]); }());