This commit is contained in:
tianshujie
2022-03-30 09:40:23 +08:00
parent 8ba2c1bb83
commit b638bd1c83
2 changed files with 71 additions and 49 deletions
+39 -49
View File
@@ -185,6 +185,8 @@ function changeKanbanScaleSize(newScaleSize)
kanban.setOptions({cardsPerRow: newScaleSize, cardHeight: getCardHeight()});
}
if(laneCount == 1) resetRegionHeight('open');
return newScaleSize;
}
@@ -1034,6 +1036,7 @@ function updateKanban(kanbanData, regionID = 0)
});
}
}, 200);
resetRegionHeight('open');
}
/**
@@ -1462,6 +1465,12 @@ $(function()
}, 10000);
}
if(groupBy != 'default')
{
$('.region').css('padding-bottom', '10px');
$('.region').css('border', '0px');
}
resetRegionHeight('open');
});
@@ -1484,54 +1493,35 @@ function calcColHeight(col, lane, colCards, colHeight, kanban)
* @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;
}
function resetRegionHeight(fold)
{
var laneCount = 0;
$('.kanban-lane').each(function()
{
laneCount ++;
if(laneCount > 1) return;
});
var regionID = Object.keys(regions)[0];
var region = regions[regionID].groups;
var groupCount = 0;
if(laneCount > 1) return;
var regionHeaderHeight = $('.region-header').outerHeight();
if(fold == 'open')
{
var windowHeight = $(window).height();
var headerHeight = $('#mainHeader').outerHeight();
var mainPadding = $('#main').css('padding-top');
var menuHeight = $('#mainMenu').height();
var panelBorder = $('.panel').css('border-top-width');
var bodyPadding = $('.panel-body').css('padding-top');
var regionBorder = $('.region').css('border-top-width');
var regionPadding = $('.kanban').css('padding-bottom');
var columnHeight = $('.kanban-header').outerHeight();
var height = windowHeight - (parseInt(mainPadding) * 2) - menuHeight - (parseInt(bodyPadding) * 2) - headerHeight - (parseInt(panelBorder) * 2) - (parseInt(regionBorder) * 2);
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);
}
}
if(groupBy == 'default') $('.region').css('height', height);
$('.kanban-lane').css('height', height - regionHeaderHeight - parseInt(regionPadding) - columnHeight);
}
else
{
$('.region').css('height', regionHeaderHeight);
}
}
+32
View File
@@ -361,6 +361,7 @@ function updateKanban(kanbanID, data)
if(!$kanban.length) return;
$kanban.data('zui.kanban').render(data);
resetKanbanHeight();
}
/**
@@ -985,6 +986,7 @@ function changeKanbanScaleSize(newScaleSize)
kanban.setOptions({cardsPerRow: newScaleSize, cardHeight: getCardHeight()});
});
resetKanbanHeight();
return newScaleSize;
}
@@ -1159,6 +1161,7 @@ $(function()
}
});
}, 10000);
resetKanbanHeight();
});
$('#type').change(function()
@@ -1206,3 +1209,32 @@ $('.panel-body').scroll(function()
{
$.zui.ContextMenu.hide();
});
/**
* Reset kanban height according to window height.
*
* @access public
* @return void
*/
function resetKanbanHeight()
{
var laneCount = 0;
$('.kanban-lane').each(function()
{
laneCount ++;
if(laneCount > 1) return;
});
if(laneCount > 1) return;
var windowHeight = $(window).height();
var headerHeight = $('#mainHeader').outerHeight();
var mainPadding = $('#main').css('padding-top');
var menuHeight = $('#mainMenu').height();
var panelBorder = $('.panel').css('border-top-width');
var bodyPadding = $('.panel-body').css('padding-top');
var columnHeight = $('.kanban-header').outerHeight();
var height = windowHeight - headerHeight - (parseInt(mainPadding) * 2) - menuHeight - (parseInt(panelBorder) * 2) - (parseInt(bodyPadding) * 2) - columnHeight;
$('.kanban-lane').css('height', height -2);
}