diff options
author | Justin Reynolds <justinr1234@gmail.com> | 2019-06-28 12:52:09 -0500 |
---|---|---|
committer | Justin Reynolds <justinr1234@gmail.com> | 2019-06-28 12:56:51 -0500 |
commit | 3eb4d2c341b712268bd321173909e0a7b19a88c9 (patch) | |
tree | 25a8fcb088f3984e72a5bd3ded9e6a45376e0693 /client/components/lists | |
parent | a0a482aa8efb3255a523de4524c8e09453d5571f (diff) | |
download | wekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.tar.gz wekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.tar.bz2 wekan-3eb4d2c341b712268bd321173909e0a7b19a88c9.zip |
Prettier & eslint project style update
Diffstat (limited to 'client/components/lists')
-rw-r--r-- | client/components/lists/list.js | 42 | ||||
-rw-r--r-- | client/components/lists/listBody.js | 546 | ||||
-rw-r--r-- | client/components/lists/listHeader.js | 142 |
3 files changed, 436 insertions, 294 deletions
diff --git a/client/components/lists/list.js b/client/components/lists/list.js index ea0068eb..c2b39be9 100644 --- a/client/components/lists/list.js +++ b/client/components/lists/list.js @@ -21,14 +21,18 @@ BlazeComponent.extendComponent({ const boardComponent = this.parentComponent().parentComponent(); function userIsMember() { - return Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly(); + return ( + Meteor.user() && + Meteor.user().isBoardMember() && + !Meteor.user().isCommentOnly() + ); } const itemsSelector = '.js-minicard:not(.placeholder, .js-card-composer)'; const $cards = this.$('.js-minicards'); - if(window.matchMedia('(max-width: 1199px)').matches) { - $( '.js-minicards' ).sortable({ + if (window.matchMedia('(max-width: 1199px)').matches) { + $('.js-minicards').sortable({ handle: '.handle', }); } @@ -42,10 +46,16 @@ BlazeComponent.extendComponent({ if (MultiSelection.isActive()) { const andNOthers = $cards.find('.js-minicard.is-checked').length - 1; if (andNOthers > 0) { - helper.append($(Blaze.toHTML(HTML.DIV( - { 'class': 'and-n-other' }, - TAPi18n.__('and-n-other-card', { count: andNOthers }) - )))); + helper.append( + $( + Blaze.toHTML( + HTML.DIV( + { class: 'and-n-other' }, + TAPi18n.__('and-n-other-card', { count: andNOthers }), + ), + ), + ), + ); } } return helper; @@ -70,9 +80,16 @@ BlazeComponent.extendComponent({ const currentBoard = Boards.findOne(Session.get('currentBoard')); let swimlaneId = ''; const boardView = (Meteor.user().profile || {}).boardView; - if (boardView === 'board-view-swimlanes' || currentBoard.isTemplatesBoard()) + if ( + boardView === 'board-view-swimlanes' || + currentBoard.isTemplatesBoard() + ) swimlaneId = Blaze.getData(ui.item.parents('.swimlane').get(0))._id; - else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal') || !boardView) + else if ( + boardView === 'board-view-lists' || + boardView === 'board-view-cal' || + !boardView + ) swimlaneId = currentBoard.getDefaultSwimline()._id; // Normally the jquery-ui sortable library moves the dragged DOM element @@ -86,7 +103,12 @@ BlazeComponent.extendComponent({ if (MultiSelection.isActive()) { Cards.find(MultiSelection.getMongoSelector()).forEach((card, i) => { - card.move(currentBoard._id, swimlaneId, listId, sortIndex.base + i * sortIndex.increment); + card.move( + currentBoard._id, + swimlaneId, + listId, + sortIndex.base + i * sortIndex.increment, + ); }); } else { const cardDomElement = ui.item.get(0); diff --git a/client/components/lists/listBody.js b/client/components/lists/listBody.js index bce350dd..7d9e358b 100644 --- a/client/components/lists/listBody.js +++ b/client/components/lists/listBody.js @@ -16,7 +16,7 @@ BlazeComponent.extendComponent({ options.position = options.position || 'top'; const forms = this.childComponents('inlinedForm'); - let form = forms.find((component) => { + let form = forms.find(component => { return component.data().position === options.position; }); if (!form && forms.length > 0) { @@ -52,11 +52,12 @@ BlazeComponent.extendComponent({ let cardType = 'cardType-card'; if (title) { if (board.isTemplatesBoard()) { - swimlaneId = this.parentComponent().parentComponent().data()._id; // Always swimlanes view + swimlaneId = this.parentComponent() + .parentComponent() + .data()._id; // Always swimlanes view const swimlane = Swimlanes.findOne(swimlaneId); // If this is the card templates swimlane, insert a card template - if (swimlane.isCardTemplatesSwimlane()) - cardType = 'template-card'; + if (swimlane.isCardTemplatesSwimlane()) cardType = 'template-card'; // If this is the board templates swimlane, insert a board template and a linked card else if (swimlane.isBoardTemplatesSwimlane()) { linkedId = Boards.insert({ @@ -71,8 +72,14 @@ BlazeComponent.extendComponent({ cardType = 'cardType-linkedBoard'; } } else if (boardView === 'board-view-swimlanes') - swimlaneId = this.parentComponent().parentComponent().data()._id; - else if ((boardView === 'board-view-lists') || (boardView === 'board-view-cal') || !boardView) + swimlaneId = this.parentComponent() + .parentComponent() + .data()._id; + else if ( + boardView === 'board-view-lists' || + boardView === 'board-view-cal' || + !boardView + ) swimlaneId = board.getDefaultSwimline()._id; const _id = Cards.insert({ @@ -91,7 +98,9 @@ BlazeComponent.extendComponent({ // if the displayed card count is less than the total cards in the list, // we need to increment the displayed card count to prevent the spinner // to appear - const cardCount = this.data().cards(this.idOrNull(swimlaneId)).count(); + const cardCount = this.data() + .cards(this.idOrNull(swimlaneId)) + .count(); if (this.cardlimit.get() < cardCount) { this.cardlimit.set(this.cardlimit.get() + InfiniteScrollIter); } @@ -149,8 +158,12 @@ BlazeComponent.extendComponent({ idOrNull(swimlaneId) { const currentUser = Meteor.user(); - if ((currentUser.profile || {}).boardView === 'board-view-swimlanes' || - this.data().board().isTemplatesBoard()) + if ( + (currentUser.profile || {}).boardView === 'board-view-swimlanes' || + this.data() + .board() + .isTemplatesBoard() + ) return swimlaneId; return undefined; }, @@ -161,8 +174,7 @@ BlazeComponent.extendComponent({ listId: this.currentData()._id, archived: false, }; - if (swimlaneId) - selector.swimlaneId = swimlaneId; + if (swimlaneId) selector.swimlaneId = swimlaneId; return Cards.find(Filter.mongoSelector(selector), { sort: ['sort'], limit, @@ -175,21 +187,32 @@ BlazeComponent.extendComponent({ }, canSeeAddCard() { - return !this.reachedWipLimit() && Meteor.user() && Meteor.user().isBoardMember() && !Meteor.user().isCommentOnly(); + return ( + !this.reachedWipLimit() && + Meteor.user() && + Meteor.user().isBoardMember() && + !Meteor.user().isCommentOnly() + ); }, reachedWipLimit() { const list = Template.currentData(); - return !list.getWipLimit('soft') && list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count(); + return ( + !list.getWipLimit('soft') && + list.getWipLimit('enabled') && + list.getWipLimit('value') <= list.cards().count() + ); }, events() { - return [{ - 'click .js-minicard': this.clickOnMiniCard, - 'click .js-toggle-multi-selection': this.toggleMultiSelection, - 'click .open-minicard-composer': this.scrollToBottom, - submit: this.addCard, - }]; + return [ + { + 'click .js-minicard': this.clickOnMiniCard, + 'click .js-toggle-multi-selection': this.toggleMultiSelection, + 'click .open-minicard-composer': this.scrollToBottom, + submit: this.addCard, + }, + ]; }, }).register('listBody'); @@ -212,10 +235,15 @@ BlazeComponent.extendComponent({ const currentBoardId = Session.get('currentBoard'); arr = []; - _.forEach(Boards.findOne(currentBoardId).customFields().fetch(), function(field){ - if(field.automaticallyOnCard) - arr.push({_id: field._id, value: null}); - }); + _.forEach( + Boards.findOne(currentBoardId) + .customFields() + .fetch(), + function(field) { + if (field.automaticallyOnCard) + arr.push({ _id: field._id, value: null }); + }, + ); this.customFields.set(arr); }, @@ -227,7 +255,7 @@ BlazeComponent.extendComponent({ getLabels() { const currentBoardId = Session.get('currentBoard'); - return Boards.findOne(currentBoardId).labels.filter((label) => { + return Boards.findOne(currentBoardId).labels.filter(label => { return this.labels.get().indexOf(label._id) > -1; }); }, @@ -257,18 +285,20 @@ BlazeComponent.extendComponent({ } BlazeComponent.getComponentForElement(nextList).openForm({ - position:this.data().position, + position: this.data().position, }); } }, events() { - return [{ - keydown: this.pressKey, - 'click .js-link': Popup.open('linkCard'), - 'click .js-search': Popup.open('searchElement'), - 'click .js-card-template': Popup.open('searchElement'), - }]; + return [ + { + keydown: this.pressKey, + 'click .js-link': Popup.open('linkCard'), + 'click .js-search': Popup.open('searchElement'), + 'click .js-card-template': Popup.open('searchElement'), + }, + ]; }, onRendered() { @@ -277,66 +307,75 @@ BlazeComponent.extendComponent({ autosize($textarea); - $textarea.escapeableTextComplete([ - // User mentions - { - match: /\B@([\w.]*)$/, - search(term, callback) { - const currentBoard = Boards.findOne(Session.get('currentBoard')); - callback($.map(currentBoard.activeMembers(), (member) => { - const user = Users.findOne(member.userId); - return user.username.indexOf(term) === 0 ? user : null; - })); - }, - template(user) { - return user.username; - }, - replace(user) { - toggleValueInReactiveArray(editor.members, user._id); - return ''; + $textarea.escapeableTextComplete( + [ + // User mentions + { + match: /\B@([\w.]*)$/, + search(term, callback) { + const currentBoard = Boards.findOne(Session.get('currentBoard')); + callback( + $.map(currentBoard.activeMembers(), member => { + const user = Users.findOne(member.userId); + return user.username.indexOf(term) === 0 ? user : null; + }), + ); + }, + template(user) { + return user.username; + }, + replace(user) { + toggleValueInReactiveArray(editor.members, user._id); + return ''; + }, + index: 1, }, - index: 1, - }, - // Labels - { - match: /\B#(\w*)$/, - search(term, callback) { - const currentBoard = Boards.findOne(Session.get('currentBoard')); - callback($.map(currentBoard.labels, (label) => { - if (label.name.indexOf(term) > -1 || - label.color.indexOf(term) > -1) { - return label; - } - return null; - })); - }, - template(label) { - return Blaze.toHTMLWithData(Template.autocompleteLabelLine, { - hasNoName: !label.name, - colorName: label.color, - labelName: label.name || label.color, - }); + // Labels + { + match: /\B#(\w*)$/, + search(term, callback) { + const currentBoard = Boards.findOne(Session.get('currentBoard')); + callback( + $.map(currentBoard.labels, label => { + if ( + label.name.indexOf(term) > -1 || + label.color.indexOf(term) > -1 + ) { + return label; + } + return null; + }), + ); + }, + template(label) { + return Blaze.toHTMLWithData(Template.autocompleteLabelLine, { + hasNoName: !label.name, + colorName: label.color, + labelName: label.name || label.color, + }); + }, + replace(label) { + toggleValueInReactiveArray(editor.labels, label._id); + return ''; + }, + index: 1, }, - replace(label) { - toggleValueInReactiveArray(editor.labels, label._id); - return ''; + ], + { + // When the autocomplete menu is shown we want both a press of both `Tab` + // or `Enter` to validation the auto-completion. We also need to stop the + // event propagation to prevent the card from submitting (on `Enter`) or + // going on the next column (on `Tab`). + onKeydown(evt, commands) { + if (evt.keyCode === 9 || evt.keyCode === 13) { + evt.stopPropagation(); + return commands.KEY_ENTER; + } + return null; }, - index: 1, }, - ], { - // When the autocomplete menu is shown we want both a press of both `Tab` - // or `Enter` to validation the auto-completion. We also need to stop the - // event propagation to prevent the card from submitting (on `Enter`) or - // going on the next column (on `Tab`). - onKeydown(evt, commands) { - if (evt.keyCode === 9 || evt.keyCode === 13) { - evt.stopPropagation(); - return commands.KEY_ENTER; - } - return null; - }, - }); + ); }, }).register('addCardForm'); @@ -354,24 +393,29 @@ BlazeComponent.extendComponent({ const list = $(Popup._getTopStack().openerElement).closest('.js-list'); this.listId = Blaze.getData(list[0])._id; // Swimlane where to insert card - const swimlane = $(Popup._getTopStack().openerElement).closest('.js-swimlane'); + const swimlane = $(Popup._getTopStack().openerElement).closest( + '.js-swimlane', + ); this.swimlaneId = ''; const boardView = (Meteor.user().profile || {}).boardView; if (boardView === 'board-view-swimlanes') this.swimlaneId = Blaze.getData(swimlane[0])._id; else if (boardView === 'board-view-lists' || !boardView) - this.swimlaneId = Swimlanes.findOne({boardId: this.boardId})._id; + this.swimlaneId = Swimlanes.findOne({ boardId: this.boardId })._id; }, boards() { - const boards = Boards.find({ - archived: false, - 'members.userId': Meteor.userId(), - _id: {$ne: Session.get('currentBoard')}, - type: 'board', - }, { - sort: ['title'], - }); + const boards = Boards.find( + { + archived: false, + 'members.userId': Meteor.userId(), + _id: { $ne: Session.get('currentBoard') }, + type: 'board', + }, + { + sort: ['title'], + }, + ); return boards; }, @@ -379,7 +423,7 @@ BlazeComponent.extendComponent({ if (!this.selectedBoardId.get()) { return []; } - const swimlanes = Swimlanes.find({boardId: this.selectedBoardId.get()}); + const swimlanes = Swimlanes.find({ boardId: this.selectedBoardId.get() }); if (swimlanes.count()) this.selectedSwimlaneId.set(swimlanes.fetch()[0]._id); return swimlanes; @@ -389,9 +433,8 @@ BlazeComponent.extendComponent({ if (!this.selectedBoardId.get()) { return []; } - const lists = Lists.find({boardId: this.selectedBoardId.get()}); - if (lists.count()) - this.selectedListId.set(lists.fetch()[0]._id); + const lists = Lists.find({ boardId: this.selectedBoardId.get() }); + if (lists.count()) this.selectedListId.set(lists.fetch()[0]._id); return lists; }, @@ -399,73 +442,84 @@ BlazeComponent.extendComponent({ if (!this.board) { return []; } - const ownCardsIds = this.board.cards().map((card) => { return card.linkedId || card._id; }); + const ownCardsIds = this.board.cards().map(card => { + return card.linkedId || card._id; + }); return Cards.find({ boardId: this.selectedBoardId.get(), swimlaneId: this.selectedSwimlaneId.get(), listId: this.selectedListId.get(), archived: false, - linkedId: {$nin: ownCardsIds}, - _id: {$nin: ownCardsIds}, - type: {$nin: ['template-card']}, + linkedId: { $nin: ownCardsIds }, + _id: { $nin: ownCardsIds }, + type: { $nin: ['template-card'] }, }); }, events() { - return [{ - 'change .js-select-boards'(evt) { - subManager.subscribe('board', $(evt.currentTarget).val(), false); - this.selectedBoardId.set($(evt.currentTarget).val()); - }, - 'change .js-select-swimlanes'(evt) { - this.selectedSwimlaneId.set($(evt.currentTarget).val()); - }, - 'change .js-select-lists'(evt) { - this.selectedListId.set($(evt.currentTarget).val()); - }, - 'click .js-done' (evt) { - // LINK CARD - evt.stopPropagation(); - evt.preventDefault(); - const linkedId = $('.js-select-cards option:selected').val(); - if (!linkedId) { + return [ + { + 'change .js-select-boards'(evt) { + subManager.subscribe('board', $(evt.currentTarget).val(), false); + this.selectedBoardId.set($(evt.currentTarget).val()); + }, + 'change .js-select-swimlanes'(evt) { + this.selectedSwimlaneId.set($(evt.currentTarget).val()); + }, + 'change .js-select-lists'(evt) { + this.selectedListId.set($(evt.currentTarget).val()); + }, + 'click .js-done'(evt) { + // LINK CARD + evt.stopPropagation(); + evt.preventDefault(); + const linkedId = $('.js-select-cards option:selected').val(); + if (!linkedId) { + Popup.close(); + return; + } + const _id = Cards.insert({ + title: $('.js-select-cards option:selected').text(), //dummy + listId: this.listId, + swimlaneId: this.swimlaneId, + boardId: this.boardId, + sort: Lists.findOne(this.listId) + .cards() + .count(), + type: 'cardType-linkedCard', + linkedId, + }); + Filter.addException(_id); Popup.close(); - return; - } - const _id = Cards.insert({ - title: $('.js-select-cards option:selected').text(), //dummy - listId: this.listId, - swimlaneId: this.swimlaneId, - boardId: this.boardId, - sort: Lists.findOne(this.listId).cards().count(), - type: 'cardType-linkedCard', - linkedId, - }); - Filter.addException(_id); - Popup.close(); - }, - 'click .js-link-board' (evt) { - //LINK BOARD - evt.stopPropagation(); - evt.preventDefault(); - const impBoardId = $('.js-select-boards option:selected').val(); - if (!impBoardId || Cards.findOne({linkedId: impBoardId, archived: false})) { + }, + 'click .js-link-board'(evt) { + //LINK BOARD + evt.stopPropagation(); + evt.preventDefault(); + const impBoardId = $('.js-select-boards option:selected').val(); + if ( + !impBoardId || + Cards.findOne({ linkedId: impBoardId, archived: false }) + ) { + Popup.close(); + return; + } + const _id = Cards.insert({ + title: $('.js-select-boards option:selected').text(), //dummy + listId: this.listId, + swimlaneId: this.swimlaneId, + boardId: this.boardId, + sort: Lists.findOne(this.listId) + .cards() + .count(), + type: 'cardType-linkedBoard', + linkedId: impBoardId, + }); + Filter.addException(_id); Popup.close(); - return; - } - const _id = Cards.insert({ - title: $('.js-select-boards option:selected').text(), //dummy - listId: this.listId, - swimlaneId: this.swimlaneId, - boardId: this.boardId, - sort: Lists.findOne(this.listId).cards().count(), - type: 'cardType-linkedBoard', - linkedId: impBoardId, - }); - Filter.addException(_id); - Popup.close(); + }, }, - }]; + ]; }, }).register('linkCardPopup'); @@ -475,11 +529,20 @@ BlazeComponent.extendComponent({ }, onCreated() { - this.isCardTemplateSearch = $(Popup._getTopStack().openerElement).hasClass('js-card-template'); - this.isListTemplateSearch = $(Popup._getTopStack().openerElement).hasClass('js-list-template'); - this.isSwimlaneTemplateSearch = $(Popup._getTopStack().openerElement).hasClass('js-open-add-swimlane-menu'); - this.isBoardTemplateSearch = $(Popup._getTopStack().openerElement).hasClass('js-add-board'); - this.isTemplateSearch = this.isCardTemplateSearch || + this.isCardTemplateSearch = $(Popup._getTopStack().openerElement).hasClass( + 'js-card-template', + ); + this.isListTemplateSearch = $(Popup._getTopStack().openerElement).hasClass( + 'js-list-template', + ); + this.isSwimlaneTemplateSearch = $( + Popup._getTopStack().openerElement, + ).hasClass('js-open-add-swimlane-menu'); + this.isBoardTemplateSearch = $(Popup._getTopStack().openerElement).hasClass( + 'js-add-board', + ); + this.isTemplateSearch = + this.isCardTemplateSearch || this.isListTemplateSearch || this.isSwimlaneTemplateSearch || this.isBoardTemplateSearch; @@ -491,7 +554,12 @@ BlazeComponent.extendComponent({ board = Boards.findOne({ archived: false, 'members.userId': Meteor.userId(), - _id: {$nin: [Session.get('currentBoard'), (Meteor.user().profile || {}).templatesBoardId]}, + _id: { + $nin: [ + Session.get('currentBoard'), + (Meteor.user().profile || {}).templatesBoardId, + ], + }, }); } if (!board) { @@ -509,11 +577,12 @@ BlazeComponent.extendComponent({ subManager.subscribe('board', this.boardId, false); this.swimlaneId = ''; // Swimlane where to insert card - const swimlane = $(Popup._getTopStack().openerElement).parents('.js-swimlane'); + const swimlane = $(Popup._getTopStack().openerElement).parents( + '.js-swimlane', + ); if ((Meteor.user().profile || {}).boardView === 'board-view-swimlanes') this.swimlaneId = Blaze.getData(swimlane[0])._id; - else - this.swimlaneId = Swimlanes.findOne({boardId: this.boardId})._id; + else this.swimlaneId = Swimlanes.findOne({ boardId: this.boardId })._id; // List where to insert card const list = $(Popup._getTopStack().openerElement).closest('.js-list'); this.listId = Blaze.getData(list[0])._id; @@ -522,14 +591,17 @@ BlazeComponent.extendComponent({ }, boards() { - const boards = Boards.find({ - archived: false, - 'members.userId': Meteor.userId(), - _id: {$ne: Session.get('currentBoard')}, - type: 'board', - }, { - sort: ['title'], - }); + const boards = Boards.find( + { + archived: false, + 'members.userId': Meteor.userId(), + _id: { $ne: Session.get('currentBoard') }, + type: 'board', + }, + { + sort: ['title'], + }, + ); return boards; }, @@ -546,7 +618,7 @@ BlazeComponent.extendComponent({ return board.searchSwimlanes(this.term.get()); } else if (this.isBoardTemplateSearch) { const boards = board.searchBoards(this.term.get()); - boards.forEach((board) => { + boards.forEach(board => { subManager.subscribe('board', board.linkedId, false); }); return boards; @@ -556,60 +628,69 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'change .js-select-boards'(evt) { - subManager.subscribe('board', $(evt.currentTarget).val(), false); - this.selectedBoardId.set($(evt.currentTarget).val()); - }, - 'submit .js-search-term-form'(evt) { - evt.preventDefault(); - this.term.set(evt.target.searchTerm.value); - }, - 'click .js-minicard'(evt) { - // 0. Common - const title = $('.js-element-title').val().trim(); - if (!title) - return; - const element = Blaze.getData(evt.currentTarget); - element.title = title; - let _id = ''; - if (!this.isTemplateSearch || this.isCardTemplateSearch) { - // Card insertion - // 1. Common - element.sort = Lists.findOne(this.listId).cards().count(); - // 1.A From template - if (this.isTemplateSearch) { - element.type = 'cardType-card'; - element.linkedId = ''; - _id = element.copy(this.boardId, this.swimlaneId, this.listId); - // 1.B Linked card - } else { - delete element._id; - element.type = 'cardType-linkedCard'; - element.linkedId = element.linkedId || element._id; - _id = Cards.insert(element); + return [ + { + 'change .js-select-boards'(evt) { + subManager.subscribe('board', $(evt.currentTarget).val(), false); + this.selectedBoardId.set($(evt.currentTarget).val()); + }, + 'submit .js-search-term-form'(evt) { + evt.preventDefault(); + this.term.set(evt.target.searchTerm.value); + }, + 'click .js-minicard'(evt) { + // 0. Common + const title = $('.js-element-title') + .val() + .trim(); + if (!title) return; + const element = Blaze.getData(evt.currentTarget); + element.title = title; + let _id = ''; + if (!this.isTemplateSearch || this.isCardTemplateSearch) { + // Card insertion + // 1. Common + element.sort = Lists.findOne(this.listId) + .cards() + .count(); + // 1.A From template + if (this.isTemplateSearch) { + element.type = 'cardType-card'; + element.linkedId = ''; + _id = element.copy(this.boardId, this.swimlaneId, this.listId); + // 1.B Linked card + } else { + delete element._id; + element.type = 'cardType-linkedCard'; + element.linkedId = element.linkedId || element._id; + _id = Cards.insert(element); + } + Filter.addException(_id); + // List insertion + } else if (this.isListTemplateSearch) { + element.sort = Swimlanes.findOne(this.swimlaneId) + .lists() + .count(); + element.type = 'list'; + _id = element.copy(this.boardId, this.swimlaneId); + } else if (this.isSwimlaneTemplateSearch) { + element.sort = Boards.findOne(this.boardId) + .swimlanes() + .count(); + element.type = 'swimlalne'; + _id = element.copy(this.boardId); + } else if (this.isBoardTemplateSearch) { + board = Boards.findOne(element.linkedId); + board.sort = Boards.find({ archived: false }).count(); + board.type = 'board'; + board.title = element.title; + delete board.slug; + _id = board.copy(); } - Filter.addException(_id); - // List insertion - } else if (this.isListTemplateSearch) { - element.sort = Swimlanes.findOne(this.swimlaneId).lists().count(); - element.type = 'list'; - _id = element.copy(this.boardId, this.swimlaneId); - } else if (this.isSwimlaneTemplateSearch) { - element.sort = Boards.findOne(this.boardId).swimlanes().count(); - element.type = 'swimlalne'; - _id = element.copy(this.boardId); - } else if (this.isBoardTemplateSearch) { - board = Boards.findOne(element.linkedId); - board.sort = Boards.find({archived: false}).count(); - board.type = 'board'; - board.title = element.title; - delete board.slug; - _id = board.copy(); - } - Popup.close(); + Popup.close(); + }, }, - }]; + ]; }, }).register('searchElementPopup'); @@ -622,15 +703,23 @@ BlazeComponent.extendComponent({ const boardView = (Meteor.user().profile || {}).boardView; if (boardView === 'board-view-swimlanes') - this.swimlaneId = this.parentComponent().parentComponent().parentComponent().data()._id; + this.swimlaneId = this.parentComponent() + .parentComponent() + .parentComponent() + .data()._id; }, onRendered() { this.spinner = this.find('.sk-spinner-list'); this.container = this.$(this.spinner).parents('.js-perfect-scrollbar')[0]; - $(this.container).on(`scroll.spinner_${this.swimlaneId}_${this.listId}`, () => this.updateList()); - $(window).on(`resize.spinner_${this.swimlaneId}_${this.listId}`, () => this.updateList()); + $(this.container).on( + `scroll.spinner_${this.swimlaneId}_${this.listId}`, + () => this.updateList(), + ); + $(window).on(`resize.spinner_${this.swimlaneId}_${this.listId}`, () => + this.updateList(), + ); this.updateList(); }, @@ -660,5 +749,4 @@ BlazeComponent.extendComponent({ return bottomViewPosition > threshold; }, - }).register('spinnerList'); diff --git a/client/components/lists/listHeader.js b/client/components/lists/listHeader.js index 923d6063..e8a82499 100644 --- a/client/components/lists/listHeader.js +++ b/client/components/lists/listHeader.js @@ -6,12 +6,18 @@ Meteor.startup(() => { BlazeComponent.extendComponent({ canSeeAddCard() { const list = Template.currentData(); - return !list.getWipLimit('enabled') || list.getWipLimit('soft') || !this.reachedWipLimit(); - }, - - editTitle(evt) { - evt.preventDefault(); - const newTitle = this.childComponents('inlinedForm')[0].getValue().trim(); + return ( + !list.getWipLimit('enabled') || + list.getWipLimit('soft') || + !this.reachedWipLimit() + ); + }, + + editTitle(event) { + event.preventDefault(); + const newTitle = this.childComponents('inlinedForm')[0] + .getValue() + .trim(); const list = this.currentData(); if (newTitle) { list.rename(newTitle.trim()); @@ -32,14 +38,19 @@ BlazeComponent.extendComponent({ let swimlaneId = ''; const boardView = (Meteor.user().profile || {}).boardView; if (boardView === 'board-view-swimlanes') - swimlaneId = this.parentComponent().parentComponent().data()._id; + swimlaneId = this.parentComponent() + .parentComponent() + .data()._id; return list.cards(swimlaneId).count(); }, reachedWipLimit() { const list = Template.currentData(); - return list.getWipLimit('enabled') && list.getWipLimit('value') <= list.cards().count(); + return ( + list.getWipLimit('enabled') && + list.getWipLimit('value') <= list.cards().count() + ); }, showCardsCountForList(count) { @@ -48,20 +59,24 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'click .js-open-list-menu': Popup.open('listAction'), - 'click .js-add-card' (evt) { - const listDom = $(evt.target).parents(`#js-list-${this.currentData()._id}`)[0]; - const listComponent = BlazeComponent.getComponentForElement(listDom); - listComponent.openForm({ - position: 'top', - }); + return [ + { + 'click .js-open-list-menu': Popup.open('listAction'), + 'click .js-add-card'(event) { + const listDom = $(event.target).parents( + `#js-list-${this.currentData()._id}`, + )[0]; + const listComponent = BlazeComponent.getComponentForElement(listDom); + listComponent.openForm({ + position: 'top', + }); + }, + 'click .js-unselect-list'() { + Session.set('currentList', null); + }, + submit: this.editTitle, }, - 'click .js-unselect-list'() { - Session.set('currentList', null); - }, - submit: this.editTitle, - }]; + ]; }, }).register('listHeader'); @@ -76,22 +91,22 @@ Template.listActionPopup.helpers({ }); Template.listActionPopup.events({ - 'click .js-list-subscribe' () {}, + 'click .js-list-subscribe'() {}, 'click .js-set-color-list': Popup.open('setListColor'), - 'click .js-select-cards' () { - const cardIds = this.allCards().map((card) => card._id); + 'click .js-select-cards'() { + const cardIds = this.allCards().map(card => card._id); MultiSelection.add(cardIds); Popup.close(); }, - 'click .js-toggle-watch-list' () { + 'click .js-toggle-watch-list'() { const currentList = this; const level = currentList.findWatcher(Meteor.userId()) ? null : 'watching'; Meteor.call('watch', 'list', currentList._id, level, (err, ret) => { if (!err && ret) Popup.close(); }); }, - 'click .js-close-list' (evt) { - evt.preventDefault(); + 'click .js-close-list'(event) { + event.preventDefault(); this.archive(); Popup.close(); }, @@ -102,10 +117,17 @@ Template.listActionPopup.events({ BlazeComponent.extendComponent({ applyWipLimit() { const list = Template.currentData(); - const limit = parseInt(Template.instance().$('.wip-limit-value').val(), 10); - - if(limit < list.cards().count() && !list.getWipLimit('soft')){ - Template.instance().$('.wip-limit-error').click(); + const limit = parseInt( + Template.instance() + .$('.wip-limit-value') + .val(), + 10, + ); + + if (limit < list.cards().count() && !list.getWipLimit('soft')) { + Template.instance() + .$('.wip-limit-error') + .click(); } else { Meteor.call('applyWipLimit', list._id, limit); Popup.back(); @@ -115,7 +137,10 @@ BlazeComponent.extendComponent({ enableSoftLimit() { const list = Template.currentData(); - if(list.getWipLimit('soft') && list.getWipLimit('value') < list.cards().count()){ + if ( + list.getWipLimit('soft') && + list.getWipLimit('value') < list.cards().count() + ) { list.setWipLimit(list.cards().count()); } Meteor.call('enableSoftLimit', Template.currentData()._id); @@ -124,7 +149,10 @@ BlazeComponent.extendComponent({ enableWipLimit() { const list = Template.currentData(); // Prevent user from using previously stored wipLimit.value if it is less than the current number of cards in the list - if(!list.getWipLimit('enabled') && list.getWipLimit('value') < list.cards().count()){ + if ( + !list.getWipLimit('enabled') && + list.getWipLimit('value') < list.cards().count() + ) { list.setWipLimit(list.cards().count()); } Meteor.call('enableWipLimit', list._id); @@ -138,24 +166,26 @@ BlazeComponent.extendComponent({ return Template.currentData().getWipLimit('enabled'); }, - wipLimitValue(){ + wipLimitValue() { return Template.currentData().getWipLimit('value'); }, events() { - return [{ - 'click .js-enable-wip-limit': this.enableWipLimit, - 'click .wip-limit-apply': this.applyWipLimit, - 'click .wip-limit-error': Popup.open('wipLimitError'), - 'click .materialCheckBox': this.enableSoftLimit, - }]; + return [ + { + 'click .js-enable-wip-limit': this.enableWipLimit, + 'click .wip-limit-apply': this.applyWipLimit, + 'click .wip-limit-error': Popup.open('wipLimitError'), + 'click .materialCheckBox': this.enableSoftLimit, + }, + ]; }, }).register('setWipLimitPopup'); Template.listMorePopup.events({ - 'click .js-delete': Popup.afterConfirm('listDelete', function () { + 'click .js-delete': Popup.afterConfirm('listDelete', function() { Popup.close(); - this.allCards().map((card) => Cards.remove(card._id)); + this.allCards().map(card => Cards.remove(card._id)); Lists.remove(this._id); Utils.goBoardId(this.boardId); }), @@ -168,7 +198,7 @@ BlazeComponent.extendComponent({ }, colors() { - return listsColors.map((color) => ({ color, name: '' })); + return listsColors.map(color => ({ color, name: '' })); }, isSelected(color) { @@ -176,18 +206,20 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'click .js-palette-color'() { - this.currentColor.set(this.currentData().color); - }, - 'click .js-submit' () { - this.currentList.setColor(this.currentColor.get()); - Popup.close(); - }, - 'click .js-remove-color'() { - this.currentList.setColor(null); - Popup.close(); + return [ + { + 'click .js-palette-color'() { + this.currentColor.set(this.currentData().color); + }, + 'click .js-submit'() { + this.currentList.setColor(this.currentColor.get()); + Popup.close(); + }, + 'click .js-remove-color'() { + this.currentList.setColor(null); + Popup.close(); + }, }, - }]; + ]; }, }).register('setListColorPopup'); |