* refactor usage of kanban.

This commit is contained in:
Hao Sun
2021-11-30 14:21:24 +08:00
parent 0b199d7d0e
commit 88e67add78
3 changed files with 24 additions and 30 deletions
+16 -22
View File
@@ -381,9 +381,7 @@ function affixKanbanHeader($kanbanBoard, affixed)
$kanbanBoard.css('padding-top', affixed ? $header.outerHeight() : '');
}
/**
* Update kanban affix state for all boards in page
*/
/** Update kanban affix state for all boards in page */
function updateKanbanAffixState()
{
var $boards = $('.kanban-board');
@@ -409,6 +407,17 @@ function updateKanbanAffixState()
if($currentAffixedBoard) affixKanbanHeader($currentAffixedBoard, true);
}
/** Try to update kanban affix state */
function tryUpdateKanbanAffix()
{
if(window.updateKanbanAffixTimer) $.zui.clearAsap(window.updateKanbanAffixTimer);
window.updateKanbanAffixTimer = $.zui.asap(function()
{
updateKanbanAffixState();
window.updateKanbanAffixTimer = null;
});
}
/* Kanban color list for lane name */
if(!window.kanbanColorList) window.kanbanColorList = ['#32C5FF', '#006AF1', '#9D28B2', '#FF8F26', '#7FBB00', '#424BAC', '#66c5f8', '#EC2761'];
@@ -420,6 +429,7 @@ $.extend($.fn.kanban.Constructor.DEFAULTS,
itemRender: renderKanbanItem,
showCount: true,
showZeroCount: true,
fluidBoardWidth: true,
onRenderLaneName: function($name, lane, $kanban, columns, kanban)
{
var color = kanbanColorList[lane.$index % kanbanColorList.length];
@@ -442,29 +452,13 @@ $.extend($.fn.kanban.Constructor.DEFAULTS,
},
onCreate: function(kanban)
{
kanban.$.on('scroll', updateKanbanAffixState);
updateKanbanAffixState();
kanban.$.on('scroll', tryUpdateKanbanAffix);
tryUpdateKanbanAffix();
}
});
$(function()
{
/* Update kanban affix state on window resize or scroll */
var updateTimer;
var updateCallback = function()
{
updateKanbanAffixState();
updateTimer = null;
};
$(window.kanbanAffixContainer || window).on('scroll resize', function(e)
{
if(updateTimer)
{
if(window.requestAnimationFrame) cancelAnimationFrame(updateTimer);
else clearTimeout(updateTimer);
}
if(window.requestAnimationFrame) updateTimer = requestAnimationFrame(updateCallback);
else updateTimer = setTimeout(updateCallback, 50);
});
$(window.kanbanAffixContainer || window).on('scroll resize', tryUpdateKanbanAffix);
});
</script>
+1 -1
View File
@@ -750,7 +750,7 @@ $(function()
maxColWidth: 240,
showCount: true,
showZeroCount: true,
fluidBoardWidth: true,
fluidBoardWidth: false,
droppable:
{
target: findDropColumns,
File diff suppressed because one or more lines are too long