close on escape

This commit is contained in:
grimhilt 2023-04-11 19:15:35 +02:00
parent 9842ebeb12
commit 1ab74d67ca

View File

@ -1,14 +1,25 @@
<script setup> <script setup>
import { vOnClickOutside } from "@vueuse/components"; import { vOnClickOutside } from "@vueuse/components";
import { defineEmits, defineProps } from "vue"; import { defineEmits, defineProps, onMounted, onUnmounted } from "vue";
const emit = defineEmits(["close-modal"]); const emit = defineEmits(["close-modal"]);
const props = defineProps({ title: String }); const props = defineProps({ title: String });
// todo close on escape
function close() { function close() {
emit("close-modal"); emit("close-modal");
} }
function keyUpHandler(e) {
if (e.key == "Escape") close();
}
onMounted(() => {
window.addEventListener("keyup", keyUpHandler);
});
onUnmounted(() => {
window.removeEventListener("keyup", keyUpHandler);
});
</script> </script>
<template> <template>