diff --git a/externs.js b/externs.js index fe280aea72..b3040acc43 100644 --- a/externs.js +++ b/externs.js @@ -116,6 +116,8 @@ dummy.bounding = function() {}; dummy.getPageView = function() {}; dummy.convertToPdfPoint = function() {}; dummy.scrollPageIntoView = function() {}; +dummy.textLayer = function() {}; +dummy.viewport = function() {}; dummy.convertToViewportRectangle = function() {}; dummy.init = function() {}; dummy.commit = function() {}; diff --git a/src/main/frontend/extensions/pdf/core.cljs b/src/main/frontend/extensions/pdf/core.cljs index 5ddc1e94fc..6f4b552d00 100644 --- a/src/main/frontend/extensions/pdf/core.cljs +++ b/src/main/frontend/extensions/pdf/core.cljs @@ -125,11 +125,6 @@ #(.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) ^js cnt (.-container viewer) ^js body (some-> (.-ownerDocument cnt) (.-body)) diff --git a/src/main/frontend/extensions/pdf/utils.cljs b/src/main/frontend/extensions/pdf/utils.cljs index 253758af90..c5d2395010 100644 --- a/src/main/frontend/extensions/pdf/utils.cljs +++ b/src/main/frontend/extensions/pdf/utils.cljs @@ -32,27 +32,22 @@ (defn vw-to-scaled-pos [^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) :rects (for [rect rects] (viewport-to-scaled rect viewport)) :page page})) (defn scaled-to-vw-pos [^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) :rects (for [rect rects] (scaled-to-viewport rect viewport)) :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! [^js viewer page] - (when-let [^js text-layer (some-> viewer (.getPageView (dec page)) (.-textLayer))] - (let [cnt (.-div text-layer) + (when-let [^js text-layer (some-> viewer ^js (.getPageView (dec page)) (.-textLayer))] + (let [^js cnt (.-div text-layer) cls "extensions__pdf-hls-layer" doc js/document layer (.querySelector cnt (str "." cls))]