diff --git a/app/coffee/modules/kanban/main.coffee b/app/coffee/modules/kanban/main.coffee index 612194b2..fc98e66b 100644 --- a/app/coffee/modules/kanban/main.coffee +++ b/app/coffee/modules/kanban/main.coffee @@ -34,14 +34,10 @@ module = angular.module("taigaKanban") # Vars defaultViewMode = "maximized" -defaultViewModes = { - maximized: { - cardClass: "kanban-task-maximized" - } - minimized: { - cardClass: "kanban-task-minimized" - } -} +viewModes = [ + "maximized", + "minimized" +] ############################################################################# @@ -225,8 +221,9 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi @scope.statusViewModes = {} for status in @scope.usStatusList - mode = storedStatusViewModes[status.id] - @scope.statusViewModes[status.id] = if _.has(defaultViewModes, mode) then mode else defaultViewMode + mode = storedStatusViewModes[status.id] || defaultViewMode + + @scope.statusViewModes[status.id] = mode @.storeStatusViewModes() @@ -237,9 +234,13 @@ class KanbanController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.Fi @scope.statusViewModes[statusId] = newViewMode @.storeStatusViewModes() - getCardClass: (statusId)-> + isMaximized: (statusId) -> mode = @scope.statusViewModes[statusId] or defaultViewMode - return defaultViewModes[mode].cardClass or defaultViewModes[defaultViewMode].cardClass + return mode == 'maximized' + + isMinimized: (statusId) -> + mode = @scope.statusViewModes[statusId] or defaultViewMode + return mode == 'minimized' # Utils methods @@ -418,7 +419,7 @@ KanbanUserstoryDirective = ($rootscope, $loading, $rs) -> else if not us.is_blocked and $el.hasClass("blocked") $el.removeClass("blocked") - $el.find(".icon-edit").on "click", (event) -> + $el.on 'click', '.icon-edit', (event) -> if $el.find(".icon-edit").hasClass("noclick") return @@ -435,16 +436,17 @@ KanbanUserstoryDirective = ($rootscope, $loading, $rs) -> $rootscope.$broadcast("usform:edit", editingUserStory) currentLoading.finish() + $scope.getTemplateUrl = () -> + if $scope.us.isPlaceholder + return "common/components/card-placeholder.html" + else + return "kanban/kanban-task.html" + $scope.$on "$destroy", -> $el.off() return { - #templateUrl: "kanban/kanban-task.html" - templateUrl: (elem, attr) -> - if attr.placeholder - return "common/components/card-placeholder.html" - else - return "kanban/kanban-task.html" + template: '', link: link require: "ngModel" } diff --git a/app/partials/includes/modules/kanban-table.jade b/app/partials/includes/modules/kanban-table.jade index 2fae77f0..23c55db8 100644 --- a/app/partials/includes/modules/kanban-table.jade +++ b/app/partials/includes/modules/kanban-table.jade @@ -48,11 +48,11 @@ div.kanban-table(tg-kanban-squish-column) div.kanban-task( ng-repeat="us in usByStatus[s.id] track by us.id", - tg-kanban-userstory, - ng-model="us", + tg-kanban-userstory, + ng-model="us", tg-bind-scope, tg-class-permission="{'readonly': '!modify_task'}" - ng-class="ctrl.getCardClass(s.id), 'card-placeholder': us.isPlaceholder}" + ng-class="{'kanban-task-maximized': ctrl.isMaximized(s.id), 'kanban-task-minimized': ctrl.isMinimized(s.id), 'card-placeholder': us.isPlaceholder}" placeholder="{{us.isPlaceholder}}" )