]> BookStack Code Mirror - bookstack/commitdiff
Page Display: Fixed highlighting for elements in nested details
authorDan Brown <redacted>
Sat, 9 Mar 2024 15:07:51 +0000 (15:07 +0000)
committerDan Brown <redacted>
Sat, 9 Mar 2024 15:07:51 +0000 (15:07 +0000)
For #4878

resources/js/services/util.js

index 59affff8814350ab1b6b1427f3007b8746e8c07e..942456d9dedb475ce3e6e05ad0a06ccdf2513ffd 100644 (file)
@@ -31,9 +31,12 @@ export function debounce(func, waitMs, immediate) {
 export function scrollAndHighlightElement(element) {
     if (!element) return;
 
-    const parentDetails = element.closest('details');
-    if (parentDetails && !parentDetails.open) {
-        parentDetails.open = true;
+    let parent = element;
+    while (parent.parentElement) {
+        parent = parent.parentElement;
+        if (parent.nodeName === 'DETAILS' && !parent.open) {
+            parent.open = true;
+        }
     }
 
     element.scrollIntoView({behavior: 'smooth'});