diff options
-rw-r--r-- | client/components/lists/listBody.js | 4 | ||||
-rw-r--r-- | client/components/swimlanes/swimlanes.jade | 19 | ||||
-rw-r--r-- | client/components/swimlanes/swimlanes.js | 9 | ||||
-rw-r--r-- | models/lists.js | 6 | ||||
-rw-r--r-- | models/swimlanes.js | 7 |
5 files changed, 24 insertions, 21 deletions
diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index befcf72f..7b3dc6a6 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -630,8 +630,8 @@ BlazeComponent.extendComponent({ } else if (this.isListTemplateSearch) { element.sort = Swimlanes.findOne(this.swimlaneId).lists().count(); element.type = 'list'; - element.swimlaneId = this.swimlaneId; - _id = element.copy(); + element.swimlaneId = ''; + _id = element.copy(this.swimlaneId); } else if (this.isSwimlaneTemplateSearch) { element.sort = Boards.findOne(this.boardId).swimlanes().count(); element.type = 'swimlalne'; diff --git a/client/components/swimlanes/swimlanes.jade b/client/components/swimlanes/swimlanes.jade index ba174cb5..c56834df 100644 --- a/client/components/swimlanes/swimlanes.jade +++ b/client/components/swimlanes/swimlanes.jade @@ -3,22 +3,15 @@ template(name="swimlane") +swimlaneHeader .swimlane.js-lists.js-swimlane if isMiniScreen - if currentList + if currentListIsInThisSwimlane _id +list(currentList) - else - each currentBoard.lists + unless currentList + each lists +miniList(this) if currentUser.isBoardMember +addListForm - else if currentBoard.isTemplatesBoard - each lists - +list(this) - if currentCardIsInThisList _id ../_id - +cardDetails(currentCard) - if currentUser.isBoardMember - +addListForm else - each currentBoard.lists + each lists +list(this) if currentCardIsInThisList _id ../_id +cardDetails(currentCard) @@ -31,12 +24,12 @@ template(name="listsGroup") if currentList +list(currentList) else - each currentBoard.lists + each lists +miniList(this) if currentUser.isBoardMember +addListForm else - each currentBoard.lists + each lists +list(this) if currentCardIsInThisList _id null +cardDetails(currentCard) diff --git a/client/components/swimlanes/swimlanes.js b/client/components/swimlanes/swimlanes.js index b4277d4f..519b00d2 100644 --- a/client/components/swimlanes/swimlanes.js +++ b/client/components/swimlanes/swimlanes.js @@ -1,5 +1,10 @@ const { calculateIndex, enableClickOnTouch } = Utils; +function currentListIsInThisSwimlane(swimlaneId) { + const currentList = Lists.findOne(Session.get('currentList')); + return currentList && (currentList.swimlaneId === swimlaneId || currentList.swimlaneId === ''); +} + function currentCardIsInThisList(listId, swimlaneId) { const currentCard = Cards.findOne(Session.get('currentCard')); const currentUser = Meteor.user(); @@ -114,6 +119,10 @@ BlazeComponent.extendComponent({ return currentCardIsInThisList(listId, swimlaneId); }, + currentListIsInThisSwimlane(swimlaneId) { + return currentListIsInThisSwimlane(swimlaneId); + }, + events() { return [{ // Click-and-drag action diff --git a/models/lists.js b/models/lists.js index 453e0be1..bf2430ee 100644 --- a/models/lists.js +++ b/models/lists.js @@ -29,7 +29,7 @@ Lists.attachSchema(new SimpleSchema({ }, swimlaneId: { /** - * the swimalen associated to this list. Used for templates + * the swimlane associated to this list. Used for templates */ type: String, defaultValue: '', @@ -137,7 +137,7 @@ Lists.allow({ }); Lists.helpers({ - copy() { + copy(swimlaneId) { const oldId = this._id; let _id = null; existingListWithSameName = Lists.findOne({ @@ -159,7 +159,7 @@ Lists.helpers({ card.type = 'cardType-card'; card.listId = _id; card.boardId = this.boardId; - card.swimlaneId = this.swimlaneId; + card.swimlaneId = swimlaneId; card.copy(); }); }, diff --git a/models/swimlanes.js b/models/swimlanes.js index 6f679a8d..d3548329 100644 --- a/models/swimlanes.js +++ b/models/swimlanes.js @@ -112,9 +112,9 @@ Swimlanes.helpers({ archived: false, }).forEach((list) => { list.type = 'list'; - list.swimlaneId = _id; + list.swimlaneId = ''; list.boardId = this.boardId; - list.copy(); + list.copy(_id); }); }, @@ -127,7 +127,8 @@ Swimlanes.helpers({ lists() { return Lists.find(Filter.mongoSelector({ - swimlaneId: this._id, + boardId: this.boardId, + swimlaneId: {$in: [this._id, '']}, archived: false, }), { sort: ['sort'] }); }, |