implement messageBox.close()

This commit is contained in:
tophf 2022-01-13 13:51:32 +03:00
parent 8f1e8c8e47
commit adfd94001b
2 changed files with 16 additions and 20 deletions

View File

@ -12,6 +12,19 @@ window.messageBox = {
_resolve: null,
};
messageBox.close = async isAnimated => {
window.off('keydown', messageBox.listeners.key, true);
window.off('scroll', messageBox.listeners.scroll);
window.off('mouseup', messageBox.listeners.mouseUp);
window.off('mousemove', messageBox.listeners.mouseMove);
if (isAnimated) {
await animateElement(messageBox.element, 'fadeout');
}
messageBox.element.remove();
messageBox.element = null;
messageBox._resolve = null;
};
/**
* @param {Object} params
* @param {String} params.title
@ -143,9 +156,7 @@ messageBox.show = async ({
function resolveWith(value) {
setTimeout(messageBox._resolve, 0, value);
unbindGlobalListeners();
animateElement(messageBox.element, 'fadeout')
.then(removeSelf);
messageBox.close(true);
if (messageBox.element.contains(document.activeElement)) {
messageBox._originalFocus.focus();
}
@ -153,8 +164,7 @@ messageBox.show = async ({
function createElement() {
if (messageBox.element) {
unbindGlobalListeners();
removeSelf();
messageBox.close();
}
const id = 'message-box';
messageBox.element =
@ -186,19 +196,6 @@ messageBox.show = async ({
}
window.on('keydown', messageBox.listeners.key, true);
}
function unbindGlobalListeners() {
window.off('keydown', messageBox.listeners.key, true);
window.off('scroll', messageBox.listeners.scroll);
window.off('mouseup', messageBox.listeners.mouseUp);
window.off('mousemove', messageBox.listeners.mouseMove);
}
function removeSelf() {
messageBox.element.remove();
messageBox.element = null;
messageBox._resolve = null;
}
};
/**

View File

@ -159,8 +159,7 @@ function EmbedDialog(create) {
});
shown = true;
} else if (!state && shown) {
// FIXME: close the dialog
// messageBoxProxy.close();
messageBoxProxy.close();
shown = false;
}
}