mirror of
https://github.com/logseq/logseq.git
synced 2026-04-24 22:25:01 +00:00
fix(pdf): add extern hints for pdfjs apis
This commit is contained in:
@@ -116,6 +116,8 @@ dummy.bounding = function() {};
|
|||||||
dummy.getPageView = function() {};
|
dummy.getPageView = function() {};
|
||||||
dummy.convertToPdfPoint = function() {};
|
dummy.convertToPdfPoint = function() {};
|
||||||
dummy.scrollPageIntoView = function() {};
|
dummy.scrollPageIntoView = function() {};
|
||||||
|
dummy.textLayer = function() {};
|
||||||
|
dummy.viewport = function() {};
|
||||||
dummy.convertToViewportRectangle = function() {};
|
dummy.convertToViewportRectangle = function() {};
|
||||||
dummy.init = function() {};
|
dummy.init = function() {};
|
||||||
dummy.commit = function() {};
|
dummy.commit = function() {};
|
||||||
|
|||||||
@@ -125,11 +125,6 @@
|
|||||||
#(.removeEventListener doc "click" cb)))
|
#(.removeEventListener doc "click" cb)))
|
||||||
[])
|
[])
|
||||||
|
|
||||||
;; TODO: precise position
|
|
||||||
;;(when-let [
|
|
||||||
;;page-bounding (and highlight (pdf-utils/get-page-bounding viewer (:page highlight)))
|
|
||||||
;;])
|
|
||||||
|
|
||||||
(let [*el (rum/use-ref nil)
|
(let [*el (rum/use-ref nil)
|
||||||
^js cnt (.-container viewer)
|
^js cnt (.-container viewer)
|
||||||
^js body (some-> (.-ownerDocument cnt) (.-body))
|
^js body (some-> (.-ownerDocument cnt) (.-body))
|
||||||
|
|||||||
@@ -32,27 +32,22 @@
|
|||||||
|
|
||||||
(defn vw-to-scaled-pos
|
(defn vw-to-scaled-pos
|
||||||
[^js viewer {:keys [page bounding rects]}]
|
[^js viewer {:keys [page bounding rects]}]
|
||||||
(when-let [^js viewport (some-> viewer (.getPageView (dec page)) (.-viewport))]
|
(when-let [^js viewport (some-> viewer ^js (.getPageView (dec page)) (.-viewport))]
|
||||||
{:bounding (viewport-to-scaled bounding viewport)
|
{:bounding (viewport-to-scaled bounding viewport)
|
||||||
:rects (for [rect rects] (viewport-to-scaled rect viewport))
|
:rects (for [rect rects] (viewport-to-scaled rect viewport))
|
||||||
:page page}))
|
:page page}))
|
||||||
|
|
||||||
(defn scaled-to-vw-pos
|
(defn scaled-to-vw-pos
|
||||||
[^js viewer {:keys [page bounding rects]}]
|
[^js viewer {:keys [page bounding rects]}]
|
||||||
(when-let [^js viewport (some-> viewer (.getPageView (dec page)) (.-viewport))]
|
(when-let [^js viewport (some-> viewer ^js (.getPageView (dec page)) (.-viewport))]
|
||||||
{:bounding (scaled-to-viewport bounding viewport)
|
{:bounding (scaled-to-viewport bounding viewport)
|
||||||
:rects (for [rect rects] (scaled-to-viewport rect viewport))
|
:rects (for [rect rects] (scaled-to-viewport rect viewport))
|
||||||
:page page}))
|
:page page}))
|
||||||
|
|
||||||
(defn get-page-bounding
|
|
||||||
[^js viewer page-number]
|
|
||||||
(when-let [^js el (and page-number (.. viewer (getPageView (dec page-number)) -div))]
|
|
||||||
(bean/->clj (.toJSON (.getBoundingClientRect el)))))
|
|
||||||
|
|
||||||
(defn resolve-hls-layer!
|
(defn resolve-hls-layer!
|
||||||
[^js viewer page]
|
[^js viewer page]
|
||||||
(when-let [^js text-layer (some-> viewer (.getPageView (dec page)) (.-textLayer))]
|
(when-let [^js text-layer (some-> viewer ^js (.getPageView (dec page)) (.-textLayer))]
|
||||||
(let [cnt (.-div text-layer)
|
(let [^js cnt (.-div text-layer)
|
||||||
cls "extensions__pdf-hls-layer"
|
cls "extensions__pdf-hls-layer"
|
||||||
doc js/document
|
doc js/document
|
||||||
layer (.querySelector cnt (str "." cls))]
|
layer (.querySelector cnt (str "." cls))]
|
||||||
|
|||||||
Reference in New Issue
Block a user