fix: 2 bugs with collapsible block state and properties

When 2 db graphs exist, the built-in-properties check failed because it
failed to db lookup for the new repo. Just simplified it so that db
lookup is only needed once across repos. Also limited check to hidden
built-in properties since visible built-in properties should be
treated like user properties and be collapsable
This commit is contained in:
Gabriel Horner
2023-10-31 11:36:48 -04:00
parent abf2c0c126
commit cda755ef36
2 changed files with 9 additions and 8 deletions

View File

@@ -64,16 +64,17 @@
(defn shape-block? [block]
(= :whiteboard-shape (get-property block :ls-type)))
(defonce *db-built-in-properties (atom {}))
(defonce *hidden-built-in-properties (atom #{}))
(defn all-built-in-properties?
(defn all-hidden-built-in-properties?
"Checks if the given properties are all hidden built-in properties"
[properties]
(let [repo (state/get-current-repo)]
(when (empty? @*db-built-in-properties)
(let [built-in-properties (set (map #(get-built-in-property-uuid repo %)
db-property/built-in-properties-keys))]
(swap! *db-built-in-properties assoc repo built-in-properties)))
(set/subset? (set properties) (get @*db-built-in-properties repo))))
(when (empty? @*hidden-built-in-properties)
(let [built-in-properties (set (map #(get-built-in-property-uuid repo (name %))
db-property/hidden-built-in-properties))]
(reset! *hidden-built-in-properties built-in-properties)))
(set/subset? (set properties) @*hidden-built-in-properties)))
(defn readable-properties
"Given a DB graph's properties, returns a readable properties map with keys as