@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
3 lines (2 loc) • 48.1 kB
JavaScript
!function(e,o){"object"==typeof exports&&"undefined"!=typeof module?o(exports,require("kendo.mobile.scroller.js"),require("kendo.toolbar.js"),require("kendo.pager.js"),require("kendo.combobox.js"),require("kendo.textbox.js"),require("kendo.core.js"),require("kendo.drawing.js"),require("kendo.upload.js"),require("kendo.pdfviewer-common.cmn.chunk.js"),require("kendo.dialog.js"),require("kendo.window.js"),require("kendo.binder.js"),require("kendo.numerictextbox.js"),require("kendo.dropdownlist.js"),require("kendo.icons.js"),require("kendo.draganddrop.js"),require("kendo.pdfjs.loader.js"),require("kendo.form.js"),require("kendo.colorpicker.js")):"function"==typeof define&&define.amd?define(["exports","kendo.mobile.scroller.min","kendo.toolbar.min","kendo.pager.min","kendo.combobox.min","kendo.textbox.min","kendo.core.min","kendo.drawing.min","kendo.upload.min","kendo.pdfviewer-common.cmn.chunk.min","kendo.dialog.min","kendo.window.min","kendo.binder.min","kendo.numerictextbox.min","kendo.dropdownlist.min","kendo.icons.min","kendo.draganddrop.min","kendo.pdfjs.loader.min","kendo.form.min","kendo.colorpicker.min"],o):o(((e="undefined"!=typeof globalThis?globalThis:e||self).kendo=e.kendo||{},e.kendo._globals=e.kendo._globals||{},e.kendo._globals.Pdfviewer={}),e.kendo._globals.MobileScroller,e.kendo._globals.Toolbar,e.kendo._globals.Pager,e.kendo._globals.Combobox,e.kendo._globals.Textbox,e.kendo._globals.Core,e.kendo._globals.Drawing,e.kendo._globals.Upload,e.kendo._globals.PdfviewerCommonCmnChunk)}(this,(function(e,o,t,n,a,i,r,s,l,d){!function(e){var o=window.kendo,t=e.extend,n=o.Class.extend({init:function(e,o){var t=this;t.options=e,t.read=e.read,t.upload=e.upload,t.download=e.download,t.viewer=o},fetchDocument:function(){var t=this,n=e.Deferred(),a=t.viewer.options.messages.errorMessages;return t.read?(e.ajax({type:t.read.type,url:t.read.url,dataType:t.read.dataType,success:function(e){"string"!=typeof e&&(e=o.stringify(e)),n.resolve(JSON.parse(e))},error:function(e){t.viewer._triggerError({error:e.responseText,message:a.parseError})}}),n):n.resolve()},fetchPageData:function(o){var t=this,n=e.Deferred(),a=t.viewer.document.pages[o-1],i={};return i[t.read.pageField]=o,a.geometries.length?n.resolve(a):e.ajax({type:t.read.type,url:t.read.url,data:i,success:function(e){n.resolve(JSON.parse(e))},error:function(e){t.viewer._triggerError({error:e.responseText,message:t.viewer.options.messages.errorMessages.parseError})}}),n},downloadFile:function(e){window.location=this.download.url+"?file="+e},fromJSON:function(e){var o=this.viewer;o._clearPages(),o.document=e,o.document.total=o.document.pages.length,o._renderPages(),o.resize(!0),o.activatePage(1)}});t(o,{pdfviewer:{dpl:{processor:n}}})}(window.kendo.jQuery),kendo.pdfviewer.pdfjs={lib:window.pdfjsLib},function(e){var o=kendo.Class,t=e.extend,n=JSON.parse,a=kendo.ui.progress,i=(o=kendo.Class,o.extend({init:function(e){this.viewer=e,this.errorMessages=this.viewer.options.messages.errorMessages,this.upload=this.viewer.processor&&this.viewer.processor.upload},_initUpload:function(o,n){var a=t({select:this._onSelect.bind(this),success:this._onSuccess.bind(this),error:this._onError.bind(this),complete:this._onComplete.bind(this),showFileList:!1,multiple:!1,validation:{allowedExtensions:[".pdf"]}},n||{});return this.upload&&t(a,{async:{saveUrl:this.upload.url,autoUpload:!0,saveField:this.upload.saveField}}),(o||e('<input name="files" accept=".pdf" type="file" />')).kendoUpload(a).getKendoUpload()},_onComplete:function(){a(this.viewer.pageContainer,!1)},_onSuccess:function(o){var t=n(o.response);e.isPlainObject(t)?this.viewer.processor.fromJSON(t):this.viewer._triggerError({error:t,message:this.errorMessages.parseError})},_onError:function(e){this.viewer._triggerError({error:e.XMLHttpRequest.responseText,message:this.errorMessages.notSupported})},_onSelect:function(e){var o=this,t=e.files[0];if(a(o.viewer.pageContainer,!0),!o.viewer.trigger("open",{file:t})&&!o.upload)if(".pdf"===t.extension.toLowerCase()){var n=new FileReader;n.onload=function(e){var t=e.target.result;const n=o.viewer._isDPLProcessor()?t:{data:t};o.viewer.fromFile(n)},n.onerror=function(){o.viewer._triggerError({error:t,message:o.errorMessages.parseError})},n.readAsArrayBuffer(t.rawFile)}else o.viewer._triggerError({error:t,message:o.errorMessages.notSupported})}}));t(kendo.pdfviewer,{UploadHelper:i})}(window.kendo.jQuery),function(e){var o=e.extend,t=e.noop,n=kendo.drawing,a=n.Group,i=n.Surface,r=kendo.Class,s=kendo.pdfviewer.UploadHelper,l={Path:"path",MultiPath:"multipath",Rect:"rect",Image:"image",Text:"text"},d=r.extend({init:function(o,t){this.viewer=t,this.processor=o.processor,this.options=o,this.pageNumber=o.number,this.element=e("<div class='k-page' />"),this.element.attr(kendo.attr("number"),this.pageNumber),this._updatePageSize(o),this.width=o.width,this.height=o.height},resize:function(e){var o=this.element;this._updatePageSize({width:Math.min(o.width()*e,this.width),height:Math.min(o.height()*e,this.height)})},_updatePageSize:function(e){this.element.width(e.width).height(e.height)},destroy:function(){kendo.destroy(this.element)},render:t}),p=d.extend({init:function(o,t){this.viewer=t,this.options=o,this._externalDropZoneId=`${t.element.attr("id")}-external-dropzone`,this.element=e(`<div class="k-page k-blank-page">\n <div id="${this._externalDropZoneId}" class="k-external-dropzone">\n <div class="k-dropzone-inner">\n <span class="k-dropzone-icon k-icon k-svg-icon k-icon-xxxl k-svg-i-upload">\n <svg aria-hidden="true" focusable="false" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512">\n <path d="M32 384v96h448v-96H32zm192-64h64V192h96L256 32 128 192h96v128z"></path>\n </svg>\n </span>\n <span class="k-dropzone-hint">Drag and drop files here to upload</span>\n </div>\n </div>\n <input name="files" accept=".pdf" type="file" ref-pdfviewer-blank-page-upload>\n </div>`),this._uploadHelper=new s(t)},_initUpload:function(){this._upload=this._uploadHelper._initUpload(this.element.find("input[ref-pdfviewer-blank-page-upload]"),{dropZone:`#${this._externalDropZoneId}`,showFileList:!1,async:{autoUpload:!1,saveUrl:"save"}})},resize:t,_updatePageSize:t,destroy:function(){this._upload&&this._upload.destroy(),kendo.destroy(this.element)},render:t}),c=d.extend({draw:function(){var e=this,o=e.options.geometries;e.group=new a,e.surface.draw(e.group),e._drawGeometries(o),e.viewer.trigger("render",{page:this}),kendo.ui.progress(e.element,!1)},load:function(){var e=this;!e.loaded&&e.processor&&(e.processor.fetchPageData(e.pageNumber).then((function(o){e.options=o,e._initSurface(),e.draw()})),e.loaded=!0)},_initSurface:function(){var e={width:this.element.width(),height:this.element.height()},t=o({width:this.width,height:this.height},this.viewer.options.view);this.surface=new i(this.element,t),this._updatePageSize(e)},_drawGeometries:function(e){var o,t=this;if(e)for(var n=0;n<=e.length;n++){var a=e[n];if(a){switch(a.type){case l.Path:case l.MultiPath:o=t._drawPath(a);break;case l.Rect:o=t._drawRect(a);break;case l.Image:o=t._drawImage(a);break;case l.Text:o=t._drawText(a);break;default:o=null}o&&t.group.append(o)}}},_drawRect:function(e){var o=new kendo.geometry.Rect(e.point,e.size);return new n.Rect(o,{transform:this._getMatrix(e.transform),fill:e.fillOptions,stroke:e.strokeOptions})},_drawImage:function(e){var o=new kendo.geometry.Rect(e.point,e.size);return new n.Image(e.src,o,{transform:this._getMatrix(e.transform)})},_drawText:function(e){var o={transform:this._getMatrix(e.transform),stroke:e.strokeOptions,fill:e.fillOptions,font:e.font};return new kendo.drawing.Text(e.content,e.point,o)},_drawPath:function(e){for(var o={transform:this._getMatrix(e.transform),stroke:e.strokeOptions,fill:e.fillOptions},t=new n.MultiPath(o),a=0;a<e.paths.length;a++){var i=e.paths[a];if(!i.segments)return;t.moveTo.apply(t,i.point);for(var r=0;r<i.segments.length;r++){var s=i.segments[r];(1===s.points.length?t.lineTo:t.curveTo).apply(t,s.points)}i.closed&&t.close()}return t},_getMatrix:function(e){var o=Object.create(kendo.geometry.Matrix.prototype);return kendo.geometry.Matrix.apply(o,e),o}});o(kendo.pdfviewer.dpl,{geometryTypes:l,Page:c}),o(kendo.pdfviewer,{BlankPage:p})}(window.kendo.jQuery);const p=(e,o)=>{e.interactionMode!==o.mode&&e.setInteractionMode({mode:o.mode}),e.setAnnotationEditorMode(o)},c=e=>{e.resetAnnotationEditorMode()},g=(e,o)=>{e.setInteractionMode({mode:o})},u=jQuery,m=3,h=9;class f{constructor(e){this.viewer=e,this.widget=e.pdfViewerCommon,this.init()}init(){const e=this.element=u("<div></div>");e.insertAfter(this.viewer.toolbar.element);const o=this.toolbar=new kendo.ui.ToolBar(e,{fillMode:"flat",tools:[{name:"highlight",command:"highlight",icon:"highlight",type:"button",togglable:!0,showText:"overflow",group:"annotations",fillMode:"flat"},{type:"separator"},{name:"freeText",command:"freeText",icon:"free-text",type:"button",togglable:!0,showText:"overflow",group:"annotations",fillMode:"flat"},{type:"spacer"},{name:"close",command:"close",icon:"x",type:"button",showText:"overflow",fillMode:"flat"}],parentMessages:{highlight:"Highlight",freeText:"Free text",close:"Close"}});o.bind("click",this.onToolbarClick.bind(this)),o.bind("toggle",this.onToolbarClick.bind(this))}onToolbarClick(e){const o=this.widget,t=u(e.target).data("command"),n=this.viewer.toolbar;switch(t){case"close":this.destroy(),n.element.find("[tabindex=0]").trigger("focus");break;case"highlight":p(o,{interactionMode:d.P.TextSelection,mode:h});break;case"freeText":p(o,{interactionMode:d.P.TextSelection,mode:m})}}destroy(){this.toolbar&&(this.viewer.toolbar.toggle("[title='Annotations']",!1),this.toolbar.unbind("click"),this.toolbar.unbind("toggle"),this.toolbar.destroy(),this.toolbar=null,this.element.remove(),this.element=null,this.viewer.annotationsToolbar=null,c(this.widget))}}!function(e){var o=window.kendo,t=e.extend,n=o.ui.progress,a=o.Class,i=o.pdfviewer.UploadHelper,r=a.extend({init:function(e){this.options=e,this.viewer=e.viewer,this.errorMessages=this.viewer.options.messages.errorMessages}}),s=r.extend({init:function(e){r.fn.init.call(this,e),this._uploadHelper=new i(this.viewer)},exec:function(){this.viewer._upload=this.viewer._upload||this._uploadHelper._initUpload(),this.viewer._upload.element.click()}}),l=r.extend({exec:function(){var e,o,t=this.options.value,n=this.viewer;if(isNaN(t))switch(e=n._pageNum,o=n.document.total||n.document.numPages,t){case"first":t=1;break;case"prev":t=e>1?e-1:1;break;case"next":t=e<o?e+1:o;break;case"last":t=o}else t=Number(t);n.activatePage(t,!1)}}),p=r.extend({exec:function(){const e=this;if(!e.viewer.document)return void e.viewer._triggerError({message:e.errorMessages.notFound});const o=e.viewer.document.info&&e.viewer.document.info.title||e.viewer.options.messages.defaultFileName;e.viewer._isDPLProcessor()?e.viewer.processor.downloadFile(o):e.viewer.pdfViewerCommon.downloadFile({fileName:o})}}),u=r.extend({init:function(o){o=e.extend(o,this.options),r.fn.init.call(this,o)},exec:function(){var e=this.viewer._saveDialog||this._initDialog();e._updateModel({pagesCount:this.viewer.document&&this.viewer.document.total||1,page:this.viewer.options.page}),e.open()},apply:function(e){var o=e.extension;".png"===o?this.viewer.exportImage(e):".svg"===o&&this.viewer.exportSVG(e)},_initDialog:function(){return this.viewer._saveDialog=new o.pdfviewer.dialogs.ExportAsDialog({apply:this.apply.bind(this),pagesCount:this.viewer.document&&this.viewer.document.total||1,messages:this.viewer.options.messages}),this.viewer._saveDialog}}),m=r.extend({exec:function(){const e=this.viewer;e.toolbar.enable(e.toolbar.element.find("[data-command=AnnotationsCommand]"),!0),g(e.pdfViewerCommon,d.P.TextSelection)}}),h=r.extend({exec:function(){const e=this.viewer;e.toolbar.enable(e.toolbar.element.find("[data-command=AnnotationsCommand]"),!1),e.annotationsToolbar&&e.annotationsToolbar.destroy(),c(e.pdfViewerCommon),g(e.pdfViewerCommon,d.P.Pan)}});const b=r.extend({init:function(e){const t=this;t.viewer=e.viewer,t.viewer.searchDialog||(t.viewer.searchDialog=new o.pdfviewer.dialogs.SearchDialog({pageContainer:t.viewer.pageContainerWrapper,position:{top:t.viewer.pageContainer.offset().top,left:t.viewer.pageContainer.offset().left},messages:t.viewer.options.messages.dialogs.search,open:t._open.bind(t),next:t._next.bind(t),prev:t._prev.bind(t),close:t._close.bind(t)})),r.fn.init.call(t,e)},exec:function(){this.viewer.searchDialog.open()},_open:function(){const e=this;e.changeHandler=e._change.bind(e),e.viewer.searchDialog.searchModel.bind("change",e.changeHandler)},_close:function(){const e=this;e.viewer.pdfViewerCommon.clearSearch(),e.viewer.toolbar.element.find("[tabindex=0]").trigger("focus"),e.viewer.searchDialog.searchModel.unbind("change",e.changeHandler),e.matches=[],e.matchIndex=null,e._updateSearchModel()},_change:function(e){const o=this,t=o.viewer.searchDialog.searchModel.searchText,n=o.viewer.searchDialog.searchModel.matchCase;"searchText"!==e.field&&"matchCase"!==e.field||(o.matches=o.viewer.pdfViewerCommon.searchText({text:t,matchCase:n}),o.matchIndex=o.matches.length?1:0,o._updateSearchModel())},_next:function(){const e=this;e.viewer.pdfViewerCommon.goToNextSearchMatch(),e.matchIndex=e.matchIndex+1>e.matches.length?1:e.matchIndex+1,e._updateSearchModel()},_prev:function(){const e=this;e.viewer.pdfViewerCommon.goToPreviousSearchMatch(),e.matchIndex=e.matchIndex-1<1?e.matches.length:e.matchIndex-1,e._updateSearchModel()},_updateSearchModel:function(){const e=this,o=e.viewer.searchDialog.searchModel;e.matches&&e.matches.length?(o.set("matches",e.matches.length),o.set("matchIndex",e.matchIndex)):(o.set("searchText",""),o.set("matches",0),o.set("matchIndex",0))},_closeDialog:function(){this.viewer.searchDialog.close()}});var v=r.extend({exec:function(){const e=this,o=e._calculateZoom();if(undefined===o)return;let t=o.zoomLevel;e.viewer.zoomScale!==o.zoomLevel&&(e.viewer._preventRenderEvent=!0,e.viewer._currentPage=e.viewer.pdfViewerCommon.getCurrentPageIndex()+1,e.viewer.pdfViewerCommon.zoom({zoomLevel:o.zoomLevel,zoomLevelType:o.zoomLevelType}),t=e.viewer.pdfViewerCommon.options.zoomLevel,e._triggerZoomEnd(t)),e.viewer.zoomScale=t},_calculateZoom:function(){var e,t=this.options,n=this.viewer,a=n.options,i=t.value||t.scale,r=i,s="";if(n._allowResize=!1,n._autoFit=!1,t.zoomIn?r=i=n.zoomScale+a.zoomRate:t.zoomOut?r=i=n.zoomScale-a.zoomRate:"auto"===i?(n._allowResize=!0,r=n._autoZoomScale):"string"!=typeof i||o.parseFloat(i)?i&&i.toString().match(/^[0-9]+%?$/)?r=i=parseInt(i.replace("%",""),10)/100:e=isNaN(i):s=i,e||(e=i<a.zoomMin||i>a.zoomMax),!e&&!n.trigger("zoomStart",{scale:i}))return t.updateComboBox&&n.toolbar&&n._updateZoomComboBox(i),{zoomLevel:r,zoomLevelType:s}},_triggerZoomEnd:function(e){this.viewer.trigger("zoomEnd",{scale:e})}}),w=r.extend({init:function(e){r.fn.init.call(this,e)},exec:function(){const e=this;e.viewer.document?(n(e.viewer.pageContainerWrapper,!0),setTimeout((()=>{e.viewer.pdfViewerCommon.printFile()}),100)):e.viewer._triggerError({message:this.errorMessages.notFound})}});const k=r.extend({init:function(e){r.fn.init.call(this,e)},exec:function(){const e=this.viewer;e.annotationsToolbar?e.annotationsToolbar.destroy():e.annotationsToolbar=new f(e)}});t(o.pdfviewer,{OpenCommand:s,PageChangeCommand:l,DownloadCommand:p,EnableSelectionCommand:m,EnablePanCommand:h,ExportCommand:u,PrintCommand:w,OpenSearchCommand:b,ZoomCommand:v,AnnotationsCommand:k})}(window.kendo.jQuery),function(e){var o=window.kendo,t=o.htmlEncode,n=e.extend,a=o.Class,i=o.ui.Draggable,r=o._outerWidth,s=".svg",l=".png",d=o.keys,p=a.extend({init:function(o){this.options=n(o,{actions:[{text:o.messages.dialogs.okText}]}),this._dialog=e("<div />").kendoDialog(this.options).getKendoDialog()},open:function(){this._dialog.center().open()}}),c=a.extend({init:function(e){return this.options=n(e,this.options,{fileFormats:[{description:e.messages.dialogs.exportAsDialog.png,extension:l},{description:e.messages.dialogs.exportAsDialog.svg,extension:s}],title:e.messages.dialogs.exportAsDialog.title,open:function(){this.center()}}),this._initializeDialog(),this},options:{extension:l,autoFocus:!0,resizable:!1,modal:{preventScroll:!0},width:"90%",maxWidth:520,template:({messages:e,total:o})=>`<div class='k-edit-label'><label>${t(e.exportAsDialog.labels.fileName)}:</label></div><div class='k-edit-field'><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input class='k-input-inner' data-bind='value: name' /></span></div><div><div class='k-edit-label'><label>${t(e.exportAsDialog.labels.saveAsType)}:</label></div><div class='k-edit-field'><select data-role='dropdownlist' class='k-file-format' data-text-field='description' data-value-field='extension' data-bind='value: extension, source: fileFormats'></select></div></div><div class='k-edit-label'><label>${t(e.exportAsDialog.labels.page)}:</label></div><div class='k-edit-field'><input data-role='numerictextbox' data-format='n0' data-min='1' data-max='${t(o)}' data-bind='value: page' /></div><div class='k-actions'><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-bind='click: apply'><span class='k-button-text'>${t(e.save)}</span></button><button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-bind='click: close'><span class='k-button-text'>${t(e.cancel)}</span></button></div>`},_updateModel:function(e){e.pagesCount&&this.viewModel.set("pagesCount",e.pagesCount),e.page&&this.viewModel.set("page",e.page)},_initializeDialog:function(){var t=this,n=t.options,a=n.messages.dialogs,i=e("<div class='k-pdf-viewer-window k-action-window k-popup-edit-form' />").append(o.template(n.template)({total:n.pagesCount,messages:a})).kendoWindow(n).getKendoWindow();return t.viewModel=o.observable({title:a.exportAsDialog.title,name:a.exportAsDialog.defaultFileName,extension:n.extension,fileFormats:n.fileFormats,pagesCount:n.pagesCount,page:1,apply:t.apply.bind(this),close:function(){i.close()}}),t._dialog=i,o.bind(i.element,t.viewModel),i},open:function(){this._dialog.center().open()},apply:function(){this._dialog.close(),this.options.apply({fileName:this.viewModel.name+this.viewModel.extension,extension:this.viewModel.extension,page:this.viewModel.page})}}),g=a.extend({init:function(e){this.options=n({},e,this.options)},options:{resizable:!1,template:({messages:e})=>`<div class="k-search-panel k-pos-sticky k-top-center"><button aria-label='${t(e.dragHandle)}' class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-search-dialog-draghandle'>${o.ui.icon({icon:"handle-drag",iconClass:"k-button-icon"})}</button><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input class='k-search-dialog-input k-input-inner' data-bind='value: boundValue, events: { keyup: onKeyup, input: onInput }' aria-label='${t(e.inputLabel)}' title='${t(e.inputLabel)}' /><span class='k-input-suffix'><button class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-match-case-button k-match-case-button' data-bind='css: {k-selected: matchCase}, click: matchCaseClick' aria-label='${t(e.matchCase)}' title='${t(e.matchCase)}'>${o.ui.icon({icon:"convert-lowercase",iconClass:"k-button-icon"})}</button></span></span><span class='k-search-matches'><span data-bind='text: matchIndex'></span> ${t(e.of)} <span data-bind='text: matches'></span></span><button class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button' data-bind='click: prev' aria-label='${t(e.previous)}' title='${t(e.previous)}'>${o.ui.icon({icon:"arrow-up",iconClass:"k-button-icon"})}</button><button class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button' data-bind='click: next' aria-label='${t(e.next)}' title='${t(e.next)}'>${o.ui.icon({icon:"arrow-down",iconClass:"k-button-icon"})}</button><button class='k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button' data-bind='click: close' aria-label='${t(e.close)}' title='${t(e.close)}'>${o.ui.icon({icon:"x",iconClass:"k-button-icon"})}</button></div>`},open:function(){var e=this;e.dialog||e._initializeDialog(),e.options.open(),e._showSearchDialog()},close:function(){this.options.close(),this._hideSearchDialog()},_showSearchDialog:function(){var e=this;e.dialog.css("left",e.options.pageContainer.innerWidth()/2-r(e.dialog,!0)/2+"px"),e.dialog.kendoStop().kendoAnimate({effects:{zoom:{direction:"in"},fade:{direction:"in"}},duration:350,complete:function(o){e.dialog.find(".k-search-dialog-input").trigger("focus")}})},_hideSearchDialog:function(){this.dialog.kendoStop().kendoAnimate({effects:{zoom:{direction:"out",properties:{scale:.7}},fade:{direction:"out"}},duration:350,hide:!0})},_initializeDialog:function(){var t=this,n=o.template(t.options.template),a=e(n({messages:t.options.messages}));t.options.pageContainer.prepend(a),t.dialog=a,t._draggable=new i(a,{filter:".k-search-dialog-draghandle",axis:"x",dragstart:function(e){var n=t.dialog,a=t.options.pageContainer;if(n.startPosition={left:e.x.client-o.getOffset(n,"position").left},!a)return null;a._innerWidth=a.innerWidth(),parseInt(a._innerWidth,10)>a[0].clientWidth&&(a._innerWidth-=o.support.scrollbar()),n.maxLeft=a._innerWidth-r(n,!0)},drag:function(e){var o,n=t.dialog,a={};(o=e.x.client-n.startPosition.left)&&isNaN(o)&&o.toString().indexOf("px")<0?a.left=o:a.left=Math.max(Math.min(parseInt(o,10),parseInt(n.maxLeft,10)),0),n.css(a)}}),t._draggable.userEvents.stopPropagation=!1,t.searchModel=o.observable({boundValue:"",searchText:"",matchCase:!1,matchIndex:0,matches:0,matchCaseClick:function(){this.set("matchCase",!this.matchCase)},next:t.options.next,prev:t.options.prev,close:function(){this.set("boundValue",""),t.close()},onKeyup:function(e){var o=e.keyCode,t=e.shiftKey?this.prev:this.next;o===d.ENTER?(t(),e.preventDefault()):o==d.ESC&&this.close()},onInput:function(e){this.set("searchText",e.target.value)}}),o.bind(a,t.searchModel)}});n(o.pdfviewer,{dialogs:{ErrorDialog:p,ExportAsDialog:c,SearchDialog:g}})}(window.kendo.jQuery);const b=jQuery;class v{constructor(e,o,t){this.viewer=e,this.widget=e.pdfViewerCommon,this.anchor=o,this.editor=t,this.popupOpenHandler=this.onPopupOpen.bind(this),this.init()}init(){const e=this.anchor,o=b(`<div data-uid="${kendo.guid()}"></div>`);this.popup=new kendo.ui.Popup(b('<div class="k-pdf-viewer-annotation-editor-toolbar"></div>'),{anchor:e}),this.popup.element.html(o);(this.popupToolbar=new kendo.ui.ToolBar(o,{fillMode:"flat",tools:[{name:"palette",command:"palette",icon:"palette",type:"button",showText:"overflow",fillMode:"flat"},{name:"remove",command:"remove",icon:"trash",type:"button",showText:"overflow",fillMode:"flat"}],parentMessages:{palette:"Palette",remove:"Remove"}})).bind("click",this.onAnnotationPopupToolbarClick.bind(this)),this.popup.open()}initEditor(){}onAnnotationPopupToolbarClick(e){const o=this.widget;switch(b(e.target).data("command")){case"palette":this.initEditor();break;case"remove":(e=>{e.deleteAnnotation()})(o),this.destroyPopup()}}onPopupOpen(){this.flatColorPicker._view._hueSlider.resize(),this.flatColorPicker._view._opacitySlider.resize()}anchorExists(){return document.getElementById(this.anchor.id)}destroyPopup(){this.popup&&(this.popup.destroy(),this.popup=null)}destroyEditor(){this.editorPopup&&(this.editorPopup.destroy(),this.editorPopup=null)}destroy(){this.popupToolbar&&(this.popupToolbar.unbind("click"),this.popupToolbar.unbind("toggle"),this.popupToolbar.destroy(),this.popupToolbar=null),this.destroyPopup()}}class w extends v{constructor(e,o,t){super(e,o,t)}initEditor(){const e=this.anchor;this.anchorExists()?(this.destroyEditor(),this.editorPopup=new kendo.ui.Popup(b('\n <div class="k-pdf-viewer-annotation-editor">\n <span class="k-column-menu-group-header">\n <span class="k-column-menu-group-header-text">Color</span>\n </span>\n <div ref-annotation-editor-flat-color-picker></div>\n </div>\n'),{anchor:e,activate:this.popupOpenHandler}),this.initFlatColorPicker(),this.editorPopup.open(),this.destroy()):this.destroy()}initFlatColorPicker(){this.flatColorPicker=new kendo.ui.FlatColorPicker(this.editorPopup.element.find("[ref-annotation-editor-flat-color-picker]"),{format:"rgb",opacity:!0,change:e=>{return o=this.widget,t=e.value,void o.setHighlightColor(t);var o,t}})}onPopupOpen(){const e=this.editor.color;super.onPopupOpen(),this.flatColorPicker.value(e)}}class k extends v{constructor(e,o,t){super(e,o,t)}initEditor(){const e=this.anchor;this.anchorExists()?(this.destroyEditor(),this.editorPopup=new kendo.ui.Popup(b('\n <div class="k-pdf-viewer-annotation-editor">\n <span class="k-column-menu-group-header">\n <span class="k-column-menu-group-header-text">Text style</span>\n </span>\n <form ref-annotation-text-editor-popup-form></form>\n <span class="k-column-menu-group-header">\n <span class="k-column-menu-group-header-text">Color</span>\n </span>\n <div ref-annotation-editor-flat-color-picker></div>\n </div>\n'),{anchor:e,activate:this.popupOpenHandler}),this.initFontSizeForm(),this.initFlatColorPicker(),this.editorPopup.open(),this.destroy()):this.destroy()}initFontSizeForm(){const e=this.editor.propertiesToUpdate[0][1];this.fontSizeForm=new kendo.ui.Form(b("[ref-annotation-text-editor-popup-form]"),{buttonsTemplate:()=>"",formData:{fontSize:e},layout:"grid",grid:{cols:3},items:[{field:"fontSize",label:"Font size",editor:"DropDownList",colSpan:1,editorOptions:{fillMode:"flat",dataSource:[8,9,10,11,12,13,14,16,20,22,24,26,28,36,48,72],change:e=>{const o=e.sender.value();var t,n;t=this.widget,n=o,t.setFreeTextFontSize(n)}}}]}),this.fontSizeForm.element.find(".k-form-buttons").remove()}initFlatColorPicker(){this.flatColorPicker=new kendo.ui.FlatColorPicker(this.editorPopup.element.find("[ref-annotation-editor-flat-color-picker]"),{format:"rgb",opacity:!0,change:e=>{return o=this.widget,t=e.value,void o.setFreeTextColor(t);var o,t}})}onPopupOpen(){const e=this.editor.propertiesToUpdate[1][1];super.onPopupOpen(),this.flatColorPicker.value(e)}}!function(e){var o,t=".kendoPDFViewer",n=window.kendo,a=n.ui,i=e.extend,r=n.drawing,s=e.extend({PLUS:187,MINUS:189,ZERO:48,NUMPAD_ZERO:96},n.keys),l=n.pdfviewer.BlankPage,p=a.Widget,u=n.ui.progress,m="render",h="error",f="keydown"+t,b="update",v="pagechange",x="zoomEnd",_="ZoomCommand",P="click",C="change",y="k-disabled",S="pdfjs",T="dpl",z="k-pdf-viewer",D="k-canvas k-pdf-viewer-canvas k-pos-relative k-overflow-auto",M="k-enable-panning",E="auto",F="ActualWidth",O="FitToWidth",j="FitToPage",L=p.extend({init:function(e,o){var t=this;p.fn.init.call(t,e,n.deepExtend({},this.options,o)),t._processMessages(),t._wrapper(),t.options.toolbar&&t._renderToolbar(),t._initProcessor(o||{}),t._renderPageContainer(),t._isDPLProcessor()?t._loadDPLDocument():t._loadPdfJSDocument(),n.notify(t,n.ui),t._showWatermarkOverlay&&t._showWatermarkOverlay(t.wrapper[0])},events:[m,"open",h,"zoomStart",x],options:{name:"PDFViewer",view:{type:"canvas"},pdfjsProcessing:{file:null,renderForms:!1,loadOnDemand:!0},dplProcessing:{read:{url:null,type:"GET",dataType:"json",pageField:"pageNumber"},upload:{url:null,saveField:"file"},download:{url:null},loadOnDemand:!1},toolbar:{items:[],contextMenu:!1},width:1e3,height:1200,page:1,defaultPageSize:{width:794,height:1123},scale:null,zoomMin:.5,zoomMax:4,zoomRate:.25,messages:{defaultFileName:"Document",toolbar:{zoom:{zoomLevel:"zoom level",zoomOut:"Zoom Out",zoomIn:"Zoom In",actualWidth:"Actual Width",autoWidth:"Automatic Width",fitToWidth:"Fit to Width",fitToPage:"Fit to Page"},contextMenu:"Menu",open:"Open",exportAs:"Export",download:"Download",print:"Print",toggleSelection:"Enable Selection",togglePan:"Enable Panning",search:"Search",annotations:"Annotations"},errorMessages:{notSupported:"Only pdf files allowed.",parseError:"PDF file fails to process.",notFound:"File is not found.",popupBlocked:"Popup is blocked."},dialogs:{exportAsDialog:{title:"Export...",defaultFileName:"Document",pdf:"Portable Document Format (.pdf)",png:"Portable Network Graphics (.png)",svg:"Scalable Vector Graphics (.svg)",labels:{fileName:"File name",saveAsType:"Save as",page:"Page"}},okText:"OK",save:"Save",cancel:"Cancel",search:{inputLabel:"Search Text",matchCase:"Match Case",next:"Next Match",previous:"Previous Match",close:"Close",of:"of",dragHandle:"Drag search"}}}},defaultTools:{contextMenu:{type:"dropDownButton",name:"contextMenu",showText:"overflow",id:"pdfviewer-toolbar-context-menu",overflow:"never",icon:"menu",fillMode:"flat",menuButtons:[{id:"open",text:"Open",icon:"folder-open",attributes:{"data-command":"OpenCommand"}},{id:"download",text:"Download",icon:"download",attributes:{"data-command":"DownloadCommand"},enable:!1},{id:"print",text:"Print",icon:"print",attributes:{"data-command":"PrintCommand"},enable:!1}]},separator:{type:"separator"},pager:{type:"component",name:"pager",overflow:"never",component:"Pager",element:"<div></div>",componentOptions:{navigatable:!0,_isToolbarItem:!0}},spacer:{type:"spacer"},zoomInOut:{type:"buttonGroup",fillMode:"flat",buttons:[{type:"button",icon:"zoom-out",name:"zoomOut",command:"ZoomCommand",showText:"overflow",options:'{ "zoomOut": true, "updateComboBox": true }',fillMode:"flat"},{type:"button",icon:"zoom-in",name:"zoomIn",command:"ZoomCommand",showText:"overflow",options:'{ "zoomIn": true, "updateComboBox": true }',fillMode:"flat"}]},zoom:{type:"component",name:"zoom",command:"ZoomCommand",overflow:"never",component:"ComboBox",data:[50,100,150,200,300,400],componentOptions:{enable:!1,dataTextField:"text",dataValueField:"percent",valuePrimitive:!0,clearOnEscape:!1,commandOn:"change",fillMode:"flat"}},toggleSelection:{type:"buttonGroup",fillMode:"flat",buttons:[{togglable:!0,command:"EnableSelectionCommand",icon:"pointer",showText:"overflow",name:"toggleSelection",group:"toggle-pan",fillMode:"flat"},{togglable:!0,command:"EnablePanCommand",icon:"hand",showText:"overflow",name:"togglePan",group:"toggle-pan",selected:!0,fillMode:"flat"}]},spacer2:{type:"spacer"},search:{type:"button",command:"OpenSearchCommand",icon:"search",name:"search",showText:"overflow",enable:!1,fillMode:"flat"},open:{type:"button",showText:"overflow",name:"open",icon:"folder-open",command:"OpenCommand",fillMode:"flat"},download:{type:"button",showText:"overflow",name:"download",icon:"download",command:"DownloadCommand",enable:!1,fillMode:"flat"},print:{type:"button",showText:"overflow",name:"print",icon:"print",command:"PrintCommand",enable:!1,fillMode:"flat"},annotations:{togglable:!0,type:"button",showText:"overflow",name:"annotations",icon:"edit-annotations",command:"AnnotationsCommand",enable:!1,fillMode:"flat"}},exportAsTool:{exportAs:{type:"button",showText:"overflow",name:"exportAs",icon:"image-export",command:"ExportCommand",fillMode:"flat"}},_processMessages:function(){var o=this.options.messages.toolbar.zoom;e.isPlainObject(o)&&(this.options.messages.toolbar=e.extend({},this.options.messages.toolbar,o),this.options.messages.toolbar.zoom=o.zoomLevel||this.options.messages.toolbar.zoom)},_wrapper:function(){var e=this,o=e.options;e.wrapper=e.element,e.wrapper.width(o.width).height(o.height).addClass(z).on(f,e._keydown.bind(e)),e._allowResize=null===e.options.scale,e._autoZoomScale=d.D,e.zoomScale=e.options.scale||e._autoZoomScale,e._resizeHandler=n.onResize((function(){e.resize()})),e._pageNum=e.options.page},_keydown:function(e){var o=[s.PLUS,s.NUMPAD_PLUS],t=[s.MINUS,s.NUMPAD_MINUS],n=[s.ZERO,s.NUMPAD_ZERO],a=!1,i={command:_,options:{updateComboBox:!0}};e.ctrlKey&&!this._blankPage&&this.processingLib!==T&&(o.includes(e.keyCode)?(i.options.zoomIn=!0,a=!0):t.includes(e.keyCode)?(i.options.zoomOut=!0,a=!0):n.includes(e.keyCode)&&(i.options.value=d.D,a=!0),a&&(this.execute(i),e.preventDefault()))},_handlePageChangeEvent:function(e){const o=this;o._pageChangeFromScroll||(this.activatePage(e.index,!1),o._showPagerInputLabels()),delete o._pageChangeFromScroll},_showPagerInputLabels:function(){const o=this.pager.element.find(".k-pager-input").children();if(o){const t=o.eq(0).add(o.eq(2));e(t).is(":visible")||t.show()}},_resizePager:function(){const e=this;if(!e.pager||!e.pager.options.responsive)return;const o=n._outerWidth(e.pager.element),t=Array.from(e.toolbar.element.children(":not(.k-hidden):not(:has(.k-pager))")),a=n._outerWidth(e.element);let i=0;const r=Number(e.toolbar.element.css("gap").replace(/(em|ex|%|px|cm|mm|in|pt|pc|ch|rem|vh|vw|vmin|vmax)$/,""));if(t.length>0){let e=0;for(let o=0;o<t.length;o++)e+=n._outerWidth(t[o])+r;e&&(i=e)}const s=e.pager.element.find(".k-pager-nav");if(o+i+r>a)for(var l=s.length-1;l>=0;l--){s.eq(l).addClass("k-hidden")}if(o+i+r<a){const o=e.pager.element.find(".k-hidden:not(.k-input-validation-icon)");for(l=0;l<o.length;l++){o.eq(l).removeClass("k-hidden")}}e.pager.options.input&&e._showPagerInputLabels()},_initProcessor:function(e){var t,a=this;t=e.dplProcessing?a.options.dplProcessing:a.options.pdfjsProcessing,a.processingLib=e.dplProcessing?T:S,a._isDPLProcessor()?(a.processor=new n.pdfviewer[a.processingLib].processor(t,a),o=n.pdfviewer[a.processingLib].Page):window.pdfjsLib?window.pdfjsLib?.GlobalWorkerOptions?.workerSrc||window.pdfjsWorker||console?.error('The pdf.worker.mjs script is not loaded. The PDF.JS library will not work correctly.\n Either load the script:\n \n <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.6.82/pdf.worker.mjs" type="module"><\/script>\n \n Or set it to the GlobalWorkerOptions.workerSrc property:\n \n <script type="module">\n pdfjsLib.GlobalWorkerOptions.workerSrc = \'https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.6.82/pdf.worker.mjs\';\n <\/script>'):console?.error('PDF.JS library is required. Make sure that it is properly loaded <script src="https://cdnjs.cloudflare.com/ajax/libs/pdf.js/4.6.82/pdf.mjs" type="module"><\/script>')},_isDPLProcessor:function(){return this.processingLib===T},_hasPagerTool:function(e){let o,t=!1;for(let n=0;n<e.length;n++){const a=e[n];if("string"==typeof a?(t="pager"===a.toLowerCase(),o=n):a.type?(t="pager"===a.type.toLowerCase(),o=n):a.name&&(t="pager"===a.name.toLowerCase(),t&&delete a.name,o=n),t)break}return{hasPager:t,index:o}},_renderToolbar:function(){var o=this,t=o.options,a=i({},t.toolbar),r=a.items&&a.items.length?a.items:Object.keys(o.defaultTools);if(o.options.pdfjsProcessing.renderForms&&!a.items.length){const[e,t]=[...o.defaultTools.toggleSelection.buttons];e.selected=!0,t.selected=!1}const{hasPager:s,index:l}=o._hasPagerTool(r);if(r=o._processTools(r),s){let n=o.options.messages.toolbar.pager;n&&n.of&&(n.of=`${n.of} {0}`,n.pages&&(n.of=n.of+" "+n.pages,delete n.pages)),o.defaultTools.pager.componentOptions.messages=n,t.messages.toolbar.pager="Pager";const a=o.defaultTools.pager.componentOptions;"string"!=typeof r[l]&&(o.defaultTools.pager.componentOptions=e.extend(r[l],a),r[l]=o.defaultTools.pager)}a={defaultTools:e.extend({},o.defaultTools,o.exportAsTool),parentMessages:t.messages.toolbar,tools:r,resizable:!0,fillMode:"flat",overflow:a.overflow};var d=e("<div />");return d.appendTo(o.element),o.toolbar=new n.ui.ToolBar(d,a),o.options.toolbar=o.toolbar.options,o.toolbar.bind("toggle",o._toolbarClick.bind(o)),o.toolbar.bind(P,o._toolbarClick.bind(o)),o.toolbar.bind(C,o._toolbarClick.bind(o)),a.contextMenu&&o.toolbar.element.find("[data-role=dropdownbutton]").on(P,o._toolbarClick.bind(o)),s&&(o.pager=o.toolbar.element.find(".k-pager"),o.pager.length>0&&(o.pager=o.pager.data("kendoPager")),o.pager.bind(C,o._handlePageChangeEvent.bind(o))),o.bind({update:o._updateToolbar.bind(o)}),o.toolbar},_processTools:function(o){var t=this,n=t.options.toolbar,a=t.options.messages.toolbar;if(o=o.flatMap((o=>{if("zoom"===o&&(o=t.defaultTools.zoom),"zoom"===o.name){o=e.extend({},t.defaultTools.zoom,o);var n=[{percent:E,text:a.autoWidth},{percent:F,text:a.actualWidth},{percent:O,text:a.fitToWidth},{percent:j,text:a.fitToPage}],i=o.data.map((e=>({percent:e,text:e+"%"}))),r=t.options.scale?100*t.options.scale+"%":"auto";n=n.concat(i),o.componentOptions.dataSource=n,o.componentOptions.value=r}return o})),n.contextMenu)o=o.filter((e=>"open"!==e&&"download"!==e&&"print"!==e));else{const e=o.findIndex((e=>"contextMenu"===e));-1!==e&&o.splice(e,1);const t=o.findIndex((e=>"separator"===e));-1!==t&&o.splice(t,1)}return o},_updateToolbar:function(e){var o={page:e.page||1,total:e.total||1},t=this.toolbar,n=t.element,a=n.find("[data-command=ZoomCommand][data-role=combobox]").data("kendoComboBox"),i=n.find(".k-focus");0===i.length&&0===(i=n.find("[tabindex=0]").first()).length&&(i=t._getAllItems().first()),a&&(a.enable(!e.isBlank),"zoom"===e.action&&this._updateZoomComboBox(e.zoom)),("pagechange"===e.action&&!1!==e.updatePager||e.isBlank)&&this.pager&&(e.updatePager&&(o.updatePager=!0),e.pageChangeFromScroll&&(o.pageChangeFromScroll=!0),this._updatePager(o)),this._updateOnBlank(e.isBlank),t._resetTabIndex(i)},_updateOnBlank:function(o){const t=this.toolbar,n=t.element,a=e("#pdfviewer-toolbar-context-menu_buttonmenu");let i=n.find("[data-command='DownloadCommand']"),r=n.find("[data-command='PrintCommand']");a.length&&(i=a.find("[data-command='DownloadCommand']"),r=a.find("[data-command='PrintCommand']")),t.enable(n.find("[data-command=EnableSelectionCommand]").parent(),!o),t.enable(n.find("[data-command=ZoomCommand][role=button]").parent(),!o),t.enable(n.find("[data-command='OpenSearchCommand']"),!o),t.enable(i,!o),t.enable(r,!o)},_updatePager:function(e){const o=this;if(e.updatePager){const t="dpl"===o.processingLib?o.document&&o.document.pages?o.document.pages:[]:o.pages??[],a=new n.data.DataSource({data:t??[],pageSize:1,page:e.page});o.pager.setDataSource(a),o._resizePager()}else{o.pager.page()!==e.page&&(e.pageChangeFromScroll&&(o._pageChangeFromScroll=!0),o.pager.page(e.page))}o._showPagerInputLabels(),o._togglePagerDisabledClass()},_togglePagerDisabledClass:function(){const e=this.pager;e.totalPages()<=1?e.element.addClass(y):e.element.hasClass(y)&&e.element.removeClass(y)},_updateZoomComboBox:function(e){var o=e===E||e===F||e===j||e===O,t=this.toolbar.element.find("[data-command=ZoomCommand][data-role=combobox]").data("kendoComboBox");o||(e=Math.round(100*e)+"%"),t&&t.value(e)},_toolbarClick:function(o){let t=e(o.target),n=t.data("command"),a=t.data("options");n||a||(t=e(o.currentTarget),n=t.data("command"),a=t.data("options")),a=i({},{value:t.val()},a),n&&this.execute({command:n,options:a})},_initErrorDialog:function(e){var o=this;if(!o._errorDialog){e=i(e,{messages:o.options.messages});var t=new n.pdfviewer.dialogs.ErrorDialog(e);o._errorDialog=t._dialog}return o._errorDialog},_renderPageContainer:function(){var o=this;o.pageContainer||(o.pageContainerWrapper=e("<div />"),o.pageContainerWrapper.addClass(D),o.pageContainer=e('<div class="k-pdf-viewer-pages" />'),o.pageContainer.attr("tabindex",0),o.pageContainerWrapper.append(o.pageContainer),o.wrapper.append(o.pageContainerWrapper))},_triggerError:function(e){var o=this._initErrorDialog();i(e,{dialog:o}),this.pageContainer&&u(this.pageContainer,!1),this.trigger(h,e)||o.open().content(e.message)},_renderPages:function(){var e,t=this,n=t.document;if(t.pages=[],n&&n.total){e=n.pages;for(var a=1;a<=n.total;a++){var r,s={processor:t.processor,number:a};e&&e.length&&(s=i(s,e[a-1])),r=new o(s,t),t.pages.push(r),t.pageContainer.append(r.element)}t.pdfScroller&&t.pdfScroller.enablePanEventsTracking(),t._attachContainerEvents(),t._getVisiblePagesCount(),t._updatePager({updatePager:!0})}else t._renderBlankPage()},_renderBlankPage:function(){this._blankPage=new l(this.options.defaultPageSize,this),this.pageContainer.append(this._blankPage.element),this._blankPage._initUpload(),this.trigger(b,{isBlank:!0})},_removeBlankPage:function(){this._blankPage&&(this._blankPage.destroy(),this._blankPage.element.remove(),this._blankPage=null)},_resize:function(){var e,o=this;o._allowResize&&(o.pages&&o.pages.length?(o.toolbar&&o.toolbar.resize(!0),o._resizeHandler&&clearTimeout(o._resizeHandler),o._resizeHandler=setTimeout(o._resizePages.bind(o),100)):o._blankPage&&(e=undefined/o._blankPage.element.width(),o._blankPage.resize(e)))},_resizePages:function(){const o=this,t=o.pageContainer[0].clientWidth,n=o.pdfViewerCommon?.getPagesElements();let a=0;o.pages.forEach((function(o){const i=o.element?o.element.width():e(n[o._pageIndex]).width(),r=t/i;r>a&&(a=r)})),o._autoFit?o.zoom(o._autoFit,!0):(a=Math.min(Math.max(a,o.options.zoomMin),d.D),a!=o.zoomScale&&(o.zoom(a,!0),o.zoomScale=a,o._allowResize=!0),o.pager&&o.pager.element&&o._resizePager())},_attachContainerEvents:function(){const e=this;e.pageContainer.addClass(M),e.pageContainerWrapper.bind("scroll",e._scroll.bind(e))},_scroll:function(e){var o,t=this,n=t.pageContainerWrapper.height(),a=t.pages.length,i=t._pageNum,r=i-1;if(t._preventScroll||!a)return void(t._preventScroll=!1);t._scrollingStarted=!0;const s=d.c(t.element[0]);if(t.pages[r],i!==(o=i+s-r)&&o>=1&&o<=a){if(t.pages[o-1].element.offset().top>n)return;t._pageNum=o,t._loadVisiblePages(),t.trigger(b,{action:v,page:o,total:a,pageChangeFromScroll:!0})}},zoom:function(e,o){var t=this;if(!t._isDPLProcessor())return e?t.execute({command:_,options:{value:e,updateComboBox:!o}}):t.zoomScale},execute:function(e){var o=i({viewer:this},e.options);return new n.pdfviewer[e.command](o).exec()},_loadDPLDocument:function(){var e=this,o=e.options.page;u(e.pageContainer,!0),e.processor.fetchDocument().done((function(t){e._clearPages(),e.document=t,e._renderPages(),e.resize(!0),t&&(o=o>=1&&o<=t.total?o:1,e.activatePage(o,!0)),e.pdfScroller&&e.pdfScroller.destroy(),e.pdfScroller=new d.S(e.pageContainer[0].parentNode,{filter:".k-page",events:{}}),e.pdfScroller.enablePanEventsTracking(),u(e.pageContainer,!1)}))},_loadPdfJSDocument:function(e){const o=this,t=o.options,n=t.page;let a;a=e||t.pdfjsProcessing.file,a?("string"==typeof a?a={url:a}:a instanceof ArrayBuffer&&(a={data:a}),o._removeBlankPage(),u(o.pageContainer,!0),o.pdfViewerCommon=new d.a(o.element[0],{loadOnDemand:o.options.pdfjsProcessing.loadOnDemand,loadOnDemandPageSize:1,zoomLevel:o.zoomScale,renderForms:o.options.pdfjsProcessing.renderForms,fileDescriptor:a,events:{pagesLoad:e=>{o.document=e.pdfDoc,o.pages=e.pdfPages,o.options.pdfjsProcessing.renderForms?g(o.pdfViewerCommon,0):g(o.pdfViewerCommon,1),o.activatePage(n,!0),o.trigger(b),o._currentPage>-1&&(o.pdfViewerCommon.scrollToPage({pageNumber:o._currentPage}),o._currentPage=null),u(o.pageContainer,!1)},pageRendered:e=>{o._preventRenderEvent||o.trigger(m,{page:e.page.pdfPage}),o._setPageNumberAttributes(),o._preventRenderEvent=!1},zoomStart:e=>{o._currentPage=o.pdfViewerCommon.getCurrentPageIndex()+1},zoomEnd:e=>{o.zoomScale=e.zoomLevel,o._updateZoomComboBox(e.zoomLevel),o.trigger(x,{scale:e.zoomLevel})},printEnd:e=>{u(o.pageContainerWrapper,!1)},scroll:e=>{e.isPageChanged&&o.trigger(b,{action:v,page:e.pageNumber,total:o.pages.length,pageChangeFromScroll:!0})},error:e=>{o._triggerError({error:e.message,message:o.options.messages.errorMessages.parseError})},annotationEditorToolBarShow:o.onAnnotationEditorToolBarShow.bind(o)}})):o._renderBlankPage()},_enablePanning:function(){this.pdfViewerCommon.documentScroller.enablePanEventsTracking()},_disablePanning:function(){this.pdfViewerCommon.documentScroller.disablePanEventsTracking()},_setPageNumberAttributes:function(){this.pageContainer.find(".k-page").each(((o,t)=>{e(t).attr(n.attr("number"),o+1)}))},loadPage:function(e){const o=this,t=o.pages&&o.pages[e-1];if(t)return o._isDPLProcessor()?t.load(o.zoomScale):Promise.resolve()},activatePage:function(e,o){const t=this;t.pages&&t.pages[e-1]&&(t._pageNum=e,t._isDPLProcessor()?(t._loadVisiblePages(),t._scrollToActivatedPage(e,o)):(t.pdfViewerCommon.activatePageNumber(e),t.trigger(b,{action:v,page:e,total:t.pages.length,updatePager:o})))},_scrollToActivatedPage:function(e,o){const t=this,n=t.pageContainerWrapper;t._preventScroll=!0,d.s(n[0],e-1),t.trigger(b,{action:v,page:e,total:t.pages.length,updatePager:o})},_getVisiblePagesCount:function(){for(var e=this,o=0,t=0,n=e.pageContainer[0].clientHeight,a=0;o<=n&&a<e.pages.length;)o+=e.pages[a].element.height(),t++,a++;e._visiblePagesCount=t},_loadVisiblePages:function(){var e=this.pages&&this.pages.length,o=Math.max(this._pageNum-this._visiblePagesCount,1),t=Math.min(this._pageNum+this._visiblePagesCount,e);this._visiblePages=this.pages.slice(o-1,t);for(var n=o;n<=t;n++)this.loadPage(n)},_loadAllPages:function(){const e=this.pages&&this.pages.length,o=[];for(var t=0;t<=e;t++)o.push(this.loadPage(t));return o},fromFile:function(o){const t=this;if(t._isDPLProcessor())t.zoomScale=t.options.scale||d.D,t.zoom(t.zoomScale,!0),t.trigger(b,{action:"zoom",zoom:t.options.scale||"auto"}),t.processor._updateDocument(o),t._loadDPLDocument();else if(t.pdfViewerCommon){t.annotationsToolbar?.destroy(),c(t.pdfViewerCommon),t.toolbar.toggle("[title='Annotations']",!1),t.toolbar.toggle("[title='Enable Selection']",!1),t.toolbar.toggle("[title='Enable Panning']",!0);const n=e.isPlainObject(o)?o:{url:o};t.pdfViewerCommon.loadFile(n)}else t._loadPdfJSDocument(o)},exportImage:function(e){var o=this,t=e.page,a=o.pages[t-1]||o._blankPage,i=new r.Group;a.load();var s=n.drawing.Path.fromRect(new n.geometry.Rect([0,0],[a.width,a.height]),{fill:{color:"#ffffff"},stroke:null});u(o.pageContainer,!0),i.append(s,a.group),r.exportImage(i).done((function(t){u(o.pageContainer,!1),n.saveAs({dataURI:t,fileName:e.fileName,proxyURL:e.proxyURL||"",forceProxy:e.forceProxy,proxyTarget:e.proxyTarget})}))},exportSVG:function(e){var o=this,t=e.page,a=o.pages[t-1]||o._blankPage;u(o.pageContainer,!0),a.load(),r.exportSVG(a.group).done((function(t){u(o.pageContainer,!1),n.saveAs({dataURI:t,fileName:e.fileName,proxyURL:e.proxyURL||"",forceProxy:e.forceProxy,proxyTarget:e.proxyTarget})}))},setOptions:function(o){var t=this;(o.pdfjsProcessing||o.dplProcessing)&&t._initProcessor(o||{}),o=e.extend(t.options,o),p.fn.setOptions.call(t,o),o.page&&(t._pageNum=o.page,t.activatePage(o.page,!1)),o.width&&t.element.width(o.width),o.height&&t.element.height(o.height)},destroy:function(){this._resizeHandler&&n.unbindResize(this._resizeHandler),this._errorDialog&&this._errorDialog.destroy(),this._saveDialog&&this._saveDialog.destroy(),this._upload&&this._upload.destroy(),this.pager&&this.pager.destroy(),this.toolbar&&(this.toolbar.unbind(),this.toolbar.destroy(),this.toolbar=null),this.pages&&this.pages.length&&this._isDPLProcessor()&&(this.pages.forEach((function(e){e.destroy()})),this.pages=[]),this.pdfScroller&&this.pdfScroller.destroy(),this.pageContainer.off(t),this.pageContainerWrapper.off(t),p.fn.destroy.call(this)},_clearPages:function(){this.pages=[],this.document=null,this._pageNum=1,this.pageContainer.off(t),this.pageContainer.empty(),this.pdfScroller&&this.pdfScroller.destroy()},onAnnotationEditorToolBarShow:function(e){const o=this,t=e.annotationEditorMode,n=e.anchor,a=o.annotationPopup?.popup,i=e.source.firstSelectedEditor;if(!a||!a.visible()||a._closing||"freeText"!==t)switch(o.annotationPopup&&(o.annotationPopup.destroy(),o.annotationPopup.destroyEditor(),o.annotationPopup=null),t){case"highlight":o.annotationPopup=new w(o,n,i);break;case"freeText":o.annotationPopup=new k(o,n,i)}}});a.plugin(L)}(window.kendo.jQuery);var x=kendo;e.__meta__={id:"pdfviewer",name:"PDFViewer",category:"web",description:"PDFViewer to display pdfs in the browser",depends:["core","window","dialog","toolbar","draganddrop","upload","combobox","drawing","binder","dropdownlist","numerictextbox","textbox","pager","form","colorpicker","pdfviewer-common.cmn.chunk"]},e.default=x,Object.defineProperty(e,"__esModule",{value:!0})}));
//# sourceMappingURL=kendo.pdfviewer.min.js.map