1
0
mirror of https://github.com/chinchang/web-maker.git synced 2025-05-22 01:59:39 +02:00

Group 'isSavedItemsPaneOpen' shortcuts

Eslint complexity drops from 25 to 22
This commit is contained in:
Andrew Luca 2017-12-27 01:16:05 +02:00
parent 7699d213d1
commit af065b17cc

View File

@ -2135,18 +2135,17 @@ globalConsoleContainerEl, externalLibrarySearchInput, keyboardShortcutsModal
// Editor keyboard shortucuts // Editor keyboard shortucuts
window.addEventListener('keydown', function(event) { window.addEventListener('keydown', function(event) {
const CTRL_META_PRESSED = event.ctrlKey || event.metaKey; const CTRL_META = event.ctrlKey || event.metaKey;
const CTRL_META_S = CTRL_META_PRESSED && event.code === 'KeyS'; const CTRL_META_SHIFT = CTRL_META && event.shiftKey;
const CTRL_META_F = CTRL_META_PRESSED && event.code === 'KeyF'; const CTRL_META_S = CTRL_META && event.code === 'KeyS';
const CTRL_META_O = CTRL_META_PRESSED && event.code === 'KeyO'; const CTRL_META_F = CTRL_META && event.code === 'KeyF';
const CTRL_META_SHIFT_5 = const CTRL_META_O = CTRL_META && event.code === 'KeyO';
CTRL_META_PRESSED && event.shiftKey && event.code === 'Digit5'; const CTRL_META_SHIFT_5 = CTRL_META_SHIFT && event.code === 'Digit5';
const CTRL_META_SHIFT_SLASH = const CTRL_META_SHIFT_SLASH = CTRL_META_SHIFT && event.code === 'Slash';
CTRL_META_PRESSED && event.shiftKey && event.code === 'Slash'; const ESCAPE = event.code === 'Escape';
const ESCAPE = event.code === 'Escape'; const ARROW_DOWN = event.code === 'ArrowDown';
const ARROW_DOWN = event.code === 'ArrowDown'; const ARROW_UP = event.code === 'ArrowUp';
const ARROW_UP = event.code === 'ArrowUp'; const ENTER = event.code === 'Enter';
const ENTER = event.code === 'Enter';
let selectedItemElement; let selectedItemElement;
@ -2162,55 +2161,66 @@ globalConsoleContainerEl, externalLibrarySearchInput, keyboardShortcutsModal
event.preventDefault(); event.preventDefault();
scope.setPreviewContent(true); scope.setPreviewContent(true);
trackEvent('ui', 'previewKeyboardShortcut'); trackEvent('ui', 'previewKeyboardShortcut');
} else if (CTRL_META_O) { }
if (CTRL_META_O) {
event.preventDefault(); event.preventDefault();
openSavedItemsPane(); openSavedItemsPane();
trackEvent('ui', 'openCreationKeyboardShortcut'); trackEvent('ui', 'openCreationKeyboardShortcut');
} else if (CTRL_META_SHIFT_SLASH) { }
if (CTRL_META_SHIFT_SLASH) {
event.preventDefault(); event.preventDefault();
scope.toggleModal(keyboardShortcutsModal); scope.toggleModal(keyboardShortcutsModal);
trackEvent('ui', 'showKeyboardShortcutsShortcut'); trackEvent('ui', 'showKeyboardShortcutsShortcut');
} else if (ESCAPE) { }
if (ESCAPE) {
closeAllOverlays(); closeAllOverlays();
} }
if (isSavedItemsPaneOpen && (ARROW_DOWN || ARROW_UP)) { if (isSavedItemsPaneOpen) {
// Return if no items present.
if (!$all('.js-saved-item-tile').length) { if (ARROW_DOWN || ARROW_UP) {
return; // Return if no items present.
if (!$all('.js-saved-item-tile').length) {
return;
}
const method = ARROW_DOWN ? 'nextUntil' : 'previousUntil'
selectedItemElement = $('.js-saved-item-tile.selected');
if (selectedItemElement) {
selectedItemElement.classList.remove('selected');
selectedItemElement[method]('.js-saved-item-tile:not(.hide)')
.classList.add('selected');
} else {
$('.js-saved-item-tile:not(.hide)').classList.add('selected');
}
$('.js-saved-item-tile.selected').scrollIntoView(false);
} }
const method = ARROW_DOWN ? 'nextUntil' : 'previousUntil' if (ENTER) {
selectedItemElement = $('.js-saved-item-tile.selected');
selectedItemElement = $('.js-saved-item-tile.selected'); if (!selectedItemElement) {
if (selectedItemElement) { return;
selectedItemElement.classList.remove('selected'); }
selectedItemElement[method]('.js-saved-item-tile:not(.hide)') setTimeout(function() {
.classList.add('selected'); openItem(selectedItemElement.dataset.itemId);
} else { }, 350);
$('.js-saved-item-tile:not(.hide)').classList.add('selected'); toggleSavedItemsPane();
} }
$('.js-saved-item-tile.selected').scrollIntoView(false);
} else if (ENTER && isSavedItemsPaneOpen) {
selectedItemElement = $('.js-saved-item-tile.selected');
if (!selectedItemElement) {
return;
}
setTimeout(function() {
openItem(selectedItemElement.dataset.itemId);
}, 350);
toggleSavedItemsPane();
}
// Fork shortcut inside saved creations panel with Ctrl/⌘ + F // Fork shortcut inside saved creations panel with Ctrl/⌘ + F
if (isSavedItemsPaneOpen && CTRL_META_F) { if (CTRL_META_F) {
event.preventDefault(); event.preventDefault();
selectedItemElement = $('.js-saved-item-tile.selected'); selectedItemElement = $('.js-saved-item-tile.selected');
setTimeout(function() { setTimeout(function() {
forkItem(savedItems[selectedItemElement.dataset.itemId]); forkItem(savedItems[selectedItemElement.dataset.itemId]);
}, 350); }, 350);
toggleSavedItemsPane(); toggleSavedItemsPane();
trackEvent('ui', 'forkKeyboardShortcut'); trackEvent('ui', 'forkKeyboardShortcut');
}
} }
}); });