summaryrefslogtreecommitdiffstats
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/components/boards/boardHeader.jade4
-rw-r--r--client/components/sidebar/sidebar.jade31
-rw-r--r--client/lib/keyboard.js34
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',
}],
});