mirror of https://github.com/logseq/logseq
fix: alias always redirect to the source page
No matter whether the alias page has content or not. Clicking the alias page in its source page's properties redirect to the alias page though.pull/11102/head
parent
38f3cef2c5
commit
94ce77e509
|
@ -508,11 +508,16 @@
|
|||
(declare page-reference)
|
||||
|
||||
(defn open-page-ref
|
||||
[e config page-name redirect-page-name page-name-in-block contents-page? whiteboard-page?]
|
||||
[e config page-name page-name-in-block contents-page? whiteboard-page?]
|
||||
(util/stop e)
|
||||
(when (not (util/right-click? e))
|
||||
(p/let [redirect-page-name (or redirect-page-name
|
||||
(model/get-redirect-page-name page-name (:block/alias? config)))
|
||||
(p/let [redirect-page-name (model/get-redirect-page-name page-name (:block/alias? config))
|
||||
redirect-page-name (if (or (= (util/page-name-sanity-lc (str (:id config)))
|
||||
(util/page-name-sanity-lc redirect-page-name))
|
||||
(= (some-> (state/get-current-page) util/page-name-sanity-lc)
|
||||
(some-> redirect-page-name util/page-name-sanity-lc)))
|
||||
page-name
|
||||
redirect-page-name)
|
||||
page (when redirect-page-name
|
||||
(db-async/<pull (state/get-current-repo) [:block/name (util/page-name-sanity-lc redirect-page-name)]))]
|
||||
(cond
|
||||
|
@ -549,7 +554,7 @@
|
|||
page-name-in-block is the overridable name of the page (legacy)
|
||||
|
||||
All page-names are sanitized except page-name-in-block"
|
||||
[state config page-name-in-block page-name redirect-page-name page-entity contents-page? children html-export? label whiteboard-page?]
|
||||
[state config page-name-in-block page-name page-entity contents-page? children html-export? label whiteboard-page?]
|
||||
(let [*hover? (::hover? state)
|
||||
*mouse-down? (::mouse-down? state)
|
||||
tag? (:tag? config)
|
||||
|
@ -580,10 +585,10 @@
|
|||
(reset! *mouse-down? true))))
|
||||
:on-mouse-up (fn [e]
|
||||
(when @*mouse-down?
|
||||
(open-page-ref e config page-name redirect-page-name page-name-in-block contents-page? whiteboard-page?)
|
||||
(open-page-ref e config page-name page-name-in-block contents-page? whiteboard-page?)
|
||||
(reset! *mouse-down? false)))
|
||||
:on-key-up (fn [e] (when (and e (= (.-key e) "Enter"))
|
||||
(open-page-ref e config page-name redirect-page-name page-name-in-block contents-page? whiteboard-page?)))}
|
||||
(open-page-ref e config page-name page-name-in-block contents-page? whiteboard-page?)))}
|
||||
(when-not hide-icon?
|
||||
(when-let [icon (pu/get-block-property-value page-entity :icon)]
|
||||
[:span.mr-1 (icon/icon icon)]))
|
||||
|
@ -700,19 +705,16 @@
|
|||
"Component for a page. `page` argument contains :block/name which can be (un)sanitized page name.
|
||||
Keys for `config`:
|
||||
- `:preview?`: Is this component under preview mode? (If true, `page-preview-trigger` won't be registered to this `page-cp`)"
|
||||
[{:keys [html-export? redirect-page-name label children contents-page? preview? disable-preview?] :as config} page]
|
||||
[{:keys [html-export? label children contents-page? preview? disable-preview?] :as config} page]
|
||||
(when-let [page-name-in-block (:block/name page)]
|
||||
(let [page-name-in-block (common-util/remove-boundary-slashes page-name-in-block)
|
||||
page-name (util/page-name-sanity-lc page-name-in-block)
|
||||
page-entity (db/entity [:block/name page-name])
|
||||
whiteboard-page? (model/whiteboard-page? page-name)
|
||||
redirect-page-name (and (= :org (state/get-preferred-format))
|
||||
(:org-mode/insert-file-link? (state/get-config))
|
||||
redirect-page-name)
|
||||
inner (page-inner config
|
||||
page-name-in-block
|
||||
page-name
|
||||
redirect-page-name page-entity contents-page? children html-export? label whiteboard-page?)
|
||||
page-entity contents-page? children html-export? label whiteboard-page?)
|
||||
modal? (:modal/show? @state/state)]
|
||||
(if (and (not (util/mobile?))
|
||||
(not preview?)
|
||||
|
|
|
@ -42,7 +42,7 @@
|
|||
get-page-referenced-blocks get-page-referenced-blocks-full get-page-referenced-pages
|
||||
get-all-pages get-pages-relation get-pages-that-mentioned-page get-tag-pages
|
||||
journal-page? page-alias-set sub-block
|
||||
set-file-last-modified-at! page-empty? page-exists? page-empty-or-dummy? get-alias-source-page
|
||||
set-file-last-modified-at! page-empty? page-exists? get-alias-source-page
|
||||
set-file-content! has-children? get-namespace-pages get-all-namespace-relation]
|
||||
|
||||
[frontend.db.react
|
||||
|
|
|
@ -465,15 +465,6 @@ independent of format as format specific heading characters are stripped"
|
|||
(when-let [db (conn/get-db repo)]
|
||||
(ldb/page-empty? db page-id)))
|
||||
|
||||
(defn page-empty-or-dummy?
|
||||
[repo page-id]
|
||||
(or
|
||||
(page-empty? repo page-id)
|
||||
(when-let [db (conn/get-db repo)]
|
||||
(let [datoms (d/datoms db :avet :block/page page-id)]
|
||||
(and (= (count datoms) 1)
|
||||
(= "" (:block/content (db-utils/pull (:e (first datoms))))))))))
|
||||
|
||||
(defn parents-collapsed?
|
||||
[repo block-uuid]
|
||||
(when-let [block (:block/parent (get-block-parents-v2 repo block-uuid))]
|
||||
|
@ -585,13 +576,10 @@ independent of format as format specific heading characters are stripped"
|
|||
(util/page-name-sanity-lc journal-name)
|
||||
page-name)
|
||||
|
||||
(page-empty-or-dummy? (state/get-current-repo) (:db/id page-entity))
|
||||
:else
|
||||
(let [source-page (get-alias-source-page (state/get-current-repo) page-name')]
|
||||
(or (when source-page (:block/name source-page))
|
||||
page-name'))
|
||||
|
||||
:else
|
||||
page-name')))))
|
||||
page-name')))))))
|
||||
|
||||
(defn get-page-original-name
|
||||
[page-name]
|
||||
|
|
Loading…
Reference in New Issue