Merge pull request #19487 from Snuffleupagus/OverlayManager-closeIfActive

Add a new `closeIfActive` method in the `OverlayManager` class
This commit is contained in:
Jonas Jenwald 2025-02-14 15:46:13 +01:00 committed by GitHub
commit c69282a64f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 19 additions and 24 deletions

View File

@ -245,9 +245,7 @@ class AltTextManager {
} }
#finish() { #finish() {
if (this.#overlayManager.active === this.#dialog) { this.#overlayManager.closeIfActive(this.#dialog);
this.#overlayManager.close(this.#dialog);
}
} }
#close() { #close() {

View File

@ -440,9 +440,7 @@ class NewAltTextManager {
} }
#finish() { #finish() {
if (this.#overlayManager.active === this.#dialog) { this.#overlayManager.closeIfActive(this.#dialog);
this.#overlayManager.close(this.#dialog);
}
} }
#close() { #close() {
@ -696,9 +694,7 @@ class ImageAltTextSettings {
} }
#finish() { #finish() {
if (this.#overlayManager.active === this.#dialog) { this.#overlayManager.closeIfActive(this.#dialog);
this.#overlayManager.close(this.#dialog);
}
} }
} }

View File

@ -81,6 +81,17 @@ class OverlayManager {
dialog.close(); dialog.close();
this.#active = null; this.#active = null;
} }
/**
* @param {HTMLDialogElement} dialog - The overlay's DOM element.
* @returns {Promise} A promise that is resolved when the overlay has been
* closed.
*/
async closeIfActive(dialog) {
if (this.#active === dialog) {
await this.close(dialog);
}
}
} }
export { OverlayManager }; export { OverlayManager };

View File

@ -89,9 +89,7 @@ class PasswordPrompt {
} }
async close() { async close() {
if (this.overlayManager.active === this.dialog) { this.overlayManager.closeIfActive(this.dialog);
this.overlayManager.close(this.dialog);
}
} }
#verify() { #verify() {

View File

@ -148,9 +148,7 @@ class PDFPrintService {
this.scratchCanvas = null; this.scratchCanvas = null;
activeService = null; activeService = null;
ensureOverlay().then(function () { ensureOverlay().then(function () {
if (overlayManager.active === dialog) { overlayManager.closeIfActive(dialog);
overlayManager.close(dialog);
}
}); });
} }
@ -260,9 +258,7 @@ window.print = function () {
if (!activeService) { if (!activeService) {
console.error("Expected print service to be initialized."); console.error("Expected print service to be initialized.");
ensureOverlay().then(function () { ensureOverlay().then(function () {
if (overlayManager.active === dialog) { overlayManager.closeIfActive(dialog);
overlayManager.close(dialog);
}
}); });
return; // eslint-disable-line no-unsafe-finally return; // eslint-disable-line no-unsafe-finally
} }

View File

@ -826,9 +826,7 @@ class SignatureManager {
} }
#finish() { #finish() {
if (this.#overlayManager.active === this.#dialog) { this.#overlayManager.closeIfActive(this.#dialog);
this.#overlayManager.close(this.#dialog);
}
} }
#close() { #close() {
@ -993,9 +991,7 @@ class EditDescriptionDialog {
} }
#finish() { #finish() {
if (this.#overlayManager.active === this.#dialog) { this.#overlayManager.closeIfActive(this.#dialog);
this.#overlayManager.close(this.#dialog);
}
} }
#close() { #close() {