|
@@ -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);
|
|
|
},
|