@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 11.8 kB
JavaScript
module.exports=function(e){function o(a){if(t[a])return t[a].exports;var i=t[a]={exports:{},id:a,loaded:!1};return e[a].call(i.exports,i,i.exports,o),i.loaded=!0,i.exports}var t={};return o.m=e,o.c=t,o.p="",o(0)}({0:function(e,o,t){e.exports=t(1351)},3:function(e,o){e.exports=function(){throw Error("define cannot be used indirect")}},1069:function(e,o){e.exports=require("./kendo.mobile.scroller")},1351:function(e,o,t){var a,i,n;!function(r,define){i=[t(1069),t(1352),t(1353),t(1354),t(1355),t(1356),t(1357),t(1358)],a=r,n="function"==typeof a?a.apply(o,i):a,!(void 0!==n&&(e.exports=n))}(function(){return function(e,o){var t,a=".kendoPDFViewer",i=window.kendo,n=i.ui,r=e.proxy,s=e.extend,l=i.drawing,p=e.extend({PLUS:187,MINUS:189,ZERO:48,NUMPAD_ZERO:96},i.keys),g=n.Widget,c=i.ui.progress,h="scroll",d="render",u="open",f="error",m="focus"+a,_="keydown"+a,v="DOMMouseScroll"+a+" mousewheel"+a,P="update",b=1.25,w="pagechange",x="zoomStart",C="zoomEnd",z="ZoomCommand",y="#ffffff",S="tabindex",D={pdfjs:"pdfjs",dpl:"dpl"},k={viewer:"k-pdf-viewer k-widget",scroller:"k-canvas k-list-scroller",enableTextSelection:"k-enable-text-select",enablePanning:"k-enable-panning",highlightClass:"k-search-highlight",charClass:"k-text-char"},M=g.extend({init:function(e,o){var t=this;g.fn.init.call(t,e,i.deepExtend({},this.options,o)),t._wrapper(),t.options.toolbar&&t._renderToolbar(),t._initProcessor(o||{}),t._renderPageContainer(),t._loadDocument(),t._tabindex(),i.notify(t,i.ui)},events:[d,u,f,x,C],options:{name:"PDFViewer",view:{type:"canvas"},pdfjsProcessing:{file:null},dplProcessing:{read:{url:null,type:"GET",dataType:"json",pageField:"pageNumber"},upload:{url:null,saveField:"file"},download:{url:null},loadOnDemand:!1},toolbar:{items:[]},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"},open:"Open",exportAs:"Export",download:"Download",pager:{first:"Go to the first page",previous:"Go to the previous page",next:"Go to the next page",last:"Go to the last page",of:" of {0} ",page:"page",pages:"pages"},print:"Print",toggleSelection:"Enable Selection",togglePan:"Enable Panning",search:"Search"},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"}}}},_wrapper:function(){var e=this,o=e.options;e.wrapper=e.element,e.wrapper.width(o.width).height(o.height).addClass(k.viewer).on(m,r(e._focus,e)).on(_,r(e._keydown,e)),e._allowResize=null===e.options.scale,e._autoZoomScale=b,e.zoomScale=e.options.scale||e._autoZoomScale,e._resizeHandler=i.onResize(function(){e.resize()}),e._pageNum=e.options.page},_focus:function(e){this.toolbar?this.toolbar.wrapper.focus():this.pageContainer.focus(),e.preventDefault()},_keydown:function(e){var o=[p.PLUS,p.NUMPAD_PLUS],t=[p.MINUS,p.NUMPAD_MINUS],a=[p.ZERO,p.NUMPAD_ZERO],i=!1,n={command:z,options:{updateComboBox:!0}};e.ctrlKey&&!this._blankPage&&this.processingLib!==D.dpl&&(o.includes(e.keyCode)?(n.options.zoomIn=!0,i=!0):t.includes(e.keyCode)?(n.options.zoomOut=!0,i=!0):a.includes(e.keyCode)&&(n.options.scale=b,i=!0),i&&(this.execute(n),e.preventDefault()))},_initProcessor:function(e){var o,a=this;o=e.dplProcessing?a.options.dplProcessing:a.options.pdfjsProcessing,a.processingLib=e.dplProcessing?D.dpl:D.pdfjs,a.processor=new i.pdfviewer[a.processingLib].processor(o,a),t=i.pdfviewer[a.processingLib].Page},_renderToolbar:function(){var o=this,t=o.options,a={pager:{messages:t.messages.toolbar.pager},scale:t.scale,resizable:!0,items:t.toolbar.items,width:t.width,action:o.execute.bind(o),messages:t.messages.toolbar,viewer:this},n=e("<div />");n.appendTo(o.element),o.toolbar=new i.pdfviewer.Toolbar(n,a)},_initErrorDialog:function(e){var o,t=this;return t._errorDialog||(e=s(e,{messages:t.options.messages}),o=new i.pdfviewer.dialogs.ErrorDialog(e),t._errorDialog=o._dialog),t._errorDialog},_renderPageContainer:function(){var o=this;o.pageContainer||(o.pageContainer=e("<div />"),o.pageContainer.addClass(k.scroller),o.pageContainer.attr(S,0),o.wrapper.append(o.pageContainer))},_triggerError:function(e){var o=this._initErrorDialog();s(e,{dialog:o}),this.pageContainer&&c(this.pageContainer,!1),this.trigger(f,e)||o.open().content(e.message)},_renderPages:function(){var e,a,i,n,r=this,l=r.document;if(r.pages=[],!l||!l.total)return r._renderBlankPage(),o;for(e=l.pages,a=1;a<=l.total;a++)n={processor:r.processor,number:a},e&&e.length&&(n=s(n,e[a-1])),i=new t(n,r),r.pages.push(i),r.pageContainer.append(i.element);r._attachContainerEvents(),r._getVisiblePagesCount()},_renderBlankPage:function(){this._blankPage=new t(this.options.defaultPageSize,this),this.pageContainer.append(this._blankPage.element),this.trigger(P,{isBlank:!0})},_resize:function(){var e,t,a=this;if(a._allowResize){if(!a.pages||!a.pages.length)return a._blankPage&&(t=e/a._blankPage.element.width(),a._blankPage.resize(t)),o;a.toolbar&&a.toolbar.resize(!0),a._resizeHandler&&clearTimeout(a._resizeHandler),a._resizeHandler=setTimeout(a._resizePages.bind(a),100)}},_resizePages:function(){var e=this,t=e.pageContainer[0].clientWidth,a=0;return e.pages.forEach(function(e){var o=t/e.element.width();o>a&&(a=o)}),e._autoFit?(e.zoom(e._autoFit,!0),o):(a=Math.min(Math.max(a,e.options.zoomMin),b),a!=e.zoomScale&&(e.zoom(a,!0),e.zoomScale=a,e._allowResize=!0),o)},_attachContainerEvents:function(){var e=this;e._wheel=i.throttle(e._wheel.bind(e),300),e.processingLib!==D.dpl&&e.pageContainer.on(v,function(o){o.ctrlKey&&(document.activeElement!==e.pageContainer[0]&&e.pageContainer.focus(),e._wheel(o),o.preventDefault())}),e._scroller=new i.mobile.ui.Scroller(e.pageContainer,{zoom:!1,elastic:!0}),e._scroller.scrollElement.addClass(k.enablePanning),e._scroller.bind(h,r(e._scroll,this))},_scroll:function(e){var t,a,i,n,r,s,l,p=this,g=p.pageContainer[0].scrollHeight,c=p.pageContainer.height(),h=e.scrollTop,d=p.pageContainer.offset().top,u=p.pages.length,f=p._pageNum,m=f-1,_=f,v=h-p._prevScrollTop>0?1:-1;if(p._preventScroll||!u)return p._preventScroll=!1,o;if(p._scrollingStarted=!0,a=p.pages[m],i=a.element.offset().top-d,n=a.element.height(),v==-1&&p.pages[m+v]&&(r=p.pages[m-p._visiblePagesCount]||p.pages[m+v],s=r.element.offset().top-d,l=r.element.height()),Math.abs(h-(p._prevScrollTop||0))>c*p.zoomScale?_=Math.floor(h*(1/(g/u)))+1:i<0&&Math.abs(i)>=n/2&&1===v?_++:r&&Math.abs(s)<=l/2&&_--,f!==_&&_>=1&&_<=u){if(t=p.pages[_-1].element,t.offset().top>c)return;p._pageNum=_,p._loadVisiblePages(),p.trigger(P,{action:w,page:_,total:u})}p._prevScrollTop=h},_wheel:function(e){var o=e.originalEvent,t=o.wheelDelta?-o.wheelDelta:o.detail,a=t<0;this.execute({command:z,options:{zoomIn:a,zoomOut:!a,updateComboBox:!0}}),e.preventDefault()},zoom:function(e,o){var t=this;return e?t.execute({command:z,options:{scale:e,updateComboBox:!o}}):t.zoomScale},execute:function(e){var o=s({viewer:this},e.options),t=new i.pdfviewer[e.command](o);return t.exec()},_loadDocument:function(){var e=this,o=e.options.page;c(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)),c(e.pageContainer,!1)})},loadPage:function(e){var o=this.pages&&this.pages[e-1];if(o)return o.load(this.zoomScale)},activatePage:function(e){var o,t,a,i,n=this.pages&&this.pages[e-1],r=this._scroller;n&&(o=r.scrollTop,t=r.element.offset().top,a=n.element.offset().top,i=this._autoFit?0:parseInt(n.element.css("marginTop"),10),this._pageNum=e,this._loadVisiblePages(),this._preventScroll=!0,this._scroller.scrollTo(0,-o-a+t+i),this.trigger(P,{action:w,page:e,total:this.pages.length}))},_getVisiblePagesCount:function(){for(var e=this,o=0,t=0,a=e.pageContainer[0].clientHeight,i=0;o<=a&&i<e.pages.length;)o+=e.pages[i].element.height(),t++,i++;e._visiblePagesCount=t},_loadVisiblePages:function(){var e,o=this.pages&&this.pages.length,t=Math.max(this._pageNum-this._visiblePagesCount,1),a=Math.min(this._pageNum+this._visiblePagesCount,o);for(this._visiblePages=this.pages.slice(t-1,a),e=t;e<=a;e++)this.loadPage(e)},_loadAllPages:function(){var e,o=this.pages&&this.pages.length,t=[];for(e=0;e<=o;e++)t.push(this.loadPage(e));return t},fromFile:function(e){this.zoomScale=this.options.scale||b,this.zoom(this.zoomScale,!0),this.trigger(P,{action:"zoom",zoom:this.options.scale||"auto"}),this.processor._updateDocument(e),this._loadDocument()},exportImage:function(e){var o,t=this,a=e.page,n=t.pages[a-1]||t._blankPage,r=new l.Group;n.load(),o=i.drawing.Path.fromRect(new i.geometry.Rect([0,0],[n.width,n.height]),{fill:{color:y},stroke:null}),c(t.pageContainer,!0),r.append(o,n.group),l.exportImage(r).done(function(o){c(t.pageContainer,!1),i.saveAs({dataURI:o,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;c(o.pageContainer,!0),a.load(),l.exportSVG(a.group).done(function(t){c(o.pageContainer,!1),i.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),g.fn.setOptions.call(t,o),o.page&&(t._pageNum=o.page,t.activatePage(o.page)),o.width&&t.element.width(o.width),o.height&&t.element.height(o.height)},destroy:function(){this._resizeHandler&&i.unbindResize(this._resizeHandler),this._errorDialog&&this._errorDialog.destroy(),this._saveDialog&&this._saveDialog.destroy(),this._upload&&this._upload.destroy(),this.toolbar&&(this.toolbar.unbind(),this.toolbar.destroy(),this.toolbar=null),this.pages&&this.pages.length&&(this.pages.forEach(function(e){e.destroy()}),this.pages=[]),this._scroller&&(this._scroller.unbind(),this._scroller.destroy()),this.pageContainer.off(a),g.fn.destroy.call(this)},_clearPages:function(){this.pages=[],this.document=null,this._pageNum=1,this.pageContainer.off(a),this.pageContainer.empty(),this._scroller&&(this._scroller.reset(),this._scroller.unbind(),this._scroller.destroy())},_toggleSelection:function(e){var t=this;e===o&&(e=!0),t._scroller.userEvents._shouldNotMove=e,t._scroller.scrollElement.toggleClass(k.enableTextSelection,e),t._scroller.scrollElement.toggleClass(k.enablePanning,!e)},_initSearchDOM:function(){var e=this,o=new Promise(function(o){Promise.all(e._loadAllPages()).then(function(){e._searchDOM=new i.pdfviewer.SearchDOM({target:e._getTextLayers(),highlightClass:k.highlightClass,charClass:k.charClass}),o()})});return o},_getTextLayers:function(){return this.pages.map(function(e){return e.textLayer})}});n.plugin(M)}(window.kendo.jQuery),window.kendo},t(3))},1352:function(e,o){e.exports=require("./pdfviewer/processors/pdfjs-processor")},1353:function(e,o){e.exports=require("./pdfviewer/processors/dpl-processor")},1354:function(e,o){e.exports=require("./pdfviewer/toolbar")},1355:function(e,o){e.exports=require("./pdfviewer/page")},1356:function(e,o){e.exports=require("./pdfviewer/search")},1357:function(e,o){e.exports=require("./pdfviewer/dialogs")},1358:function(e,o){e.exports=require("./pdfviewer/commands")}});