Browse Source

hide empty checklist if checklist items are hidden

conditions are:
- the checklist must have at least 1 checklist item
- all checklist items have to be finished
- the option "hide checked checklist items" is set at card details
Martin Filser 2 năm trước cách đây
mục cha
commit
8448068d22
2 tập tin đã thay đổi với 9 bổ sung1 xóa
  1. 2 1
      client/components/cards/checklists.jade
  2. 7 0
      models/checklists.js

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

@@ -20,7 +20,8 @@ template(name="checklists")
 
   .card-checklist-items
     each checklist in checklists
-      +checklistDetail(checklist = checklist card = card)
+      if checklist.showChecklist card.hideCheckedChecklistItems
+        +checklistDetail(checklist = checklist card = card)
 
   if canModifyCard
     +inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)

+ 7 - 0
models/checklists.js

@@ -118,6 +118,13 @@ Checklists.helpers({
   isFinished() {
     return 0 !== this.itemCount() && this.itemCount() === this.finishedCount();
   },
+  showChecklist(hideCheckedChecklistItems) {
+    let ret = true;
+    if (this.isFinished() && hideCheckedChecklistItems === true) {
+      ret = false;
+    }
+    return ret;
+  },
   checkAllItems() {
     const checkItems = ReactiveCache.getChecklistItems({ checklistId: this._id });
     checkItems.forEach(function(item) {