mirror of
https://github.com/wekan/wekan.git
synced 2025-09-22 01:50:48 +02:00
62 lines
1.3 KiB
JavaScript
62 lines
1.3 KiB
JavaScript
// XXX There is no reason to define these shortcuts globally, they should be
|
|
// attached to a template (most of them will go in the `board` template).
|
|
|
|
Mousetrap.bind('?', () => {
|
|
FlowRouter.go('shortcuts');
|
|
});
|
|
|
|
Mousetrap.bind('w', () => {
|
|
Sidebar.toogle();
|
|
});
|
|
|
|
Mousetrap.bind('q', () => {
|
|
const currentBoardId = Session.get('currentBoard');
|
|
const currentUserId = Meteor.userId();
|
|
if (currentBoardId && currentUserId) {
|
|
Filter.members.toogle(currentUserId);
|
|
}
|
|
});
|
|
|
|
Mousetrap.bind('x', () => {
|
|
if (Filter.isActive()) {
|
|
Filter.reset();
|
|
}
|
|
});
|
|
|
|
Mousetrap.bind(['down', 'up'], (evt, key) => {
|
|
if (! Session.get('currentCard')) {
|
|
return;
|
|
}
|
|
|
|
const nextFunc = (key === 'down' ? 'next' : 'prev');
|
|
const nextCard = $('.js-minicard.is-selected')[nextFunc]('.js-minicard').get(0);
|
|
if (nextCard) {
|
|
const nextCardId = Blaze.getData(nextCard)._id;
|
|
Utils.goCardId(nextCardId);
|
|
}
|
|
});
|
|
|
|
Template.keyboardShortcuts.helpers({
|
|
mapping: [{
|
|
keys: ['W'],
|
|
action: 'Toogle Board Sidebar'
|
|
}, {
|
|
keys: ['Q'],
|
|
action: 'Filter my cards'
|
|
}, {
|
|
keys: ['X'],
|
|
action: 'Clear all filters'
|
|
}, {
|
|
keys: ['?'],
|
|
action: 'Bring up this shortcuts list'
|
|
}, {
|
|
keys: ['ESC'],
|
|
action: 'Close Dialog'
|
|
}, {
|
|
keys: ['@'],
|
|
action: 'Autocomplete members'
|
|
}, {
|
|
keys: [':'],
|
|
action: 'Autocomplete emojies'
|
|
}]
|
|
});
|