fix: built-in property id changes after app reload

This commit is contained in:
Tienson Qin
2023-08-07 20:32:38 +08:00
parent 7a5ee44f85
commit 3a530496e3
5 changed files with 46 additions and 21 deletions

View File

@@ -4,7 +4,8 @@
[frontend.config :as config]
[logseq.graph-parser.property :as gp-property]
[logseq.graph-parser.util :as gp-util]
[frontend.db :as db]))
[frontend.db :as db]
[clojure.set :as set]))
(defn lookup
"Get the value of coll's (a map) `key`"
@@ -32,3 +33,16 @@
(defn shape-block? [block]
(= :whiteboard-shape (get-property block :ls-type)))
(defonce *db-built-in-properties (atom {}))
(defn all-built-in-properties?
[properties]
(let [repo (state/get-current-repo)]
(when (empty? @*db-built-in-properties)
(let [built-in-properties (set (map
(fn [p]
(:block/uuid (db/entity [:block/name (name p)])))
gp-property/db-built-in-properties-keys))]
(swap! *db-built-in-properties assoc repo built-in-properties)))
(set/subset? (set properties) (get @*db-built-in-properties repo))))