summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.travis.yml8
-rw-r--r--client/components/boards/boardHeader.jade4
-rw-r--r--client/components/sidebar/sidebar.jade31
-rw-r--r--client/lib/keyboard.js34
-rw-r--r--i18n/en.i18n.json4
5 files changed, 63 insertions, 18 deletions
diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 00000000..2499948a
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,8 @@
+sudo: false
+language: node_js
+node_js:
+ - "0.10.40"
+install:
+ - "npm install -g eslint"
+script:
+ - "eslint ./"
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',
}],
});
diff --git a/i18n/en.i18n.json b/i18n/en.i18n.json
index 3486aa93..a8c2c5d9 100644
--- a/i18n/en.i18n.json
+++ b/i18n/en.i18n.json
@@ -74,6 +74,7 @@
"cardMembersPopup-title": "Members",
"cardMorePopup-title": "More",
"cards": "Cards",
+ "change": "Change",
"change-avatar": "Change Avatar",
"change-password": "Change Password",
"change-permissions": "Change permissions",
@@ -144,6 +145,7 @@
"menu": "Menu",
"moveCardPopup-title": "Move Card",
"multi-selection": "Multi-Selection",
+ "multi-selection-on": "Multi-Selection is on",
"my-boards": "My Boards",
"name": "Name",
"name": "Name",
@@ -175,12 +177,14 @@
"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",
"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.",