소스 검색

Update Checklists client

Use new methods added in Checklist model
Ghassen Rjab 7 년 전
부모
커밋
c3cccfc66e
2개의 변경된 파일14개의 추가작업 그리고 12개의 파일을 삭제
  1. 1 1
      client/components/cards/checklists.jade
  2. 13 11
      client/components/cards/checklists.js

+ 1 - 1
client/components/cards/checklists.jade

@@ -47,7 +47,7 @@ template(name="editChecklistItemForm")
 
 template(name="checklistItems")
   .checklist-items.js-checklist-items
-    each item in checklist.getItems
+    each item in checklist.getItemsSorted
       +inlinedForm(classNames="js-edit-checklist-item" item = item checklist = checklist)
         +editChecklistItemForm(type = 'item' item = item checklist = checklist)
       else

+ 13 - 11
client/components/cards/checklists.js

@@ -20,24 +20,26 @@ function initSorting(items) {
       });
       items.sortable('cancel');
       const formerParent = ui.item.parents('.js-checklist-items');
-      let checklist = Blaze.getData(parent.get(0)).checklist;
+      const checklist = Blaze.getData(parent.get(0)).checklist;
       const oldChecklist = Blaze.getData(formerParent.get(0)).checklist;
       if (oldChecklist._id !== checklist._id) {
         const currentItem = Blaze.getData(ui.item.get(0)).item;
         for (let i = 0; i < orderedItems.length; i++) {
-          let itemId = orderedItems[i];
+          const itemId = orderedItems[i];
           if (itemId !== currentItem._id) continue;
-          checklist.addItem(currentItem.title);
-          checklist = Checklists.findOne({_id: checklist._id});
-          itemId = checklist._id + (checklist.newItemIndex - 1);
-          if (currentItem.finished) {
-            checklist.finishItem(itemId);
-          }
-          orderedItems[i] = itemId;
-          oldChecklist.removeItem(currentItem._id);
+          const newItem = {
+            _id: checklist.getNewItemId(),
+            title: currentItem.title,
+            sort: i,
+            isFinished: currentItem.isFinished,
+          };
+          checklist.addFullItem(newItem);
+          orderedItems[i] = currentItem._id;
+          oldChecklist.removeItem(itemId);
         }
+      } else {
+        checklist.sortItems(orderedItems);
       }
-      checklist.sortItems(orderedItems);
     },
   });
 }