123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110 |
- BlazeComponent.extendComponent({
- tabs() {
- return [
- { name: TAPi18n.__('cards'), slug: 'cards' },
- { name: TAPi18n.__('lists'), slug: 'lists' },
- { name: TAPi18n.__('swimlanes'), slug: 'swimlanes' },
- ];
- },
- archivedCards() {
- return Cards.find({
- archived: true,
- boardId: Session.get('currentBoard'),
- });
- },
- archivedLists() {
- return Lists.find({
- archived: true,
- boardId: Session.get('currentBoard'),
- });
- },
- 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
- },
- events() {
- return [{
- 'click .js-restore-card'() {
- const card = this.currentData();
- if(card.canBeRestored()){
- card.restore();
- }
- },
- 'click .js-restore-all-cards'() {
- this.archivedCards().forEach((card) => {
- if(card.canBeRestored()){
- card.restore();
- }
- });
- },
- 'click .js-delete-card': Popup.afterConfirm('cardDelete', function() {
- const cardId = this._id;
- Cards.remove(cardId);
- Popup.close();
- }),
- '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();
- },
- '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();
- }),
- 'click .js-restore-swimlane'() {
- const swimlane = this.currentData();
- swimlane.restore();
- },
- '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();
- }),
- }];
- },
- }).register('archivesSidebar');
|