Perma delete shortcut, fix event modifiers
This commit is contained in:
@@ -814,7 +814,7 @@ angular.module('app')
|
||||
}
|
||||
})
|
||||
|
||||
this.deleteKeyObserver = keyboardManager.addKeyObserver({
|
||||
this.trashKeyObserver = keyboardManager.addKeyObserver({
|
||||
key: KeyboardManager.KeyBackspace,
|
||||
notElementIds: ["note-text-editor", "note-title-editor"],
|
||||
modifiers: [KeyboardManager.KeyModifierMeta],
|
||||
@@ -825,6 +825,18 @@ angular.module('app')
|
||||
},
|
||||
})
|
||||
|
||||
this.deleteKeyObserver = keyboardManager.addKeyObserver({
|
||||
key: KeyboardManager.KeyBackspace,
|
||||
notElementIds: ["note-text-editor", "note-title-editor"],
|
||||
modifiers: [KeyboardManager.KeyModifierMeta, KeyboardManager.KeyModifierShift],
|
||||
onKeyDown: (event) => {
|
||||
event.preventDefault();
|
||||
$timeout(() => {
|
||||
this.deleteNote(true);
|
||||
});
|
||||
},
|
||||
})
|
||||
|
||||
/*
|
||||
Editor Customization
|
||||
*/
|
||||
|
||||
@@ -398,7 +398,6 @@ angular.module('app')
|
||||
|
||||
this.noteFilter = {text : ''};
|
||||
|
||||
|
||||
this.onFilterEnter = function() {
|
||||
// For Desktop, performing a search right away causes input to lose focus.
|
||||
// We wait until user explicity hits enter before highlighting desktop search results.
|
||||
|
||||
@@ -15,13 +15,19 @@ class KeyboardManager {
|
||||
KeyboardManager.KeyEventDown = "KeyEventDown";
|
||||
KeyboardManager.KeyEventUp = "KeyEventUp";
|
||||
|
||||
KeyboardManager.AllModifiers = [
|
||||
KeyboardManager.KeyModifierShift,
|
||||
KeyboardManager.KeyModifierCtrl,
|
||||
KeyboardManager.KeyModifierMeta,
|
||||
KeyboardManager.KeyModifierAlt
|
||||
]
|
||||
|
||||
window.addEventListener('keydown', this.handleKeyDown.bind(this));
|
||||
window.addEventListener('keyup', this.handleKeyUp.bind(this));
|
||||
}
|
||||
|
||||
eventMatchesKeyAndModifiers(event, key, modifiers = []) {
|
||||
|
||||
for(let modifier of modifiers) {
|
||||
modifiersForEvent(event) {
|
||||
let eventModifiers = KeyboardManager.AllModifiers.filter((modifier) => {
|
||||
// For a modifier like ctrlKey, must check both event.ctrlKey and event.key.
|
||||
// That's because on keyup, event.ctrlKey would be false, but event.key == Control would be true.
|
||||
let matches = (
|
||||
@@ -31,7 +37,21 @@ class KeyboardManager {
|
||||
((event.shiftKey || event.key == KeyboardManager.KeyModifierShift) && modifier === KeyboardManager.KeyModifierShift)
|
||||
)
|
||||
|
||||
if(!matches) {
|
||||
return matches;
|
||||
})
|
||||
|
||||
return eventModifiers;
|
||||
}
|
||||
|
||||
eventMatchesKeyAndModifiers(event, key, modifiers = []) {
|
||||
let eventModifiers = this.modifiersForEvent(event);
|
||||
|
||||
if(eventModifiers.length != modifiers.length) {
|
||||
return false;
|
||||
}
|
||||
|
||||
for(let modifier of modifiers) {
|
||||
if(!eventModifiers.includes(modifier)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -41,7 +61,6 @@ class KeyboardManager {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
return key == event.key;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user