diff --git a/js/Gruntfile.js b/js/Gruntfile.js index f1efba72a..1d7956ebd 100644 --- a/js/Gruntfile.js +++ b/js/Gruntfile.js @@ -22,7 +22,7 @@ module.exports = function(grunt) { - 'use strict'; + 'use strict'; grunt.loadNpmTasks('grunt-contrib-concat'); grunt.loadNpmTasks('grunt-contrib-watch'); @@ -37,13 +37,13 @@ module.exports = function(grunt) { pkg: grunt.file.readJSON('package.json'), version: '<%= meta.pkg.version %>', configJS: 'config/', - buildJS: [ - 'app/**/*.js', - 'controller/**/*.js', - 'filters/**/*.js', - 'directive/**/*.js', - 'service/**/*.js' - ], + buildJS: [ + 'app/**/*.js', + 'controller/**/*.js', + 'filters/**/*.js', + 'directive/**/*.js', + 'service/**/*.js' + ], productionJS: 'public/', testsJS: '../tests/js/' }, diff --git a/js/app/Run.js b/js/app/Run.js index 269378f6b..3c80f44d9 100644 --- a/js/app/Run.js +++ b/js/app/Run.js @@ -20,7 +20,7 @@ * */ -/** global: OC, oc_defaults, Snap */ +/* global Snap */ app.run(function ($document, $rootScope, $transitions, BoardService) { 'use strict'; $document.click(function (event) { diff --git a/js/controller/BoardController.js b/js/controller/BoardController.js index 21d13251a..d49f973c6 100644 --- a/js/controller/BoardController.js +++ b/js/controller/BoardController.js @@ -101,7 +101,7 @@ app.controller('BoardController', function ($rootScope, $scope, $stateParams, St // filter cards here, as ng-sortable will not work nicely with html-inline filters $scope.filterData = function (order, text) { if ($scope.stacks === undefined) - return; + {return;} angular.copy(StackService.getData(), $scope.stacks); $scope.stacks = $filter('orderBy')($scope.stacks, 'order'); angular.forEach($scope.stacks, function (value, key) { diff --git a/js/controller/CardController.js b/js/controller/CardController.js index 080ac960d..bb63c8dac 100644 --- a/js/controller/CardController.js +++ b/js/controller/CardController.js @@ -46,7 +46,7 @@ app.controller('CardController', function ($scope, $rootScope, $routeParams, $lo $scope.cardRenameShow = function () { if ($scope.archived || !BoardService.canEdit()) - return false; + {return false;} else { $scope.status.cardRename = true; } @@ -104,7 +104,7 @@ app.controller('CardController', function ($scope, $rootScope, $routeParams, $lo }; $scope.labelRemove = function (element, model) { - CardService.removeLabel($scope.cardId, element.id) + CardService.removeLabel($scope.cardId, element.id); }; $scope.setDuedate = function (duedate) { diff --git a/js/controller/ListController.js b/js/controller/ListController.js index e23f3448b..e9ffe5f43 100644 --- a/js/controller/ListController.js +++ b/js/controller/ListController.js @@ -23,26 +23,26 @@ /* global app angular */ app.controller('ListController', function ($scope, $location, $filter, BoardService, $element, $timeout, $stateParams, $state) { - function calculateNewColor() { - var boards = BoardService.getAll(); - var boardKeys = Object.keys(boards); - var colorOccurrences = []; + function calculateNewColor() { + var boards = BoardService.getAll(); + var boardKeys = Object.keys(boards); + var colorOccurrences = []; - for (var i = 0; i < $scope.colors.length; i++) { - colorOccurrences.push(0); - } + for (var i = 0; i < $scope.colors.length; i++) { + colorOccurrences.push(0); + } - for (var j = 0; j < boardKeys.length; j++) { - var key = boardKeys[j]; - var board = boards[key]; + for (var j = 0; j < boardKeys.length; j++) { + var key = boardKeys[j]; + var board = boards[key]; - if (board && $scope.colors.indexOf(board.color) !== -1) { - colorOccurrences[$scope.colors.indexOf(board.color)]++; - } - } + if (board && $scope.colors.indexOf(board.color) !== -1) { + colorOccurrences[$scope.colors.indexOf(board.color)]++; + } + } - return $scope.colors[colorOccurrences.indexOf(Math.min.apply(Math, colorOccurrences))]; - } + return $scope.colors[colorOccurrences.indexOf(Math.min.apply(Math, colorOccurrences))]; + } $scope.boards = []; $scope.newBoard = {}; diff --git a/js/directive/appPopoverMenuUtils.js b/js/directive/appPopoverMenuUtils.js index d44429d52..2f47063a5 100644 --- a/js/directive/appPopoverMenuUtils.js +++ b/js/directive/appPopoverMenuUtils.js @@ -21,29 +21,29 @@ */ app.directive('appPopoverMenuUtils', function () { - 'use strict'; - return { - restrict: 'C', - link: function (scope, elm) { - var menu = elm.find('.popovermenu'); - var button = elm.find('button'); - button.click(function (e) { - $('.popovermenu').addClass('hidden'); - menu.toggleClass('hidden'); - if(!menu.hasClass('hidden')) { - button.css('display','block'); - } else { - button.css('display',''); - } + 'use strict'; + return { + restrict: 'C', + link: function (scope, elm) { + var menu = elm.find('.popovermenu'); + var button = elm.find('button'); + button.click(function (e) { + $('.popovermenu').addClass('hidden'); + menu.toggleClass('hidden'); + if(!menu.hasClass('hidden')) { + button.css('display','block'); + } else { + button.css('display',''); + } e.stopPropagation(); }); - scope.$on('documentClicked', function (scope, event) { - /* prevent closing popover if target has no-close class */ - if (event.target !== button && !$(event.target).hasClass('no-close')) { - menu.addClass('hidden'); - } - button.css('display',''); - }); - } - }; + scope.$on('documentClicked', function (scope, event) { + /* prevent closing popover if target has no-close class */ + if (event.target !== button && !$(event.target).hasClass('no-close')) { + menu.addClass('hidden'); + } + button.css('display',''); + }); + } + }; }); diff --git a/js/directive/appnavigationentryutils.js b/js/directive/appnavigationentryutils.js index 6eed6ecd3..2a44a17c8 100644 --- a/js/directive/appnavigationentryutils.js +++ b/js/directive/appnavigationentryutils.js @@ -23,24 +23,24 @@ // OwnCloud Click Handling // https://doc.owncloud.org/server/8.0/developer_manual/app/css.html app.directive('appNavigationEntryUtils', function () { - 'use strict'; - return { - restrict: 'C', - link: function (scope, elm) { + 'use strict'; + return { + restrict: 'C', + link: function (scope, elm) { - var menu = elm.siblings('.app-navigation-entry-menu'); - var button = $(elm) - .find('.app-navigation-entry-utils-menu-button button'); + var menu = elm.siblings('.app-navigation-entry-menu'); + var button = $(elm) + .find('.app-navigation-entry-utils-menu-button button'); - button.click(function () { - menu.toggleClass('open'); - }); - scope.$on('documentClicked', function (scope, event) { - if (event.target !== button[0]) { - menu.removeClass('open'); - } - }); - } - }; + button.click(function () { + menu.toggleClass('open'); + }); + scope.$on('documentClicked', function (scope, event) { + if (event.target !== button[0]) { + menu.removeClass('open'); + } + }); + } + }; }); diff --git a/js/directive/autofocusoninsert.js b/js/directive/autofocusoninsert.js index 5830c2922..3b9113d8c 100644 --- a/js/directive/autofocusoninsert.js +++ b/js/directive/autofocusoninsert.js @@ -21,8 +21,8 @@ */ app.directive('autofocusOnInsert', function () { - 'use strict'; - return function (scope, elm) { - elm.focus(); - }; + 'use strict'; + return function (scope, elm) { + elm.focus(); + }; }); \ No newline at end of file diff --git a/js/filters/boardFilterAcl.js b/js/filters/boardFilterAcl.js index ef023823f..ceab7be3d 100644 --- a/js/filters/boardFilterAcl.js +++ b/js/filters/boardFilterAcl.js @@ -21,7 +21,7 @@ */ app.filter('boardFilterAcl', function() { - return function(boards) { + return function(boards) { var _result = []; angular.forEach(boards, function(board){ if(board.acl !== null && Object.keys(board.acl).length > 0) { @@ -29,5 +29,5 @@ app.filter('boardFilterAcl', function() { } }); return _result; - }; + }; }); \ No newline at end of file diff --git a/js/filters/cardFilter.js b/js/filters/cardFilter.js index 0f50b7eed..6ed63d132 100644 --- a/js/filters/cardFilter.js +++ b/js/filters/cardFilter.js @@ -23,7 +23,7 @@ // usage | cardFilter({ member: 'admin'}) app.filter('cardFilter', function() { - return function(cards, rules) { + return function(cards, rules) { var _result = []; angular.forEach(cards, function(card){ var _card = card; @@ -35,5 +35,5 @@ app.filter('cardFilter', function() { }); }); return _result; - }; + }; }); \ No newline at end of file diff --git a/js/filters/dateFilters.js b/js/filters/dateFilters.js index c9c7ca9f0..9b32b3fb0 100644 --- a/js/filters/dateFilters.js +++ b/js/filters/dateFilters.js @@ -27,19 +27,19 @@ app.filter('relativeDateFilter', function() { return function (timestamp) { return OC.Util.relativeModifiedDate(timestamp*1000); - } + }; }); app.filter('relativeDateFilterString', function() { return function (date) { return OC.Util.relativeModifiedDate(Date.parse(date)); - } + }; }); app.filter('dateToTimestamp', function() { return function (date) { return Date.parse(date); - } + }; }); app.filter('parseDate', function() { @@ -48,7 +48,7 @@ app.filter('parseDate', function() { return moment(date).format('YYYY-MM-DD'); } return ''; - } + }; }); app.filter('parseTime', function() { @@ -57,5 +57,5 @@ app.filter('parseTime', function() { return moment(date).format('HH:mm'); } return ''; - } + }; }); \ No newline at end of file diff --git a/js/filters/iconWhiteFilter.js b/js/filters/iconWhiteFilter.js index 27b0973bd..ca442fc1d 100644 --- a/js/filters/iconWhiteFilter.js +++ b/js/filters/iconWhiteFilter.js @@ -39,21 +39,21 @@ app.filter('iconWhiteFilter', function () { var max = Math.max(r, g, b), min = Math.min(r, g, b); var h, s, l = (max + min) / 2; - if (max == min) { + if (max === min) { h = s = 0; // achromatic } else { var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; } h /= 6; } @@ -62,5 +62,5 @@ app.filter('iconWhiteFilter', function () { } else { return ""; } - } + }; }); diff --git a/js/filters/lightenColorFilter.js b/js/filters/lightenColorFilter.js index cd2225b6d..f5cc2aff0 100644 --- a/js/filters/lightenColorFilter.js +++ b/js/filters/lightenColorFilter.js @@ -33,5 +33,5 @@ app.filter('lightenColorFilter', function() { } else { return "#" + hex; } - } + }; }); \ No newline at end of file diff --git a/js/filters/orderObjectBy.js b/js/filters/orderObjectBy.js index 0c9e77480..4aee41067 100644 --- a/js/filters/orderObjectBy.js +++ b/js/filters/orderObjectBy.js @@ -22,7 +22,7 @@ app.filter('orderObjectBy', function(){ return function(input, attribute) { - if (!angular.isObject(input)) return input; + if (!angular.isObject(input)) {return input;} var array = []; for(var objectKey in input) { array.push(input[objectKey]); @@ -34,5 +34,5 @@ app.filter('orderObjectBy', function(){ return a < b; }); return array; - } + }; }); \ No newline at end of file diff --git a/js/filters/textColorFilter.js b/js/filters/textColorFilter.js index 8b7a524a2..2d7c77c5a 100644 --- a/js/filters/textColorFilter.js +++ b/js/filters/textColorFilter.js @@ -43,15 +43,15 @@ app.filter('textColorFilter', function () { var d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch (max) { - case r: - h = (g - b) / d + (g < b ? 6 : 0); - break; - case g: - h = (b - r) / d + 2; - break; - case b: - h = (r - g) / d + 4; - break; + case r: + h = (g - b) / d + (g < b ? 6 : 0); + break; + case g: + h = (b - r) / d + 2; + break; + case b: + h = (r - g) / d + 4; + break; } h /= 6; } @@ -64,5 +64,5 @@ app.filter('textColorFilter', function () { return "#000000"; } - } + }; }); diff --git a/js/service/BoardService.js b/js/service/BoardService.js index 5af2b529c..97c421656 100644 --- a/js/service/BoardService.js +++ b/js/service/BoardService.js @@ -128,7 +128,7 @@ app.factory('BoardService', function (ApiService, $http, $q) { permissionManage: true, permissionShare: true, type: type - } + }; }; BoardService.prototype.addAcl = function (acl) { diff --git a/js/service/CardService.js b/js/service/CardService.js index 3938670f7..b09bb3845 100644 --- a/js/service/CardService.js +++ b/js/service/CardService.js @@ -20,80 +20,87 @@ * */ -app.factory('CardService', function(ApiService, $http, $q){ - var CardService = function($http, ep, $q) { - ApiService.call(this, $http, ep, $q); - }; - CardService.prototype = angular.copy(ApiService.prototype); +app.factory('CardService', function (ApiService, $http, $q) { + var CardService = function ($http, ep, $q) { + ApiService.call(this, $http, ep, $q); + }; + CardService.prototype = angular.copy(ApiService.prototype); - CardService.prototype.reorder = function(card, order) { - var deferred = $q.defer(); - var self = this; - $http.put(this.baseUrl + '/' + card.id + '/reorder', {cardId: card.id, order: order, stackId: card.stackId}).then(function (response) { - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while update ' + self.endpoint); - }); - return deferred.promise; - }; + CardService.prototype.reorder = function (card, order) { + var deferred = $q.defer(); + var self = this; + $http.put(this.baseUrl + '/' + card.id + '/reorder', { + cardId: card.id, + order: order, + stackId: card.stackId + }).then(function (response) { + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while update ' + self.endpoint); + }); + return deferred.promise; + }; - CardService.prototype.rename = function(card) { - var deferred = $q.defer(); - var self = this; - $http.put(this.baseUrl + '/' + card.id + '/rename', {cardId: card.id, title: card.title}).then(function (response) { - self.data[card.id].title = card.title; - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while renaming ' + self.endpoint); - }); - return deferred.promise; - }; + CardService.prototype.rename = function (card) { + var deferred = $q.defer(); + var self = this; + $http.put(this.baseUrl + '/' + card.id + '/rename', { + cardId: card.id, + title: card.title + }).then(function (response) { + self.data[card.id].title = card.title; + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while renaming ' + self.endpoint); + }); + return deferred.promise; + }; - CardService.prototype.assignLabel = function(card, label) { - var url = this.baseUrl + '/' + card + '/label/' + label; - var deferred = $q.defer(); - var self = this; - $http.post(url).then(function (response) { - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while update ' + self.endpoint); - }); - return deferred.promise; - }; - CardService.prototype.removeLabel = function(card, label) { - var url = this.baseUrl + '/' + card + '/label/' + label; - var deferred = $q.defer(); - var self = this; - $http.delete(url).then(function (response) { - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while update ' + self.endpoint); - }); - return deferred.promise; - }; + CardService.prototype.assignLabel = function (card, label) { + var url = this.baseUrl + '/' + card + '/label/' + label; + var deferred = $q.defer(); + var self = this; + $http.post(url).then(function (response) { + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while update ' + self.endpoint); + }); + return deferred.promise; + }; + CardService.prototype.removeLabel = function (card, label) { + var url = this.baseUrl + '/' + card + '/label/' + label; + var deferred = $q.defer(); + var self = this; + $http.delete(url).then(function (response) { + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while update ' + self.endpoint); + }); + return deferred.promise; + }; - CardService.prototype.archive = function (card) { - var deferred = $q.defer(); - var self = this; - $http.put(this.baseUrl + '/' + card.id + '/archive', {}).then(function (response) { - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while update ' + self.endpoint); - }); - return deferred.promise; + CardService.prototype.archive = function (card) { + var deferred = $q.defer(); + var self = this; + $http.put(this.baseUrl + '/' + card.id + '/archive', {}).then(function (response) { + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while update ' + self.endpoint); + }); + return deferred.promise; - }; + }; - CardService.prototype.unarchive = function (card) { - var deferred = $q.defer(); - var self = this; - $http.put(this.baseUrl + '/' + card.id + '/unarchive', {}).then(function (response) { - deferred.resolve(response.data); - }, function (error) { - deferred.reject('Error while update ' + self.endpoint); - }); - return deferred.promise; - }; + CardService.prototype.unarchive = function (card) { + var deferred = $q.defer(); + var self = this; + $http.put(this.baseUrl + '/' + card.id + '/unarchive', {}).then(function (response) { + deferred.resolve(response.data); + }, function (error) { + deferred.reject('Error while update ' + self.endpoint); + }); + return deferred.promise; + }; CardService.prototype.assignUser = function (card, user) { var deferred = $q.defer(); @@ -115,7 +122,7 @@ app.factory('CardService', function(ApiService, $http, $q){ var deferred = $q.defer(); var self = this; $http.delete(this.baseUrl + '/' + card.id + '/assign/' + user, {}).then(function (response) { - self.getCurrent().assignedUsers = self.getCurrent().assignedUsers.filter(function( obj ) { + self.getCurrent().assignedUsers = self.getCurrent().assignedUsers.filter(function (obj) { return obj.participant.uid !== user; }); deferred.resolve(response.data); @@ -125,6 +132,6 @@ app.factory('CardService', function(ApiService, $http, $q){ return deferred.promise; }; - service = new CardService($http, 'cards', $q); - return service; + service = new CardService($http, 'cards', $q); + return service; }); \ No newline at end of file diff --git a/js/service/StackService.js b/js/service/StackService.js index 8059f1163..32bc3a4f3 100644 --- a/js/service/StackService.js +++ b/js/service/StackService.js @@ -20,48 +20,51 @@ * */ -app.factory('StackService', function(ApiService, $http, $q){ - var StackService = function($http, ep, $q) { - ApiService.call(this, $http, ep, $q); - }; - StackService.prototype = angular.copy(ApiService.prototype); - StackService.prototype.fetchAll = function(boardId) { - var deferred = $q.defer(); - var self=this; - $http.get(this.baseUrl +'/'+boardId).then(function (response) { - self.clear(); - self.addAll(response.data); - deferred.resolve(self.data); - }, function (error) { - deferred.reject('Error while loading stacks'); - }); - return deferred.promise; - }; - - StackService.prototype.fetchArchived = function(boardId) { - var deferred = $q.defer(); - var self=this; - $http.get(this.baseUrl +'/'+boardId+'/archived').then(function (response) { - self.clear(); - self.addAll(response.data); - deferred.resolve(self.data); - }, function (error) { - deferred.reject('Error while loading stacks'); - }); - return deferred.promise; - }; - - StackService.prototype.addCard = function(entity) { - if(!this.data[entity.stackId].cards) { - this.data[entity.stackId].cards = []; - } - this.data[entity.stackId].cards.push(entity); - }; - - StackService.prototype.reorder = function(stack, order) { +app.factory('StackService', function (ApiService, $http, $q) { + var StackService = function ($http, ep, $q) { + ApiService.call(this, $http, ep, $q); + }; + StackService.prototype = angular.copy(ApiService.prototype); + StackService.prototype.fetchAll = function (boardId) { var deferred = $q.defer(); var self = this; - $http.put(this.baseUrl + '/' + stack.id + '/reorder', {stackId: stack.id, order: order}).then(function (response) { + $http.get(this.baseUrl + '/' + boardId).then(function (response) { + self.clear(); + self.addAll(response.data); + deferred.resolve(self.data); + }, function (error) { + deferred.reject('Error while loading stacks'); + }); + return deferred.promise; + }; + + StackService.prototype.fetchArchived = function (boardId) { + var deferred = $q.defer(); + var self = this; + $http.get(this.baseUrl + '/' + boardId + '/archived').then(function (response) { + self.clear(); + self.addAll(response.data); + deferred.resolve(self.data); + }, function (error) { + deferred.reject('Error while loading stacks'); + }); + return deferred.promise; + }; + + StackService.prototype.addCard = function (entity) { + if (!this.data[entity.stackId].cards) { + this.data[entity.stackId].cards = []; + } + this.data[entity.stackId].cards.push(entity); + }; + + StackService.prototype.reorder = function (stack, order) { + var deferred = $q.defer(); + var self = this; + $http.put(this.baseUrl + '/' + stack.id + '/reorder', { + stackId: stack.id, + order: order + }).then(function (response) { angular.forEach(response.data, function (value, key) { var id = value.id; self.data[id].order = value.order; @@ -73,49 +76,49 @@ app.factory('StackService', function(ApiService, $http, $q){ return deferred.promise; }; - StackService.prototype.reorderCard = function(entity, order) { - // assign new order - for(var i=0, j=0;i b.order) - return 1; - return 0; - }); - }; + StackService.prototype.reorderCard = function (entity, order) { + // assign new order + for (var i = 0, j = 0; i < this.data[entity.stackId].cards.length; i++) { + if (this.data[entity.stackId].cards[i].id === entity.id) { + this.data[entity.stackId].cards[i].order = order; + } + if (j === order) { + j++; + } + if (this.data[entity.stackId].cards[i].id !== entity.id) { + this.data[entity.stackId].cards[i].order = j++; + } + } + // sort array by order + this.data[entity.stackId].cards.sort(function (a, b) { + if (a.order < b.order) + {return -1;} + if (a.order > b.order) + {return 1;} + return 0; + }); + }; - StackService.prototype.updateCard = function(entity) { - var self = this; - var cards = this.data[entity.stackId].cards; - for(var i=0;i0) - this.counter--; - if(this.counter<=0) { - this.active = false; - this.counter = 0; - } - }; + StatusService.prototype.releaseWaiting = function () { + if (this.counter > 0) + {this.counter--;} + if (this.counter <= 0) { + this.active = false; + this.counter = 0; + } + }; - StatusService.prototype.retainWaiting = function() { - this.active = true; - this.icon = 'loading'; - this.title = ''; - this.text = ''; - this.counter++; - }; + StatusService.prototype.retainWaiting = function () { + this.active = true; + this.icon = 'loading'; + this.title = ''; + this.text = ''; + this.counter++; + }; - StatusService.prototype.unsetStatus = function() { - this.active = false; - }; + StatusService.prototype.unsetStatus = function () { + this.active = false; + }; - return { - getInstance: function() { - return new StatusService(); - } - } + return { + getInstance: function () { + return new StatusService(); + } + }; });