From 119d4b787d4fbe27c526b5e61bb6cc02ba743a29 Mon Sep 17 00:00:00 2001 From: fisle Date: Sat, 19 Sep 2015 13:28:57 +0300 Subject: Shortcut: Spacebar assigns self to current card --- client/lib/keyboard.js | 23 +++++++++++++++++++++++ i18n/en.i18n.json | 1 + 2 files changed, 24 insertions(+) diff --git a/client/lib/keyboard.js b/client/lib/keyboard.js index af5fb7a2..ab18d1cf 100644 --- a/client/lib/keyboard.js +++ b/client/lib/keyboard.js @@ -36,6 +36,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'], @@ -58,5 +78,8 @@ Template.keyboardShortcuts.helpers({ }, { keys: [':'], action: 'shortcut-autocomplete-emojies', + }, { + keys: ['SPACE'], + action: 'shortcut-assign-self', }], }); diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index 85a0dcc5..f2298b62 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -177,6 +177,7 @@ "save": "Save", "search": "Search", "select-color": "Select a color", + "shortcut-assign-self": "Assign yourself to current card", "shortcut-autocomplete-emojies": "Autocomplete emojies", "shortcut-autocomplete-members": "Autocomplete members", "shortcut-clear-filters": "Clear all filters", -- cgit v1.2.3-1-g7c22 From 14b7213af4f9409bdf4211f2731d5a1ca2c99ce3 Mon Sep 17 00:00:00 2001 From: fisle Date: Sat, 19 Sep 2015 16:46:49 +0300 Subject: Shortcut: F toggles filter sidebar --- client/lib/keyboard.js | 11 +++++++++++ i18n/en.i18n.json | 1 + 2 files changed, 12 insertions(+) diff --git a/client/lib/keyboard.js b/client/lib/keyboard.js index ab18d1cf..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; @@ -63,6 +71,9 @@ Template.keyboardShortcuts.helpers({ }, { keys: ['Q'], action: 'shortcut-filter-my-cards', + }, { + keys: ['F'], + action: 'shortcut-toggle-filterbar', }, { keys: ['X'], action: 'shortcut-clear-filters', diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json index f2298b62..a8c2c5d9 100644 --- a/i18n/en.i18n.json +++ b/i18n/en.i18n.json @@ -184,6 +184,7 @@ "shortcut-close-dialog": "Close Dialog", "shortcut-filter-my-cards": "Filter my cards", "shortcut-show-shortcuts": "Bring up this shortcuts list", + "shortcut-toggle-filterbar": "Toggle Filter Sidebar", "shortcut-toggle-sidebar": "Toggle Board Sidebar", "signupPopup-title": "Create an Account", "star-board-title": "Click to star this board. It will show up at top of your boards list.", -- cgit v1.2.3-1-g7c22