Merge pull request #173 from mfeitoza/master

fix(modal): focus
This commit is contained in:
Eric Liu 2020-05-03 16:46:59 -07:00 committed by GitHub
commit e8b5bbc82c
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 20 additions and 8 deletions

View file

@ -17,6 +17,8 @@
let outerModal = undefined;
let innerModal = undefined;
let opened = false;
setContext('ComposedModal', {
closeModal: () => {
open = false;
@ -45,11 +47,15 @@
});
afterUpdate(() => {
if (open) {
dispatch('open');
document.body.classList.add(cx('--body--with-modal-open'));
} else {
if (opened) {
if (!open) {
opened = false;
dispatch('close');
document.body.classList.add(cx('--body--with-modal-open'));
}
} else if (open) {
opened = true;
dispatch('open');
document.body.classList.remove(cx('--body--with-modal-open'));
}
});

View file

@ -30,6 +30,8 @@
let outerModal = undefined;
let innerModal = undefined;
let opened = false
// TODO: reuse in ComposedModal
function focus(element) {
const node = (element || innerModal).querySelector(selectorPrimaryFocus) || buttonRef;
@ -37,13 +39,17 @@
}
afterUpdate(() => {
if (open) {
if (opened) {
if (!open) {
opened = false;
dispatch('close');
document.body.classList.remove(cx('--body--with-modal-open'));
}
} else if (open) {
opened = true;
focus();
dispatch('open');
document.body.classList.add(cx('--body--with-modal-open'));
} else {
dispatch('close');
document.body.classList.remove(cx('--body--with-modal-open'));
}
});