hide checklist-items per card now

- performance relevant
- more granular setting
This commit is contained in:
Martin Filser 2023-03-18 19:54:36 +01:00
parent d949753d54
commit 9fa36c3991
7 changed files with 47 additions and 46 deletions

View file

@ -549,7 +549,7 @@ template(name="cardDetails")
.card-checklist-attachmentGallery.card-checklists
if currentBoard.allowsChecklists
hr
+checklists(cardId = _id)
+checklists(cardId = _id card = this)
if currentBoard.allowsSubtasks
hr
+subtasks(cardId = _id)

View file

@ -376,6 +376,9 @@ BlazeComponent.extendComponent({
'click #toggleShowActivitiesCard'() {
this.data().toggleShowActivities();
},
'click #toggleHideCheckedChecklistItems'() {
this.data().toggleHideCheckedChecklistItems();
},
'click #toggleCustomFieldsGridButton'() {
Meteor.call('toggleCustomFieldsGrid');
},

View file

@ -12,15 +12,15 @@ template(name="checklists")
if currentUser.isBoardMember
.material-toggle-switch(title="{{_ 'hide-checked-items'}}")
//span.toggle-switch-title
if hideCheckedItems
input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton" checked="checked")
if card.hideCheckedChecklistItems
input.toggle-switch(type="checkbox" id="toggleHideCheckedChecklistItems" checked="checked")
else
input.toggle-switch(type="checkbox" id="toggleHideCheckedItemsButton")
label.toggle-label(for="toggleHideCheckedItemsButton")
input.toggle-switch(type="checkbox" id="toggleHideCheckedChecklistItems")
label.toggle-label(for="toggleHideCheckedChecklistItems")
.card-checklist-items
each checklist in checklists
+checklistDetail(checklist = checklist)
+checklistDetail(checklist = checklist card = card)
if canModifyCard
+inlinedForm(autoclose=false classNames="js-add-checklist" cardId = cardId)
@ -55,7 +55,7 @@ template(name="checklistDetail")
.checklist-progress-text {{finishedPercent}}%
.checklist-progress-bar
.checklist-progress(style="width:{{finishedPercent}}%")
+checklistItems(checklist = checklist)
+checklistItems(checklist = checklist card = card)
template(name="checklistDeletePopup")
p {{_ 'confirm-checklist-delete-popup'}}
@ -104,7 +104,7 @@ template(name="checklistItems")
+inlinedForm(classNames="js-edit-checklist-item" item = item checklist = checklist)
+editChecklistItemForm(type = 'item' item = item checklist = checklist)
else
+checklistItemDetail(item = item checklist = checklist)
+checklistItemDetail(item = item checklist = checklist card = card)
if canModifyCard
+inlinedForm(autoclose=false classNames="js-add-checklist-item" checklist = checklist)
+addChecklistItemForm(checklist=checklist showNewlineBecomesNewChecklistItem=true)
@ -113,7 +113,7 @@ template(name="checklistItems")
i.fa.fa-plus
template(name='checklistItemDetail')
.js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if hideCheckedItems}} invisible{{/if}}{{/if}}"
.js-checklist-item.checklist-item(class="{{#if item.isFinished }}is-checked{{#if card.hideCheckedChecklistItems}} invisible{{/if}}{{/if}}"
role="checkbox" aria-checked="{{#if item.isFinished }}true{{else}}false{{/if}}" tabindex="0")
if canModifyCard
.check-box-container

View file

@ -201,15 +201,8 @@ BlazeComponent.extendComponent({
},
events() {
const events = {
'click #toggleHideCheckedItemsButton'() {
Meteor.call('toggleHideCheckedItems');
},
};
return [
{
...events,
'click .js-open-checklist-details-menu': Popup.open('checklistActions'),
'submit .js-add-checklist': this.addChecklist,
'submit .js-edit-checklist-title': this.editChecklist,
@ -274,10 +267,10 @@ Template.checklists.helpers({
const ret = card.checklists();
return ret;
},
hideCheckedItems() {
const currentUser = ReactiveCache.getCurrentUser();
if (currentUser) return currentUser.hasHideCheckedItems();
return false;
hideCheckedChecklistItems() {
const card = ReactiveCache.getCard(this.cardId);
const ret = card.hideCheckedChecklistItems ?? false;
return ret;
},
});
@ -338,11 +331,6 @@ BlazeComponent.extendComponent({
}).register('editChecklistItemForm');
Template.checklistItemDetail.helpers({
hideCheckedItems() {
const user = ReactiveCache.getCurrentUser();
if (user) return user.hasHideCheckedItems();
return false;
},
});
BlazeComponent.extendComponent({