feat: Add ability to link tasks to cards
This commit is contained in:
@@ -322,15 +322,21 @@ export default class extends BaseModel {
|
||||
payload.data.listChangedAt = new Date(); // eslint-disable-line no-param-reassign
|
||||
}
|
||||
|
||||
if (payload.data.isClosed !== undefined && payload.data.isClosed !== cardModel.isClosed) {
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: payload.data.isClosed,
|
||||
});
|
||||
}
|
||||
|
||||
cardModel.update(payload.data);
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.CARD_UPDATE_HANDLE:
|
||||
if (payload.card.boardId === null || payload.isFetched) {
|
||||
const cardModel = Card.withId(payload.card.id);
|
||||
case ActionTypes.CARD_UPDATE_HANDLE: {
|
||||
const cardModel = Card.withId(payload.card.id);
|
||||
|
||||
if (payload.card.boardId === null || payload.isFetched) {
|
||||
if (cardModel) {
|
||||
cardModel.deleteWithRelated();
|
||||
}
|
||||
@@ -338,6 +344,12 @@ export default class extends BaseModel {
|
||||
|
||||
if (payload.card.boardId !== null) {
|
||||
Card.upsert(payload.card);
|
||||
|
||||
if (cardModel && payload.card.isClosed !== cardModel.isClosed) {
|
||||
cardModel.linkedTasks.update({
|
||||
isCompleted: payload.card.isClosed,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
if (payload.cardMemberships) {
|
||||
@@ -353,6 +365,7 @@ export default class extends BaseModel {
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
case ActionTypes.CARD_DUPLICATE:
|
||||
Card.withId(payload.id).duplicate(payload.localId, payload.data);
|
||||
|
||||
@@ -623,6 +636,12 @@ export default class extends BaseModel {
|
||||
taskListModel.deleteWithRelated();
|
||||
});
|
||||
|
||||
this.linkedTasks.toModelArray().forEach((taskModel) => {
|
||||
taskModel.update({
|
||||
linkedCardId: null,
|
||||
});
|
||||
});
|
||||
|
||||
this.attachments.delete();
|
||||
|
||||
this.customFieldGroups.toModelArray().forEach((customFieldGroupModel) => {
|
||||
|
||||
Reference in New Issue
Block a user