From 2fc0ae1c8e68cd61ac1f423304a06f47ab310ed2 Mon Sep 17 00:00:00 2001 From: Andrey Antukh Date: Mon, 15 Sep 2014 20:10:19 +0200 Subject: [PATCH] Fix wrong taskboard table height calculation (fix #981) This not implies resizes on windows is resized. --- app/coffee/modules/taskboard/main.coffee | 27 +++++++++++++++++-- .../views/modules/taskboard-table.jade | 6 ++--- 2 files changed, 28 insertions(+), 5 deletions(-) diff --git a/app/coffee/modules/taskboard/main.coffee b/app/coffee/modules/taskboard/main.coffee index 6526d500..38b3140a 100644 --- a/app/coffee/modules/taskboard/main.coffee +++ b/app/coffee/modules/taskboard/main.coffee @@ -25,6 +25,7 @@ mixOf = @.taiga.mixOf groupBy = @.taiga.groupBy bindOnce = @.taiga.bindOnce scopeDefer = @.taiga.scopeDefer +timeout = @.taiga.timeout module = angular.module("taigaTaskboard") @@ -241,7 +242,7 @@ module.directive("tgTaskboardTask", ["$rootScope", TaskboardTaskDirective]) ## Taskboard Task Row Size Fixer Directive ############################################################################# -TaskboardRowSizeFixer = -> +TaskboardRowWidthFixerDirective = -> link = ($scope, $el, $attrs) -> bindOnce $scope, "taskStatusList", (statuses) -> itemSize = 300 + (10 * statuses.length) @@ -250,7 +251,29 @@ TaskboardRowSizeFixer = -> return {link: link} -module.directive("tgTaskboardRowSizeFixer", TaskboardRowSizeFixer) +module.directive("tgTaskboardRowWidthFixer", TaskboardRowWidthFixerDirective) + +############################################################################# +## Taskboard Table Height Fixer Directive +############################################################################# + +TaskboardTableHeightFixerDirective = -> + mainPadding = 32 # px + + renderSize = ($el) -> + elementOffset = $el.offset().top + windowHeight = angular.element(window).height() + columnHeight = windowHeight - elementOffset - mainPadding + $el.css("height", "#{columnHeight}px") + + link = ($scope, $el, $attrs) -> + timeout(500, -> renderSize($el)) + + return {link:link} + + +module.directive("tgTaskboardTableHeightFixer", TaskboardTableHeightFixerDirective) + ############################################################################# ## Taskboard User Directive diff --git a/app/partials/views/modules/taskboard-table.jade b/app/partials/views/modules/taskboard-table.jade index e60be1fa..7e6c475b 100644 --- a/app/partials/views/modules/taskboard-table.jade +++ b/app/partials/views/modules/taskboard-table.jade @@ -1,13 +1,13 @@ div.taskboard-table div.taskboard-table-header - div.taskboard-table-inner(tg-taskboard-row-size-fixer) + div.taskboard-table-inner(tg-taskboard-row-width-fixer) h2.task-colum_name "User story" h2.task-colum_name(ng-repeat="s in taskStatusList track by s.id", ng-style="{'border-top-color':s.color}") span(tg-bo-bind="s.name") - div.taskboard-table-body - div.taskboard-table-inner(tg-taskboard-row-size-fixer) + div.taskboard-table-body(tg-taskboard-table-height-fixer) + div.taskboard-table-inner(tg-taskboard-row-width-fixer) div.task-row(ng-repeat="us in userstories track by us.id") div.taskboard-userstory-box.task-column div.tag-list