Merge pull request #662 from Safelite/defect/digital/SSR-1177.2

SSR-1177 Fallback to modal button if no tabbable elements found
This commit is contained in:
Josh Dassinger 2024-04-30 09:26:31 -05:00 committed by GitHub
commit 73fe8c56ff
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,6 +1,6 @@
<template> <template>
<!-- Modal --> <!-- Modal -->
<focus-trap v-model:active="isOpen"> <focus-trap v-model:active="isOpen" :fallbackFocus="getFocusFallback">
<div <div
:id="modalId" :id="modalId"
class="modal fade modal-component" class="modal fade modal-component"
@ -123,10 +123,7 @@ export default {
openModal() { openModal() {
const modal = Modal.getOrCreateInstance(document.getElementById(this.modalId)); const modal = Modal.getOrCreateInstance(document.getElementById(this.modalId));
modal?.show(); modal?.show();
setTimeout(() => { this.isOpen = true;
this.isOpen = true;
}, 10);
this.$emit('isModalOpened', true); this.$emit('isModalOpened', true);
}, },
closeModal() { closeModal() {
@ -134,6 +131,9 @@ export default {
modal?.hide(); modal?.hide();
this.isOpen = false; this.isOpen = false;
this.$emit('isModalOpened', false); this.$emit('isModalOpened', false);
},
getFocusFallback() {
return this.$refs.modalButtonMain;
} }
} }
}; };