feat: preview whiteboard on page reference

This commit is contained in:
Peng Xiao
2022-07-25 21:01:46 +08:00
parent 751df3b97d
commit bbcd710414
3 changed files with 17 additions and 14 deletions

View File

@@ -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

View File

@@ -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

View File

@@ -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)