diff options
Diffstat (limited to 'client')
-rw-r--r-- | client/components/boards/boardHeader.jade | 4 | ||||
-rw-r--r-- | client/components/sidebar/sidebar.jade | 31 | ||||
-rw-r--r-- | client/lib/keyboard.js | 34 |
3 files changed, 51 insertions, 18 deletions
diff --git a/client/components/boards/boardHeader.jade b/client/components/boards/boardHeader.jade index 94225730..ffc79143 100644 --- a/client/components/boards/boardHeader.jade +++ b/client/components/boards/boardHeader.jade @@ -32,7 +32,7 @@ template(name="headerBoard") title="{{#if MultiSelection.isActive}}{{_ 'filter-on-desc'}}{{/if}}" class="{{#if MultiSelection.isActive}}emphasis{{/if}}") i.fa.fa-check-square-o - span Multi-Selection {{#if MultiSelection.isActive}}is on{{/if}} + span {{#if MultiSelection.isActive}}{{_ 'multi-selection-on'}}{{else}}{{_ 'multi-selection'}}{{/if}} if MultiSelection.isActive a.board-header-btn-close.js-multiselection-reset(title="{{_ 'filter-clear'}}") i.fa.fa-times-thin @@ -105,7 +105,7 @@ template(name="createBoardPopup") span.fa.fa-lock.colorful = " " | {{{_ 'board-private-info'}}} - a.js-change-visibility Change. + a.js-change-visibility {{_ 'change'}}. input.primary.wide(type="submit" value="{{_ 'create'}}") diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 7f7519c6..b90b1b91 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -57,23 +57,22 @@ template(name="memberPopup") .js-profile= user.profile.fullname p.quiet @#{user.username} - if currentUser.isBoardMember - ul.pop-over-list - li - a.js-filter-member Filter cards + ul.pop-over-list + li + a.js-filter-member {{_ 'filter-cards'}} + if currentUser.isBoardAdmin unless isSandstorm - if currentUser.isBoardAdmin - li - a.js-change-role - | {{_ 'change-permissions'}} - span.quiet (#{memberType}) - li - if $eq currentUser._id userId - //- - XXX Not implemented! - // a.js-leave-member {{_ 'leave-board'}} - else - a.js-remove-member {{_ 'remove-from-board'}} + li + a.js-change-role + | {{_ 'change-permissions'}} + span.quiet (#{memberType}) + li + if $eq currentUser._id userId + //- + XXX Not implemented! + // a.js-leave-member {{_ 'leave-board'}} + else + a.js-remove-member {{_ 'remove-from-board'}} template(name="removeMemberPopup") diff --git a/client/lib/keyboard.js b/client/lib/keyboard.js index af5fb7a2..f8212c9b 100644 --- a/client/lib/keyboard.js +++ b/client/lib/keyboard.js @@ -23,6 +23,14 @@ Mousetrap.bind('x', () => { } }); +Mousetrap.bind('f', () => { + if (Sidebar.isOpen() && Sidebar.getView() === 'filter') { + Sidebar.toggle(); + } else { + Sidebar.setView('filter'); + } +}); + Mousetrap.bind(['down', 'up'], (evt, key) => { if (!Session.get('currentCard')) { return; @@ -36,6 +44,26 @@ Mousetrap.bind(['down', 'up'], (evt, key) => { } }); +// XXX This shortcut should also work when hovering over a card in board view +Mousetrap.bind('space', (evt) => { + if (!Session.get('currentCard')) { + return; + } + + const currentUserId = Meteor.userId(); + if (currentUserId === null) { + return; + } + + if (Meteor.user().isBoardMember()) { + const card = Cards.findOne(Session.get('currentCard')); + card.toggleMember(currentUserId); + // We should prevent scrolling in card when spacebar is clicked + // This should do it according to Mousetrap docs, but it doesn't + evt.preventDefault(); + } +}); + Template.keyboardShortcuts.helpers({ mapping: [{ keys: ['W'], @@ -44,6 +72,9 @@ Template.keyboardShortcuts.helpers({ keys: ['Q'], action: 'shortcut-filter-my-cards', }, { + keys: ['F'], + action: 'shortcut-toggle-filterbar', + }, { keys: ['X'], action: 'shortcut-clear-filters', }, { @@ -58,5 +89,8 @@ Template.keyboardShortcuts.helpers({ }, { keys: [':'], action: 'shortcut-autocomplete-emojies', + }, { + keys: ['SPACE'], + action: 'shortcut-assign-self', }], }); |