mirror of
https://github.com/wekan/wekan.git
synced 2025-12-21 01:40:13 +01:00
Support card shortcuts when hovering a card
This commit is contained in:
parent
1c488cb8a7
commit
301d96f392
1 changed files with 16 additions and 6 deletions
|
|
@ -1,6 +1,16 @@
|
||||||
// XXX There is no reason to define these shortcuts globally, they should be
|
// 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).
|
// attached to a template (most of them will go in the `board` template).
|
||||||
|
|
||||||
|
function getHoveredCardId() {
|
||||||
|
const card = $('.js-minicard:hover').get(0);
|
||||||
|
if (!card) return null;
|
||||||
|
return Blaze.getData(card)._id;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getSelectedCardId() {
|
||||||
|
return Session.get('selectedCard') || getHoveredCardId();
|
||||||
|
}
|
||||||
|
|
||||||
Mousetrap.bind('?', () => {
|
Mousetrap.bind('?', () => {
|
||||||
FlowRouter.go('shortcuts');
|
FlowRouter.go('shortcuts');
|
||||||
});
|
});
|
||||||
|
|
@ -50,9 +60,9 @@ Mousetrap.bind(['down', 'up'], (evt, key) => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// XXX This shortcut should also work when hovering over a card in board view
|
|
||||||
Mousetrap.bind('space', evt => {
|
Mousetrap.bind('space', evt => {
|
||||||
if (!Session.get('currentCard')) {
|
const cardId = getSelectedCardId();
|
||||||
|
if (!cardId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -62,7 +72,7 @@ Mousetrap.bind('space', evt => {
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Meteor.user().isBoardMember()) {
|
if (Meteor.user().isBoardMember()) {
|
||||||
const card = Cards.findOne(Session.get('currentCard'));
|
const card = Cards.findOne(cardId);
|
||||||
card.toggleMember(currentUserId);
|
card.toggleMember(currentUserId);
|
||||||
// We should prevent scrolling in card when spacebar is clicked
|
// We should prevent scrolling in card when spacebar is clicked
|
||||||
// This should do it according to Mousetrap docs, but it doesn't
|
// This should do it according to Mousetrap docs, but it doesn't
|
||||||
|
|
@ -70,9 +80,9 @@ Mousetrap.bind('space', evt => {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
// XXX This shortcut should also work when hovering over a card in board view
|
|
||||||
Mousetrap.bind('c', evt => {
|
Mousetrap.bind('c', evt => {
|
||||||
if (!Session.get('currentCard')) {
|
const cardId = getSelectedCardId();
|
||||||
|
if (!cardId) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -86,7 +96,7 @@ Mousetrap.bind('c', evt => {
|
||||||
!Meteor.user().isCommentOnly() &&
|
!Meteor.user().isCommentOnly() &&
|
||||||
!Meteor.user().isWorker()
|
!Meteor.user().isWorker()
|
||||||
) {
|
) {
|
||||||
const card = Cards.findOne(Session.get('currentCard'));
|
const card = Cards.findOne(cardId);
|
||||||
card.archive();
|
card.archive();
|
||||||
// We should prevent scrolling in card when spacebar is clicked
|
// We should prevent scrolling in card when spacebar is clicked
|
||||||
// This should do it according to Mousetrap docs, but it doesn't
|
// This should do it according to Mousetrap docs, but it doesn't
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue