Skip to content

Commit

Permalink
Add on-escape handler to search input and let it close the modal
Browse files Browse the repository at this point in the history
  • Loading branch information
usox committed Apr 30, 2023
1 parent de23946 commit bf75e31
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 25 deletions.
26 changes: 13 additions & 13 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

22 changes: 11 additions & 11 deletions src/components/Lib/Modal.vue
Original file line number Diff line number Diff line change
@@ -1,14 +1,3 @@
<script lang="ts">
export default {
name: 'Modal',
methods: {
close() {
this.$emit('close');
},
},
};
</script>

<template>
<div class="modal-backdrop">
<div class="modal">
Expand Down Expand Up @@ -37,6 +26,17 @@
</div>
</template>

<script lang="ts">
export default {
name: 'Modal',
methods: {
close() {
this.$emit('close');
},
},
};
</script>

<style>
.modal-backdrop {
position: fixed;
Expand Down
11 changes: 10 additions & 1 deletion src/components/Navigation/Search.vue
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,15 @@

<Modal v-show="isVisible" @close="closeModal">
<template v-slot:header>
{{ $t("header.search") }}: {{ this.searchQuery }}
{{ $t("header.search") }}:
<input
type="text"
ref="modalSearchInput"
:placeholder="$t('header.search')"
v-model="searchQuery"
@keyup="search"
v-on:keydown.esc="closeModal"
/>
</template>

<template v-slot:body>
Expand Down Expand Up @@ -78,6 +86,7 @@ export default defineComponent({
return
}
this.$refs.modalSearchInput.focus()
this.searchState = true;
await this.retrieveResult(this.searchQuery)
Expand Down

0 comments on commit bf75e31

Please sign in to comment.