mirror of
https://github.com/logseq/logseq.git
synced 2026-02-01 22:47:36 +00:00
enhance: remove usages of macro get-all-defined-kw->config
This commit is contained in:
17
deps/common/src/logseq/common/defkeywords.cljc
vendored
17
deps/common/src/logseq/common/defkeywords.cljc
vendored
@@ -3,7 +3,6 @@
|
||||
#?(:cljs (:require-macros [logseq.common.defkeywords])))
|
||||
|
||||
(def ^:private *defined-kws (volatile! {}))
|
||||
(def ^:private *defined-kw->config (volatile! {}))
|
||||
|
||||
#_:clj-kondo/ignore
|
||||
(defmacro defkeyword
|
||||
@@ -25,16 +24,8 @@
|
||||
(vswap! *defined-kws assoc kw current-meta)
|
||||
(throw (ex-info "keyword already defined somewhere else" {:kw kw :info info}))))
|
||||
(vswap! *defined-kws assoc kw current-meta))
|
||||
(let [kw->config (partition 2 keyvals)]
|
||||
(doseq [[kw config] kw->config]
|
||||
(vswap! *defined-kw->config assoc kw config))))
|
||||
;; (let [kw->config (partition 2 keyvals)]
|
||||
;; (doseq [[kw config] kw->config]
|
||||
;; (vswap! *defined-kw->config assoc kw config)))
|
||||
)
|
||||
`(vector ~@keyvals))
|
||||
|
||||
(defmacro get-all-defined-kw->config
|
||||
[]
|
||||
`'~(deref *defined-kw->config))
|
||||
|
||||
(comment
|
||||
"update anything here to trigger this ns to be recompiled,
|
||||
so macro get-all-defined-kw->config's result will be updated."
|
||||
1)
|
||||
|
||||
59
deps/db/src/logseq/db/frontend/kv_entity.cljs
vendored
59
deps/db/src/logseq/db/frontend/kv_entity.cljs
vendored
@@ -2,35 +2,38 @@
|
||||
"kv entities used by logseq db"
|
||||
(:require [logseq.common.defkeywords :refer [defkeywords]]))
|
||||
|
||||
(defkeywords
|
||||
:logseq.kv/db-type {:doc "Set to \"db\" if it's a db-graph"}
|
||||
:logseq.kv/graph-uuid {:doc "Store graph-uuid if it's a rtc enabled graph"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/import-type {:doc "If graph is imported, identifies how a graph is imported including which UI or CLI import process. CLI scripts can set this to a custom value.
|
||||
(def kv-entities
|
||||
(apply
|
||||
hash-map
|
||||
(defkeywords
|
||||
:logseq.kv/db-type {:doc "Set to \"db\" if it's a db-graph"}
|
||||
:logseq.kv/graph-uuid {:doc "Store graph-uuid if it's a rtc enabled graph"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/import-type {:doc "If graph is imported, identifies how a graph is imported including which UI or CLI import process. CLI scripts can set this to a custom value.
|
||||
UI values include :file-graph and :sqlite-db and CLI values start with :cli e.g. :cli/default."}
|
||||
:logseq.kv/imported-at {:doc "Time if graph is imported"}
|
||||
:logseq.kv/graph-local-tx {:doc "local rtc tx-id"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/schema-version {:doc "Graph's current schema version"}
|
||||
:logseq.kv/remote-schema-version {:doc "Graph's remote schema version.
|
||||
:logseq.kv/imported-at {:doc "Time if graph is imported"}
|
||||
:logseq.kv/graph-local-tx {:doc "local rtc tx-id"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/schema-version {:doc "Graph's current schema version"}
|
||||
:logseq.kv/remote-schema-version {:doc "Graph's remote schema version.
|
||||
RTC won't start when major-schema-versions don't match"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-created-at {:doc "Graph's created at time"}
|
||||
:logseq.kv/latest-code-lang {:doc "Latest lang used by a #Code-block"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-backup-folder {:doc "Backup folder for automated backup feature"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-initial-schema-version {:doc "Graph's schema version when created"}
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-created-at {:doc "Graph's created at time"}
|
||||
:logseq.kv/latest-code-lang {:doc "Latest lang used by a #Code-block"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-backup-folder {:doc "Backup folder for automated backup feature"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-initial-schema-version {:doc "Graph's schema version when created"}
|
||||
|
||||
:logseq.kv/graph-last-gc-at {:doc "Last time graph gc at"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
:logseq.kv/graph-last-gc-at {:doc "Last time graph gc at"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}}
|
||||
|
||||
:logseq.kv/graph-text-embedding-model-name {:doc "Graph's text-embedding model name"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}})
|
||||
:logseq.kv/graph-text-embedding-model-name {:doc "Graph's text-embedding model name"
|
||||
:rtc {:rtc/ignore-entity-when-init-upload true
|
||||
:rtc/ignore-entity-when-init-download true}})))
|
||||
|
||||
23
deps/db/src/logseq/db/frontend/property.cljs
vendored
23
deps/db/src/logseq/db/frontend/property.cljs
vendored
@@ -9,17 +9,14 @@
|
||||
[logseq.db.frontend.db-ident :as db-ident]
|
||||
[logseq.db.frontend.property.type :as db-property-type]))
|
||||
|
||||
;; Main property vars
|
||||
;; ==================
|
||||
|
||||
;; Ignore this property when rtc,
|
||||
;; since users frequently click the sort button to view table content temporarily,
|
||||
;; but this action does not need to be synchronized with other clients.
|
||||
(def property-ignore-rtc
|
||||
(def ^:private property-ignore-rtc
|
||||
{:rtc/ignore-attr-when-init-upload true
|
||||
:rtc/ignore-attr-when-init-download true
|
||||
:rtc/ignore-attr-when-syncing true})
|
||||
|
||||
;; Main property vars
|
||||
;; ==================
|
||||
|
||||
(def ^:large-vars/data-var built-in-properties
|
||||
"Map of built in properties for db graphs with their :db/ident as keys.
|
||||
Each property has a config map with the following keys:
|
||||
@@ -209,7 +206,7 @@
|
||||
{:logseq.property/description "Provides a way for a page to associate to another page i.e. backward compatible tagging."}}
|
||||
:logseq.property/background-color {:title "Background color"
|
||||
:schema {:type :default :hide? true}}
|
||||
;; number (1-6) or boolean for auto heading
|
||||
;; number (1-6) or boolean for auto heading
|
||||
:logseq.property/heading {:title "Heading"
|
||||
:schema {:type :any :hide? true}
|
||||
:queryable? true}
|
||||
@@ -222,8 +219,8 @@
|
||||
:logseq.property/asset {:title "Asset"
|
||||
:schema {:type :entity
|
||||
:hide? true}}
|
||||
;; used by pdf and whiteboard
|
||||
;; TODO: remove ls-type
|
||||
;; used by pdf and whiteboard
|
||||
;; TODO: remove ls-type
|
||||
:logseq.property/ls-type {:schema {:type :keyword
|
||||
:hide? true}}
|
||||
|
||||
@@ -248,7 +245,7 @@
|
||||
:schema {:type :entity :hide? true}}
|
||||
:logseq.property.pdf/hl-value {:title "Annotation data"
|
||||
:schema {:type :map :hide? true}}
|
||||
;; FIXME: :logseq.property/order-list-type should updated to closed values
|
||||
;; FIXME: :logseq.property/order-list-type should updated to closed values
|
||||
:logseq.property/order-list-type {:title "List type"
|
||||
:schema {:type :default
|
||||
:hide? true}}
|
||||
@@ -268,7 +265,7 @@
|
||||
:schema {:type :map
|
||||
:hide? true}}
|
||||
|
||||
;; Journal props
|
||||
;; Journal props
|
||||
:logseq.property.journal/title-format {:title "Title Format"
|
||||
:schema
|
||||
{:type :string
|
||||
@@ -383,7 +380,7 @@
|
||||
:schema {:type :property
|
||||
:hide? true}}
|
||||
|
||||
;; TODO: Add more props :Assignee, :Estimate, :Cycle, :Project
|
||||
;; TODO: Add more props :Assignee, :Estimate, :Cycle, :Project
|
||||
|
||||
:logseq.property/icon {:title "Icon"
|
||||
:schema {:type :map}}
|
||||
|
||||
@@ -2,7 +2,4 @@ You're Clojure(script) expert, you're responsible to check those common errors:
|
||||
|
||||
- `empty?` should be used instead of `empty` when a boolean value is expected in an expression.
|
||||
|
||||
- `logseq.common.defkeywords/defkeywords`:
|
||||
`defkeywords` is a macro, and cljs vars should not be used in its parameter `keyvals`,
|
||||
because they cannot be evaluated at compile time
|
||||
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
(ns frontend.worker.rtc.const
|
||||
"RTC constants"
|
||||
(:require [logseq.common.defkeywords :as common-def :refer [defkeywords]]))
|
||||
(:require [logseq.common.defkeywords :as common-def :refer [defkeywords]]
|
||||
[logseq.db.frontend.kv-entity :as kv-entity]
|
||||
[logseq.db.frontend.property :as db-property]))
|
||||
|
||||
(goog-define RTC-E2E-TEST* false)
|
||||
(def RTC-E2E-TEST RTC-E2E-TEST*)
|
||||
@@ -25,24 +27,24 @@
|
||||
(def ignore-attrs-when-init-upload
|
||||
(into #{}
|
||||
(keep (fn [[kw config]] (when (get-in config [:rtc :rtc/ignore-attr-when-init-upload]) kw)))
|
||||
(common-def/get-all-defined-kw->config)))
|
||||
db-property/built-in-properties))
|
||||
|
||||
(def ignore-attrs-when-init-download
|
||||
(into #{}
|
||||
(keep (fn [[kw config]] (when (get-in config [:rtc :rtc/ignore-attr-when-init-download]) kw)))
|
||||
(common-def/get-all-defined-kw->config)))
|
||||
db-property/built-in-properties))
|
||||
|
||||
(def ignore-attrs-when-syncing
|
||||
(into #{}
|
||||
(keep (fn [[kw config]] (when (get-in config [:rtc :rtc/ignore-attr-when-syncing]) kw)))
|
||||
(common-def/get-all-defined-kw->config)))
|
||||
db-property/built-in-properties))
|
||||
|
||||
(def ignore-entities-when-init-upload
|
||||
(into #{}
|
||||
(keep (fn [[kw config]] (when (get-in config [:rtc :rtc/ignore-entity-when-init-upload]) kw)))
|
||||
(common-def/get-all-defined-kw->config)))
|
||||
kv-entity/kv-entities))
|
||||
|
||||
(def ignore-entities-when-init-download
|
||||
(into #{}
|
||||
(keep (fn [[kw config]] (when (get-in config [:rtc :rtc/ignore-entity-when-init-download]) kw)))
|
||||
(common-def/get-all-defined-kw->config)))
|
||||
kv-entity/kv-entities))
|
||||
|
||||
Reference in New Issue
Block a user