Ver código fonte

enhance: Add default namespace of :logseq.property

for db/ident of built-in-properties. Namespacing block identities will
be important for future features. Adding namespacing also fixed some
hidden coupling between identity and name. Also converted a couple more
related :block/name queries to use :db/ident to slowly get us closer to
named blocks
Gabriel Horner 1 ano atrás
pai
commit
67a7a0a3e9

+ 1 - 2
deps/db/src/logseq/db.cljs

@@ -10,7 +10,6 @@
             [clojure.set :as set]
             [logseq.db.frontend.rules :as rules]
             [logseq.db.frontend.entity-plus]
-            [logseq.db.frontend.class :as db-class]
             [logseq.db.sqlite.util :as sqlite-util]))
 
 ;; Use it as an input argument for datalog queries
@@ -553,7 +552,7 @@
 (defn built-in?
   "Built-in page or block"
   [db entity]
-  (get (:block/properties entity) (:block/uuid (d/entity db :built-in?))))
+  (get (:block/properties entity) (:block/uuid (d/entity db :logseq.property/built-in?))))
 
 (defn built-in-class-property?
   "Whether property a built-in property for the specific class"

+ 1 - 1
deps/db/src/logseq/db/frontend/default.cljs

@@ -29,5 +29,5 @@
 (defn mark-block-as-built-in
   "Marks built-in blocks as built-in? including pages, classes, properties and closed values"
   [db block]
-  (let [built-in-property-id (:block/uuid (d/entity db :built-in?))]
+  (let [built-in-property-id (:block/uuid (d/entity db :logseq.property/built-in?))]
     (update block :block/properties assoc built-in-property-id true)))

+ 1 - 2
deps/db/src/logseq/db/frontend/property.cljs

@@ -21,8 +21,7 @@
            :visible true
            :schema {:type :page
                     :cardinality :many}}
-   :tags {:db-ident :tags
-          :original-name "Tags"
+   :tags {:original-name "Tags"
           :attribute :block/tags
           :visible true
           :schema {:type :page

+ 1 - 1
deps/db/src/logseq/db/frontend/property/util.cljs

@@ -13,7 +13,7 @@
    :block/format :markdown
    :block/uuid block-id
    :block/page page-id
-   :block/properties {(:block/uuid (d/entity db :created-from-property)) (:block/uuid property)}
+   :block/properties {(:block/uuid (d/entity db :logseq.property/created-from-property)) (:block/uuid property)}
    :block/schema {:value value}
    :block/parent page-id})
 

+ 1 - 1
deps/db/src/logseq/db/sqlite/common_db.cljs

@@ -117,7 +117,7 @@
 
 (defn get-structured-blocks
   [db]
-  (let [special-pages (map #(d/pull db '[*] [:block/name %]) #{"tags"})
+  (let [special-pages (map #(d/pull db '[*] %) #{:logseq.property/tags})
         structured-blocks (->> (d/datoms db :avet :block/type)
                                (keep (fn [e]
                                        (when (contains? #{"closed value" "property" "class"} (:v e))

+ 3 - 3
deps/db/src/logseq/db/sqlite/create_graph.cljs

@@ -17,14 +17,14 @@
         built-in-properties (->>
                              (map (fn [[k v]]
                                     (assert (keyword? k))
-                                    [k (assoc v :db-ident (get v :db-ident k))])
+                                    [k (assoc v :db-ident (get v :db-ident (keyword "logseq.property" (name k))))])
                                   db-property/built-in-properties)
                              (into {}))]
     (mapcat
      (fn [[k-keyword {:keys [schema original-name closed-values db-ident]}]]
        (let [k-name (name k-keyword)
              id (if (contains? db-property/first-stage-properties k-keyword)
-                  (let [id (:block/uuid (d/entity db k-keyword))]
+                  (let [id (:block/uuid (d/entity db db-ident))]
                     (assert (uuid? id) "First stage properties are not created yet")
                     id)
                   (d/squuid))
@@ -47,7 +47,7 @@
   [db* config-content]
   (let [db (d/db-with db*
                       (map (fn [p]
-                             {:db/ident p
+                             {:db/ident (keyword "logseq.property" (name p))
                               :block/name (name p)
                               :block/uuid (random-uuid)}) db-property/first-stage-properties))
         initial-data [{:db/ident :db/type :db/type "db"}

+ 1 - 1
deps/graph-parser/src/logseq/graph_parser/exporter.cljs

@@ -811,7 +811,7 @@
                        :filename-format (or (:file/name-format config) :legacy)
                        :verbose (:verbose options)}
      :user-options (select-keys options [:tag-classes :property-classes])
-     :page-tags-uuid (:block/uuid (d/entity @conn [:block/name "pagetags"]))
+     :page-tags-uuid (:block/uuid (d/entity @conn :logseq.property/pagetags))
      :import-state (new-import-state)
      :macros (or (:macros options) (:macros config))}
     (merge (select-keys options [:set-ui-state :export-file :notify-user]))))

+ 1 - 1
deps/outliner/src/logseq/outliner/core.cljs

@@ -230,7 +230,7 @@
 
                                              (uuid? v)
                                              (when-let [entity (d/entity db [:block/uuid v])]
-                                               (let [from-property? (get-in entity [:block/properties (:block/uuid (d/entity db :created-from-property))])]
+                                               (let [from-property? (get-in entity [:block/properties (:block/uuid (d/entity db :logseq.property/created-from-property))])]
                                                  (if (and from-property? (not (contains? (:block/type entity) "closed value")))
                                                    ;; don't reference hidden block property values except closed values
                                                    []

+ 1 - 1
deps/publishing/src/logseq/publishing/db.cljs

@@ -55,7 +55,7 @@
         tag-pages (concat tag-pages*
                           ;; built-in property needs to be public to display tags
                           (when (seq tag-pages*)
-                            (some-> (d/entity db [:block/name "tags"]) :db/id vector)))
+                            (some-> (d/entity db :logseq.property/tags) :db/id vector)))
         property-pages (mapcat (fn [ent]
                                  (let [props (:block/properties ent)]
                                    (->> (keys props)

+ 1 - 1
src/main/frontend/components/block.cljs

@@ -3638,7 +3638,7 @@
   [page]
   (or
    (when-let [page-uuid (get-in (db/entity (:db/id page))
-                                [:block/properties (:block/uuid (db/entity :source-page-id))])]
+                                [:block/properties (:block/uuid (db/entity :logseq.property/source-page-id))])]
      (db/entity [:block/uuid page-uuid]))
 
    ;; FIXME: what if the source page has been deleted?

+ 1 - 1
src/main/frontend/components/db_based/page.cljs

@@ -30,7 +30,7 @@
         has-viewable-properties? (db-property-handler/block-has-viewable-properties? page)
         has-class-properties? (seq (:properties (:block/schema page)))
         has-tags? (seq (:block/tags page))
-        hide-properties? (get-in page [:block/properties (:block/uuid (db/entity :hide-properties?))])]
+        hide-properties? (get-in page [:block/properties (:block/uuid (db/entity :logseq.property/hide-properties?))])]
     (when (or configure?
               (and
                (not hide-properties?)

+ 5 - 5
src/main/frontend/components/property/value.cljs

@@ -155,7 +155,7 @@
         [_ page inline-class] (or (seq (map string/trim (re-find #"(.*)#(.*)$" page*)))
                                   [nil page* nil])
         id (pu/get-page-uuid page)
-        class? (= (:block/name property) "tags")]
+        class? (= :logseq.property/tags (:block/ident property))]
     (if (nil? id)
       (let [inline-class-uuid
             (when inline-class
@@ -207,13 +207,13 @@
   [property
    {:keys [block classes multiple-choices? dropdown? input-opts on-chosen] :as opts}]
   (let [repo (state/get-current-repo)
-        tags? (= :tags (:db/ident property))
-        alias? (= :alias (:db/ident property))
+        tags? (= :logseq.property/tags (:db/ident property))
+        alias? (= :logseq.property/alias (:db/ident property))
         tags-or-alias? (or tags? alias?)
         selected-choices (when block
                            (->>
                             (if tags-or-alias?
-                              (->> (if (= "tags" (:block/name property))
+                              (->> (if tags?
                                      (:block/tags block)
                                      (:block/alias block))
                                    (map (fn [e] (:block/original-name e))))
@@ -688,7 +688,7 @@
                           :default)
                  type (if (= :block type)
                         (let [v-block (db/entity [:block/uuid value])]
-                          (if (get-in v-block [:block/properties (:block/uuid (db/entity :created-from-template))])
+                          (if (get-in v-block [:block/properties (:block/uuid (db/entity :logseq.property/created-from-template))])
                             :template
                             type))
                         type)

+ 11 - 11
src/main/frontend/handler/db_based/property.cljs

@@ -426,8 +426,8 @@
                              block-value? (and (= :default (get-in property [:block/schema :type] :default))
                                                (uuid? value))
                              property-block (when block-value? (db/entity [:block/uuid value]))
-                             created-from-block-uuid (:block/uuid (db/entity :created-from-block))
-                             created-from-property-uuid (:block/uuid (db/entity :created-from-property))
+                             created-from-block-uuid (:block/uuid (db/entity :logseq.property/created-from-block))
+                             created-from-property-uuid (:block/uuid (db/entity :logseq.property/created-from-property))
                              retract-blocks-tx (when (and property-block
                                                           (some? (get-in property-block [:block/properties created-from-block-uuid]))
                                                           (some? (get-in property-block [:block/properties created-from-property-uuid])))
@@ -593,12 +593,12 @@
                  (-> (block/page-name->map page-name true)
                      (assoc :block/type #{"hidden"}
                             :block/format :markdown
-                            :block/properties {(:block/uuid (db/entity :source-page-id)) current-page-id})))
+                            :block/properties {(:block/uuid (db/entity :logseq.property/source-page-id)) current-page-id})))
         page-tx (when-not page-entity page)
         page-id [:block/uuid (:block/uuid page)]
         parent-id (db/new-block-id)
-        properties {(:block/uuid (db/entity :created-from-block)) (:block/uuid block)
-                    (:block/uuid (db/entity :created-from-property)) (:block/uuid property)}
+        properties {(:block/uuid (db/entity :logseq.property/created-from-block)) (:block/uuid block)
+                    (:block/uuid (db/entity :logseq.property/created-from-property)) (:block/uuid property)}
         parent (-> {:block/uuid parent-id
                     :block/format :markdown
                     :block/content ""
@@ -645,13 +645,13 @@
                  (-> (block/page-name->map page-name true)
                      (assoc :block/type #{"hidden"}
                             :block/format :markdown
-                            :block/properties {(:block/uuid (db/entity :source-page-id)) current-page-id})))
+                            :block/properties {(:block/uuid (db/entity :logseq.property/source-page-id)) current-page-id})))
         page-tx (when-not page-entity page)
         page-id [:block/uuid (:block/uuid page)]
         block-id (db/new-block-id)
-        properties {(:block/uuid (db/entity :created-from-block)) (:block/uuid block)
-                    (:block/uuid (db/entity :created-from-property)) (:block/uuid property)
-                    (:block/uuid (db/entity :created-from-template)) (:block/uuid template)}
+        properties {(:block/uuid (db/entity :logseq.property/created-from-block)) (:block/uuid block)
+                    (:block/uuid (db/entity :logseq.property/created-from-property)) (:block/uuid property)
+                    (:block/uuid (db/entity :logseq.property/created-from-template)) (:block/uuid template)}
         new-block (-> {:block/uuid block-id
                        :block/format :markdown
                        :block/content ""
@@ -835,8 +835,8 @@
         [created-from-block created-from-property]
         (some (fn [block]
                 (let [properties (:block/properties block)
-                      from-block (get properties (:block/uuid (db/entity :created-from-block)))
-                      from-property (get properties (:block/uuid (db/entity :created-from-property)))]
+                      from-block (get properties (:block/uuid (db/entity :logseq.property/created-from-block)))
+                      from-property (get properties (:block/uuid (db/entity :logseq.property/created-from-property)))]
                   (when (and from-block from-property)
                     [from-block from-property]))) (reverse parents))
         from-block (when created-from-block (db/entity [:block/uuid created-from-block]))

+ 1 - 1
src/main/frontend/handler/page.cljs

@@ -431,6 +431,6 @@
 (defn toggle-properties!
   [page-entity]
   (let [properties (:block/properties page-entity)
-        pid (:block/uuid (db/entity :hide-properties?))]
+        pid (:block/uuid (db/entity :logseq.property/hide-properties?))]
     (db/transact! [{:db/id (:db/id page-entity)
                     :block/properties (update properties pid not)}])))

+ 3 - 3
src/main/frontend/worker/pipeline.cljs

@@ -28,7 +28,7 @@
   (let [after-db (:db-after tx-report)
         empty-property-parents (->> (keep (fn [child-id]
                                             (let [e (d/entity (:db-before tx-report) [:block/uuid child-id])]
-                                              (when (get-in (:block/parent e) [:block/properties (:block/uuid (d/entity after-db :created-from-property))])
+                                              (when (get-in (:block/parent e) [:block/properties (:block/uuid (d/entity after-db :logseq.property/created-from-property))])
                                                 (let [parent-now (d/entity after-db (:db/id (:block/parent e)))]
                                                   (when (empty? (:block/_parent parent-now))
                                                     parent-now))))) deleted-block-uuids)
@@ -37,8 +37,8 @@
       (->>
        (mapcat (fn [b]
                  (let [properties (:block/properties b)
-                       created-from-block (get properties (:block/uuid (d/entity after-db :created-from-block)))
-                       created-from-property (get properties (:block/uuid (d/entity after-db :created-from-property)))
+                       created-from-block (get properties (:block/uuid (d/entity after-db :logseq.property/created-from-block)))
+                       created-from-property (get properties (:block/uuid (d/entity after-db :logseq.property/created-from-property)))
                        created-block (d/entity after-db [:block/uuid created-from-block])
                        properties (assoc (:block/properties created-block) created-from-property "")]
                    (when (and created-block created-from-property)

+ 1 - 1
src/main/frontend/worker/search.cljs

@@ -208,7 +208,7 @@
                                            (:block/original-name e)
                                            ;; block generated by template
                                            (and
-                                            (get-in e [:block/properties (:block/uuid (d/entity db :created-from-template))])
+                                            (get-in e [:block/properties (:block/uuid (d/entity db :logseq.property/created-from-template))])
                                             (:block/content e))
                                            ;; first child
                                            (let [parent-id (:db/id e)]