wekan/client/components/sidebar/sidebarArchives.js

111 lines
2.7 KiB
JavaScript
Raw Normal View History

2015-06-07 18:55:26 +02:00
BlazeComponent.extendComponent({
tabs() {
2015-08-22 02:06:49 +02:00
return [
2015-09-01 14:38:07 +02:00
{ name: TAPi18n.__('cards'), slug: 'cards' },
{ name: TAPi18n.__('lists'), slug: 'lists' },
2018-02-01 14:23:27 -03:00
{ name: TAPi18n.__('swimlanes'), slug: 'swimlanes' },
];
2015-08-22 02:06:49 +02:00
},
archivedCards() {
return Cards.find({
archived: true,
boardId: Session.get('currentBoard'),
});
2015-08-22 02:06:49 +02:00
},
archivedLists() {
return Lists.find({
archived: true,
boardId: Session.get('currentBoard'),
});
2015-06-07 18:55:26 +02:00
},
2018-02-01 14:23:27 -03:00
archivedSwimlanes() {
return Swimlanes.find({
archived: true,
boardId: Session.get('currentBoard'),
});
},
cardIsInArchivedList() {
return this.currentData().list().archived;
},
onRendered() {
// XXX We should support dragging a card from the sidebar to the board
2015-06-07 18:55:26 +02:00
},
events() {
2015-06-07 18:55:26 +02:00
return [{
'click .js-restore-card'() {
const card = this.currentData();
if(card.canBeRestored()){
card.restore();
}
2015-06-07 18:55:26 +02:00
},
2019-04-23 18:00:09 +02:00
'click .js-restore-all-cards'() {
this.archivedCards().forEach((card) => {
if(card.canBeRestored()){
card.restore();
}
});
},
2015-08-22 02:06:49 +02:00
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
const cardId = this._id;
2015-06-07 18:55:26 +02:00
Cards.remove(cardId);
Popup.close();
2015-08-22 02:06:49 +02:00
}),
2019-04-23 18:00:09 +02:00
'click .js-delete-all-cards': Popup.afterConfirm('cardDelete', () => {
this.archivedCards().forEach((card) => {
Cards.remove(card._id);
});
Popup.close();
}),
'click .js-restore-list'() {
const list = this.currentData();
list.restore();
},
2019-04-23 18:00:09 +02:00
'click .js-restore-all-lists'() {
this.archivedLists().forEach((list) => {
list.restore();
});
},
'click .js-delete-list': Popup.afterConfirm('listDelete', function() {
this.remove();
Popup.close();
}),
'click .js-delete-all-lists': Popup.afterConfirm('listDelete', () => {
this.archivedLists().forEach((list) => {
list.remove();
});
Popup.close();
}),
2018-02-01 14:23:27 -03:00
'click .js-restore-swimlane'() {
const swimlane = this.currentData();
swimlane.restore();
},
2019-04-23 18:00:09 +02:00
'click .js-restore-all-swimlanes'() {
this.archivedSwimlanes().forEach((swimlane) => {
swimlane.restore();
});
},
'click .js-delete-swimlane': Popup.afterConfirm('swimlaneDelete', function() {
this.remove();
Popup.close();
}),
'click .js-delete-all-swimlanes': Popup.afterConfirm('swimlaneDelete', () => {
this.archivedSwimlanes().forEach((swimlane) => {
swimlane.remove();
});
Popup.close();
}),
2015-06-07 18:55:26 +02:00
}];
},
2015-06-07 18:55:26 +02:00
}).register('archivesSidebar');