fix keypress handler

This commit is contained in:
joshuaboud 2022-05-25 17:29:01 -03:00
parent 4a39d0e862
commit 5207e25678
No known key found for this signature in database
GPG Key ID: 17EFB59E2A8BF50E

View File

@ -1,5 +1,5 @@
<template>
<div class="h-full" @keypress="keyHandler($event)">
<div class="h-full" @keydown.prevent.stop="keyHandler($event)" tabindex="-1">
<Table
v-if="settings.directoryView?.view === 'list'"
emptyText="No entries."
@ -129,6 +129,9 @@ export default {
searchFilterRegExp: RegExp,
},
setup() {
/**
* @type {NavigatorSettings}
*/
const settings = inject(settingsInjectionKey);
const processing = ref(0);
const directoryEntryListRef = ref();
@ -150,12 +153,17 @@ export default {
const getSelected = () => directoryEntryListRef.value?.selection.getSelected?.() ?? [];
/**
* @param {KeyboardEvent} event
*/
const keyHandler = (event) => {
console.log("DirectoryView::keyHandler:", event);
if (event.key === 'esc')
if (event.key === 'Escape')
directoryEntryListRef.value?.selection.deselectAllForward();
else if (event.key === 'a' && event.ctrlKey)
else if (event.ctrlKey && event.key.toLowerCase() === 'a')
directoryEntryListRef.value?.selection.selectAll();
else if (event.ctrlKey && event.key.toLowerCase() === 'h')
settings.directoryView.showHidden = !settings.directoryView.showHidden;
}
return {