diff --git a/module/execution/control.php b/module/execution/control.php index e926ae5554..2082f443bc 100644 --- a/module/execution/control.php +++ b/module/execution/control.php @@ -1975,8 +1975,10 @@ class execution extends control * @access public * @return void */ - public function kanban($executionID, $browseType = 'all', $orderBy = 'id_asc', $groupBy = 'all') + public function kanban($executionID, $browseType = 'all', $orderBy = 'id_asc', $groupBy = 'default') { + if(empty($groupBy)) $groupBy = 'default'; + $this->lang->execution->menu = new stdclass(); $execution = $this->commonAction($executionID); $kanbanData = $this->loadModel('kanban')->getRDKanban($executionID, $browseType, $orderBy, $groupBy); diff --git a/module/execution/js/kanban.js b/module/execution/js/kanban.js index 7a9b7ceec8..3334bbfb32 100644 --- a/module/execution/js/kanban.js +++ b/module/execution/js/kanban.js @@ -884,18 +884,29 @@ window.menuCreators = /** * init Kanban */ +/** + * Init kanban. + * + * @param object $kanban + * @access public + * @return void + */ function initKanban($kanban) { - var id = $kanban.data('id'); - var region = regions[id]; + var id = $kanban.data('id'); + var region = regions[id]; + var displayCards = window.displayCards == 'undefined' ? 2 : window.displayCards; $kanban.kanban( { data: region.groups, maxColHeight: 510, + calcColHeight: calcColHeight, fluidBoardWidth: false, minColWidth: 300, maxColWidth: 300, + cardHeight: 60, + displayCards: displayCards, createColumnText: kanbanLang.createColumn, addItemText: '', cardHeight: getCardHeight(), @@ -1135,3 +1146,15 @@ $(function() } }); }); + +/** Calculate column height */ +function calcColHeight(col, lane, colCards, colHeight, kanban) +{ + var options = kanban.options; + if(!options.displayCards) return 0; + + var displayCards = +(options.displayCards || 2); + + if (typeof displayCards !== 'number' || displayCards < 2) displayCards = 2; + return (displayCards * (options.cardHeight + options.cardSpace) + options.cardSpace); +} diff --git a/module/execution/js/taskkanban.js b/module/execution/js/taskkanban.js index ba81c8bf4a..6ae8207fd6 100644 --- a/module/execution/js/taskkanban.js +++ b/module/execution/js/taskkanban.js @@ -350,11 +350,12 @@ function updateKanban(kanbanID, data) */ function createKanban(kanbanID, data, options) { - var $kanban = $('#kanban-' + kanbanID); + var $kanban = $('#kanban-' + kanbanID); + var displayCards = window.displayCards == 'undefined' ? 2 : window.displayCards; if($kanban.length) return updateKanban(kanbanID, data); $kanban = $('
').appendTo('#kanbans'); - $kanban.kanban($.extend({data: data}, options)); + $kanban.kanban($.extend({data: data, calcColHeight: calcColHeight, displayCards: displayCards}, options)); } function fullScreen() @@ -1117,3 +1118,15 @@ $('.c-group').change(function() var link = createLink('execution', 'taskKanban', 'executionID=' + executionID + '&type=' + type + '&orderBy=order_asc' + '&groupBy=' + group); location.href = link; }); + +/** Calculate column height */ +function calcColHeight(col, lane, colCards, colHeight, kanban) +{ + var options = kanban.options; + if(!options.displayCards) return 0; + + var displayCards = +(options.displayCards || 2); + + if (typeof displayCards !== 'number' || displayCards < 2) displayCards = 2; + return (displayCards * (options.cardHeight + options.cardSpace) + options.cardSpace); +} diff --git a/module/project/css/browse.css b/module/project/css/browse.css index fecfbfca43..d7d2937c11 100644 --- a/module/project/css/browse.css +++ b/module/project/css/browse.css @@ -16,3 +16,4 @@ th.c-name {width: 360px !important;} { th.c-name {width: auto;} } +[lang^='en'] #projectTableList .project-name > .label-warning {width: 55px;}