From 35b3f7b993ed1dca49021ef84336240d132ca031 Mon Sep 17 00:00:00 2001 From: zuzanna-maria Date: Tue, 11 Feb 2025 17:22:10 +0100 Subject: [PATCH] More corrections/refactoring --- customize.dist/messages.js | 11 +++++++++ customize.dist/translations/messages.js | 11 --------- www/kanban/app-kanban.less | 4 ++-- www/kanban/inner.js | 31 ++++++++++++++----------- 4 files changed, 31 insertions(+), 26 deletions(-) diff --git a/customize.dist/messages.js b/customize.dist/messages.js index a5784b495..4d23f592d 100755 --- a/customize.dist/messages.js +++ b/customize.dist/messages.js @@ -136,6 +136,17 @@ define(req, function(AppConfig, Default, Language) { } }; + Messages.kanban_moveitemLeft = 'Move item left'; // XXX + Messages.kanban_moveitemRight = 'Move item right'; // XXX + Messages.kanban_moveBoardLeft = 'Move board left'; // XXX + Messages.kanban_moveBoardRight = 'Move board right'; // XXX + + //NOTE: these keys are also added to the Form mobile UI PR #1753 + Messages.moveItemUp = 'Move item up'; // XXX + Messages.moveitemDown = 'Move item down'; // XXX + Messages.toggleArrows = 'Switch to arrow view'; // XXX + Messages.toggleDrag = 'Switch to drag view'; // XXX + return Messages; }); diff --git a/customize.dist/translations/messages.js b/customize.dist/translations/messages.js index 0314a2255..df4096367 100644 --- a/customize.dist/translations/messages.js +++ b/customize.dist/translations/messages.js @@ -13,17 +13,6 @@ define(['/common/translations/messages.js'], function (Messages) { // Replace the existing keys in your copied file here: // Messages.button_newpad = "New Rich Text Document"; - Messages.kanban_moveitemLeft = 'Move item left'; // XXX - Messages.kanban_moveitemRight = 'Move item right'; // XXX - Messages.kanban_moveBoardLeft = 'Move board left'; // XXX - Messages.kanban_moveBoardRight = 'Move board right'; // XXX - - //NOTE: these keys are also added to the Form mobile UI PR #1753 - Messages.moveItemUp = 'Move item up'; // XXX - Messages.moveitemDown = 'Move item down'; // XXX - Messages.toggleArrows = 'Switch to arrow view'; // XXX - Messages.toggleDrag = 'Switch to drag view'; // XXX - return Messages; }); diff --git a/www/kanban/app-kanban.less b/www/kanban/app-kanban.less index 01dc86933..65566f7b4 100644 --- a/www/kanban/app-kanban.less +++ b/www/kanban/app-kanban.less @@ -584,11 +584,11 @@ } } button.cp-kanban-view-drag { - &.toggle-active { + &.cp-toggle-active { background-color: @cp_kanban-fg; color: @cp_app-bg !important; } - &.toggle-inactive { + &.cp-toggle-inactive { color: @cp_kanban-fg; } } diff --git a/www/kanban/inner.js b/www/kanban/inner.js index 7ae2f3b07..e795144fc 100644 --- a/www/kanban/inner.js +++ b/www/kanban/inner.js @@ -540,7 +540,7 @@ define([ if (!kanban) { return; } if (framework.isReadOnly() || framework.isLocked()) { return; } var $container = $(kanban.element); - var drag = $('#toggle-drag-off').attr('class').indexOf('toggle-active') !== -1 ? false : true; + var drag = kanban.drag; kanban.options.dragBoards = drag; kanban.options.dragItems = drag; $container.find('.kanban-board').each(function (i, el) { @@ -557,7 +557,7 @@ define([ _updateBoards(framework, kanban, kanban.options.boards, false); }; - var moveBetweenBoards = function (nextBoardItems, elId, boardItems, index, boards, boardId) { + var moveBetweenBoards = function (nextBoardItems, elId, boardItems, index, boards) { nextBoardItems.unshift(elId); boardItems.splice(index, 1); _updateBoards(framework, kanban, boards, false); @@ -565,7 +565,7 @@ define([ }; var shiftItem = function (direction, el) { - var board = $(el).closest('.kanban-board') + var board = $(el).closest('.kanban-board'); var boards = kanban.options.boards; var elId = parseInt($(el).attr("data-eid")); var boardId = parseInt($(board).attr("data-id")); @@ -1179,18 +1179,23 @@ define([ }); } - var toggleOffclass = 'ontouchstart' in window ? 'toggle-active' : 'toggle-inactive'; - var toggleOnclass = 'ontouchstart' in window ? 'toggle-inactive' : 'toggle-active'; + + + var toggleOffclass = 'ontouchstart' in window ? 'cp-toggle-active' : 'cp-toggle-inactive'; + var toggleOnclass = 'ontouchstart' in window ? 'cp-toggle-inactive' : 'cp-toggle-active'; var toggleDragOff = h(`button#toggle-drag-off.cp-kanban-view-drag.${toggleOffclass}.fa.fa-arrows`, {'aria-hidden': true, 'title': Messages.toggleArrows}); - $(toggleDragOff).click(function() { - $(toggleDragOff).attr('class').indexOf('toggle-inactive') !== -1 ? $(toggleDragOff).toggleClass('toggle-inactive').toggleClass('toggle-active') && $(toggleDragOn).toggleClass('toggle-active').toggleClass('toggle-inactive') : undefined; - addMoveElementButton(framework, kanban); - }); var toggleDragOn = h(`button#toggle-drag-on.cp-kanban-view-drag.${toggleOnclass}.fa.fa-hand-o-up`, {'aria-hidden': true, 'title': Messages.toggleDrag}); - $(toggleDragOn).click(function() { - $(toggleDragOn).attr('class').indexOf('toggle-inactive') !== -1 ? $(toggleDragOn).toggleClass('toggle-inactive').toggleClass('toggle-active') && $(toggleDragOff).toggleClass('toggle-active').toggleClass('toggle-inactive') : undefined; - addMoveElementButton(framework, kanban); - }); + + const updateDrag = state => { + return function () { + $(toggleDragOn).toggleClass('cp-toggle-active', state).toggleClass('cp-toggle-inactive', !state); + $(toggleDragOff).toggleClass('cp-toggle-active', !state).toggleClass('cp-toggle-inactive', state); + kanban.drag = state; + addMoveElementButton(framework, kanban); + }; + }; + $(toggleDragOn).click(updateDrag(true)); + $(toggleDragOff).click(updateDrag(false)); var container = h('div#cp-kanban-controls', [ tags,