浏览代码

Merge pull request #6825 from logseq/whiteboards-fixes

Peng Xiao 3 年之前
父节点
当前提交
c3460b45a8

+ 1 - 0
.gitignore

@@ -43,6 +43,7 @@ ios/App/App/capacitor.config.json
 
 startup.png
 
+/src/main/frontend/tldraw-logseq.js
 /src/test/docs
 ~*~
 

+ 1 - 1
deps.edn

@@ -31,7 +31,7 @@
   org.clojars.mmb90/cljs-cache          {:mvn/version "0.1.4"}
   logseq/graph-parser                   {:local/root "deps/graph-parser"}}
 
- :aliases {:cljs {:extra-paths ["src/dev-cljs/" "src/test/" "src/electron/" "src/js"]
+ :aliases {:cljs {:extra-paths ["src/dev-cljs/" "src/test/" "src/electron/"]
                   :extra-deps  {org.clojure/clojurescript        {:mvn/version "1.11.54"}
                                 org.clojure/tools.namespace      {:mvn/version "0.2.11"}
                                 cider/cider-nrepl                {:mvn/version "0.28.4"}

+ 4 - 2
deps/graph-parser/src/logseq/graph_parser/extract.cljc

@@ -10,6 +10,8 @@
             [datascript.core :as d]
             [logseq.graph-parser.text :as text]
             [logseq.graph-parser.util :as gp-util]
+            [logseq.graph-parser.util.page-ref :as page-ref]
+            [logseq.graph-parser.util.block-ref :as block-ref]
             [logseq.graph-parser.mldoc :as gp-mldoc]
             [logseq.graph-parser.block :as gp-block]
             [logseq.graph-parser.property :as gp-property]
@@ -216,8 +218,8 @@
   {:block/content (case (:type shape)
                     "text" (:text shape)
                     "logseq-portal" (if (= (:blockType shape) "P")
-                                      (str "[[" (:pageId shape) "]]")
-                                      (str "((" (:pageId shape) "))"))
+                                      (page-ref/->page-ref (:pageId shape))
+                                      (block-ref/->block-ref (:pageId shape)))
                     "line" (str "whiteboard arrow" (when-let [label (:label shape)] (str ": " label)))
                     (str "whiteboard " (:type shape)))})
 

+ 0 - 1
src/js/.gitignore

@@ -1 +0,0 @@
-tldraw-logseq.js

+ 0 - 0
src/js/.gitkeep


+ 3 - 3
src/main/frontend/components/sidebar.cljs

@@ -210,7 +210,7 @@
     class :class
     title :title
     icon :icon
-    icon-extention? :icon-extention?
+    icon-extension? :icon-extension?
     active :active
     href :href}]
   [:div
@@ -219,7 +219,7 @@
     {:on-click on-click-handler
      :class (when active "active")
      :href href}
-    (ui/icon (str icon) {:extension? icon-extention?})
+    (ui/icon (str icon) {:extension? icon-extension?})
     [:span.flex-1 title]]])
 
 (defn close-sidebar-on-mobile!
@@ -332,7 +332,7 @@
             :href  (rfe/href :whiteboards)
             :active (and (not srs-open?) (#{:whiteboard :whiteboards} route-name))
             :icon  "whiteboard"
-            :icon-extention? true}))]]
+            :icon-extension? true}))]]
 
       [:div.nav-contents-container.flex.flex-col.gap-1.pt-1
        {:on-scroll on-contents-scroll}

+ 1 - 1
src/main/frontend/components/whiteboard.cljs

@@ -219,7 +219,7 @@
                                                                                (disj checked-page-names whiteboard-name))))})])
          (for [n (range empty-cards)]
            [:div.dashboard-card.dashboard-bg-card {:key n}])]]])
-    [:div "This feature is not public available yet."]))
+    [:div "This feature is not publicly available yet."]))
 
 (rum/defc whiteboard-page
   [name block-id]

+ 2 - 2
src/main/frontend/extensions/tldraw.cljs

@@ -1,5 +1,5 @@
 (ns frontend.extensions.tldraw
-  (:require ["/tldraw-logseq" :as TldrawLogseq]
+  (:require ["/frontend/tldraw-logseq" :as TldrawLogseq]
             [frontend.components.block :as block]
             [frontend.components.page :as page]
             [frontend.db.model :as model]
@@ -90,7 +90,7 @@
     (when (and (not-empty name) (not-empty (gobj/get data "currentPageId")))
       [:div.draw.tldraw.whiteboard.relative.w-full.h-full
        {:style {:overscroll-behavior "none"}
-        :on-blur (fn [e] 
+        :on-blur (fn [e]
                    (when (#{"INPUT" "TEXTAREA"} (.-tagName (gobj/get e "target")))
                      (state/clear-edit!)))
         ;; wheel -> overscroll may cause browser navigation

+ 3 - 3
src/main/frontend/handler/paste.cljs

@@ -62,7 +62,7 @@
 (defn- try-parse-as-json
   [text]
   (try (js/JSON.parse text)
-       (catch js/Object _ #js{})))
+       (catch :default _ #js{})))
 
 (defn- paste-copied-blocks-or-text
   [text e html]
@@ -71,8 +71,8 @@
         input (state/get-input)
         text (string/replace text "\r\n" "\n") ;; Fix for Windows platform
         whiteboard-shape? (= "logseq/whiteboard-shapes" (gobj/get (try-parse-as-json text) "type"))
-        text (if whiteboard-shape? 
-               (str "((" (gobj/getValueByKeys (try-parse-as-json text) "shapes" 0 "id") "))")
+        text (if whiteboard-shape?
+               (block-ref/->block-ref (gobj/getValueByKeys (try-parse-as-json text) "shapes" 0 "id"))
                text)
         internal-paste? (and
                          (seq (:copy/blocks copied-blocks))

+ 5 - 0
src/main/frontend/modules/shortcut/config.cljs

@@ -333,6 +333,9 @@
    :go/all-graphs                  {:binding "g shift+g"
                                     :fn      route-handler/redirect-to-all-graphs}
 
+   :go/whiteboards                  {:binding "g w"
+                                     :fn      route-handler/redirect-to-whiteboard-dashboard!}
+
    :go/keyboard-shortcuts          {:binding "g s"
                                     :fn      #(route-handler/redirect! {:to :shortcut-setting})}
 
@@ -542,6 +545,7 @@
                           :go/flashcards
                           :go/graph-view
                           :go/all-graphs
+                          :go/whiteboards
                           :go/keyboard-shortcuts
                           :go/tomorrow
                           :go/next-journal
@@ -609,6 +613,7 @@
     :go/all-pages
     :go/graph-view
     :go/all-graphs
+    :go/whiteboards
     :go/flashcards
     :go/tomorrow
     :go/next-journal

+ 2 - 1
src/main/frontend/modules/shortcut/dicts.cljc

@@ -30,7 +30,7 @@
    :editor/delete                "Delete / Delete forwards"
    :editor/new-block             "Create new block"
    :editor/new-line              "New line in current block"
-   :editor/new-whiteboard        "Create new whiteboard"
+   :editor/new-whiteboard        "New whiteboard"
    :editor/follow-link           "Follow link under cursor"
    :editor/open-link-in-sidebar  "Open link in sidebar"
    :editor/bold                  "Bold"
@@ -98,6 +98,7 @@
    :command/run                    "Run git command"
    :go/home                        "Go to home"
    :go/all-graphs                  "Go to all graphs"
+   :go/whiteboards                 "Go to whiteboards"
    :go/all-pages                   "Go to all pages"
    :go/graph-view                  "Go to graph view"
    :go/keyboard-shortcuts          "Go to keyboard shortcuts"

+ 1 - 1
tldraw/apps/tldraw-logseq/build.mjs

@@ -17,7 +17,7 @@ Object.assign(glob, {
 
 fs.writeFileSync('dist/package.json', JSON.stringify(glob, null, 2))
 
-const dest = path.join(__dirname, '/../../../src/js/tldraw-logseq.js')
+const dest = path.join(__dirname, '/../../../src/main/frontend/tldraw-logseq.js')
 
 if (fs.existsSync(dest)) fs.unlinkSync(dest)
 fs.linkSync(path.join(__dirname, '/dist/index.js'), dest)