1
0
Эх сурвалжийг харах

Fix frontend code breaking a deps library again

Please run `yarn test` in a dep to ensure it still works /cc
@tiensonqin. See 84b80e8b76d06f27e1c753931e8200e19d3d9f25 for previous
examples
Gabriel Horner 2 жил өмнө
parent
commit
791bd90d88

+ 12 - 11
deps/publishing/src/logseq/publishing/db.cljs

@@ -3,21 +3,22 @@
   (:require [datascript.core :as d]
             [logseq.db.rules :as rules]
             [clojure.set :as set]
-            [clojure.string :as string]
-            [frontend.handler.property.util :as pu]))
+            [clojure.string :as string]))
 
 (defn ^:api get-area-block-asset-url
   "Returns asset url for an area block used by pdf assets. This lives in this ns
   because it is used by this dep and needs to be independent from the frontend app"
-  [block page]
-  (when-some [props (and block page (:block/properties block))]
-    (when-some [uuid (:block/uuid block)]
-      (when-some [stamp (pu/lookup props :hl-stamp)]
-        (let [group-key      (string/replace-first (:block/original-name page) #"^hls__" "")
-              hl-page        (pu/lookup props :hl-page)
-              encoded-chars? (boolean (re-find #"(?i)%[0-9a-f]{2}" group-key))
-              group-key      (if encoded-chars? (js/encodeURI group-key) group-key)]
-          (str "./assets/" group-key "/" (str hl-page "_" uuid "_" stamp ".png")))))))
+  ([block page] (get-area-block-asset-url block page {}))
+  ;; TODO: Add prop-lookup-fn support for db graphs and commandline publishing
+  ([block page {:keys [prop-lookup-fn] :or {prop-lookup-fn get}}]
+   (when-some [props (and block page (:block/properties block))]
+     (when-some [uuid (:block/uuid block)]
+       (when-some [stamp (prop-lookup-fn props :hl-stamp)]
+         (let [group-key      (string/replace-first (:block/original-name page) #"^hls__" "")
+               hl-page        (prop-lookup-fn props :hl-page)
+               encoded-chars? (boolean (re-find #"(?i)%[0-9a-f]{2}" group-key))
+               group-key      (if encoded-chars? (js/encodeURI group-key) group-key)]
+           (str "./assets/" group-key "/" (str hl-page "_" uuid "_" stamp ".png"))))))))
 
 (defn- clean-asset-path-prefix
   [path]

+ 4 - 2
src/main/frontend/extensions/pdf/utils.cljs

@@ -5,7 +5,8 @@
             ["/frontend/extensions/pdf/utils" :as js-utils]
             [datascript.core :as d]
             [logseq.publishing.db :as publish-db]
-            [clojure.string :as string]))
+            [clojure.string :as string]
+            [frontend.handler.property.util :as pu]))
 
 (defonce MAX-SCALE 5.0)
 (defonce MIN-SCALE 0.25)
@@ -15,7 +16,8 @@
   [filename]
   (and filename (string? filename) (string/starts-with? filename "hls__")))
 
-(def get-area-block-asset-url publish-db/get-area-block-asset-url)
+(def get-area-block-asset-url
+  #(publish-db/get-area-block-asset-url %1 %2 {:prop-lookup-fn pu/lookup}))
 
 (defn get-bounding-rect
   [rects]