@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 4.68 kB
JavaScript
module.exports=function(e){function t(n){if(r[n])return r[n].exports;var i=r[n]={exports:{},id:n,loaded:!1};return e[n].call(i.exports,i,i.exports,t),i.loaded=!0,i.exports}var r={};return t.m=e,t.c=r,t.p="",t(0)}({0:function(e,t,r){r(1580),e.exports=r(1580)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},1571:function(e,t){e.exports=require("../kendo.drawing")},1580:function(e,t,r){var n,i,a;!function(o,define){i=[r(1571)],n=o,a="function"==typeof n?n.apply(t,i):n,!(void 0!==a&&(e.exports=a))}(function(){return function(e,t){var r=e.extend,n=e.noop,i=kendo.drawing,a=i.Group,o=i.Surface,s="render",h=kendo.Class,d={Path:"path",MultiPath:"multipath",Rect:"rect",Image:"image",Text:"text"},c=h.extend({init:function(t,r){this.viewer=r,this.processor=t.processor,this.options=t,this.pageNumber=t.number,this.element=e("<div class='k-page' />"),this.element.attr(kendo.attr("number"),this.pageNumber),this._updatePageSize(t),this.width=t.width,this.height=t.height},resize:function(e){var t=this.element;this._updatePageSize({width:Math.min(t.width()*e,this.width),height:Math.min(t.height()*e,this.height)})},_updatePageSize:function(e){this.element.width(e.width).height(e.height)},destroy:function(){kendo.destroy(this.element)},render:n}),p=c.extend({draw:function(){var e=this,t=e.options.geometries;e.group=new a,e.surface.draw(e.group),e._drawGeometries(t),e.viewer.trigger(s,{page:this}),kendo.ui.progress(e.element,!1)},load:function(){var e=this;!e.loaded&&e.processor&&(e.processor.fetchPageData(e.pageNumber).then(function(t){e.options=t,e._initSurface(),e.draw()}),e.loaded=!0)},_initSurface:function(){var e={width:this.element.width(),height:this.element.height()},t=r({width:this.width,height:this.height},this.viewer.options.view);this.surface=new o(this.element,t),this._updatePageSize(e)},_drawGeometries:function(e){var t,r,n,i=this;if(e)for(r=0;r<=e.length;r++)if(n=e[r]){switch(n.type){case d.Path:case d.MultiPath:t=i._drawPath(n);break;case d.Rect:t=i._drawRect(n);break;case d.Image:t=i._drawImage(n);break;case d.Text:t=i._drawText(n);break;default:t=null}t&&i.group.append(t)}},_drawRect:function(e){var t=new kendo.geometry.Rect(e.point,e.size);return new i.Rect(t,{transform:this._getMatrix(e.transform),fill:e.fillOptions,stroke:e.strokeOptions})},_drawImage:function(e){var t=new kendo.geometry.Rect(e.point,e.size);return new i.Image(e.src,t,{transform:this._getMatrix(e.transform)})},_drawText:function(e){var t={transform:this._getMatrix(e.transform),stroke:e.strokeOptions,fill:e.fillOptions,font:e.font};return new kendo.drawing.Text(e.content,e.point,t)},_drawPath:function(e){var t,r,n,a,o,s={transform:this._getMatrix(e.transform),stroke:e.strokeOptions,fill:e.fillOptions},h=new i.MultiPath(s);for(t=0;t<e.paths.length;t++){if(r=e.paths[t],!r.segments)return;for(h.moveTo.apply(h,r.point),n=0;n<r.segments.length;n++)a=r.segments[n],o=1===a.points.length?h.lineTo:h.curveTo,o.apply(h,a.points);r.closed&&h.close()}return h},_getMatrix:function(e){var t=Object.create(kendo.geometry.Matrix.prototype);return kendo.geometry.Matrix.apply(t,e),t}}),g=c.extend({init:function(t,r){var n,i=this;n=e("<canvas style='width: 100%; height: 100%;' />"),i.canvas=n.get(0),c.fn.init.call(i,t,r),i.canvas.width=i.width,i.canvas.height=i.height,i.element.append(n)},load:function(t,r){var n=this,i=e.Deferred();if(n._scale!==t||r)return n._scale&&n._scale!==t&&!r?(n._scale=t,n.render(t),i.resolve(n)):(n.processor&&n.processor.fetchPageData(n.pageNumber).then(function(e){n._page=e,n._renderPromise=n.render(t).then(function(){n.viewer.trigger(s,{page:n})}),i.resolve(n)}),n._scale=t,n.loaded=!0,i)},render:function(e){var t=this,r=this.canvas.getContext("2d"),n=this._page.getViewport({scale:e});return this._scale=e,this.canvas.width=n.width,this.canvas.height=n.height,this._renderTask&&(this._renderTask.cancel(),this._renderTask=null),this._updatePageSize({width:n.width,height:n.height}),this._renderTask=this._page.render({canvasContext:r,viewport:n}),this._renderTextLayer(n),this._renderTask.promise.then(function(){t._renderTask=null})["catch"](function(){})},_renderTextLayer:function(t){var r=this,n=r._page;r.textLayer&&r.textLayer.remove(),r.textLayer=e("<div class='k-text-layer'></div>").get(0),r.element.append(r.textLayer),n.getTextContent({normalizeWhitespace:!0}).then(function(n){e(r.textLayer).css({height:t.height,width:t.width}).html("");var i={textContent:n,container:r.textLayer,viewport:t,textDivs:[],enhanceTextSelection:!0};r.processor.renderTextLayer(i)})}});r(kendo.pdfviewer.dpl,{geometryTypes:d,Page:p}),r(kendo.pdfviewer.pdfjs,{Page:g})}(window.kendo.jQuery),window.kendo},r(3))}});