UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

1 lines 12.3 kB
module.exports=function(o){var i={};function r(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return o[e].call(t.exports,t,t.exports,r),t.loaded=!0,t.exports}return r.m=o,r.c=i,r.p="",r(0)}({0:function(e,t,o){e.exports=o(1389)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1080:function(e,t){e.exports=require("./kendo.mobile.scroller")},1389:function(e,t,o){var i;o(3),o=[o(1080),o(1390),o(1391),o(1392),o(1393),o(1394),o(1395),o(1396)],void 0===(t="function"==typeof(i=function(){var t={id:"pdfviewer",name:"PDFViewer",category:"web",description:"PDFViewer to display pdfs in the browser",depends:["core","window","dialog","toolbar","mobile.scroller","upload","combobox","drawing","binder","dropdownlist","numerictextbox"]},r=window.kendo.jQuery,a=void 0,e=".kendoPDFViewer",n=window.kendo,c=n.ui,s=r.extend,u=n.drawing,l=r.extend({PLUS:187,MINUS:189,ZERO:48,NUMPAD_ZERO:96},n.keys),d,i=c.Widget,p=n.ui.progress,h="scroll",f,m,_="error",b="focus"+e,w="keydown"+e,P="DOMMouseScroll"+e+" mousewheel"+e,v="update",g=1.25,x="pagechange",C,z,y="ZoomCommand",S="#ffffff",D="tabindex",k={pdfjs:"pdfjs",dpl:"dpl"},o={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=i.extend({init:function(e,t){var o=this;i.fn.init.call(o,e,n.deepExtend({},this.options,t));o._wrapper();if(o.options.toolbar)o._renderToolbar();o._initProcessor(t||{});o._renderPageContainer();o._loadDocument();o._tabindex();n.notify(o,n.ui)},events:["render","open",_,"zoomStart","zoomEnd"],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:false},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,t=e.options;e.wrapper=e.element;e.wrapper.width(t.width).height(t.height).addClass(o.viewer).on(b,e._focus.bind(e)).on(w,e._keydown.bind(e));e._allowResize=e.options.scale===null;e._autoZoomScale=g;e.zoomScale=e.options.scale||e._autoZoomScale;e._resizeHandler=n.onResize(function(){e.resize()});e._pageNum=e.options.page},_focus:function(e){if(this.toolbar)this.toolbar.wrapper.trigger("focus");else this.pageContainer.trigger("focus");e.preventDefault()},_keydown:function(e){var t=[l.PLUS,l.NUMPAD_PLUS],o=[l.MINUS,l.NUMPAD_MINUS],i=[l.ZERO,l.NUMPAD_ZERO],r=false,a={command:y,options:{updateComboBox:true}};if(!e.ctrlKey||this._blankPage||this.processingLib===k.dpl)return;if(t.includes(e.keyCode)){a.options.zoomIn=true;r=true}else if(o.includes(e.keyCode)){a.options.zoomOut=true;r=true}else if(i.includes(e.keyCode)){a.options.scale=g;r=true}if(r){this.execute(a);e.preventDefault()}},_initProcessor:function(e){var t=this,o;o=e.dplProcessing?t.options.dplProcessing:t.options.pdfjsProcessing;t.processingLib=e.dplProcessing?k.dpl:k.pdfjs;t.processor=new n.pdfviewer[t.processingLib].processor(o,t);d=n.pdfviewer[t.processingLib].Page},_renderToolbar:function(){var e=this,t=e.options;var o={pager:{messages:t.messages.toolbar.pager},scale:t.scale,resizable:true,items:t.toolbar.items,width:t.width,action:e.execute.bind(e),messages:t.messages.toolbar,viewer:this};var i=r("<div />");i.appendTo(e.element);e.toolbar=new n.pdfviewer.Toolbar(i,o)},_initErrorDialog:function(e){var t=this;if(!t._errorDialog){e=s(e,{messages:t.options.messages});var o=new n.pdfviewer.dialogs.ErrorDialog(e);t._errorDialog=o._dialog}return t._errorDialog},_renderPageContainer:function(){var e=this;if(!e.pageContainer){e.pageContainer=r("<div />");e.pageContainer.addClass(o.scroller);e.pageContainer.attr(D,0);e.wrapper.append(e.pageContainer)}},_triggerError:function(e){var t=this._initErrorDialog();s(e,{dialog:t});if(this.pageContainer)p(this.pageContainer,false);if(this.trigger(_,e))return;t.open().content(e.message)},_renderPages:function(){var e=this,t=e.document,o;e.pages=[];if(!t||!t.total){e._renderBlankPage();return}o=t.pages;for(var i=1;i<=t.total;i++){var r,a={processor:e.processor,number:i};if(o&&o.length)a=s(a,o[i-1]);r=new d(a,e);e.pages.push(r);e.pageContainer.append(r.element)}e._attachContainerEvents();e._getVisiblePagesCount()},_renderBlankPage:function(){this._blankPage=new d(this.options.defaultPageSize,this);this.pageContainer.append(this._blankPage.element);this.trigger(v,{isBlank:true})},_resize:function(){var e=this,t,o;if(!e._allowResize)return;if(!e.pages||!e.pages.length){if(e._blankPage){o=t/e._blankPage.element.width();e._blankPage.resize(o)}return}if(e.toolbar)e.toolbar.resize(true);if(e._resizeHandler)clearTimeout(e._resizeHandler);e._resizeHandler=setTimeout(e._resizePages.bind(e),100)},_resizePages:function(){var e=this,o=e.pageContainer[0].clientWidth,i=0;e.pages.forEach(function(e){var t=o/e.element.width();if(t>i)i=t});if(e._autoFit){e.zoom(e._autoFit,true);return}i=Math.min(Math.max(i,e.options.zoomMin),g);if(i!=e.zoomScale){e.zoom(i,true);e.zoomScale=i;e._allowResize=true}},_attachContainerEvents:function(){var t=this;t._wheel=n.throttle(t._wheel.bind(t),300);if(t.processingLib!==k.dpl)t.pageContainer.on(P,function(e){if(!e.ctrlKey)return;if(document.activeElement!==t.pageContainer[0])t.pageContainer.trigger("focus");t._wheel(e);e.preventDefault()});t._scroller=new n.mobile.ui.Scroller(t.pageContainer,{zoom:false,elastic:true});t._scroller.scrollElement.addClass(o.enablePanning);t._scroller.bind(h,t._scroll.bind(this))},_scroll:function(g){var e=this,c=e.pageContainer[0].scrollHeight,u=e.pageContainer.height(),t=g.scrollTop,d=e.pageContainer.offset().top,o=e.pages.length,i=e._pageNum,r=i-1,a=i,h,n,s,f,l,m,_,p=t-e._prevScrollTop>0?1:-1;if(e._preventScroll||!o){e._preventScroll=false;return}e._scrollingStarted=true;n=e.pages[r];s=n.element.offset().top-d;f=n.element.height();if(p==-1&&e.pages[r+p]){l=e.pages[r-e._visiblePagesCount]||e.pages[r+p];m=l.element.offset().top-d;_=l.element.height()}if(Math.abs(t-(e._prevScrollTop||0))>u*e.zoomScale)a=Math.floor(t*(1/(c/o)))+1;else if(s<0&&Math.abs(s)>=f/2&&p===1)a++;else if(l&&Math.abs(m)<=_/2)a--;if(i!==a&&a>=1&&a<=o){h=e.pages[a-1].element;if(h.offset().top>u)return;e._pageNum=a;e._loadVisiblePages();e.trigger(v,{action:x,page:a,total:o})}e._prevScrollTop=t},_wheel:function(e){var t=e.originalEvent,o=t.wheelDelta?-t.wheelDelta:t.detail,i=o<0;this.execute({command:y,options:{zoomIn:i,zoomOut:!i,updateComboBox:true}});e.preventDefault()},zoom:function(e,t){var o=this;if(!e)return o.zoomScale;return o.execute({command:y,options:{scale:e,updateComboBox:!t}})},execute:function(e){var t=s({viewer:this},e.options);var o=new n.pdfviewer[e.command](t);return o.exec()},_loadDocument:function(){var t=this;var o=t.options.page;p(t.pageContainer,true);t.processor.fetchDocument().done(function(e){t._clearPages();t.document=e;t._renderPages();t.resize(true);if(e){o=o>=1&&o<=e.total?o:1;t.activatePage(o)}p(t.pageContainer,false)})},loadPage:function(e){var t=this.pages&&this.pages[e-1];if(t)return t.load(this.zoomScale)},activatePage:function(e){var t=this.pages&&this.pages[e-1],o=this._scroller,i,r,a,n;if(!t)return;i=o.scrollTop;r=o.element.offset().top;a=t.element.offset().top;n=!this._autoFit?parseInt(t.element.css("marginTop"),10):0;this._pageNum=e;this._loadVisiblePages();this._preventScroll=true;this._scroller.scrollTo(0,-i-a+r+n);this.trigger(v,{action:x,page:e,total:this.pages.length})},_getVisiblePagesCount:function(){var e=this,t=0,o=0,i=e.pageContainer[0].clientHeight,r=0;while(t<=i&&r<e.pages.length){t+=e.pages[r].element.height();o++;r++}e._visiblePagesCount=o},_loadVisiblePages:function(){var e=this.pages&&this.pages.length,t=Math.max(this._pageNum-this._visiblePagesCount,1),o=Math.min(this._pageNum+this._visiblePagesCount,e);this._visiblePages=this.pages.slice(t-1,o);for(var i=t;i<=o;i++)this.loadPage(i)},_loadAllPages:function(){var e=this.pages&&this.pages.length;var t=[];for(var o=0;o<=e;o++)t.push(this.loadPage(o));return t},fromFile:function(e){this.zoomScale=this.options.scale||g;this.zoom(this.zoomScale,true);this.trigger(v,{action:"zoom",zoom:this.options.scale||"auto"});this.processor._updateDocument(e);this._loadDocument()},exportImage:function(t){var o=this;var e=t.page;var i=o.pages[e-1]||o._blankPage;var r=new u.Group;i.load();var a=n.drawing.Path.fromRect(new n.geometry.Rect([0,0],[i.width,i.height]),{fill:{color:S},stroke:null});p(o.pageContainer,true);r.append(a,i.group);u.exportImage(r).done(function(e){p(o.pageContainer,false);n.saveAs({dataURI:e,fileName:t.fileName,proxyURL:t.proxyURL||"",forceProxy:t.forceProxy,proxyTarget:t.proxyTarget})})},exportSVG:function(t){var o=this;var e=t.page;var i=o.pages[e-1]||o._blankPage;p(o.pageContainer,true);i.load();u.exportSVG(i.group).done(function(e){p(o.pageContainer,false);n.saveAs({dataURI:e,fileName:t.fileName,proxyURL:t.proxyURL||"",forceProxy:t.forceProxy,proxyTarget:t.proxyTarget})})},setOptions:function(e){var t=this;if(e.pdfjsProcessing||e.dplProcessing)t._initProcessor(e||{});e=r.extend(t.options,e);i.fn.setOptions.call(t,e);if(e.page){t._pageNum=e.page;t.activatePage(e.page)}if(e.width)t.element.width(e.width);if(e.height)t.element.height(e.height)},destroy:function(){if(this._resizeHandler)n.unbindResize(this._resizeHandler);if(this._errorDialog)this._errorDialog.destroy();if(this._saveDialog)this._saveDialog.destroy();if(this._upload)this._upload.destroy();if(this.toolbar){this.toolbar.unbind();this.toolbar.destroy();this.toolbar=null}if(this.pages&&this.pages.length){this.pages.forEach(function(e){e.destroy()});this.pages=[]}if(this._scroller){this._scroller.unbind();this._scroller.destroy()}this.pageContainer.off(e);i.fn.destroy.call(this)},_clearPages:function(){this.pages=[];this.document=null;this._pageNum=1;this.pageContainer.off(e);this.pageContainer.empty();if(this._scroller){this._scroller.reset();this._scroller.unbind();this._scroller.destroy()}},_toggleSelection:function(e){var t=this;if(e===a)e=true;t._scroller.userEvents._shouldNotMove=e;t._scroller.scrollElement.toggleClass(o.enableTextSelection,e);t._scroller.scrollElement.toggleClass(o.enablePanning,!e)},_initSearchDOM:function(){var t=this;var e=new Promise(function(e){Promise.all(t._loadAllPages()).then(function(){t._searchDOM=new n.pdfviewer.SearchDOM({target:t._getTextLayers(),highlightClass:o.highlightClass,charClass:o.charClass});e()})});return e},_getTextLayers:function(){return this.pages.map(function(e){return e.textLayer})}});return c.plugin(M),window.kendo})?i.apply(t,o):i)||(e.exports=t)},1390:function(e,t){e.exports=require("./pdfviewer/processors/pdfjs-processor")},1391:function(e,t){e.exports=require("./pdfviewer/processors/dpl-processor")},1392:function(e,t){e.exports=require("./pdfviewer/toolbar")},1393:function(e,t){e.exports=require("./pdfviewer/page")},1394:function(e,t){e.exports=require("./pdfviewer/search")},1395:function(e,t){e.exports=require("./pdfviewer/dialogs")},1396:function(e,t){e.exports=require("./pdfviewer/commands")}});