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/sidebar | |
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/sidebar')
-rw-r--r-- | client/components/sidebar/sidebar.js | 323 | ||||
-rw-r--r-- | client/components/sidebar/sidebarArchives.js | 133 | ||||
-rw-r--r-- | client/components/sidebar/sidebarCustomFields.js | 215 | ||||
-rw-r--r-- | client/components/sidebar/sidebarFilters.js | 154 | ||||
-rw-r--r-- | client/components/sidebar/sidebarSearches.js | 12 |
5 files changed, 462 insertions, 375 deletions
diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index e8de3c96..8468595a 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -91,29 +91,34 @@ BlazeComponent.extendComponent({ }, showTongueTitle() { - if (this.isOpen()) - return `${TAPi18n.__('sidebar-close')}`; - else - return `${TAPi18n.__('sidebar-open')}`; + if (this.isOpen()) return `${TAPi18n.__('sidebar-close')}`; + else return `${TAPi18n.__('sidebar-open')}`; }, events() { - return [{ - 'click .js-hide-sidebar': this.hide, - 'click .js-toggle-sidebar': this.toggle, - 'click .js-back-home': this.setView, - 'click .js-shortcuts'() { - FlowRouter.go('shortcuts'); + return [ + { + 'click .js-hide-sidebar': this.hide, + 'click .js-toggle-sidebar': this.toggle, + 'click .js-back-home': this.setView, + 'click .js-shortcuts'() { + FlowRouter.go('shortcuts'); + }, }, - }]; + ]; }, }).register('sidebar'); Blaze.registerHelper('Sidebar', () => Sidebar); -EscapeActions.register('sidebarView', - () => { Sidebar.setView(defaultView); }, - () => { return Sidebar && Sidebar.getView() !== defaultView; } +EscapeActions.register( + 'sidebarView', + () => { + Sidebar.setView(defaultView); + }, + () => { + return Sidebar && Sidebar.getView() !== defaultView; + }, ); Template.memberPopup.helpers({ @@ -122,13 +127,13 @@ Template.memberPopup.helpers({ }, memberType() { const type = Users.findOne(this.userId).isBoardAdmin() ? 'admin' : 'normal'; - if(type === 'normal'){ + if (type === 'normal') { const currentBoard = Boards.findOne(Session.get('currentBoard')); const commentOnly = currentBoard.hasCommentOnly(this.userId); const noComments = currentBoard.hasNoComments(this.userId); - if(commentOnly){ + if (commentOnly) { return TAPi18n.__('comment-only').toLowerCase(); - } else if(noComments) { + } else if (noComments) { return TAPi18n.__('no-comments').toLowerCase(); } else { return TAPi18n.__(type).toLowerCase(); @@ -197,7 +202,7 @@ Template.memberPopup.events({ 'click .js-remove-member': Popup.afterConfirm('removeMember', function() { const boardId = Session.get('currentBoard'); const memberId = this.userId; - Cards.find({ boardId, members: memberId }).forEach((card) => { + Cards.find({ boardId, members: memberId }).forEach(card => { card.unassignMember(memberId); }); Boards.findOne(boardId).removeMember(memberId); @@ -274,38 +279,40 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'submit'(evt) { - evt.preventDefault(); - const url = evt.target.url.value; - const boardId = Session.get('currentBoard'); - let id = null; - let integration = null; - if (evt.target.id) { - id = evt.target.id.value; - integration = this.integration(id); - if (url) { - Integrations.update(integration._id, { - $set: { - url: `${url}`, - }, + return [ + { + submit(evt) { + evt.preventDefault(); + const url = evt.target.url.value; + const boardId = Session.get('currentBoard'); + let id = null; + let integration = null; + if (evt.target.id) { + id = evt.target.id.value; + integration = this.integration(id); + if (url) { + Integrations.update(integration._id, { + $set: { + url: `${url}`, + }, + }); + } else { + Integrations.remove(integration._id); + } + } else if (url) { + Integrations.insert({ + userId: Meteor.userId(), + enabled: true, + type: 'outgoing-webhooks', + url: `${url}`, + boardId: `${boardId}`, + activities: ['all'], }); - } else { - Integrations.remove(integration._id); } - } else if (url) { - Integrations.insert({ - userId: Meteor.userId(), - enabled: true, - type: 'outgoing-webhooks', - url: `${url}`, - boardId: `${boardId}`, - activities: ['all'], - }); - } - Popup.close(); + Popup.close(); + }, }, - }]; + ]; }, }).register('outgoingWebhooksPopup'); @@ -375,14 +382,16 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'click .js-select-background'(evt) { - const currentBoard = Boards.findOne(Session.get('currentBoard')); - const newColor = this.currentData().toString(); - currentBoard.setColor(newColor); - evt.preventDefault(); + return [ + { + 'click .js-select-background'(evt) { + const currentBoard = Boards.findOne(Session.get('currentBoard')); + const newColor = this.currentData().toString(); + currentBoard.setColor(newColor); + evt.preventDefault(); + }, }, - }]; + ]; }, }).register('boardChangeColorPopup'); @@ -400,25 +409,34 @@ BlazeComponent.extendComponent({ }, isNullBoardSelected() { - return (this.currentBoard.subtasksDefaultBoardId === null) || (this.currentBoard.subtasksDefaultBoardId === undefined); + return ( + this.currentBoard.subtasksDefaultBoardId === null || + this.currentBoard.subtasksDefaultBoardId === undefined + ); }, boards() { - return Boards.find({ - archived: false, - 'members.userId': Meteor.userId(), - }, { - sort: ['title'], - }); + return Boards.find( + { + archived: false, + 'members.userId': Meteor.userId(), + }, + { + sort: ['title'], + }, + ); }, lists() { - return Lists.find({ - boardId: this.currentBoard._id, - archived: false, - }, { - sort: ['title'], - }); + return Lists.find( + { + boardId: this.currentBoard._id, + archived: false, + }, + { + sort: ['title'], + }, + ); }, hasLists() { @@ -431,54 +449,74 @@ BlazeComponent.extendComponent({ presentParentTask() { let result = this.currentBoard.presentParentTask; - if ((result === null) || (result === undefined)) { + if (result === null || result === undefined) { result = 'no-parent'; } return result; }, events() { - return [{ - 'click .js-field-has-subtasks'(evt) { - evt.preventDefault(); - this.currentBoard.allowsSubtasks = !this.currentBoard.allowsSubtasks; - this.currentBoard.setAllowsSubtasks(this.currentBoard.allowsSubtasks); - $('.js-field-has-subtasks .materialCheckBox').toggleClass('is-checked', this.currentBoard.allowsSubtasks); - $('.js-field-has-subtasks').toggleClass('is-checked', this.currentBoard.allowsSubtasks); - $('.js-field-deposit-board').prop('disabled', !this.currentBoard.allowsSubtasks); - }, - 'change .js-field-deposit-board'(evt) { - let value = evt.target.value; - if (value === 'null') { - value = null; - } - this.currentBoard.setSubtasksDefaultBoardId(value); - evt.preventDefault(); - }, - 'change .js-field-deposit-list'(evt) { - this.currentBoard.setSubtasksDefaultListId(evt.target.value); - evt.preventDefault(); - }, - 'click .js-field-show-parent-in-minicard'(evt) { - const value = evt.target.id || $(evt.target).parent()[0].id || $(evt.target).parent()[0].parent()[0].id; - const options = [ - 'prefix-with-full-path', - 'prefix-with-parent', - 'subtext-with-full-path', - 'subtext-with-parent', - 'no-parent']; - options.forEach(function(element) { - if (element !== value) { - $(`#${element} .materialCheckBox`).toggleClass('is-checked', false); - $(`#${element}`).toggleClass('is-checked', false); + return [ + { + 'click .js-field-has-subtasks'(evt) { + evt.preventDefault(); + this.currentBoard.allowsSubtasks = !this.currentBoard.allowsSubtasks; + this.currentBoard.setAllowsSubtasks(this.currentBoard.allowsSubtasks); + $('.js-field-has-subtasks .materialCheckBox').toggleClass( + 'is-checked', + this.currentBoard.allowsSubtasks, + ); + $('.js-field-has-subtasks').toggleClass( + 'is-checked', + this.currentBoard.allowsSubtasks, + ); + $('.js-field-deposit-board').prop( + 'disabled', + !this.currentBoard.allowsSubtasks, + ); + }, + 'change .js-field-deposit-board'(evt) { + let value = evt.target.value; + if (value === 'null') { + value = null; } - }); - $(`#${value} .materialCheckBox`).toggleClass('is-checked', true); - $(`#${value}`).toggleClass('is-checked', true); - this.currentBoard.setPresentParentTask(value); - evt.preventDefault(); + this.currentBoard.setSubtasksDefaultBoardId(value); + evt.preventDefault(); + }, + 'change .js-field-deposit-list'(evt) { + this.currentBoard.setSubtasksDefaultListId(evt.target.value); + evt.preventDefault(); + }, + 'click .js-field-show-parent-in-minicard'(evt) { + const value = + evt.target.id || + $(evt.target).parent()[0].id || + $(evt.target) + .parent()[0] + .parent()[0].id; + const options = [ + 'prefix-with-full-path', + 'prefix-with-parent', + 'subtext-with-full-path', + 'subtext-with-parent', + 'no-parent', + ]; + options.forEach(function(element) { + if (element !== value) { + $(`#${element} .materialCheckBox`).toggleClass( + 'is-checked', + false, + ); + $(`#${element}`).toggleClass('is-checked', false); + } + }); + $(`#${value} .materialCheckBox`).toggleClass('is-checked', true); + $(`#${value}`).toggleClass('is-checked', true); + this.currentBoard.setPresentParentTask(value); + evt.preventDefault(); + }, }, - }]; + ]; }, }).register('boardSubtaskSettingsPopup'); @@ -528,35 +566,46 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'keyup input'() { - this.setError(''); - }, - 'click .js-select-member'() { - const userId = this.currentData()._id; - const currentBoard = Boards.findOne(Session.get('currentBoard')); - if (!currentBoard.hasMember(userId)) { - this.inviteUser(userId); - } - }, - 'click .js-email-invite'() { - const idNameEmail = $('.js-search-member input').val(); - if (idNameEmail.indexOf('@')<0 || this.isValidEmail(idNameEmail)) { - this.inviteUser(idNameEmail); - } else this.setError('email-invalid'); + return [ + { + 'keyup input'() { + this.setError(''); + }, + 'click .js-select-member'() { + const userId = this.currentData()._id; + const currentBoard = Boards.findOne(Session.get('currentBoard')); + if (!currentBoard.hasMember(userId)) { + this.inviteUser(userId); + } + }, + 'click .js-email-invite'() { + const idNameEmail = $('.js-search-member input').val(); + if (idNameEmail.indexOf('@') < 0 || this.isValidEmail(idNameEmail)) { + this.inviteUser(idNameEmail); + } else this.setError('email-invalid'); + }, }, - }]; + ]; }, }).register('addMemberPopup'); Template.changePermissionsPopup.events({ - 'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only'(event) { + 'click .js-set-admin, click .js-set-normal, click .js-set-no-comments, click .js-set-comment-only'( + event, + ) { const currentBoard = Boards.findOne(Session.get('currentBoard')); const memberId = this.userId; const isAdmin = $(event.currentTarget).hasClass('js-set-admin'); - const isCommentOnly = $(event.currentTarget).hasClass('js-set-comment-only'); + const isCommentOnly = $(event.currentTarget).hasClass( + 'js-set-comment-only', + ); const isNoComments = $(event.currentTarget).hasClass('js-set-no-comments'); - currentBoard.setMemberPermission(memberId, isAdmin, isNoComments, isCommentOnly); + currentBoard.setMemberPermission( + memberId, + isAdmin, + isNoComments, + isCommentOnly, + ); Popup.back(1); }, }); @@ -569,21 +618,33 @@ Template.changePermissionsPopup.helpers({ isNormal() { const currentBoard = Boards.findOne(Session.get('currentBoard')); - return !currentBoard.hasAdmin(this.userId) && !currentBoard.hasNoComments(this.userId) && !currentBoard.hasCommentOnly(this.userId); + return ( + !currentBoard.hasAdmin(this.userId) && + !currentBoard.hasNoComments(this.userId) && + !currentBoard.hasCommentOnly(this.userId) + ); }, isNoComments() { const currentBoard = Boards.findOne(Session.get('currentBoard')); - return !currentBoard.hasAdmin(this.userId) && currentBoard.hasNoComments(this.userId); + return ( + !currentBoard.hasAdmin(this.userId) && + currentBoard.hasNoComments(this.userId) + ); }, isCommentOnly() { const currentBoard = Boards.findOne(Session.get('currentBoard')); - return !currentBoard.hasAdmin(this.userId) && currentBoard.hasCommentOnly(this.userId); + return ( + !currentBoard.hasAdmin(this.userId) && + currentBoard.hasCommentOnly(this.userId) + ); }, isLastAdmin() { const currentBoard = Boards.findOne(Session.get('currentBoard')); - return currentBoard.hasAdmin(this.userId) && (currentBoard.activeAdmins() === 1); + return ( + currentBoard.hasAdmin(this.userId) && currentBoard.activeAdmins() === 1 + ); }, }); diff --git a/client/components/sidebar/sidebarArchives.js b/client/components/sidebar/sidebarArchives.js index 546d7e1a..53fc29b9 100644 --- a/client/components/sidebar/sidebarArchives.js +++ b/client/components/sidebar/sidebarArchives.js @@ -10,12 +10,11 @@ BlazeComponent.extendComponent({ // unfortunatly, Blaze doesn't have this notion. this.autorun(() => { const currentBoardId = Session.get('currentBoard'); - if (!currentBoardId) - return; + if (!currentBoardId) return; const handle = subManager.subscribe('board', currentBoardId, true); Tracker.nonreactive(() => { Tracker.autorun(() => { - this.isArchiveReady.set( handle.ready() ); + this.isArchiveReady.set(handle.ready()); }); }); }); @@ -59,74 +58,82 @@ BlazeComponent.extendComponent({ }, 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()){ + 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-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) => { + '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-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) => { + '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(); - }), - }]; + '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'); diff --git a/client/components/sidebar/sidebarCustomFields.js b/client/components/sidebar/sidebarCustomFields.js index 28af973b..92e93641 100644 --- a/client/components/sidebar/sidebarCustomFields.js +++ b/client/components/sidebar/sidebarCustomFields.js @@ -1,37 +1,43 @@ BlazeComponent.extendComponent({ - customFields() { return CustomFields.find({ - boardIds: {$in: [Session.get('currentBoard')]}, + boardIds: { $in: [Session.get('currentBoard')] }, }); }, events() { - return [{ - 'click .js-open-create-custom-field': Popup.open('createCustomField'), - 'click .js-edit-custom-field': Popup.open('editCustomField'), - }]; + return [ + { + 'click .js-open-create-custom-field': Popup.open('createCustomField'), + 'click .js-edit-custom-field': Popup.open('editCustomField'), + }, + ]; }, - }).register('customFieldsSidebar'); const CreateCustomFieldPopup = BlazeComponent.extendComponent({ - _types: ['text', 'number', 'date', 'dropdown'], onCreated() { - this.type = new ReactiveVar((this.data().type) ? this.data().type : this._types[0]); - this.dropdownItems = new ReactiveVar((this.data().settings && this.data().settings.dropdownItems) ? this.data().settings.dropdownItems : []); + this.type = new ReactiveVar( + this.data().type ? this.data().type : this._types[0], + ); + this.dropdownItems = new ReactiveVar( + this.data().settings && this.data().settings.dropdownItems + ? this.data().settings.dropdownItems + : [], + ); }, types() { const currentType = this.data().type; - return this._types. - map((type) => {return { + return this._types.map(type => { + return { value: type, name: TAPi18n.__(`custom-field-${type}`), selected: type === currentType, - };}); + }; + }); }, isTypeNotSelected(type) { @@ -40,113 +46,122 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({ getDropdownItems() { const items = this.dropdownItems.get(); - Array.from(this.findAll('.js-field-settings-dropdown input')).forEach((el, index) => { - //console.log('each item!', index, el.value); - if (!items[index]) items[index] = { - _id: Random.id(6), - }; - items[index].name = el.value.trim(); - }); + Array.from(this.findAll('.js-field-settings-dropdown input')).forEach( + (el, index) => { + //console.log('each item!', index, el.value); + if (!items[index]) + items[index] = { + _id: Random.id(6), + }; + items[index].name = el.value.trim(); + }, + ); return items; }, getSettings() { const settings = {}; switch (this.type.get()) { - case 'dropdown': { - const dropdownItems = this.getDropdownItems().filter((item) => !!item.name.trim()); - settings.dropdownItems = dropdownItems; - break; - } + case 'dropdown': { + const dropdownItems = this.getDropdownItems().filter( + item => !!item.name.trim(), + ); + settings.dropdownItems = dropdownItems; + break; + } } return settings; }, events() { - return [{ - 'change .js-field-type'(evt) { - const value = evt.target.value; - this.type.set(value); - }, - 'keydown .js-dropdown-item.last'(evt) { - if (evt.target.value.trim() && evt.keyCode === 13) { - const items = this.getDropdownItems(); - this.dropdownItems.set(items); - evt.target.value = ''; - } + return [ + { + 'change .js-field-type'(evt) { + const value = evt.target.value; + this.type.set(value); + }, + 'keydown .js-dropdown-item.last'(evt) { + if (evt.target.value.trim() && evt.keyCode === 13) { + const items = this.getDropdownItems(); + this.dropdownItems.set(items); + evt.target.value = ''; + } + }, + 'click .js-field-show-on-card'(evt) { + let $target = $(evt.target); + if (!$target.hasClass('js-field-show-on-card')) { + $target = $target.parent(); + } + $target.find('.materialCheckBox').toggleClass('is-checked'); + $target.toggleClass('is-checked'); + }, + 'click .js-field-automatically-on-card'(evt) { + let $target = $(evt.target); + if (!$target.hasClass('js-field-automatically-on-card')) { + $target = $target.parent(); + } + $target.find('.materialCheckBox').toggleClass('is-checked'); + $target.toggleClass('is-checked'); + }, + 'click .js-field-showLabel-on-card'(evt) { + let $target = $(evt.target); + if (!$target.hasClass('js-field-showLabel-on-card')) { + $target = $target.parent(); + } + $target.find('.materialCheckBox').toggleClass('is-checked'); + $target.toggleClass('is-checked'); + }, + 'click .primary'(evt) { + evt.preventDefault(); + + const data = { + name: this.find('.js-field-name').value.trim(), + type: this.type.get(), + settings: this.getSettings(), + showOnCard: this.find('.js-field-show-on-card.is-checked') !== null, + showLabelOnMiniCard: + this.find('.js-field-showLabel-on-card.is-checked') !== null, + automaticallyOnCard: + this.find('.js-field-automatically-on-card.is-checked') !== null, + }; + + // insert or update + if (!this.data()._id) { + data.boardIds = [Session.get('currentBoard')]; + CustomFields.insert(data); + } else { + CustomFields.update(this.data()._id, { $set: data }); + } + + Popup.back(); + }, + 'click .js-delete-custom-field': Popup.afterConfirm( + 'deleteCustomField', + function() { + const customField = CustomFields.findOne(this._id); + if (customField.boardIds.length > 1) { + CustomFields.update(customField._id, { + $pull: { + boardIds: Session.get('currentBoard'), + }, + }); + } else { + CustomFields.remove(customField._id); + } + Popup.close(); + }, + ), }, - 'click .js-field-show-on-card'(evt) { - let $target = $(evt.target); - if(!$target.hasClass('js-field-show-on-card')){ - $target = $target.parent(); - } - $target.find('.materialCheckBox').toggleClass('is-checked'); - $target.toggleClass('is-checked'); - }, - 'click .js-field-automatically-on-card'(evt) { - let $target = $(evt.target); - if(!$target.hasClass('js-field-automatically-on-card')){ - $target = $target.parent(); - } - $target.find('.materialCheckBox').toggleClass('is-checked'); - $target.toggleClass('is-checked'); - }, - 'click .js-field-showLabel-on-card'(evt) { - let $target = $(evt.target); - if(!$target.hasClass('js-field-showLabel-on-card')){ - $target = $target.parent(); - } - $target.find('.materialCheckBox').toggleClass('is-checked'); - $target.toggleClass('is-checked'); - }, - 'click .primary'(evt) { - evt.preventDefault(); - - const data = { - name: this.find('.js-field-name').value.trim(), - type: this.type.get(), - settings: this.getSettings(), - showOnCard: this.find('.js-field-show-on-card.is-checked') !== null, - showLabelOnMiniCard: this.find('.js-field-showLabel-on-card.is-checked') !== null, - automaticallyOnCard: this.find('.js-field-automatically-on-card.is-checked') !== null, - }; - - // insert or update - if (!this.data()._id) { - data.boardIds = [Session.get('currentBoard')]; - CustomFields.insert(data); - } else { - CustomFields.update(this.data()._id, {$set: data}); - } - - Popup.back(); - }, - 'click .js-delete-custom-field': Popup.afterConfirm('deleteCustomField', function() { - const customField = CustomFields.findOne(this._id); - if (customField.boardIds.length > 1) { - CustomFields.update(customField._id, { - $pull: { - boardIds: Session.get('currentBoard'), - }, - }); - } else { - CustomFields.remove(customField._id); - } - Popup.close(); - }), - }]; + ]; }, - }); CreateCustomFieldPopup.register('createCustomFieldPopup'); (class extends CreateCustomFieldPopup { - template() { return 'createCustomFieldPopup'; } - -}).register('editCustomFieldPopup'); +}.register('editCustomFieldPopup')); /*Template.deleteCustomFieldPopup.events({ 'submit'(evt) { diff --git a/client/components/sidebar/sidebarFilters.js b/client/components/sidebar/sidebarFilters.js index fd8229e4..88438a7a 100644 --- a/client/components/sidebar/sidebarFilters.js +++ b/client/components/sidebar/sidebarFilters.js @@ -1,106 +1,108 @@ BlazeComponent.extendComponent({ events() { - return [{ - 'click .js-toggle-label-filter'(evt) { - evt.preventDefault(); - Filter.labelIds.toggle(this.currentData()._id); - Filter.resetExceptions(); + return [ + { + 'click .js-toggle-label-filter'(evt) { + evt.preventDefault(); + Filter.labelIds.toggle(this.currentData()._id); + Filter.resetExceptions(); + }, + 'click .js-toggle-member-filter'(evt) { + evt.preventDefault(); + Filter.members.toggle(this.currentData()._id); + Filter.resetExceptions(); + }, + 'click .js-toggle-custom-fields-filter'(evt) { + evt.preventDefault(); + Filter.customFields.toggle(this.currentData()._id); + Filter.resetExceptions(); + }, + 'change .js-field-advanced-filter'(evt) { + evt.preventDefault(); + Filter.advanced.set( + this.find('.js-field-advanced-filter').value.trim(), + ); + Filter.resetExceptions(); + }, + 'click .js-clear-all'(evt) { + evt.preventDefault(); + Filter.reset(); + }, + 'click .js-filter-to-selection'(evt) { + evt.preventDefault(); + const selectedCards = Cards.find(Filter.mongoSelector()).map(c => { + return c._id; + }); + MultiSelection.add(selectedCards); + }, }, - 'click .js-toggle-member-filter'(evt) { - evt.preventDefault(); - Filter.members.toggle(this.currentData()._id); - Filter.resetExceptions(); - }, - 'click .js-toggle-custom-fields-filter'(evt) { - evt.preventDefault(); - Filter.customFields.toggle(this.currentData()._id); - Filter.resetExceptions(); - }, - 'change .js-field-advanced-filter'(evt) { - evt.preventDefault(); - Filter.advanced.set(this.find('.js-field-advanced-filter').value.trim()); - Filter.resetExceptions(); - }, - 'click .js-clear-all'(evt) { - evt.preventDefault(); - Filter.reset(); - }, - 'click .js-filter-to-selection'(evt) { - evt.preventDefault(); - const selectedCards = Cards.find(Filter.mongoSelector()).map((c) => { - return c._id; - }); - MultiSelection.add(selectedCards); - }, - }]; + ]; }, }).register('filterSidebar'); function mutateSelectedCards(mutationName, ...args) { - Cards.find(MultiSelection.getMongoSelector()).forEach((card) => { + Cards.find(MultiSelection.getMongoSelector()).forEach(card => { card[mutationName](...args); }); } BlazeComponent.extendComponent({ mapSelection(kind, _id) { - return Cards.find(MultiSelection.getMongoSelector()).map((card) => { + return Cards.find(MultiSelection.getMongoSelector()).map(card => { const methodName = kind === 'label' ? 'hasLabel' : 'isAssigned'; return card[methodName](_id); }); }, allSelectedElementHave(kind, _id) { - if (MultiSelection.isEmpty()) - return false; - else - return _.every(this.mapSelection(kind, _id)); + if (MultiSelection.isEmpty()) return false; + else return _.every(this.mapSelection(kind, _id)); }, someSelectedElementHave(kind, _id) { - if (MultiSelection.isEmpty()) - return false; - else - return _.some(this.mapSelection(kind, _id)); + if (MultiSelection.isEmpty()) return false; + else return _.some(this.mapSelection(kind, _id)); }, events() { - return [{ - 'click .js-toggle-label-multiselection'(evt) { - const labelId = this.currentData()._id; - const mappedSelection = this.mapSelection('label', labelId); + return [ + { + 'click .js-toggle-label-multiselection'(evt) { + const labelId = this.currentData()._id; + const mappedSelection = this.mapSelection('label', labelId); - if (_.every(mappedSelection)) { - mutateSelectedCards('removeLabel', labelId); - } else if (_.every(mappedSelection, (bool) => !bool)) { - mutateSelectedCards('addLabel', labelId); - } else { - const popup = Popup.open('disambiguateMultiLabel'); - // XXX We need to have a better integration between the popup and the - // UI components systems. - popup.call(this.currentData(), evt); - } - }, - 'click .js-toggle-member-multiselection'(evt) { - const memberId = this.currentData()._id; - const mappedSelection = this.mapSelection('member', memberId); - if (_.every(mappedSelection)) { - mutateSelectedCards('unassignMember', memberId); - } else if (_.every(mappedSelection, (bool) => !bool)) { - mutateSelectedCards('assignMember', memberId); - } else { - const popup = Popup.open('disambiguateMultiMember'); - // XXX We need to have a better integration between the popup and the - // UI components systems. - popup.call(this.currentData(), evt); - } - }, - 'click .js-move-selection': Popup.open('moveSelection'), - 'click .js-archive-selection'() { - mutateSelectedCards('archive'); - EscapeActions.executeUpTo('multiselection'); + if (_.every(mappedSelection)) { + mutateSelectedCards('removeLabel', labelId); + } else if (_.every(mappedSelection, bool => !bool)) { + mutateSelectedCards('addLabel', labelId); + } else { + const popup = Popup.open('disambiguateMultiLabel'); + // XXX We need to have a better integration between the popup and the + // UI components systems. + popup.call(this.currentData(), evt); + } + }, + 'click .js-toggle-member-multiselection'(evt) { + const memberId = this.currentData()._id; + const mappedSelection = this.mapSelection('member', memberId); + if (_.every(mappedSelection)) { + mutateSelectedCards('unassignMember', memberId); + } else if (_.every(mappedSelection, bool => !bool)) { + mutateSelectedCards('assignMember', memberId); + } else { + const popup = Popup.open('disambiguateMultiMember'); + // XXX We need to have a better integration between the popup and the + // UI components systems. + popup.call(this.currentData(), evt); + } + }, + 'click .js-move-selection': Popup.open('moveSelection'), + 'click .js-archive-selection'() { + mutateSelectedCards('archive'); + EscapeActions.executeUpTo('multiselection'); + }, }, - }]; + ]; }, }).register('multiselectionSidebar'); diff --git a/client/components/sidebar/sidebarSearches.js b/client/components/sidebar/sidebarSearches.js index 111a86b8..8944c04e 100644 --- a/client/components/sidebar/sidebarSearches.js +++ b/client/components/sidebar/sidebarSearches.js @@ -9,11 +9,13 @@ BlazeComponent.extendComponent({ }, events() { - return [{ - 'submit .js-search-term-form'(evt) { - evt.preventDefault(); - this.term.set(evt.target.searchTerm.value); + return [ + { + 'submit .js-search-term-form'(evt) { + evt.preventDefault(); + this.term.set(evt.target.searchTerm.value); + }, }, - }]; + ]; }, }).register('searchSidebar'); |