File: //var/packages/UniversalViewer/target/dist/assets/handler-hB-BTHEZ.js
import{D as r,h as n,H as h,bF as m}from"../uv.main.XdP33zSa.js";import"./usePaperFloat-QHga-gfl.js";import{U as u,b as c,P}from"./usePageComponent-vUPIKFpG.js";import{P as p}from"./ZoomFloatingBar.vue_vue_type_script_setup_true_lang-DOYCzXq-.js";class v extends u{pm;highlightPromise;constructor(e){super({...p,...e}),this.pm=null,this.highlightPromise=null}initData(e){this.init(e)}updateHighlights(e,t){this.cleanHighlights(),e&&(this.highlightPromise=this.pm?.getPlugin("viewer")?.highlight?.(e,t)??null)}cleanHighlights(){this.highlightPromise?.then(({removeMarker:e})=>e?.()),this.highlightPromise=null}init(e){const t=this.createProseMirror(this.getProseMirrorConfig(e));t.pauseFlush(),this.pm=t}getProseMirrorConfig(e){return{doc:e.content,comments:e.comment,place:this.getPmPlace(),pluginConfigs:{image:{requestImageUrl:e.requestImageUrl},scroll:{defaultScrollerInfo:{dom:n().scrollingEl??void 0,threshold:0,margin:n().topInterval}},zoom:{minValue:this.getMinRatio(),maxValue:this.getMaxRatio(),valuePrecision:!1},viewer:{highlightConfig:{default:{markerColor:r().getColor("default"),markerClass:r().getClass("default")},media:{markerColor:r().getColor("media"),markerClass:r().getClass("media")}}}}}}getPmPlace(){return this.getComponent()}cleanup(){this.pm&&(this.pm.destroy(),this.pm=null),this.highlightPromise=null,h(this.getPmPlace()),super.cleanup()}getDraggableEl(){return this.getPmPlace()}_renderPages(){return this.renderNext()}async renderPage(){const e=this.pm;return e&&(e.resumeFlush(),e.ensureOperation().progressiveFlush=!0,await e.nextTick()),!0}getPageSize(){return this.pm?this.pm.getPlugin("viewer").getPageSize():{width:0,height:0}}getPageCount(){return this.pm?this.pm.getPlugin("viewer").getPageCount():0}getShowingPage(){if(!this.pm)return 0;const{scrollTop:e,height:t,topInterval:a}=n(),i=e+t/2-a,o=this.pm.getPlugin("viewer").getClientPageSize().height+this.constructor.pageInterval;return Math.ceil(i/o)}updatePagesLocation(){this.pm?.getPlugin("zoom")?.setZoomLevel(this.getZoomRatio())}}function S(s){return c(s)}class H extends P{getInitDataConfig(e,t){return{content:t.content?.data,comment:t.comment?.data}}_switchStatePreview(e,t,a){return m(a).then(i=>i.success?new Promise((o,g)=>{setTimeout(()=>{try{o(super._switchStatePreview(e,t,i.data))}catch(l){g(l)}},0)}):!1)}}export{H as P,v as U,S as c};