Typicalc/frontend/src/key-shortcuts.ts
2021-07-05 09:00:22 +02:00

31 lines
750 B
TypeScript

document.onkeydown = handleKey;
function handleKey(e: KeyboardEvent) {
if ((e.target! as HTMLElement).tagName.toLowerCase() === "vaadin-text-field") {
return;
}
let element = null;
if (e.code === "ArrowLeft") {
// left arrow
if (!e.ctrlKey) {
element = document.getElementById("previous-step");
} else {
element = document.getElementById("first-step");
}
} else if (e.code === "ArrowRight") {
// right arrow
if (!e.ctrlKey) {
element = document.getElementById("next-step");
} else {
element = document.getElementById("last-step");
}
} else if (e.key === "/") {
document.getElementById("term-input-field")!.focus();
e.preventDefault();
}
if (element !== null) {
element.click();
e.preventDefault();
}
}