summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--client/components/lists/listBody.js4
-rw-r--r--client/components/swimlanes/swimlanes.jade19
-rw-r--r--client/components/swimlanes/swimlanes.js9
-rw-r--r--models/lists.js6
-rw-r--r--models/swimlanes.js7
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'] });
},