mirror of
https://github.com/logseq/logseq.git
synced 2026-05-05 11:26:26 +00:00
Merge branch 'master' into feat/db
This commit is contained in:
@@ -10,6 +10,8 @@
|
||||
[logseq.graph-parser.util.page-ref :as page-ref]
|
||||
[frontend.format.mldoc :as mldoc]
|
||||
[logseq.graph-parser.text :as text]
|
||||
[frontend.db :as db]
|
||||
[frontend.state :as state]
|
||||
[frontend.util.cursor :as cursor]))
|
||||
|
||||
(defn hidden-properties
|
||||
@@ -414,3 +416,50 @@
|
||||
(util/format
|
||||
(config/properties-wrapper-pattern page-format)
|
||||
(string/join "\n" lines))))
|
||||
|
||||
(def hidden-editable-page-properties
|
||||
"Properties that are hidden in the pre-block (page property)"
|
||||
#{:title :filters :icon})
|
||||
|
||||
(assert (set/subset? hidden-editable-page-properties (gp-property/editable-built-in-properties))
|
||||
"Hidden editable page properties must be valid editable properties")
|
||||
|
||||
(def hidden-editable-block-properties
|
||||
"Properties that are hidden in a block (block property)"
|
||||
(into #{:logseq.query/nlp-date}
|
||||
gp-property/editable-view-and-table-properties))
|
||||
|
||||
(assert (set/subset? hidden-editable-block-properties (gp-property/editable-built-in-properties))
|
||||
"Hidden editable page properties must be valid editable properties")
|
||||
|
||||
(defn- add-aliases-to-properties
|
||||
"Adds aliases to a page when a page has aliases and is also an alias of other pages"
|
||||
[properties page-id]
|
||||
(let [repo (state/get-current-repo)
|
||||
aliases (db/get-page-alias-names repo
|
||||
(:block/name (db/pull page-id)))]
|
||||
(if (seq aliases)
|
||||
(if (:alias properties)
|
||||
(update properties :alias (fn [c]
|
||||
(util/distinct-by string/lower-case (concat c aliases))))
|
||||
(assoc properties :alias aliases))
|
||||
properties)))
|
||||
|
||||
(defn get-visible-ordered-properties
|
||||
"Given a block's properties, order of properties and any display context,
|
||||
returns a tuple of property pairs that are visible when not being edited"
|
||||
[properties* properties-order {:keys [pre-block? page-id]}]
|
||||
(let [dissoc-keys (fn [m keys] (apply dissoc m keys))
|
||||
properties (cond-> (update-keys properties* keyword)
|
||||
true
|
||||
(dissoc-keys (hidden-properties))
|
||||
pre-block?
|
||||
(dissoc-keys hidden-editable-page-properties)
|
||||
(not pre-block?)
|
||||
(dissoc-keys hidden-editable-block-properties)
|
||||
pre-block?
|
||||
(add-aliases-to-properties page-id))]
|
||||
(if (seq properties-order)
|
||||
(keep (fn [k] (when (contains? properties k) [k (get properties k)]))
|
||||
(distinct properties-order))
|
||||
properties*)))
|
||||
Reference in New Issue
Block a user