Przeglądaj źródła

fix: container scrolling on sidebar editing

Konstantinos Kaloutas 3 lat temu
rodzic
commit
aa85b7bf18
1 zmienionych plików z 9 dodań i 4 usunięć
  1. 9 4
      src/main/frontend/util.cljc

+ 9 - 4
src/main/frontend/util.cljc

@@ -40,8 +40,13 @@
        (-write writer (str "\"" (.toString sym) "\"")))))
 
 #?(:cljs (defonce ^js node-path utils/nodePath))
-#?(:cljs (defn app-scroll-container-node []
-           (gdom/getElement "main-content-container")))
+#?(:cljs (defn app-scroll-container-node
+           ([]
+            (gdom/getElement "main-content-container"))
+           ([el]
+            (if (.closest el "#main-content-container")
+              (app-scroll-container-node)
+              (gdom/getElementByClass "sidebar-item-list")))))
 
 #?(:cljs
    (defn safe-re-find
@@ -1300,7 +1305,7 @@
              header-height (-> (gdom/getElementByClass "cp__header")
                                .-clientHeight)
 
-             main-node   (app-scroll-container-node)
+             main-node   (app-scroll-container-node el)
              scroll-top  (.-scrollTop main-node)
 
              current-pos (get-selection-start el)
@@ -1326,7 +1331,7 @@
 
            (< cursor-y header-height)
            (let [_ (.scrollIntoView el true)
-                 main-node (app-scroll-container-node)
+                 main-node (app-scroll-container-node el)
                  scroll-top (.-scrollTop main-node)]
              (set! (.-scrollTop main-node) (- scroll-top (/ vw-height 4))))