Merge branch 'sprint/168_sunhao/improve_kanban' into 'sprint/168'

* Adjust kanban layout.

See merge request easycorp/zentaopms!278
This commit is contained in:
李玉春
2021-11-09 00:32:48 +00:00
3 changed files with 29 additions and 9 deletions
+6 -8
View File
@@ -367,18 +367,17 @@ function affixKanbanHeader($kanbanBoard, affixed)
*/
function updateKanbanAffixState()
{
var $boards = $('.kanban-board');
var $boards = $('.kanban-board');
var $lastAffixedBoard = $boards.filter('.kanban-affixed');
var containerTop = window.kanbanAffixContainer ? $(window.kanbanAffixContainer)[0].getBoundingClientRect().top : 0;
var $currentAffixedBoard;
var currentOffsetTop = 0;
var scrollTop = $(window).scrollTop();
$('.kanban-board').each(function()
{
var $board = $(this);
var offsetTop = $board.offset().top;
if(scrollTop >= offsetTop && offsetTop > currentOffsetTop && scrollTop < (offsetTop + $board.outerHeight() - 72))
var bounds = $board[0].getBoundingClientRect();
if(bounds.top < containerTop && bounds.bottom > (containerTop))
{
currentOffsetTop = offsetTop;
$currentAffixedBoard = $board;
}
});
@@ -399,7 +398,6 @@ $.extend($.fn.kanban.Constructor.DEFAULTS,
{
readonly: true,
maxColHeight: 260,
/* laneItemsClass: 'scrollbar-hover', */ // only show scrollbar on mouse hover
itemRender: renderKanbanItem,
useFlex: false,
showCount: true,
@@ -448,7 +446,7 @@ $(function()
updateKanbanAffixState();
updateTimer = null;
};
$(window).on('scroll resize', function(e)
$(window.kanbanAffixContainer || window).on('scroll resize', function(e)
{
if(updateTimer)
{
+7
View File
@@ -1,3 +1,4 @@
#main {padding-bottom: 10px;}
#main > .container {max-width: 1960px!important; padding: 0 10px}
.kanban + .kanban {margin-top: 15px}
@@ -29,6 +30,12 @@
.kanban-affixed .kanban-header-col > .title > .text,
.kanban-affixed .kanban-header-col > .title > .count {color: #fff!important;}
#kanbanContainer {margin: 0;}
#kanbanContainer > .panel-body {overflow: auto;}
#kanbans .kanban {min-height: initial;}
#kanbans .kanban-lane {min-height: 150px;}
#kanbans .kanban-affixed > .kanban-header {top: 100px;}
.dropdown-menu a {text-align: left;}
.scrollbar-hover {max-height: 2000px; overflow: scroll !important;}
.c-type, .c-group {width: 150px !important; overflow: unset;}
+16 -1
View File
@@ -636,6 +636,14 @@ function createTaskMenu(options)
return items;
}
/** Resize kanban container size */
function resizeKanbanContainer()
{
var $container = $('#kanbanContainer');
var maxHeight = window.innerHeight - 98 - 15;
$container.children('.panel-body').css('max-height', maxHeight);
}
/* Define menu creators */
window.menuCreators =
{
@@ -647,6 +655,9 @@ window.menuCreators =
task: createTaskMenu,
};
/* Set kanban affix container */
window.kanbanAffixContainer = '#kanbanContainer>.panel-body';
/* Overload kanban default options */
$.extend($.fn.kanban.Constructor.DEFAULTS,
{
@@ -657,7 +668,7 @@ $.extend($.fn.kanban.Constructor.DEFAULTS,
{
maxWidth = Math.max(maxWidth, $(this).outerWidth());
});
$('#kanbanContainer').css('min-width', maxWidth + 40);
$('#kanbans').css('min-width', maxWidth);
}
});
@@ -726,6 +737,10 @@ $(function()
$.zui.ContextMenu.show(items, items.$options || {event: event});
});
/* Resize kanban container on window resize */
resizeKanbanContainer();
$(window).on('resize', resizeKanbanContainer);
/* Hide contextmenu when page scroll */
$(window).on('scroll', function()
{