mirror of https://github.com/logseq/logseq
enhance(perf): delete block
parent
34222b3436
commit
d69c7ab66c
|
@ -959,8 +959,9 @@
|
|||
(let [repo (state/get-current-repo)]
|
||||
(pipeline/invoke-hooks data)
|
||||
|
||||
(ipc/ipc :db-transact repo (pr-str (:tx-data data)) (pr-str (:tx-meta data)))
|
||||
(state/pub-event! [:search/transact-data repo (:search-indice data)])
|
||||
(when (util/electron?)
|
||||
(ipc/ipc :db-transact repo (pr-str (:tx-data data)) (pr-str (:tx-meta data))))
|
||||
|
||||
nil))
|
||||
|
||||
(defn run!
|
||||
|
|
|
@ -9,7 +9,9 @@
|
|||
[frontend.worker.state :as worker-state]
|
||||
[frontend.worker.pipeline :as pipeline]
|
||||
[frontend.worker.search :as search]
|
||||
[frontend.worker.util :as worker-util]))
|
||||
[frontend.worker.util :as worker-util]
|
||||
[promesa.core :as p]
|
||||
[cljs-bean.core :as bean]))
|
||||
|
||||
|
||||
(defn- entity-datoms=>attr->datom
|
||||
|
@ -207,19 +209,25 @@
|
|||
(fn [{:keys [tx-meta] :as tx-report}]
|
||||
(let [{:keys [pipeline-replace?]} tx-meta
|
||||
result (pipeline/invoke-hooks repo conn tx-report (worker-state/get-context))
|
||||
tx-report' (or (:tx-report result) tx-report)
|
||||
;; TODO: delay search indice so that UI can be refreshed earlier
|
||||
search-indice (search/sync-search-indice repo tx-report')]
|
||||
tx-report' (or (:tx-report result) tx-report)]
|
||||
(when-not pipeline-replace?
|
||||
(let [data (pr-str
|
||||
(merge
|
||||
{:request-id (:request-id tx-meta)
|
||||
:repo repo
|
||||
:search-indice search-indice
|
||||
:tx-data (:tx-data tx-report')
|
||||
:tx-meta tx-meta}
|
||||
(dissoc result :tx-report)))]
|
||||
(worker-util/post-message :sync-db-changes data)))))))
|
||||
(worker-util/post-message :sync-db-changes data))
|
||||
|
||||
(p/do!
|
||||
(let [{:keys [blocks-to-remove-set blocks-to-add]} (search/sync-search-indice repo tx-report')
|
||||
^js wo (worker-state/get-worker-object)]
|
||||
(when wo
|
||||
(when (seq blocks-to-remove-set)
|
||||
(.search-delete-blocks wo repo (bean/->js blocks-to-remove-set)))
|
||||
(when (seq blocks-to-add)
|
||||
(.search-upsert-blocks wo repo (bean/->js blocks-to-add)))))))))))
|
||||
|
||||
(defn listen-to-db-changes!
|
||||
[repo conn]
|
||||
|
|
|
@ -75,3 +75,7 @@
|
|||
(defn set-worker-object!
|
||||
[worker]
|
||||
(swap! *state assoc :worker/object worker))
|
||||
|
||||
(defn get-worker-object
|
||||
[]
|
||||
(:worker/object @*state))
|
||||
|
|
Loading…
Reference in New Issue