UNPKG

@progress/kendo-ui

Version:

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

1 lines 13.2 kB
module.exports=function(r){var o={};function n(e){if(o[e])return o[e].exports;var t=o[e]={exports:{},id:e,loaded:!1};return r[e].call(t.exports,t,t.exports,n),t.loaded=!0,t.exports}return n.m=r,n.c=o,n.p="",n(0)}({0:function(e,t,r){e.exports=r(1719)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},958:function(e,t){e.exports=require("../util/text-metrics")},973:function(e,t){e.exports=require("./range")},1697:function(e,t){e.exports=require("./sheet")},1712:function(e,t){e.exports=require("./references")},1719:function(e,t,r){var o;r(3),r=[r(1720),r(1697),r(973),r(1712),r(1721),r(958)],void 0===(t="function"==typeof(o=function(){"use strict";var c=kendo.spreadsheet,z=c.CellRef,C=kendo.drawing,p=c.formatting,E=kendo.geometry,S=.8,a;function k(e,r,o,n,i){var a=0;var l=[];var f=r;var c=0;if(r&&o)o*=r;e.forEach(function(e,t){if(n!=null&&t<n)c+=e;if(r&&a+e>f){if(f-a<o){a=r*Math.ceil(a/r)+c;if(c>0)i.push(a-c)}f+=r*Math.ceil(e/r)}l.push(a);a+=e});l.push(a);return l}function d(d,s,u){var e=d._grid;s=e.normalize(s);var r=e.rectangle(s);var b=[];d._drawings.forEach(function(e){var t=d.drawingBoundingBox(e);if(t.intersects(r))b.push({drawing:e,box:t.offset(-r.left,-r.top)})});var p=[];var h=[];var g=[];var m=d._getMergedCells(s);var v=-1,w=-1;d.forEach(s,function(r,o,e){var t=r-s.topLeft.row;var n=o-s.topLeft.col;var i=d.rowHeight(r);var a=d.columnWidth(o);if(!u.forScreen)e.drawings=b.filter(function(e){var t=e.drawing.topLeftCell;if(t&&t.row==r&&t.col==o){v=Math.max(v,d._rows.index(e.box.bottom));w=Math.max(w,d._columns.index(e.box.right));return true}});if(!n)h.push(i);if(!t)g.push(a);var l=new z(r,o).print();if(m.secondary[l])return;e.row=t;e.col=n;var f=m.primary[l];if(f){delete m.primary[l];e.merged=true;e.rowspan=f.height();e.colspan=f.width();if(u.forScreen){e.width=d._columns.sum(f.topLeft.col,f.bottomRight.col);e.height=d._rows.sum(f.topLeft.row,f.bottomRight.row)}}else{e.rowspan=1;e.colspan=1}if(!d._grid._columns.sum(o,o+e.colspan-1)||!d._grid._rows.sum(r,r+e.rowspan-1))return;var c=u.forScreen||T(e);if(!(u.emptyCells||c))return;if(c){v=Math.max(v,t+e.rowspan-1);w=Math.max(w,n+e.colspan-1)}else e.empty=true;p.push(e)});if(!u.forScreen){h=h.slice(0,v+1);g=g.slice(0,w+1)}var t=u.pageWidth;var o=u.pageHeight;var n=u.scale||1;if(u.fitWidth){var i=g.reduce(M,0);if(i>t)n=t/i}t=Math.ceil(t/n);o=Math.ceil(o/n);var l=[];var a=k(h,o||0,u.maxEmpty,u.headerRows,l);var f=k(g,t||0,u.maxEmpty);var c=0;var x=0;var y=[];p=p.filter(function(r){if(r.empty&&(r.row>v||r.col>w))return false;if(u.headerRows&&r.row<u.headerRows)y.push(r);r.left=f[r.col];r.top=a[r.row];if(r.merged)if(!u.forScreen){r.right=_(f,r.col+r.colspan);r.bottom=_(a,r.row+r.rowspan);r.width=r.right-r.left;r.height=r.bottom-r.top}else{r.right=r.left+r.width;r.bottom=r.top+r.height}else{r.width=g[r.col];r.height=h[r.row];r.bottom=r.top+r.height;r.right=r.left+r.width}if(!u.forScreen)r.drawings.forEach(function(e){var t=e.box;t.left=r.left+e.drawing.offsetX;t.top=r.top+e.drawing.offsetY;t.right=t.left+t.width;t.bottom=t.top+t.height});c=Math.max(c,r.right);x=Math.max(x,r.bottom);return true});Object.keys(m.primary).forEach(function(e){var i=m.primary[e];d.forEach(i.topLeft.toRangeRef(),function(e,t,r){var o=e-s.topLeft.row;var n=t-s.topLeft.col;r.merged=true;r.colspan=i.width();r.rowspan=i.height();if(o<0)r.top=-d._rows.sum(e,e-o-1);else r.top=a[o];if(n<0)r.left=-d._columns.sum(t,t-n-1);else r.left=f[n];r.height=d._rows.sum(i.topLeft.row,i.bottomRight.row);r.width=d._columns.sum(i.topLeft.col,i.bottomRight.col);if(r.height>0&&r.width>0){r.right=r.left+r.width;r.bottom=r.top+r.height;r.row=o;r.col=n;p.push(r)}})});if(u.headerRows){l.forEach(function(t){y.forEach(function(e){e=R(e);e.top+=t;e.bottom=e.top+e.height;p.push(e)});a.push(t)});a.sort(L)}return{width:c,height:x,cells:p.sort(B),scale:n,xCoords:f,yCoords:a,drawings:b}}function R(r,e){if(!e)e={};if(Object.assign)return Object.assign(e,r);return Object.keys(r).reduce(function(e,t){e[t]=r[t];return e},e)}function s(e,t){return e.size===t.size&&e.color===t.color}function M(e,t){return e+t}function _(e,t){return t<e.length?e[t]:e[e.length-1]}function T(e){return e.value!=null||e.merged||e.background!=null||e.borderRight!=null||e.borderBottom!=null||e.validation!=null&&!e.validation.value||e.drawings&&e.drawings.length}function B(e,t){if(e.top<t.top)return-1;else if(e.top==t.top)if(e.left<t.left)return-1;else if(e.left==t.left)return 0;else return 1;else return 1}function L(e,t){return e<t?-1:e>t?1:0}function h(v,w,b,x){var e=Math.ceil(w.width/x.pageWidth);var t=Math.ceil(w.height/x.pageHeight);var y=Math.ceil(x.pageWidth/w.scale);var k=Math.ceil(x.pageHeight/w.scale);for(var r=0;r<t;++r)for(var o=0;o<e;++o)n(r,o);function n(d,s){var t=s*y;var r=t+y;var o=d*k;var n=o+k;var i=0,a=0;function u(e){if(e.right<=t||e.left>=r||e.bottom<=o||e.top>=n)return false;i=Math.max(e.bottom,i);a=Math.max(e.right,a);return true}var p=w.cells.filter(u);var h=w.drawings.filter(function(e){return u(e.box)});i=Math.min(i,n);a=Math.min(a,r);if(p.length||h.length){var g=new C.Group;b.append(g);var l=new C.Group;g.append(l);l.clip(C.Path.fromRect(new E.Rect([t-1,o-1],[a+1,i+1])));var e=E.Matrix.scale(w.scale,w.scale).multiplyCopy(E.Matrix.translate(-t,-o));if(x.hCenter||x.vCenter)e=e.multiplyCopy(E.Matrix.translate(x.hCenter?(r-a)/2:0,x.vCenter?(n-i)/2:0));l.transform(e);if(x.guidelines){var f=null;w.xCoords.forEach(function(e){e=Math.min(e,a);if(e!==f&&e>=t&&e<=r){f=e;l.append((new C.Path).moveTo(e,o).lineTo(e,i).close().stroke(x.guideColor,S))}});var f=null;w.yCoords.forEach(function(e){e=Math.min(e,i);if(e!==f&&e>=o&&e<=n){f=e;l.append((new C.Path).moveTo(t,e).lineTo(a,e).close().stroke(x.guideColor,S))}})}var c=A();p.forEach(function(e){W(e,l,x);c.add(e,v)});var m=new C.Group;c.vert.forEach(function(e){e.forEach(function(e){if(!e.rendered){e.rendered=true;m.append((new C.Path).moveTo(e.x,e.top).lineTo(e.x,e.bottom).close().stroke(e.color,e.size))}})});c.horiz.forEach(function(e){e.forEach(function(e){if(!e.rendered){e.rendered=true;m.append((new C.Path).moveTo(e.left,e.y).lineTo(e.right,e.y).close().stroke(e.color,e.size))}})});l.append(m);h.forEach(function(e){var t=e.drawing;var r=t.image;if(r!=null){var o=e.box;var n=v._workbook.imageUrl(r);l.append(new C.Image(n,new E.Rect([o.left,o.top],[o.width,o.height])).opacity(t.opacity))}})}}}function W(e,t,d){var r=new C.Group;t.append(r);var o=new E.Rect([e.left,e.top],[e.width,e.height]);if(e.background||e.merged){var n=o;if(d.guidelines){n=o.clone();n.origin.x+=S/2+.1;n.origin.y+=S/2+.1;n.size.width-=S+.2;n.size.height-=S+.2}r.append(new C.Rect(n).fill(e.background||"#fff").stroke(null))}var i=e.value;if(i!=null){var a=typeof i=="number"?"number":null;var l=new C.Group;l.clip(C.Path.fromRect(o));r.append(l);var f,c=e.format;if(!c&&a=="number"&&i!=Math.floor(i))c="0.##############";if(c){f=p.textAndColor(i,c);i=f.text;if(f.type)a=f.type}else i+="";if(!e.textAlign)switch(a){case"number":case"date":case"percent":case"currency":e.textAlign="right";break;case"boolean":e.textAlign="center";break}g(i,f&&f.color||e.color||"#000",e,l)}}function l(e,t){if(e.indent){var r=1.4*e.indent;switch(t.textAlign){case null:case"left":t.paddingLeft=r+"ch";break;case"right":t.paddingRight=r+"ch";break;case"center":t.paddingLeft=r/2+"ch";t.paddingRight=r/2+"ch";break}}}function g(e,t,r,o){if(!a){a=document.createElement("div");a.style.position="fixed";a.style.left="0px";a.style.top="0px";a.style.visibility="hidden";a.style.overflow="hidden";a.style.boxSizing="border-box";a.style.lineHeight="normal";document.body.appendChild(a)}if(a.firstChild)a.removeChild(a.firstChild);a.style.padding="2px 4px";a.style.color=t;a.style.font=f(r);a.style.width=r.width+"px";a.style.textAlign=r.textAlign||"left";a.style.textDecoration=r.underline?"underline":"none";l(r,a.style);if(r.wrap){a.style.whiteSpace="pre-wrap";a.style.overflowWrap=a.style.wordWrap="break-word"}else{a.style.whiteSpace="pre";a.style.overflowWrap=a.style.wordWrap="normal"}a.appendChild(document.createTextNode(e));var n=0;switch(r.verticalAlign){case"center":n=r.height-a.offsetHeight>>1;break;case undefined:case null:case"bottom":n=r.height-a.offsetHeight;break}if(n<0)n=0;var i=kendo.drawing.drawDOM.drawText(a);i.transform(E.Matrix.translate(r.left,r.top+n));o.append(i)}function f(e){var t=[];if(e.italic)t.push("italic");if(e.bold)t.push("bold");t.push((e.fontSize||12)+"px");t.push(e.fontFamily||"Arial");return t.join(" ")}function n(e,t,r,o){if(r==null&&o==null){o=t;r={};t=c.SHEETREF}if(o==null){o=r;if(t instanceof c.Range||t instanceof c.Ref||typeof t=="string")r={};else{r=t;t=c.SHEETREF}}r=kendo.jQuery.extend({paperSize:"A4",landscape:true,margin:"1cm",guidelines:true,guideColor:"#aaa",emptyCells:true,fitWidth:false,center:false,headerRows:null,maxEmpty:.2,scale:1},r);var n=new C.Group;var i=kendo.pdf.getPaperOptions(r);n.options.set("pdf",{author:r.author,creator:r.creator,date:r.date,keywords:r.keywords,margin:i.margin,multiPage:true,paperSize:i.paperSize,subject:r.subject,title:r.title,autoPrint:r.autoPrint});var a=i.paperSize[0];var l=i.paperSize[1];if(i.margin){a-=i.margin.left+i.margin.right+1;l-=i.margin.top+i.margin.bottom+1}r.pageWidth=a;r.pageHeight=l;var f=d(e,e._ref(t),r);h(e,f,n,r);o(n)}function u(){}function A(){var f=new u;var c=new u;function e(e,t){if(t){var r=t._properties;var o=t._grid;e.borderLeft=r.get("vBorders",o.index(e.row,e.col));e.borderRight=r.get("vBorders",o.index(e.row,e.col+e.colspan));e.borderTop=r.get("hBorders",o.index(e.row,e.col));e.borderBottom=r.get("hBorders",o.index(e.row+e.rowspan,e.col))}if(e.borderLeft)n(e.row,e.col,e.borderLeft,e.left,e.top,e.bottom);if(e.borderRight)n(e.row,e.col+e.colspan,e.borderRight,e.right,e.top,e.bottom);if(e.borderTop)i(e.row,e.col,e.borderTop,e.top,e.left,e.right);if(e.borderBottom)i(e.row+e.rowspan,e.col,e.borderBottom,e.bottom,e.left,e.right)}function n(e,t,r,o,n,i){var a=c[t]||(c[t]=new u);var l=e>0&&a[e-1];if(l&&s(l,r)){a[e]=l;l.bottom=i}else a[e]={size:r.size,color:r.color,x:o,top:n,bottom:i}}function i(e,t,r,o,n,i){var a=f[e]||(f[e]=new u);var l=t>0&&a[t-1];if(l&&s(l,r)){a[t]=l;l.right=i}else a[t]={size:r.size,color:r.color,y:o,left:n,right:i}}return{add:e,horiz:f,vert:c}}function e(a){var l=new $.Deferred;var e=l.promise();a=R(a,{dataSource:null,guidelines:true,guideColor:"#000",columns:null,headerBackground:"#999",headerColor:"#000",oddBackground:null,evenBackground:null,fontFamily:"Arial",fontSize:12,paperSize:"A4",margin:"1cm",landscape:true,fitWidth:false,scale:1,rowHeight:20,maxEmpty:1,useGridFormat:true});kendo.drawing.pdf.defineFont(kendo.drawing.drawDOM.getFontFaces(document));var o=r(a.fontFamily,a.fontSize);function f(e){if(e!=null){var t=12;for(var r=e.length;--r>=0;)t+=o(e.charAt(r));return t}return 0}var t=a.guidelines?{size:1,color:a.guideColor}:null;function c(e){if(!t)return e;return R(e,{borderLeft:t,borderTop:t,borderRight:t,borderBottom:t})}a.dataSource.fetch(function(){var e=a.dataSource.data();if(!e.length)return l.reject("Empty dataset");var t=a.columns.map(function(e){if(typeof e=="string")return{title:e,field:e};else return e});var r=t.map(function(e){return e.title||e.field});var i=r.map(f);var o=e.map(function(o,n){return{cells:t.map(function(e,t){var r=o[e.field];if(a.useGridFormat){if(r!=null)if(e.format)r=kendo.format(e.format,r);else r+="";i[t]=Math.max(f(r),i[t])}return c({value:r,format:a.useGridFormat?null:e.format,background:n%2?a.evenBackground:a.oddBackground})})}});o.unshift({cells:r.map(function(e){return c({value:e,background:a.headerBackground,color:a.headerColor})})});var n=new kendo.spreadsheet.Sheet(o.length+1,t.length+1,a.rowHeight,50,20,20,{fontFamily:a.fontFamily,fontSize:a.fontSize,verticalAlign:"center"});n.fromJSON({name:"Sheet1",rows:o,columns:i.map(function(e,t){return{index:t,width:e}})});n.draw({paperSize:a.paperSize,landscape:a.landscape,margin:a.margin,guidelines:false,scale:a.scale,fitWidth:a.fitWidth,maxEmpty:a.maxEmpty,headerRows:1},l.resolve.bind(l))});return e}c.Sheet.prototype.draw=function(e,t,r){var o=this;if(o._workbook)o.recalc(o._workbook._context,function(){n(o,e,t,r)});else n(o,e,t,r)},u.prototype={forEach:function(t){Object.keys(this).forEach(function(e){t(this[e],e,this)},this)}};var m={},r=function(e,t){var r=t+":"+e;var o=m[r];if(!o){var n,i=document.createElement("div");i.style.position="fixed";i.style.left="-10000px";i.style.top="-10000px";i.style.fontFamily=e;i.style.fontSize=t+"px";i.style.whiteSpace="pre";for(var a=32;a<128;++a){n=document.createElement("span");n.appendChild(document.createTextNode(String.fromCharCode(a)));i.appendChild(n)}document.body.appendChild(i);var l={};for(a=32,n=i.firstChild;a<128&&n;++a,n=n.nextSibling)l[a]=n.offsetWidth;while(n=i.firstChild)i.removeChild(n);o=m[r]=function(e){var t=e.charCodeAt(0);var r=l[t];if(r==null){n=document.createElement("span");n.appendChild(document.createTextNode(String.fromCharCode(t)));i.appendChild(n);r=l[t]=n.offsetWidth;i.removeChild(n)}return r}}return o};c.draw={Borders:A,doLayout:d,applyIndent:l},c.drawTabularData=e})?o.apply(t,r):o)||(e.exports=t)},1720:function(e,t){e.exports=require("../kendo.pdf")},1721:function(e,t){e.exports=require("./numformat")}});