Change: expose hotkeys.setState

This commit is contained in:
eight 2017-12-06 03:30:46 +08:00
parent 181d9206d9
commit 8caaab742c

View File

@ -1,24 +1,33 @@
/* global applyOnMessage installed */ /* global applyOnMessage installed */
'use strict'; 'use strict';
window.addEventListener('showStyles:done', function _() { // eslint-disable-next-line no-var
window.removeEventListener('showStyles:done', _); var hotkeys = (() => {
let togglablesShown;
let togglables;
let enabled = false;
let ready = false;
let togglablesShown = true; window.addEventListener('showStyles:done', function _() {
let togglables = getTogglables(); window.removeEventListener('showStyles:done', _);
let enabled = true; togglablesShown = true;
togglables = getTogglables();
ready = true;
setState(true);
initHotkeyInfo();
});
window.addEventListener('keydown', onKeyDown); return {setState};
window.hotkeys = {
enable() { function setState(newState = !enabled) {
enabled = true; if (!ready) {
}, throw new Error('hotkeys no ready');
disable() {
enabled = false;
} }
}; if (newState !== enabled) {
initHotkeyInfo(); window[`${newState ? 'add' : 'remove'}EventListener`]('keydown', onKeyDown);
return; enabled = newState;
}
}
function onKeyDown(event) { function onKeyDown(event) {
if (event.ctrlKey || event.altKey || event.metaKey || !enabled) { if (event.ctrlKey || event.altKey || event.metaKey || !enabled) {
@ -174,4 +183,4 @@ window.addEventListener('showStyles:done', function _() {
}); });
} }
} }
}); })();