From 7a6afb8aea2c3398ec0fe34d664398bd94cac90a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A9s=20Manelli?= Date: Sat, 23 Feb 2019 15:32:44 +0100 Subject: Add template search in Add Card menu Archive all cards in list when list is archived Remove default board in link popup Only list non-template boards in card link and search --- client/components/lists/listBody.js | 43 +++++++++++++++++++++---------------- 1 file changed, 24 insertions(+), 19 deletions(-) (limited to 'client/components/lists/listBody.js') diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index eccef552..66d056c4 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -316,6 +316,7 @@ BlazeComponent.extendComponent({ keydown: this.pressKey, 'click .js-link': Popup.open('linkCard'), 'click .js-search': Popup.open('searchCard'), + 'click .js-search-template': Popup.open('searchCard'), }]; }, @@ -390,17 +391,7 @@ BlazeComponent.extendComponent({ BlazeComponent.extendComponent({ onCreated() { - // Prefetch first non-current board id - const boardId = Boards.findOne({ - archived: false, - 'members.userId': Meteor.userId(), - _id: {$ne: Session.get('currentBoard')}, - }, { - sort: ['title'], - })._id; - // Subscribe to this board - subManager.subscribe('board', boardId); - this.selectedBoardId = new ReactiveVar(boardId); + this.selectedBoardId = new ReactiveVar(''); this.selectedSwimlaneId = new ReactiveVar(''); this.selectedListId = new ReactiveVar(''); @@ -426,6 +417,7 @@ BlazeComponent.extendComponent({ archived: false, 'members.userId': Meteor.userId(), _id: {$ne: Session.get('currentBoard')}, + type: 'board', }, { sort: ['title'], }); @@ -433,7 +425,7 @@ BlazeComponent.extendComponent({ }, swimlanes() { - if (!this.selectedBoardId) { + if (!this.selectedBoardId.get()) { return []; } const swimlanes = Swimlanes.find({boardId: this.selectedBoardId.get()}); @@ -443,7 +435,7 @@ BlazeComponent.extendComponent({ }, lists() { - if (!this.selectedBoardId) { + if (!this.selectedBoardId.get()) { return []; } const lists = Lists.find({boardId: this.selectedBoardId.get()}); @@ -531,12 +523,18 @@ BlazeComponent.extendComponent({ }, onCreated() { - // Prefetch first non-current board id - let board = Boards.findOne({ - archived: false, - 'members.userId': Meteor.userId(), - _id: {$ne: Session.get('currentBoard')}, - }); + const isTemplateSearch = $(Popup._getTopStack().openerElement).hasClass('js-search-template'); + let board = {}; + if (isTemplateSearch) { + board = Boards.findOne(Meteor.user().profile.templatesBoardId); + } else { + // Prefetch first non-current board id + board = Boards.findOne({ + archived: false, + 'members.userId': Meteor.userId(), + _id: {$ne: Session.get('currentBoard')}, + }); + } if (!board) { Popup.close(); return; @@ -568,6 +566,7 @@ BlazeComponent.extendComponent({ archived: false, 'members.userId': Meteor.userId(), _id: {$ne: Session.get('currentBoard')}, + type: 'board', }, { sort: ['title'], }); @@ -610,3 +609,9 @@ BlazeComponent.extendComponent({ }]; }, }).register('searchCardPopup'); + +Template.searchCardPopup.helpers({ + isTemplateSearch() { + return $(Popup._getTopStack().openerElement).hasClass('js-search-template'); + }, +}); -- cgit v1.2.3-1-g7c22