card.js, clean up redudant code

This commit is contained in:
Martin Filser 2022-12-09 11:55:39 +01:00
parent 43d11af631
commit 384d80a647
2 changed files with 38 additions and 52 deletions

View file

@ -95,7 +95,7 @@ template(name="linkCardPopup")
label {{_ 'cards'}}:
select.js-select-cards
each cards
option(value="{{getId}}") {{getTitle}}
option(value="{{getRealId}}") {{getTitle}}
.edit-controls.clearfix
input.primary.confirm.js-done(type="button" value="{{_ 'link'}}")

View file

@ -642,6 +642,17 @@ Cards.helpers({
return Boards.findOne(this.boardId);
},
getRealId() {
if (!this.__id) {
if (this.isLinkedCard()) {
this.__id = this.linkedId;
} else {
this.__id = this._id;
}
}
return this.__id;
},
getList() {
const list = this.list();
if (!list) {
@ -753,47 +764,37 @@ Cards.helpers({
},
activities() {
if (this.isLinkedCard()) {
return Activities.find(
{ cardId: this.linkedId },
{ sort: { createdAt: -1 } },
);
} else if (this.isLinkedBoard()) {
return Activities.find(
let ret;
if (this.isLinkedBoard()) {
ret = Activities.find(
{ boardId: this.linkedId },
{ sort: { createdAt: -1 } },
);
} else {
return Activities.find({ cardId: this._id }, { sort: { createdAt: -1 } });
ret = Activities.find({ cardId: this.getRealId() }, { sort: { createdAt: -1 } });
}
return ret;
},
comments() {
if (this.isLinkedCard()) {
return CardComments.find(
{ cardId: this.linkedId },
{ sort: { createdAt: -1 } },
);
} else if (this.isLinkedBoard()) {
return CardComments.find(
let ret
if (this.isLinkedBoard()) {
ret = CardComments.find(
{ boardId: this.linkedId },
{ sort: { createdAt: -1 } },
);
} else {
return CardComments.find(
{ cardId: this._id },
ret = CardComments.find(
{ cardId: this.getRealId() },
{ sort: { createdAt: -1 } },
);
}
return ret;
},
attachments() {
let id = this._id;
if (this.isLinkedCard()) {
id = this.linkedId;
}
let ret = Attachments.find(
{ 'meta.cardId': id },
const ret = Attachments.find(
{ 'meta.cardId': this.getRealId() },
{ sort: { uploadedAt: -1 } },
).each();
return ret;
@ -809,11 +810,7 @@ Cards.helpers({
checklists() {
if (!this._checklists) {
let id = this._id;
if (this.isLinkedCard()) {
id = this.linkedId;
}
this._checklists = new DataCache(() => Checklists.find({ cardId: id }, { sort: { sort: 1 } }).fetch(), 1000);
this._checklists = new DataCache(() => Checklists.find({ cardId: this.getRealId() }, { sort: { sort: 1 } }).fetch(), 1000);
}
return this._checklists.get();
},
@ -832,24 +829,26 @@ Cards.helpers({
checklistItemCount() {
const checklists = this.checklists();
return checklists
const ret = checklists
.map(checklist => {
return checklist.itemCount();
})
.reduce((prev, next) => {
return prev + next;
}, 0);
return ret;
},
checklistFinishedCount() {
const checklists = this.checklists();
return checklists
const ret = checklists
.map(checklist => {
return checklist.finishedCount();
})
.reduce((prev, next) => {
return prev + next;
}, 0);
return ret;
},
checklistFinished() {
@ -1081,12 +1080,10 @@ Cards.helpers({
},
setDescription(description) {
if (this.isLinkedCard()) {
return Cards.update({ _id: this.linkedId }, { $set: { description } });
} else if (this.isLinkedBoard()) {
if (this.isLinkedBoard()) {
return Boards.update({ _id: this.linkedId }, { $set: { description } });
} else {
return Cards.update({ _id: this._id }, { $set: { description } });
return Cards.update({ _id: this.getRealId() }, { $set: { description } });
}
},
@ -1151,20 +1148,17 @@ Cards.helpers({
},
assignMember(memberId) {
if (this.isLinkedCard()) {
return Cards.update(
{ _id: this.linkedId },
{ $addToSet: { members: memberId } },
);
} else if (this.isLinkedBoard()) {
let ret;
if (this.isLinkedBoard()) {
const board = Boards.findOne({ _id: this.linkedId });
return board.addMember(memberId);
ret = board.addMember(memberId);
} else {
return Cards.update(
{ _id: this._id },
ret = Cards.update(
{ _id: this.getRealId() },
{ $addToSet: { members: memberId } },
);
}
return ret;
},
assignAssignee(assigneeId) {
@ -1708,14 +1702,6 @@ Cards.helpers({
return null;
},
getId() {
if (this.isLinked()) {
return this.linkedId;
} else {
return this._id;
}
},
getTitle() {
if (this.isLinkedCard()) {
const card = Cards.findOne({ _id: this.linkedId });