Просмотр исходного кода

fix: move group-by out and limit notify blocks' length

Tienson Qin 3 лет назад
Родитель
Сommit
4b6004f9d5
2 измененных файлов с 8 добавлено и 6 удалено
  1. 4 5
      src/main/frontend/handler/plugin.cljs
  2. 4 1
      src/main/frontend/modules/outliner/pipeline.cljs

+ 4 - 5
src/main/frontend/handler/plugin.cljs

@@ -490,11 +490,10 @@
 
 
 (defn hook-plugin-block-changes
 (defn hook-plugin-block-changes
   [{:keys [blocks tx-data tx-meta]}]
   [{:keys [blocks tx-data tx-meta]}]
-
-  (doseq [b blocks
-          :let [tx-data' (group-by first tx-data)
-                type     (str "block:" (:block/uuid b))]]
-    (hook-plugin-db type {:block b :tx-data (get tx-data' (:db/id b)) :tx-meta tx-meta})))
+  (let [tx-data' (group-by first tx-data)]
+    (doseq [b blocks]
+      (let [type (str "block:" (:block/uuid b))]
+        (hook-plugin-db type {:block b :tx-data (get tx-data' (:db/id b)) :tx-meta tx-meta})))))
 
 
 (defn hook-plugin-block-slot
 (defn hook-plugin-block-slot
   [block payload]
   [block payload]

+ 4 - 1
src/main/frontend/modules/outliner/pipeline.cljs

@@ -86,7 +86,10 @@
           (doseq [p (seq pages)]
           (doseq [p (seq pages)]
             (updated-page-hook tx-report p)))
             (updated-page-hook tx-report p)))
 
 
-        (when (and state/lsp-enabled? (seq blocks) (not importing?))
+        (when (and state/lsp-enabled?
+                   (seq blocks)
+                   (not importing?)
+                   (<= (count blocks) 100))
           (state/pub-event! [:plugin/hook-db-tx
           (state/pub-event! [:plugin/hook-db-tx
                              {:blocks  blocks
                              {:blocks  blocks
                               :tx-data (:tx-data tx-report)
                               :tx-data (:tx-data tx-report)