Revert "Suppress errors when disabling the focus trap"
authorTim Düsterhus <duesterhus@woltlab.com>
Mon, 16 May 2022 09:37:27 +0000 (11:37 +0200)
committerTim Düsterhus <duesterhus@woltlab.com>
Mon, 16 May 2022 09:37:27 +0000 (11:37 +0200)
This commit duplicates commit e9ffefb4d0db61bf8e12b3824c6515ac16fe3812 which is
the cleaner fix, but was accidentally commited to `master` only. We revert this
one to allow for a clean cherry-picking of
e9ffefb4d0db61bf8e12b3824c6515ac16fe3812.

This reverts commit e7439c4f5fc7daf8d45d2de478c488798ddf463a.

ts/WoltLabSuite/Core/Ui/Dialog.ts
wcfsetup/install/files/js/WoltLabSuite/Core/Ui/Dialog.js

index e2b42ce8140f18d0f063ff63b621151099a42efe..a0ac4c163baa306278441fd1b7d1b68f3f4deb70 100644 (file)
@@ -783,18 +783,7 @@ const UiDialog = {
       throw new Error("Expected a valid dialog id, '" + id + "' does not match any active dialog.");
     }
 
-    try {
-      data.focusTrap.deactivate();
-    } catch (e) {
-      // Suppress error messages if the focus could not be returned
-      // to the source element because it is no longer available or
-      // unknown.
-      const ignoreMessage =
-        "Your focus-trap must have at least one container with at least one tabbable node in it at all times";
-      if (e.message !== ignoreMessage) {
-        throw e;
-      }
-    }
+    data.focusTrap.deactivate();
 
     data.dialog.setAttribute("aria-hidden", "true");
 
index 8983a81c085d02d7b5208ee8eb0eb6ccfc316faa..4e574134c1e6747fc9e646acc9f8f927b6777586 100644 (file)
@@ -644,18 +644,7 @@ define(["require", "exports", "tslib", "../Core", "../Dom/Change/Listener", "./S
             if (data === undefined) {
                 throw new Error("Expected a valid dialog id, '" + id + "' does not match any active dialog.");
             }
-            try {
-                data.focusTrap.deactivate();
-            }
-            catch (e) {
-                // Suppress error messages if the focus could not be returned
-                // to the source element because it is no longer available or
-                // unknown.
-                const ignoreMessage = "Your focus-trap must have at least one container with at least one tabbable node in it at all times";
-                if (e.message !== ignoreMessage) {
-                    throw e;
-                }
-            }
+            data.focusTrap.deactivate();
             data.dialog.setAttribute("aria-hidden", "true");
             // Move the keyboard focus away from a now hidden element.
             const activeElement = document.activeElement;