From 8448068d22ceb110cf60005c14260349fd4f3795 Mon Sep 17 00:00:00 2001 From: Martin Filser Date: Sat, 18 Mar 2023 20:07:27 +0100 Subject: [PATCH] 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 --- client/components/cards/checklists.jade | 3 ++- models/checklists.js | 7 +++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/client/components/cards/checklists.jade b/client/components/cards/checklists.jade index 3d5dc2f81..74d2f0d01 100644 --- a/client/components/cards/checklists.jade +++ b/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) diff --git a/models/checklists.js b/models/checklists.js index c07a97e04..52852bd68 100644 --- a/models/checklists.js +++ b/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) {