浏览代码

Fix miniscreen render

Andrés Manelli 6 年之前
父节点
当前提交
775476f97c

+ 2 - 2
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';

+ 6 - 13
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)

+ 9 - 0
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

+ 3 - 3
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();
     });
   },

+ 4 - 3
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'] });
   },