wekan/client/components/sidebar/sidebarArchives.js
Maxime Quandalle 45b662a1dd Centralize all mutations at the model level
This commit uses a new package that I need to document. It tries to
solve the long-standing debate in the Meteor community about
allow/deny rules versus methods (RPC).

This approach gives us both the centralized security rules of
allow/deny and the white-list of allowed mutations similarly to Meteor
methods. The idea to have static mutation descriptions is also
inspired by Facebook's Relay/GraphQL.

This will allow the development of a REST API using the high-level
methods instead of the MongoDB queries to do the mapping between the
HTTP requests and our collections.
2015-09-08 20:19:42 +02:00

46 lines
1,004 B
JavaScript

BlazeComponent.extendComponent({
template() {
return 'archivesSidebar';
},
tabs() {
return [
{ name: TAPi18n.__('cards'), slug: 'cards' },
{ name: TAPi18n.__('lists'), slug: 'lists' },
];
},
archivedCards() {
return Cards.find({ archived: true });
},
archivedLists() {
return Lists.find({ archived: true });
},
cardIsInArchivedList() {
return this.currentData().list().archived;
},
onRendered() {
// XXX We should support dragging a card from the sidebar to the board
},
events() {
return [{
'click .js-restore-card'() {
const card = this.currentData();
card.restore();
},
'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
const cardId = this._id;
Cards.remove(cardId);
Popup.close();
}),
'click .js-restore-list'() {
const list = this.currentData();
list.restore();
},
}];
},
}).register('archivesSidebar');