86 lines
2.2 KiB
JavaScript
86 lines
2.2 KiB
JavaScript
Kanboard.BoardColumnScrolling = function(app) {
|
|
this.app = app;
|
|
};
|
|
|
|
Kanboard.BoardColumnScrolling.prototype.execute = function() {
|
|
if (this.app.hasId("board")) {
|
|
this.render();
|
|
|
|
$(window).on("load", this.render);
|
|
$(window).resize(this.render);
|
|
}
|
|
};
|
|
|
|
Kanboard.BoardColumnScrolling.prototype.listen = function() {
|
|
var self = this;
|
|
|
|
$(document).on('click', ".filter-toggle-height", function(e) {
|
|
e.preventDefault();
|
|
self.toggle();
|
|
});
|
|
};
|
|
|
|
Kanboard.BoardColumnScrolling.prototype.onBoardRendered = function() {
|
|
this.render();
|
|
};
|
|
|
|
Kanboard.BoardColumnScrolling.prototype.toggle = function() {
|
|
var scrolling = localStorage.getItem("column_scroll");
|
|
|
|
if (scrolling == undefined) {
|
|
scrolling = 1;
|
|
}
|
|
|
|
localStorage.setItem("column_scroll", scrolling == 0 ? 1 : 0);
|
|
this.render();
|
|
};
|
|
|
|
Kanboard.BoardColumnScrolling.prototype.render = function() {
|
|
var taskList = $(".board-task-list");
|
|
var rotationWrapper = $(".board-rotation-wrapper");
|
|
var filterMax = $(".filter-max-height");
|
|
var filterMin = $(".filter-min-height");
|
|
|
|
if (localStorage.getItem("column_scroll") == 0) {
|
|
var height = 80;
|
|
|
|
filterMax.show();
|
|
filterMin.hide();
|
|
rotationWrapper.css("min-height", '');
|
|
|
|
taskList.each(function() {
|
|
var columnHeight = $(this).height();
|
|
|
|
if (columnHeight > height) {
|
|
height = columnHeight;
|
|
}
|
|
});
|
|
|
|
taskList.css("min-height", height);
|
|
taskList.css("height", '');
|
|
}
|
|
else {
|
|
|
|
filterMax.hide();
|
|
filterMin.show();
|
|
|
|
if ($(".board-swimlane").length > 1) {
|
|
taskList.each(function() {
|
|
if ($(this).height() > 500) {
|
|
$(this).css("height", 500);
|
|
}
|
|
else {
|
|
$(this).css("min-height", 320); // Height of the dropdown menu
|
|
rotationWrapper.css("min-height", 320);
|
|
}
|
|
});
|
|
}
|
|
else {
|
|
var height = $(window).height() - 170;
|
|
|
|
taskList.css("height", height);
|
|
rotationWrapper.css("min-height", height);
|
|
}
|
|
}
|
|
};
|