Suppress popovers inside legacy popovers and vice versa
authorAlexander Ebert <ebert@woltlab.com>
Wed, 21 Aug 2024 09:06:55 +0000 (11:06 +0200)
committerAlexander Ebert <ebert@woltlab.com>
Wed, 21 Aug 2024 09:06:55 +0000 (11:06 +0200)
ts/WoltLabSuite/Core/Component/Popover.ts
ts/WoltLabSuite/Core/Controller/Popover.ts

index 5db2ce4c75cc6e8582df2500a8c4b79b1d9d00c0..e0bd47174cf0a257224a561b5b3a9521b380068a 100644 (file)
@@ -158,7 +158,7 @@ export function setupFor(configuration: Configuration): void {
 
   wheneverFirstSeen(selector, (element) => {
     // Disregard elements nested inside a popover.
-    if (element.closest(".popoverContainer") !== null) {
+    if (element.closest(".popover, .popoverContainer") !== null) {
       return;
     }
 
index cb72e33b4cddc90a35c1a92c0cc5d151d5add98a..809a386049db3a375ea671e3d67fa09d61ef9f26 100644 (file)
@@ -167,7 +167,7 @@ class ControllerPopover implements AjaxCallbackObject {
       }
 
       // Skip elements that are located inside a popover.
-      if (element.closest(".popover") !== null) {
+      if (element.closest(".popover, .popoverContainer") !== null) {
         this.cache.set(id, {
           content: null,
           state: State.None,
@@ -475,7 +475,7 @@ function getControllerPopover(): ControllerPopover {
  *             popover.setContent('com.example.bar.foo', objectId, htmlTemplateString);
  *     }
  * });
- * 
+ *
  * @deprecated 6.1 Use `WoltLabSuite/Core/Component/Popover` instead
  */
 export function init(options: PopoverOptions): void {