7983-testToMaster_2438 #718

Merged
alexm merged 353 commits from 7983-testToMaster_2438 into master 2024-09-17 05:39:39 +00:00
2 changed files with 34 additions and 0 deletions
Showing only changes of commit 72388af418 - Show all commits

32
src/boot/keyShortcut.js Normal file
View File

@ -0,0 +1,32 @@
export default {
mounted: function (el, binding) {
const shortcut = binding.value ?? '+';
const { key, ctrl, alt, callback } =
typeof shortcut === 'string'
? {
key: shortcut,
ctrl: true,
alt: true,
callback: () =>
document.querySelector('button[shortcut="+"]')?.click(),
}
: binding.value;
const handleKeydown = (event) => {
if (event.key === key && (!ctrl || event.ctrlKey) && (!alt || event.altKey)) {
callback();
}
};
// Attach the event listener to the window
window.addEventListener('keydown', handleKeydown);
el._handleKeydown = handleKeydown;
},
unmounted: function (el) {
if (el._handleKeydown) {
window.removeEventListener('keydown', el._handleKeydown);
}
},
};

View File

@ -1,6 +1,8 @@
import { boot } from 'quasar/wrappers';
import qFormMixin from './qformMixin';
import keyShortcut from './keyShortcut';
export default boot(({ app }) => {
app.mixin(qFormMixin);
app.directive('shortcut', keyShortcut);
});