fix(fs): image renaming op when resizing pdf hl area (#9122)

* fix(fs): image renaming op when resizing pdf hl area
Fix #9120
This commit is contained in:
Andelf
2023-04-20 15:15:32 +08:00
committed by GitHub
parent 67fe5dc5a7
commit 65eb6d3380
2 changed files with 8 additions and 5 deletions

View File

@@ -17,6 +17,7 @@
[frontend.util :as util]
[frontend.extensions.pdf.utils :as pdf-utils]
[frontend.extensions.pdf.windows :as pdf-windows]
[logseq.common.path :as path]
[logseq.graph-parser.config :as gp-config]
[logseq.graph-parser.util.block-ref :as block-ref]
[medley.core :as medley]
@@ -78,13 +79,14 @@
(and hl (not (nil? (get-in hl [:content :image])))))
(defn persist-hl-area-image$
"Save pdf highlight area image"
[^js viewer current new-hl old-hl {:keys [top left width height]}]
(when-let [^js canvas (and (:key current) (.-canvas (.getPageView viewer (dec (:page new-hl)))))]
(let [^js doc (.-ownerDocument canvas)
^js canvas' (.createElement doc "canvas")
dpr js/window.devicePixelRatio
repo-cur (state/get-current-repo)
repo-dir (config/get-repo-dir repo-cur)
repo-url (state/get-current-repo)
repo-dir (config/get-repo-dir repo-url)
dw (* dpr width)
dh (* dpr height)]
@@ -109,11 +111,11 @@
old-fstamp (and old-hl (get-in old-hl [:content :image]))
fname (str (:page new-hl) "_" (:id new-hl))
fdir (str gp-config/local-assets-dir "/" key)
_ (fs/mkdir-if-not-exists (str repo-dir "/" fdir))
_ (fs/mkdir-if-not-exists (path/path-join repo-dir fdir))
new-fpath (str fdir "/" fname "_" fstamp ".png")
old-fpath (and old-fstamp (str fdir "/" fname "_" old-fstamp ".png"))
_ (and old-fpath (apply fs/rename! repo-cur (map #(util/node-path.join repo-dir %) [old-fpath new-fpath])))
_ (fs/write-file! repo-cur repo-dir new-fpath png {:skip-compare? true})]
_ (and old-fpath (fs/rename! repo-url old-fpath new-fpath))
_ (fs/write-file! repo-url repo-dir new-fpath png {:skip-compare? true})]
(js/console.timeEnd :write-area-image))