diff --git a/.devcontainer/Dockerfile b/.devcontainer/Dockerfile index e012daac3..eedd056f3 100644 --- a/.devcontainer/Dockerfile +++ b/.devcontainer/Dockerfile @@ -8,8 +8,8 @@ LABEL org.opencontainers.image.source="https://github.com/wekan/wekan" # - gyp does not yet work with Ubuntu 22.04 ubuntu:rolling, # so changing to 21.10. https://github.com/wekan/wekan/issues/4488 -ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools git" -ENV DEV_DEPS="curl python3 ca-certificates build-essential" +ENV BUILD_DEPS="apt-utils gnupg gosu wget bzip2 g++ iproute2 apt-transport-https libarchive-tools" +ENV DEV_DEPS="curl python3 ca-certificates build-essential git" ARG DEBIAN_FRONTEND=noninteractive ENV \ diff --git a/client/components/boards/boardBody.jade b/client/components/boards/boardBody.jade index edeb25464..6dce982d9 100644 --- a/client/components/boards/boardBody.jade +++ b/client/components/boards/boardBody.jade @@ -18,7 +18,7 @@ template(name="boardBody") else .board-wrapper(class=currentBoard.colorClass) +sidebar - .board-canvas.js-swimlanes( + .board-canvas.js-swimlanes.dragscroll( class="{{#if Sidebar.isOpen}}is-sibling-sidebar-open{{/if}}" class="{{#if MultiSelection.isActive}}is-multiselection-active{{/if}}" class="{{#if draggingActive.get}}is-dragging-active{{/if}}") diff --git a/client/components/boards/boardBody.js b/client/components/boards/boardBody.js index f02b69fdd..6be1e1777 100644 --- a/client/components/boards/boardBody.js +++ b/client/components/boards/boardBody.js @@ -1,5 +1,6 @@ import { ReactiveCache } from '/imports/reactiveCache'; import { TAPi18n } from '/imports/i18n'; +import dragscroll from 'dragscroll'; const subManager = new SubsManager(); const { calculateIndex } = Utils; @@ -219,6 +220,7 @@ BlazeComponent.extendComponent({ boardComponent.openNewListForm(); } + dragscroll.reset(); Utils.setBackgroundImage(); }, diff --git a/client/components/cards/cardDetails.jade b/client/components/cards/cardDetails.jade index b86158522..c06f41821 100644 --- a/client/components/cards/cardDetails.jade +++ b/client/components/cards/cardDetails.jade @@ -5,7 +5,7 @@ template(name="cardDetails") +attachmentViewer - section.card-details.js-card-details(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas + section.card-details.js-card-details.nodragscroll(class='{{#if cardMaximized}}card-details-maximized{{/if}}' class='{{#if isPopup}}card-details-popup{{/if}}'): .card-details-canvas .card-details-header(class='{{#if colorClass}}card-details-{{colorClass}}{{/if}}') +inlinedForm(classNames="js-card-details-title") +editCardTitleForm diff --git a/client/components/cards/checklists.jade b/client/components/cards/checklists.jade index 41f55292b..ff2721f34 100644 --- a/client/components/cards/checklists.jade +++ b/client/components/cards/checklists.jade @@ -22,7 +22,7 @@ template(name="checklists") i.fa.fa-plus template(name="checklistDetail") - .js-checklist.checklist + .js-checklist.checklist.nodragscroll +inlinedForm(classNames="js-edit-checklist-title" checklist = checklist) +editChecklistItemForm(checklist = checklist) else diff --git a/client/components/cards/minicard.jade b/client/components/cards/minicard.jade index b13ddc4b4..2cbeea2fc 100644 --- a/client/components/cards/minicard.jade +++ b/client/components/cards/minicard.jade @@ -1,5 +1,5 @@ template(name="minicard") - .minicard( + .minicard.nodragscroll( class="{{#if isLinkedCard}}linked-card{{/if}}" class="{{#if isLinkedBoard}}linked-board{{/if}}" class="{{#if colorClass}}minicard-{{colorClass}}{{/if}}") diff --git a/client/components/lists/listHeader.jade b/client/components/lists/listHeader.jade index e724cdaa4..f34ab846d 100644 --- a/client/components/lists/listHeader.jade +++ b/client/components/lists/listHeader.jade @@ -1,5 +1,5 @@ template(name="listHeader") - .list-header.js-list-header( + .list-header.js-list-header.nodragscroll( class="{{#if limitToShowCardsCount}}list-header-card-count{{/if}}" class=colorClass) +inlinedForm diff --git a/client/components/swimlanes/swimlanes.jade b/client/components/swimlanes/swimlanes.jade index bef6e8e33..f01ca7efd 100644 --- a/client/components/swimlanes/swimlanes.jade +++ b/client/components/swimlanes/swimlanes.jade @@ -1,5 +1,5 @@ template(name="swimlane") - .swimlane + .swimlane.nodragscroll +swimlaneHeader unless collapseSwimlane .swimlane.js-lists.js-swimlane(id="swimlane-{{_id}}" diff --git a/package-lock.json b/package-lock.json index 4e7c0c1fe..491e7ce18 100644 --- a/package-lock.json +++ b/package-lock.json @@ -681,6 +681,10 @@ "domhandler": "^4.2.0" } }, + "dragscroll": { + "version": "git+https://github.com/mfilser/dragscroll.git#9d1025cc168b314430566d405135d0c17f774944", + "from": "git+https://github.com/mfilser/dragscroll.git#9d1025cc168b314430566d405135d0c17f774944" + }, "duplexer2": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz", diff --git a/package.json b/package.json index e55c924c3..333f6fa37 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,7 @@ "bcryptjs": "^2.4.3", "bson": "^4.5.2", "dompurify": "^2.5.5", + "dragscroll": "git+https://github.com/mfilser/dragscroll.git#9d1025cc168b314430566d405135d0c17f774944", "es6-promise": "^4.2.4", "escape-string-regexp": "^5.0.0", "fibers": "^5.0.3",