Improved info for new HTMLDialogElement features

This commit is contained in:
the-djmaze 2022-09-06 20:02:27 +02:00
parent c6176438ee
commit af86cabcff

View file

@ -62,24 +62,18 @@ const
vmDom.backdrop.hidden = false; vmDom.backdrop.hidden = false;
}; };
vmDom.close = v => { vmDom.close = v => {
vmDom.backdrop.hidden = true; // if (vmDom.dispatchEvent(new CustomEvent('cancel', {cancelable:true}))) {
vmDom.returnValue = v; vmDom.backdrop.hidden = true;
vmDom.removeAttribute('open', null); vmDom.returnValue = v;
vmDom.open = false; vmDom.removeAttribute('open', null);
vmDom.open = false;
vmDom.dispatchEvent(new CustomEvent('close'));
// }
}; };
/*
shortcuts.add('escape', '', vm.keyScope.scope, () => {
if (vmDom.open && false !== this.onClose()) {
this.close();
return false;
}
return true; Issue with supported modal close
});
*/
} }
// https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event // https://developer.mozilla.org/en-US/docs/Web/API/HTMLDialogElement/cancel_event
// vmDom.addEventListener('cancel', event => (false === vm.onClose() && event.preventDefault())); // vmDom.addEventListener('cancel', event => (false === vm.onClose() && event.preventDefault()));
// vmDom.addEventListener('close', () => false !== vm.onClose()); // vmDom.addEventListener('close', () => vm.modalVisible(false));
// show/hide popup/modal // show/hide popup/modal
const endShowHide = e => { const endShowHide = e => {
@ -98,10 +92,10 @@ const
if (value) { if (value) {
i18nToNodes(vmDom); i18nToNodes(vmDom);
visiblePopups.add(vm); visiblePopups.add(vm);
vmDom.style.zIndex = 3000 + (visiblePopups.size * 2); vmDom.style.zIndex = 3001 + (visiblePopups.size * 2);
vmDom.showModal(); vmDom.showModal();
if (vmDom.backdrop) { if (vmDom.backdrop) {
vmDom.backdrop.style.zIndex = 3000 + visiblePopups.size; vmDom.backdrop.style.zIndex = 3000 + (visiblePopups.size * 2);
} }
vm.keyScope.set(); vm.keyScope.set();
requestAnimationFrame(() => { // wait just before the next paint requestAnimationFrame(() => { // wait just before the next paint