mirror of
https://github.com/logseq/logseq.git
synced 2026-05-17 17:32:35 +00:00
feat: preview whiteboard on page reference
This commit is contained in:
@@ -483,6 +483,7 @@
|
||||
[{:keys [children sidebar? tippy-position tippy-distance fixed-position? open? manual?] :as config} page-name]
|
||||
(let [*tippy-ref (rum/create-ref)
|
||||
page-name (util/page-name-sanity-lc page-name)
|
||||
whiteboard-page? (model/whiteboard-page? page-name)
|
||||
redirect-page-name (or (model/get-redirect-page-name page-name (:block/alias? config))
|
||||
page-name)
|
||||
page-original-name (model/get-page-original-name redirect-page-name)
|
||||
@@ -527,8 +528,11 @@
|
||||
page-original-name])])
|
||||
(let [page (db/entity [:block/name (util/page-name-sanity-lc redirect-page-name)])]
|
||||
(editor-handler/insert-first-page-block-if-not-exists! redirect-page-name {:redirect? false})
|
||||
(when-let [f (state/get-page-blocks-cp)]
|
||||
(f (state/get-current-repo) page {:sidebar? sidebar? :preview? true})))])))]
|
||||
(let [page-blocks-cp (state/get-page-blocks-cp)
|
||||
tldraw-preview (state/get-component :whiteboard/tldraw-preview)]
|
||||
(if whiteboard-page?
|
||||
(tldraw-preview page-name)
|
||||
(page-blocks-cp (state/get-current-repo) page {:sidebar? sidebar? :preview? true}))))])))]
|
||||
|
||||
(if (or (not manual?) open?)
|
||||
(ui/tippy {:ref *tippy-ref
|
||||
|
||||
@@ -313,11 +313,8 @@
|
||||
"control-show cursor-pointer" "control-hide")}
|
||||
(ui/rotating-arrow @*all-collapsed?)]])
|
||||
|
||||
(defn resolve-tldraw-preview []
|
||||
(resolve 'frontend.components.whiteboard/tldraw-preview))
|
||||
|
||||
(defn get-tldraw-preview [page-name]
|
||||
((resolve-tldraw-preview) page-name))
|
||||
((state/get-component :whiteboard/tldraw-preview) page-name))
|
||||
|
||||
;; A page is just a logical block
|
||||
(rum/defcs page < rum/reactive
|
||||
|
||||
@@ -1,15 +1,18 @@
|
||||
(ns frontend.handler
|
||||
(:require [electron.ipc :as ipc]
|
||||
(:require [cljs.reader :refer [read-string]]
|
||||
[electron.ipc :as ipc]
|
||||
[electron.listener :as el]
|
||||
[frontend.components.page :as page]
|
||||
[frontend.components.reference :as reference]
|
||||
[frontend.components.whiteboard :as whiteboard]
|
||||
[frontend.config :as config]
|
||||
[frontend.context.i18n :as i18n]
|
||||
[frontend.db :as db]
|
||||
[logseq.db.schema :as db-schema]
|
||||
[frontend.db.conn :as conn]
|
||||
[frontend.db.persist :as db-persist]
|
||||
[frontend.db.react :as react]
|
||||
[frontend.error :as error]
|
||||
[frontend.extensions.srs :as srs]
|
||||
[frontend.handler.command-palette :as command-palette]
|
||||
[frontend.handler.events :as events]
|
||||
[frontend.handler.file :as file-handler]
|
||||
@@ -18,21 +21,19 @@
|
||||
[frontend.handler.repo :as repo-handler]
|
||||
[frontend.handler.ui :as ui-handler]
|
||||
[frontend.handler.user :as user-handler]
|
||||
[frontend.extensions.srs :as srs]
|
||||
[frontend.mobile.util :as mobile-util]
|
||||
[frontend.idb :as idb]
|
||||
[frontend.mobile.util :as mobile-util]
|
||||
[frontend.modules.instrumentation.core :as instrument]
|
||||
[frontend.modules.outliner.datascript :as outliner-db]
|
||||
[frontend.modules.shortcut.core :as shortcut]
|
||||
[frontend.state :as state]
|
||||
[frontend.storage :as storage]
|
||||
[frontend.util :as util]
|
||||
[frontend.util.persist-var :as persist-var]
|
||||
[cljs.reader :refer [read-string]]
|
||||
[goog.object :as gobj]
|
||||
[lambdaisland.glogi :as log]
|
||||
[promesa.core :as p]
|
||||
[frontend.db.persist :as db-persist]
|
||||
[frontend.modules.outliner.datascript :as outliner-db]))
|
||||
[logseq.db.schema :as db-schema]
|
||||
[promesa.core :as p]))
|
||||
|
||||
(defn set-global-error-notification!
|
||||
[]
|
||||
@@ -172,6 +173,7 @@
|
||||
[]
|
||||
(state/set-page-blocks-cp! page/page-blocks-cp)
|
||||
(state/set-component! :block/linked-references reference/block-linked-references)
|
||||
(state/set-component! :whiteboard/tldraw-preview whiteboard/tldraw-preview)
|
||||
(command-palette/register-global-shortcut-commands))
|
||||
|
||||
(reset! db/*db-listener outliner-db/after-transact-pipelines)
|
||||
|
||||
Reference in New Issue
Block a user