@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 18.7 kB
JavaScript
module.exports=function(n){var e={};function r(t){if(e[t])return e[t].exports;var i=e[t]={exports:{},id:t,loaded:!1};return n[t].call(i.exports,i,i.exports,r),i.loaded=!0,i.exports}return r.m=n,r.c=e,r.p="",r(0)}({0:function(t,i,n){t.exports=n(915)},3:function(t,i){t.exports=function(){throw Error("define cannot be used indirect")}},893:function(t,i){t.exports=require("../../kendo.drawing")},911:function(t,i){t.exports=require("./math")},915:function(t,i,n){var e;n(3),n=[n(893),n(911)],void 0===(i="function"==typeof(e=function(){var c=window.kendo.jQuery,u=void 0,n=window.kendo,i=n.dataviz.diagram,t=n.Class,h=n.deepExtend,d=i.Point,p=i.Rect,w=i.Matrix,_=i.Utils,v=_.isNumber,m=_.isString,g=i.MatrixVector,o=n.geometry,s=n.drawing,a=s.util.defined,x=c.inArray,y="transparent",k={none:"none",arrowStart:"ArrowStart",filledCircle:"FilledCircle",arrowEnd:"ArrowEnd"},E=360,f="start",M="end",S="width",C="height",z="x",P="y";function T(t,i){var n=this.options;var e=false;var r,s;for(var a=0;a<i.length;a++){s=i[a];r=t[s];if(v(r)&&n[s]!==r){n[s]=r;e=true}}return e}i.Markers=k;var B=t.extend({init:function(t,i){this.x=t;this.y=i},toMatrix:function(){return w.scaling(this.x,this.y)},toString:function(){return n.format("scale({0},{1})",this.x,this.y)},invert:function(){return new B(1/this.x,1/this.y)}}),O=t.extend({init:function(t,i){this.x=t;this.y=i},toMatrixVector:function(){return new g(0,0,0,0,this.x,this.y)},toMatrix:function(){return w.translation(this.x,this.y)},toString:function(){return n.format("translate({0},{1})",this.x,this.y)},plus:function(t){this.x+=t.x;this.y+=t.y},times:function(t){this.x*=t;this.y*=t},length:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},normalize:function(){if(this.Length===0)return;this.times(1/this.length())},invert:function(){return new O(-this.x,-this.y)}}),l=t.extend({init:function(t,i,n){this.x=i||0;this.y=n||0;this.angle=t},toString:function(){if(this.x&&this.y)return n.format("rotate({0},{1},{2})",this.angle,this.x,this.y);else return n.format("rotate({0})",this.angle)},toMatrix:function(){return w.rotation(this.angle,this.x,this.y)},center:function(){return new d(this.x,this.y)},invert:function(){return new l(E-this.angle,this.x,this.y)}}),b=(l.ZERO=new l(0),l.create=function(t){return new l(t.angle,t.x,t.y)},l.parse=function(t){var i=t.slice(1,t.length-1).split(","),n=i[0],e=i[1],r=i[2];var s=new l(n,e,r);return s},t.extend({init:function(t,i,n,e,r,s){this.translate=new O(t,i);if(n!==u&&e!==u)this.scale=new B(n,e);if(r!==u)this.rotate=s?new l(r,s.x,s.y):new l(r)},toString:function(){var t=function(t){return t?t.toString():""};return t(this.translate)+t(this.rotate)+t(this.scale)},render:function(t){t._transform=this;t._renderTransform()},toMatrix:function(){var t=w.unit();if(this.translate)t=t.times(this.translate.toMatrix());if(this.rotate)t=t.times(this.rotate.toMatrix());if(this.scale)t=t.times(this.scale.toMatrix());return t},invert:function(){var t=this.rotate?this.rotate.invert():u,i=t?t.toMatrix():w.unit(),n=this.scale?this.scale.invert():u,e=n?n.toMatrix():w.unit();var r=new d(-this.translate.x,-this.translate.y);r=i.times(e).apply(r);var s=new O(r.x,r.y);var a=new b;a.translate=s;a.rotate=t;a.scale=n;return a}})),R={_setScale:function(){var t=this.options;var i=this._originWidth;var n=this._originHeight;var e=t.width/i;var r=t.height/n;if(!v(e))e=1;if(!v(r))r=1;this._transform.scale=new B(e,r)},_setTranslate:function(){var t=this.options;var i=t.x||0;var n=t.y||0;this._transform.translate=new O(i,n)},_initSize:function(){var t=this.options;var i=false;if(t.autoSize!==false&&(a(t.width)||a(t.height))){this._measure(true);this._setScale();i=true}if(a(t.x)||a(t.y)){this._setTranslate();i=true}if(i)this._renderTransform()},_updateSize:function(t){var i=false;if(this.options.autoSize!==false&&this._diffNumericOptions(t,[S,C])){i=true;this._measure(true);this._setScale()}if(this._diffNumericOptions(t,[z,P])){i=true;this._setTranslate()}if(i)this._renderTransform();return i}},e=t.extend({init:function(t){var i=this;i.options=h({},i.options,t);i.id=i.options.id;i._originSize=p.empty();i._transform=new b},visible:function(t){return this.drawingContainer().visible(t)},redraw:function(t){if(t&&t.id)this.id=t.id},position:function(t,i){var n=this.options;if(!a(t))return new d(n.x,n.y);if(a(i)){n.x=t;n.y=i}else if(t instanceof d){n.x=t.x;n.y=t.y}this._transform.translate=new O(n.x,n.y);this._renderTransform()},rotate:function(t,i){if(a(t)){this._transform.rotate=new l(t,i.x,i.y);this._renderTransform()}return this._transform.rotate||l.ZERO},drawingContainer:function(){return this.drawingElement},_renderTransform:function(){var t=this._transform.toMatrix();this.drawingContainer().transform(new o.Matrix(t.a,t.b,t.c,t.d,t.e,t.f))},_hover:function(){},_diffNumericOptions:T,_measure:function(t){var i;if(!this._measured||t){var n=this._boundingBox()||new o.Rect;var e=n.topLeft();i=new p(e.x,e.y,n.width(),n.height());this._originSize=i;this._originWidth=i.width;this._originHeight=i.height;this._measured=true}else i=this._originSize;return i},_boundingBox:function(){return this.drawingElement.rawBBox()}}),r=e.extend({init:function(t){e.fn.init.call(this,t);t=this.options;t.fill=J(t.fill);t.stroke=J(t.stroke)},options:{stroke:{color:"gray",width:1},fill:{color:y}},fill:function(t,i){this._fill({color:K(t),opacity:i})},stroke:function(t,i,n){this._stroke({color:K(t),width:i,opacity:n})},redraw:function(t){if(t){var i=t.stroke;var n=t.fill;if(i)this._stroke(J(i));if(n)this._fill(J(n));e.fn.redraw.call(this,t)}},_hover:function(t){var i=this.drawingElement;var n=this.options;var e=n.hover;if(e&&e.fill){var r=t?J(e.fill):n.fill;i.fill(r.color,r.opacity)}},_stroke:function(t){var i=this.options;h(i,{stroke:t});t=i.stroke;var n=null;if(t.width>0)n={color:t.color,width:t.width,opacity:t.opacity,dashType:t.dashType};this.drawingElement.options.set("stroke",n)},_fill:function(t){var i=this.options;h(i,{fill:t||{}});var n=i.fill;if(n.gradient){var e=n.gradient;var r=e.type==="radial"?s.RadialGradient:s.LinearGradient;this.drawingElement.fill(new r(e))}else this.drawingElement.fill(n.color,n.opacity)}}),F=r.extend({init:function(t){t=this._textColor(t);r.fn.init.call(this,t);this._font();this._initText();this._initSize()},options:{fontSize:15,fontFamily:"sans-serif",stroke:{width:0},fill:{color:"black"},autoSize:true},_initText:function(){var t=this.options;this.drawingElement=new s.Text(a(t.text)?t.text:"",new o.Point,{font:t.font});this._fill();this._stroke()},_textColor:function(t){if(t&&t.color)t=h({},t,{fill:{color:t.color}});return t},_font:function(){var t=this.options;if(t.fontFamily&&a(t.fontSize)){var i=[];if(t.fontStyle)i.push(t.fontStyle);if(t.fontWeight)i.push(t.fontWeight);i.push(t.fontSize+(v(t.fontSize)?"px":""));i.push(t.fontFamily);t.font=i.join(" ")}else delete t.font},content:function(t){return this.drawingElement.content(t)},redraw:function(t){if(t){var i=false;var n=this.options;t=this._textColor(t);r.fn.redraw.call(this,t);if(t.fontFamily||a(t.fontSize)||t.fontStyle||t.fontWeight){h(n,{fontFamily:t.fontFamily,fontSize:t.fontSize,fontStyle:t.fontStyle,fontWeight:t.fontWeight});this._font();this.drawingElement.options.set("font",n.font);i=true}if(t.text){this.content(t.text);i=true}if(!this._updateSize(t)&&i)this._initSize()}}}),L=(h(F.fn,R),r.extend({init:function(t){r.fn.init.call(this,t);this._initPath();this._setPosition()},_setPosition:function(){var t=this.options;var i=t.x;var n=t.y;if(a(i)||a(n))this.position(i||0,n||0)},redraw:function(t){if(t){r.fn.redraw.call(this,t);if(this._diffNumericOptions(t,[S,C]))this._drawPath();if(this._diffNumericOptions(t,[z,P]))this._setPosition()}},_initPath:function(){var t=this.options;this.drawingElement=new s.Path({stroke:t.stroke,closed:true});this._fill();this._drawPath()},_drawPath:function(){var t=this.drawingElement;var i=U(this.options);var n=i.width;var e=i.height;t.segments.elements([Y(0,0),Y(n,0),Y(n,e),Y(0,e)])}})),N=r.extend({init:function(t){r.fn.init.call(this,t);var i=this.options.anchor;this.anchor=new o.Point(i.x,i.y);this.createElement()},options:{stroke:{color:y,width:0},fill:{color:"black"}},_transformToPath:function(t,i){var n=i.transform();if(t&&n)t=t.transformCopy(n);return t},redraw:function(t){if(t){if(t.position)this.options.position=t.position;r.fn.redraw.call(this,t)}}}),G=N.extend({options:{radius:4,anchor:{x:0,y:0}},createElement:function(){var t=this.options;this.drawingElement=new s.Circle(new o.Circle(this.anchor,t.radius),{fill:t.fill,stroke:t.stroke})},positionMarker:function(t){var i=this.options;var n=i.position;var e=t.segments;var r;var s;if(n==f)r=e[0];else r=e[e.length-1];if(r){s=this._transformToPath(r.anchor(),t);this.drawingElement.transform(o.transform().translate(s.x,s.y))}}}),I=N.extend({options:{path:"M 0 0 L 10 5 L 0 10 L 3 5 z",anchor:{x:10,y:5}},createElement:function(){var t=this.options;this.drawingElement=s.Path.parse(t.path,{fill:t.fill,stroke:t.stroke})},positionMarker:function(t){var i=this._linePoints(t);var n=i.start;var e=i.end;var r=o.transform();if(n)r.rotate(X(n,e),e);if(e){var s=this.anchor;var a=e.clone().translate(-s.x,-s.y);r.translate(a.x,a.y)}this.drawingElement.transform(r)},_linePoints:function(t){var i=this.options;var n=t.segments;var e,r,s;if(i.position==f){s=n[0];if(s){r=s.anchor();e=s.controlOut();var a=n[1];if(!e&&a)e=a.anchor()}}else{s=n[n.length-1];if(s){r=s.anchor();e=s.controlIn();var o=n[n.length-2];if(!e&&o)e=o.anchor()}}if(r)return{start:this._transformToPath(e,t),end:this._transformToPath(r,t)}}}),W={_getPath:function(t){var i=this.drawingElement;if(i instanceof s.MultiPath)if(t==f)i=i.paths[0];else i=i.paths[i.paths.length-1];if(i&&i.segments.length)return i},_normalizeMarkerOptions:function(t){var i=t.startCap;var n=t.endCap;if(m(i))t.startCap={type:i};if(m(n))t.endCap={type:n}},_removeMarker:function(t){var i=this._markers[t];if(i){this.drawingContainer().remove(i.drawingElement);delete this._markers[t]}},_createMarkers:function(){var t=this.options;this._normalizeMarkerOptions(t);this._markers={};this._markers[f]=this._createMarker(t.startCap,f);this._markers[M]=this._createMarker(t.endCap,M)},_createMarker:function(t,i){var n=(t||{}).type;var e=this._getPath(i);var r,s;if(!e){this._removeMarker(i);return}if(n==k.filledCircle)r=G;else if(n==k.arrowStart||n==k.arrowEnd)r=I;else this._removeMarker(i);if(r){s=new r(h({},t,{position:i}));s.positionMarker(e);this.drawingContainer().append(s.drawingElement);return s}},_positionMarker:function(t){var i=this._markers[t];if(i){var n=this._getPath(t);if(n)i.positionMarker(n);else this._removeMarker(t)}},_capMap:{start:"startCap",end:"endCap"},_redrawMarker:function(t,i,n){this._normalizeMarkerOptions(n);var e=this.options;var r=this._capMap[i];var s=(e[r]||{}).type;var a=n[r];var o=false;if(a){e[r]=h({},e[r],a);if(a.type&&s!=a.type){this._removeMarker(i);this._markers[i]=this._createMarker(e[r],i);o=true}else if(this._markers[i])this._markers[i].redraw(a)}else if(t&&!this._markers[i]&&e[r]){this._markers[i]=this._createMarker(e[r],i);o=true}return o},_redrawMarkers:function(t,i){if(!this._redrawMarker(t,f,i)&&t)this._positionMarker(f);if(!this._redrawMarker(t,M,i)&&t)this._positionMarker(M)}},A=r.extend({init:function(t){r.fn.init.call(this,t);this.container=new s.Group;this._createElements();this._initSize()},options:{autoSize:true},drawingContainer:function(){return this.container},data:function(t){var i=this.options;if(t){if(i.data!=t){i.data=t;this._setData(t);this._initSize();this._redrawMarkers(true,{})}}else return i.data},redraw:function(t){if(t){r.fn.redraw.call(this,t);var i=this.options;var n=t.data;if(a(n)&&i.data!=n){i.data=n;this._setData(n);if(!this._updateSize(t))this._initSize();this._redrawMarkers(true,t)}else{this._updateSize(t);this._redrawMarkers(false,t)}}},_createElements:function(){var t=this.options;this.drawingElement=s.Path.parse(t.data||"",{stroke:t.stroke});this._fill();this.container.append(this.drawingElement);this._createMarkers()},_setData:function(t){var i=this.drawingElement;var n=s.Path.parse(t||"");var e=n.paths.slice(0);n.paths.elements([]);i.paths.elements(e)}}),D=(h(A.fn,R),h(A.fn,W),r.extend({init:function(t){r.fn.init.call(this,t);this.container=new s.Group;this._initPath();this._createMarkers()},drawingContainer:function(){return this.container},redraw:function(t){if(t){t=t||{};var i=t.from;var n=t.to;if(i)this.options.from=i;if(n)this.options.to=n;if(i||n){this._drawPath();this._redrawMarkers(true,t)}else this._redrawMarkers(false,t);r.fn.redraw.call(this,t)}},_initPath:function(){var t=this.options;var i=this.drawingElement=new s.Path({stroke:t.stroke});this._fill();this._drawPath();this.container.append(i)},_drawPath:function(){var t=this.options;var i=this.drawingElement;var n=t.from||new d;var e=t.to||new d;i.segments.elements([Y(n.x,n.y),Y(e.x,e.y)])}})),q=(h(D.fn,W),r.extend({init:function(t){r.fn.init.call(this,t);this.container=new s.Group;this._initPath();this._createMarkers()},drawingContainer:function(){return this.container},points:function(t){var i=this.options;if(t){i.points=t;this._updatePath()}else return i.points},redraw:function(t){if(t){var i=t.points;r.fn.redraw.call(this,t);if(i&&this._pointsDiffer(i)){this.points(i);this._redrawMarkers(true,t)}else this._redrawMarkers(false,t)}},_initPath:function(){var t=this.options;this.drawingElement=new s.Path({stroke:t.stroke});this._fill();this.container.append(this.drawingElement);if(t.points)this._updatePath()},_pointsDiffer:function(t){var i=this.options.points;var n=i.length!==t.length;if(!n)for(var e=0;e<t.length;e++)if(i[e].x!==t[e].x||i[e].y!==t[e].y){n=true;break}return n},_updatePath:function(){var t=this.drawingElement;var i=this.options;var n=i.points;var e=[];var r;for(var s=0;s<n.length;s++){r=n[s];e.push(Y(r.x,r.y))}t.segments.elements(e)},options:{points:[]}})),H=(h(q.fn,W),e.extend({init:function(t){e.fn.init.call(this,t);this._initImage()},redraw:function(t){if(t){if(t.source)this.drawingElement.src(t.source);if(this._diffNumericOptions(t,[S,C,z,P]))this.drawingElement.rect(this._rect());e.fn.redraw.call(this,t)}},_initImage:function(){var t=this.options;var i=this._rect();this.drawingElement=new s.Image(t.source,i,{})},_rect:function(){var t=U(this.options);var i=new o.Point(t.x,t.y);var n=new o.Size(t.width,t.height);return new o.Rect(i,n)}})),V=e.extend({init:function(t){this.children=[];e.fn.init.call(this,t);this.drawingElement=new s.Group;this._initSize()},options:{autoSize:false},append:function(t){this.drawingElement.append(t.drawingContainer());this.children.push(t);this._childrenChange=true},remove:function(t){if(this._remove(t))this._childrenChange=true},_remove:function(t){var i=x(t,this.children);if(i>=0){this.drawingElement.removeAt(i);this.children.splice(i,1);return true}},clear:function(){this.drawingElement.clear();this.children=[];this._childrenChange=true},toFront:function(t){var i;for(var n=0;n<t.length;n++){i=t[n];if(this._remove(i))this.append(i)}},toBack:function(t){this._reorderChildren(t,0)},toIndex:function(t,i){this._reorderChildren(t,i)},_reorderChildren:function(t,i){var n=this.drawingElement;var e=n.children.slice(0);var r=this.children;var l=v(i);var s,a,o,h,f;for(s=0;s<t.length;s++){f=t[s];h=f.drawingContainer();a=x(f,r);if(a>=0){e.splice(a,1);r.splice(a,1);o=l?i:i[s];e.splice(o,0,h);r.splice(o,0,f)}}n.clear();n.append.apply(n,e)},redraw:function(t){if(t){if(this._childrenChange){this._childrenChange=false;if(!this._updateSize(t))this._initSize()}else this._updateSize(t);e.fn.redraw.call(this,t)}},_boundingBox:function(){var t=this.children;var i;var n,e;for(var r=0;r<t.length;r++){n=t[r];if(n.visible()&&n._includeInBBox!==false){e=n.drawingContainer().clippedBBox(null);if(e)if(i)i=o.Rect.union(i,e);else i=e}}return i}}),j=(h(V.fn,R),V.extend({init:function(t,i){this.children=[];e.fn.init.call(this,i);this.drawingElement=new s.Layout($(t),i);this._initSize()},rect:function(t){if(t)this.drawingElement.rect($(t));else{var i=this.drawingElement.rect();if(i)return new p(i.origin.x,i.origin.y,i.size.width,i.size.height)}},reflow:function(){this.drawingElement.reflow()},redraw:function(t){n.deepExtend(this.drawingElement.options,t);V.fn.redraw.call(this,t)}})),Z=r.extend({init:function(t){r.fn.init.call(this,t);this._initCircle();this._initSize()},redraw:function(t){if(t){var i=this.options;if(t.center){h(i,{center:t.center});this._center.move(i.center.x,i.center.y)}if(this._diffNumericOptions(t,["radius"]))this._circle.setRadius(i.radius);this._updateSize(t);r.fn.redraw.call(this,t)}},_initCircle:function(){var t=this.options;var i=t.width;var n=t.height;var e=t.radius;if(!a(e)){if(!a(i))i=n;if(!a(n))n=i;t.radius=e=Math.min(i,n)/2}var r=t.center||{x:e,y:e};this._center=new o.Point(r.x,r.y);this._circle=new o.Circle(this._center,e);this.drawingElement=new s.Circle(this._circle,{stroke:t.stroke});this._fill()}}),Q=(h(Z.fn,R),t.extend({init:function(t,i){i=i||{};this.element=t;this.surface=s.Surface.create(t,i);if(n.isFunction(this.surface.translate))this.translate=this._translate;this.drawingElement=new s.Group;this._viewBox=new p(0,0,i.width,i.height);this.size(this._viewBox)},bounds:function(){var t=this.drawingElement.clippedBBox();return new p(0,0,t.width(),t.height())},size:function(t){var i=this._viewBox;if(a(t)){i.width=t.width;i.height=t.height;this.surface.setSize(t)}return{width:i.width,height:i.height}},_translate:function(t,i){var n=this._viewBox;if(a(t)&&a(i)){n.x=t;n.y=i;this.surface.translate({x:t,y:i})}return{x:n.x,y:n.y}},draw:function(){this.surface.draw(this.drawingElement)},append:function(t){this.drawingElement.append(t.drawingContainer());return this},remove:function(t){this.drawingElement.remove(t.drawingContainer())},insertBefore:function(){},clear:function(){this.drawingElement.clear()},destroy:function(t){this.surface.destroy();if(t)c(this.element).remove()}}));function U(t){return{x:t.x||0,y:t.y||0,width:t.width||0,height:t.height||0}}function J(t){if(t){var i=t;if(m(i))i={color:i};if(i.color)i.color=K(i.color);return i}}function K(t){var i;if(t!=y)i=new s.Color(t).toHex();else i=t;return i}function X(t,i){var n=i.x-t.x;var e=i.y-t.y;var r=s.util.deg(Math.atan2(e,n));return r}function Y(t,i){return new s.Segment(new o.Point(t,i))}function $(t){if(t)return new o.Rect([t.x,t.y],[t.width,t.height])}n.deepExtend(i,{init:function(t){n.init(t,i.ui)},diffNumericOptions:T,Element:e,Scale:B,Translation:O,Rotation:l,Circle:Z,Group:V,Rectangle:L,Canvas:Q,Path:A,Layout:j,Line:D,MarkerBase:N,ArrowMarker:I,CircleMarker:G,Polyline:q,CompositeTransform:b,TextBlock:F,Image:H,VisualBase:r})})?e.apply(i,n):e)||(t.exports=i)}});