mirror of
https://github.com/chinchang/web-maker.git
synced 2025-07-13 10:06:23 +02:00
🎉 Split events for Saved Items Pane into own function
This commit is contained in:
@ -2135,17 +2135,13 @@ globalConsoleContainerEl, externalLibrarySearchInput, keyboardShortcutsModal
|
|||||||
|
|
||||||
// Editor keyboard shortucuts
|
// Editor keyboard shortucuts
|
||||||
window.addEventListener('keydown', function(event) {
|
window.addEventListener('keydown', function(event) {
|
||||||
const CTRL_META = event.ctrlKey || event.metaKey;
|
const CTRL_META = event.ctrlKey || event.metaKey;
|
||||||
const CTRL_META_SHIFT = CTRL_META && event.shiftKey;
|
const CTRL_META_SHIFT = CTRL_META && event.shiftKey;
|
||||||
const CTRL_META_S = CTRL_META && event.code === 'KeyS';
|
const CTRL_META_S = CTRL_META && event.code === 'KeyS';
|
||||||
const CTRL_META_F = CTRL_META && event.code === 'KeyF';
|
const CTRL_META_O = CTRL_META && event.code === 'KeyO';
|
||||||
const CTRL_META_O = CTRL_META && event.code === 'KeyO';
|
const CTRL_META_SHIFT_5 = CTRL_META_SHIFT && event.code === 'Digit5';
|
||||||
const CTRL_META_SHIFT_5 = CTRL_META_SHIFT && event.code === 'Digit5';
|
|
||||||
const CTRL_META_SHIFT_SLASH = CTRL_META_SHIFT && event.code === 'Slash';
|
const CTRL_META_SHIFT_SLASH = CTRL_META_SHIFT && event.code === 'Slash';
|
||||||
const ESCAPE = event.code === 'Escape';
|
const ESCAPE = event.code === 'Escape';
|
||||||
const ARROW_DOWN = event.code === 'ArrowDown';
|
|
||||||
const ARROW_UP = event.code === 'ArrowUp';
|
|
||||||
const ENTER = event.code === 'Enter';
|
|
||||||
|
|
||||||
// TODO: refactor common listener code
|
// TODO: refactor common listener code
|
||||||
|
|
||||||
@ -2176,41 +2172,51 @@ globalConsoleContainerEl, externalLibrarySearchInput, keyboardShortcutsModal
|
|||||||
if (ESCAPE) {
|
if (ESCAPE) {
|
||||||
closeAllOverlays();
|
closeAllOverlays();
|
||||||
}
|
}
|
||||||
|
});
|
||||||
|
|
||||||
if (isSavedItemsPaneOpen) {
|
savedItemsPane.addEventListener('keydown', function(event) {
|
||||||
|
if (!isSavedItemsPaneOpen) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
const selectedItemElement = $('.js-saved-item-tile.selected');
|
const CTRL_META = event.ctrlKey || event.metaKey;
|
||||||
const HAVE_PANE_ITEMS = $all('.js-saved-item-tile').length !== 0
|
const CTRL_META_F = CTRL_META && event.code === 'KeyF';
|
||||||
|
const ARROW_DOWN = event.code === 'ArrowDown';
|
||||||
|
const ARROW_UP = event.code === 'ArrowUp';
|
||||||
|
const ENTER = event.code === 'Enter';
|
||||||
|
|
||||||
if ((ARROW_DOWN || ARROW_UP) && HAVE_PANE_ITEMS) {
|
const selectedItemElement = $('.js-saved-item-tile.selected');
|
||||||
const method = ARROW_DOWN ? 'nextUntil' : 'previousUntil'
|
const HAVE_PANE_ITEMS = $all('.js-saved-item-tile').length !== 0;
|
||||||
|
|
||||||
if (selectedItemElement) {
|
if ((ARROW_DOWN || ARROW_UP) && HAVE_PANE_ITEMS) {
|
||||||
selectedItemElement.classList.remove('selected');
|
const method = ARROW_DOWN ? 'nextUntil' : 'previousUntil';
|
||||||
selectedItemElement[method]('.js-saved-item-tile:not(.hide)')
|
|
||||||
.classList.add('selected');
|
if (selectedItemElement) {
|
||||||
} else {
|
selectedItemElement.classList.remove('selected');
|
||||||
$('.js-saved-item-tile:not(.hide)').classList.add('selected');
|
selectedItemElement[method](
|
||||||
}
|
'.js-saved-item-tile:not(.hide)'
|
||||||
$('.js-saved-item-tile.selected').scrollIntoView(false);
|
).classList.add('selected');
|
||||||
|
} else {
|
||||||
|
$('.js-saved-item-tile:not(.hide)').classList.add('selected');
|
||||||
}
|
}
|
||||||
|
$('.js-saved-item-tile.selected').scrollIntoView(false);
|
||||||
|
}
|
||||||
|
|
||||||
if (ENTER && selectedItemElement) {
|
if (ENTER && selectedItemElement) {
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
openItem(selectedItemElement.dataset.itemId);
|
openItem(selectedItemElement.dataset.itemId);
|
||||||
}, 350);
|
}, 350);
|
||||||
toggleSavedItemsPane();
|
toggleSavedItemsPane();
|
||||||
}
|
}
|
||||||
|
|
||||||
// Fork shortcut inside saved creations panel with Ctrl/⌘ + F
|
// Fork shortcut inside saved creations panel with Ctrl/⌘ + F
|
||||||
if (CTRL_META_F) {
|
if (CTRL_META_F) {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
forkItem(savedItems[selectedItemElement.dataset.itemId]);
|
forkItem(savedItems[selectedItemElement.dataset.itemId]);
|
||||||
}, 350);
|
}, 350);
|
||||||
toggleSavedItemsPane();
|
toggleSavedItemsPane();
|
||||||
trackEvent('ui', 'forkKeyboardShortcut');
|
trackEvent('ui', 'forkKeyboardShortcut');
|
||||||
}
|
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user