summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
authorLauri Ojansivu <x@xet7.org>2020-05-24 01:56:58 +0300
committerGitHub <noreply@github.com>2020-05-24 01:56:58 +0300
commit00a38b36a4fa87cf533ddd69fca6d587f99298aa (patch)
tree134fb24c85bd3ed06be80d6b098b479307b83b48 /client
parentde365ad62a830ed7b24b25617dbd34761c1eed69 (diff)
parent64fa02cdf5d311329acbbfe63eb309e9c253b57d (diff)
downloadwekan-00a38b36a4fa87cf533ddd69fca6d587f99298aa.tar.gz
wekan-00a38b36a4fa87cf533ddd69fca6d587f99298aa.tar.bz2
wekan-00a38b36a4fa87cf533ddd69fca6d587f99298aa.zip
Merge pull request #3108 from marc1006/issue_2757
Change the swimlaneid of a card only if a new target swimlaneid is se…
Diffstat (limited to 'client')
-rw-r--r--client/components/lists/list.js24
1 files changed, 14 insertions, 10 deletions
diff --git a/client/components/lists/list.js b/client/components/lists/list.js
index 839304f8..5c315588 100644
--- a/client/components/lists/list.js
+++ b/client/components/lists/list.js
@@ -74,18 +74,16 @@ BlazeComponent.extendComponent({
const sortIndex = calculateIndex(prevCardDom, nextCardDom, nCards);
const listId = Blaze.getData(ui.item.parents('.list').get(0))._id;
const currentBoard = Boards.findOne(Session.get('currentBoard'));
- let swimlaneId = '';
+ const defaultSwimlaneId = currentBoard.getDefaultSwimline()._id;
+ let targetSwimlaneId = null;
+
+ // only set a new swimelane ID if the swimlanes view is active
if (
Utils.boardView() === 'board-view-swimlanes' ||
currentBoard.isTemplatesBoard()
)
- swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id;
- else if (
- Utils.boardView() === 'board-view-lists' ||
- Utils.boardView() === 'board-view-cal' ||
- !Utils.boardView
- )
- swimlaneId = currentBoard.getDefaultSwimline()._id;
+ targetSwimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))
+ ._id;
// Normally the jquery-ui sortable library moves the dragged DOM element
// to its new position, which disrupts Blaze reactive updates mechanism
@@ -98,9 +96,12 @@ BlazeComponent.extendComponent({
if (MultiSelection.isActive()) {
Cards.find(MultiSelection.getMongoSelector()).forEach((card, i) => {
+ const newSwimlaneId = targetSwimlaneId
+ ? targetSwimlaneId
+ : card.swimlaneId || defaultSwimlaneId;
card.move(
currentBoard._id,
- swimlaneId,
+ newSwimlaneId,
listId,
sortIndex.base + i * sortIndex.increment,
);
@@ -108,7 +109,10 @@ BlazeComponent.extendComponent({
} else {
const cardDomElement = ui.item.get(0);
const card = Blaze.getData(cardDomElement);
- card.move(currentBoard._id, swimlaneId, listId, sortIndex.base);
+ const newSwimlaneId = targetSwimlaneId
+ ? targetSwimlaneId
+ : card.swimlaneId || defaultSwimlaneId;
+ card.move(currentBoard._id, newSwimlaneId, listId, sortIndex.base);
}
boardComponent.setIsDragging(false);
},