summaryrefslogtreecommitdiff
path: root/assets/js/src/BoardColumnView.js
diff options
context:
space:
mode:
Diffstat (limited to 'assets/js/src/BoardColumnView.js')
-rw-r--r--assets/js/src/BoardColumnView.js79
1 files changed, 79 insertions, 0 deletions
diff --git a/assets/js/src/BoardColumnView.js b/assets/js/src/BoardColumnView.js
new file mode 100644
index 00000000..2da1bdfa
--- /dev/null
+++ b/assets/js/src/BoardColumnView.js
@@ -0,0 +1,79 @@
+Kanboard.BoardColumnView = function(app) {
+ this.app = app;
+};
+
+Kanboard.BoardColumnView.prototype.execute = function() {
+ if (this.app.hasId("board")) {
+ this.render();
+ }
+};
+
+Kanboard.BoardColumnView.prototype.listen = function() {
+ var self = this;
+
+ $(document).on("click", ".board-toggle-column-view", function() {
+ self.toggle($(this).data("column-id"));
+ });
+};
+
+Kanboard.BoardColumnView.prototype.onBoardRendered = function() {
+ this.render();
+};
+
+Kanboard.BoardColumnView.prototype.render = function() {
+ var self = this;
+
+ $(".board-column-header").each(function() {
+ var columnId = $(this).data('column-id');
+ if (localStorage.getItem("hidden_column_" + columnId)) {
+ self.hideColumn(columnId);
+ }
+ });
+};
+
+Kanboard.BoardColumnView.prototype.toggle = function(columnId) {
+ if (localStorage.getItem("hidden_column_" + columnId)) {
+ this.showColumn(columnId);
+ }
+ else {
+ this.hideColumn(columnId);
+ }
+};
+
+Kanboard.BoardColumnView.prototype.hideColumn = function(columnId) {
+ $(".board-column-" + columnId + " .board-column-expanded").hide();
+ $(".board-column-" + columnId + " .board-column-collapsed").show();
+ $(".board-column-header-" + columnId + " .board-column-expanded").hide();
+ $(".board-column-header-" + columnId + " .board-column-collapsed").show();
+
+ $(".board-column-header-" + columnId).each(function() {
+ $(this).removeClass("board-column-compact");
+ $(this).addClass("board-column-header-collapsed");
+ });
+
+ $(".board-column-" + columnId).each(function() {
+ $(this).addClass("board-column-task-collapsed");
+ });
+
+ $(".board-column-" + columnId + " .board-rotation").each(function() {
+ $(this).css("width", $(".board-column-" + columnId + "").height());
+ });
+
+ localStorage.setItem("hidden_column_" + columnId, 1);
+};
+
+Kanboard.BoardColumnView.prototype.showColumn = function(columnId) {
+ $(".board-column-" + columnId + " .board-column-expanded").show();
+ $(".board-column-" + columnId + " .board-column-collapsed").hide();
+ $(".board-column-header-" + columnId + " .board-column-expanded").show();
+ $(".board-column-header-" + columnId + " .board-column-collapsed").hide();
+
+ $(".board-column-header-" + columnId).removeClass("board-column-header-collapsed");
+ $(".board-column-" + columnId).removeClass("board-column-task-collapsed");
+
+ if (localStorage.getItem("horizontal_scroll") == 0) {
+ $(".board-column-header-" + columnId).addClass("board-column-compact");
+ }
+
+ localStorage.removeItem("hidden_column_" + columnId);
+};