From 4d7ee95c09bae457b5b0bf53c60a768c0be60a90 Mon Sep 17 00:00:00 2001 From: Zongjun Lan Date: Tue, 22 Mar 2022 10:56:21 +0800 Subject: [PATCH] * fix task #51347,#51307 --- .../ext/view/kanban.lite.html.hook.php | 4 ++ framework/router.class.php | 3 + module/common/model.php | 2 - module/execution/js/kanban.js | 63 +++++++++++++++++++ 4 files changed, 70 insertions(+), 2 deletions(-) diff --git a/extension/lite/execution/ext/view/kanban.lite.html.hook.php b/extension/lite/execution/ext/view/kanban.lite.html.hook.php index 8d5ff1682c..0f3b49248b 100644 --- a/extension/lite/execution/ext/view/kanban.lite.html.hook.php +++ b/extension/lite/execution/ext/view/kanban.lite.html.hook.php @@ -7,4 +7,8 @@ diff --git a/framework/router.class.php b/framework/router.class.php index 20e14a0544..c0407b58a2 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -183,6 +183,9 @@ class router extends baseRouter if($setting->key == 'mode' and $setting->section == 'global') $mode = $setting->value; if($setting->key == 'scoreStatus' and $setting->section == 'global') $score = $setting->value; } + + /* Lite Version is compatible with classic modes */ + if($config->vision == 'lite') $mode = 'new'; /* Record system mode. */ $config->systemMode = $mode; diff --git a/module/common/model.php b/module/common/model.php index 256a496c5b..8be94bb856 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -485,8 +485,6 @@ class commonModel extends model /* The standalone lite version removes the lite interface button */ if(trim($config->visions, ',') == 'lite') return true; - if($app->config->systemMode != 'new') return print("
{$lang->visionList['rnd']}
"); - if(count($userVisions) < 2) return print("
{$lang->visionList[$currentVision]}
"); if(count($configVisions) < 2) return print("
{$lang->visionList[$currentVision]}
"); diff --git a/module/execution/js/kanban.js b/module/execution/js/kanban.js index 9350f13cd2..0de9dfa84a 100644 --- a/module/execution/js/kanban.js +++ b/module/execution/js/kanban.js @@ -767,6 +767,7 @@ function updateRegion(regionID, regionData = []) if(!regionData) regionData = regions[regionID]; $region.data('zui.kanban').render(regionData.groups); + resetRegionHeight('open'); return true; } @@ -1197,6 +1198,7 @@ $(function() $(this).toggleClass('icon-chevron-double-up icon-chevron-double-down'); $(this).parents('.region').find('.kanban').toggle(); hideKanbanAction(); + resetRegionHeight($(this).hasClass('icon-chevron-double-up') ? 'open' : 'close'); }); $('.region-header').on('click', '.action', hideKanbanAction); @@ -1419,6 +1421,8 @@ $(function() }); }, 10000); } + + resetRegionHeight('open'); }); /** Calculate column height */ @@ -1432,3 +1436,62 @@ function calcColHeight(col, lane, colCards, colHeight, kanban) if (typeof displayCards !== 'number' || displayCards < 2) displayCards = 2; return (displayCards * (options.cardHeight + options.cardSpace) + options.cardSpace); } + +/** + * Reset region height according to window height. + * + * @param string fold + * @access public + * @return void + */ + function resetRegionHeight(fold) + { + var regionCount = 0; + if($.isEmptyObject(regions)) return false; + for(var i in regions) + { + regionCount += 1; + if(regionCount > 1) return false; + } + + var regionID = Object.keys(regions)[0]; + var region = regions[regionID].groups; + var groupCount = 0; + + if($.isEmptyObject(region)) return false; + for(var j in region) + { + groupCount += 1; + if(groupCount > 1) return false; + } + + var group = region[0]; + var laneCount = 0; + + if($.isEmptyObject(group.lanes)) return false; + for(var h in group.lanes) + { + laneCount += 1; + if(laneCount > 1) return false; + } + + var regionHeaderHeight = $('.region-header').outerHeight(); + if(fold == 'open') + { + var windowHeight = $(window).height(); + var headerHeight = $('#mainHeader').outerHeight(); + var mainPadding = $('#main').css('padding-top'); + var panelBorder = $('.panel').css('border-top-width'); + var bodyPadding = $('.panel-body').css('padding-top'); + var height = windowHeight - (parseInt(mainPadding) * 2) - (parseInt(bodyPadding) * 2) - headerHeight - (parseInt(panelBorder) * 2); + var regionPadding = $('.kanban').css('padding-bottom'); + var columnHeight = $('.kanban-header').outerHeight(); + + $('.region').css('height', height); + $('.kanban-lane').css('height', height - regionHeaderHeight - parseInt(regionPadding) - columnHeight); + } + else + { + $('.region').css('height', regionHeaderHeight); + } + }