mirror of
https://github.com/logseq/logseq.git
synced 2026-05-04 19:06:21 +00:00
fix: can't restore page's name if it includes reserved characters
Also, fixed issues related to renaming pages
This commit is contained in:
@@ -1282,27 +1282,32 @@
|
||||
|
||||
(rum/defc property-cp
|
||||
[config block k v]
|
||||
[:div.my-1
|
||||
[:b (name k)]
|
||||
[:span.mr-1 ":"]
|
||||
(cond
|
||||
(int? v)
|
||||
v
|
||||
(let [pre-block? (:block/pre-block? block)
|
||||
date (and (= k :date) (date/get-locale-string (str v)))]
|
||||
[:div
|
||||
[:span.font-bold (name k)]
|
||||
[:span.mr-1 ":"]
|
||||
(cond
|
||||
(int? v)
|
||||
v
|
||||
|
||||
(coll? v)
|
||||
(let [v (->> (remove string/blank? v)
|
||||
(filter string?))
|
||||
vals (for [v-item v]
|
||||
(page-cp config {:block/name v-item}))
|
||||
elems (interpose (span-comma) vals)]
|
||||
(for [elem elems]
|
||||
(rum/with-key elem (str (random-uuid)))))
|
||||
date
|
||||
date
|
||||
|
||||
:else
|
||||
(let [page-name (string/lower-case (str v))]
|
||||
(if (db/entity [:block/name page-name])
|
||||
(page-cp config {:block/name page-name})
|
||||
(inline-text (:block/format block) (str v)))))])
|
||||
(coll? v)
|
||||
(let [v (->> (remove string/blank? v)
|
||||
(filter string?))
|
||||
vals (for [v-item v]
|
||||
(page-cp config {:block/name v-item}))
|
||||
elems (interpose (span-comma) vals)]
|
||||
(for [elem elems]
|
||||
(rum/with-key elem (str (random-uuid)))))
|
||||
|
||||
:else
|
||||
(let [page-name (string/lower-case (str v))]
|
||||
(if (db/entity [:block/name page-name])
|
||||
(page-cp config {:block/name page-name})
|
||||
(inline-text (:block/format block) (str v)))))]))
|
||||
|
||||
(rum/defc properties-cp
|
||||
[config block]
|
||||
@@ -1315,7 +1320,7 @@
|
||||
properties (sort properties)]
|
||||
(cond
|
||||
(seq properties)
|
||||
[:div.blocks-properties.text-sm.opacity-80.my-1.p-2
|
||||
[:div
|
||||
(for [[k v] properties]
|
||||
(rum/with-key (property-cp config block k v)
|
||||
(str (:block/uuid block) "-" k)))]
|
||||
|
||||
@@ -55,25 +55,18 @@
|
||||
(page-handler/add-page-to-recent! repo page-original-name)
|
||||
(db/get-page-blocks repo page-name)))))
|
||||
|
||||
(defn- open-first-block!
|
||||
[state]
|
||||
(let [blocks (nth (:rum/args state) 1)
|
||||
block (first blocks)]
|
||||
(when (:block/dummy? block)
|
||||
(editor-handler/edit-block! block :max (:block/format block) (:block/uuid block))))
|
||||
state)
|
||||
(rum/defc page-blocks-inner <
|
||||
{:did-mount (fn [state]
|
||||
(let [block (first (nth (:rum/args state) 1))]
|
||||
(when (:block/dummy? block)
|
||||
(editor-handler/edit-block! block 0 (:block/format block) (:block/uuid block))))
|
||||
state)}
|
||||
{:did-mount open-first-block!
|
||||
:did-update open-first-block!}
|
||||
[page-name page-blocks hiccup sidebar?]
|
||||
[:div.page-blocks-inner
|
||||
;; (when (and (seq grouped-blocks-by-file)
|
||||
;; (> (count grouped-blocks-by-file) 1))
|
||||
;; (ui/admonition
|
||||
;; :warning
|
||||
;; [:div.text-sm
|
||||
;; [:p.font-medium "Those pages have the same title, you might want to only keep one file."]
|
||||
;; [:ol
|
||||
;; (for [[file-path blocks] (into (sorted-map) grouped-blocks-by-file)]
|
||||
;; [:li [:a {:key file-path
|
||||
;; :href (rfe/href :file {:path file-path})} file-path]])]]))
|
||||
|
||||
(rum/with-key
|
||||
(content/content page-name
|
||||
{:hiccup hiccup
|
||||
@@ -86,9 +79,6 @@
|
||||
db-mixins/query
|
||||
[repo page-e file-path page-name page-original-name encoded-page-name sidebar? journal? block? block-id format]
|
||||
(let [raw-page-blocks (get-blocks repo page-name page-original-name block? block-id)
|
||||
;; grouped-blocks-by-file (into {} (for [[k v] (db-utils/group-by-file raw-page-blocks)]
|
||||
;; [(:file/path (db-utils/entity (:db/id k))) v]))
|
||||
;; raw-page-blocks (get grouped-blocks-by-file file-path raw-page-blocks)
|
||||
page-blocks (block-handler/with-dummy-block raw-page-blocks format
|
||||
(if (empty? raw-page-blocks)
|
||||
{:block/page {:db/id (:db/id page-e)}
|
||||
|
||||
Reference in New Issue
Block a user