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