@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 27.6 kB
JavaScript
module.exports=function(t){function i(n){if(e[n])return e[n].exports;var o=e[n]={exports:{},id:n,loaded:!1};return t[n].call(o.exports,o,o.exports,i),o.loaded=!0,o.exports}var e={};return i.m=t,i.c=e,i.p="",i(0)}({0:function(t,i,e){t.exports=e(883)},3:function(t,i){t.exports=function(){throw Error("define cannot be used indirect")}},857:function(t,i){t.exports=require("../../kendo.dataviz.core")},859:function(t,i){t.exports=require("../../kendo.drawing")},862:function(t,i){t.exports=require("../../kendo.core")},863:function(t,i){t.exports=require("../../kendo.color")},883:function(t,i,e){var n,o,r;!function(s,define){o=[e(862),e(863),e(859),e(857)],n=s,r="function"==typeof n?n.apply(i,o):n,!(void 0!==r&&(t.exports=r))}(function(){!function(t){function i(t,i){var e=t.getOrigin(),n=t.getSize(),o=c(i);return t.setOrigin([e.x-o.left,e.y-o.top]),t.setSize([n.width+(o.left+o.right),n.height+(o.top+o.bottom)]),t}function e(t,e){var n=t.box,o=t.children[0].box,r=e.border||{},s=e.background||"",a=H.fromRect(new C([n.x1,n.y1],[n.width(),n.height()]),{stroke:{}}),l=new J(t.text,new M(o.x1,o.y1),{font:e.font,fill:{color:e.color}}),h=i(l.bbox().clone(),e.padding),c=H.fromRect(h,{stroke:{color:r.width?r.color:"",width:r.width,dashType:r.dashType,lineJoin:"round",lineCap:"round"},fill:{color:s}}),u=new W;return u.append(a),u.append(c),u.append(l),u}function n(t,i,e){var n=u(t.from)?t.from:p.MIN_VALUE,o=u(t.to)?t.to:p.MAX_VALUE;return t.from=Math.max(Math.min(o,n),i),t.to=Math.min(Math.max(o,n),e),t}function o(t,e){var n=c(e);return n.left=-n.left,n.top=-n.top,n.right=-n.right,n.bottom=-n.bottom,i(t,n)}function r(t,i){var e,n,o,r=t.position,s=t.tickX,a=t.tickY;return t.vertical?(e=new et(s,r),n=new et(s+i.size,r)):(e=new et(r,a),n=new et(r,a+i.size)),o=new tt({stroke:{color:i.color,width:i.width}}).moveTo(e).lineTo(n)}function s(t,i,e,n){var o,s,a,l=i.length;if(n.visible)for(o=e.mirror,s=e.lineBox,a=n.skip;a<l;a+=n.step)a%n.skipUnit!==0&&(e.tickX=o?s.x2:s.x2-n.size,e.tickY=o?s.y1-n.size:s.y1,e.position=i[a],t.append(r(e,n)))}function a(t,i,e,n){var o,r,s,a=new kt,l=t.center,h=t.getRadiusX();if(n.visible)for(o=0;o<i.length;o++)r=t.pointAt(i[o]),s=new M(l.x+h-n.size,l.y).rotate(i[o],l),a.append(new bt({stroke:{color:n.color,width:n.width}}).moveTo(r).lineTo(s));return a}function l(t,i,e,n){return{from:t,to:i,color:e,opacity:n}}var h,c,u,p,d,f,g,m,v,x,w,b,k,y,A,_,T,S,z,R,P,C,M,j,U,E,B,X,O,L,V,D,Y,G,N,I,q,F,W,H,J,K,Q,Z,$,tt,it,et,nt,ot,rt,st,at,lt,ht,ct,ut,pt,dt,ft,gt,mt,vt,xt,wt,bt,kt,yt,At,_t,Tt,St,zt,Rt,Pt,Ct,Mt,jt,Ut,Et,Bt;window.kendo.dataviz=window.kendo.dataviz||{},h=kendo.dataviz,c=h.getSpacing,u=h.defined,p=h.constants,d=p.BLACK,f=p.COORD_PRECISION,g=h.services,m=h.deepExtend,v=h.isArray,x=h.setDefaultOptions,w=h.NumericAxis,b=h.limitValue,k=h.Box,y=h.interpolateValue,A=h.round,_=kendo.drawing,T=_.Group,S=_.Path,z=_.Animation,R=_.AnimationFactory,P=kendo.geometry,C=P.Rect,M=P.Point,j=P.transform,U=150,E=250,B="arrow",X="arrowPointer",O="barPointer",L=200,V=.5,D=200,Y=Math.PI/180,G="inside",N="linear",I="outside",q="radialPointer",F="radialRangePointer",W=T,H=S,J=_.Text,K=5,Q=S,Z=_.Surface,$=h.Class.extend({init:function(t,i,e,n){void 0===n&&(n={}),this.element=t,this.theme=e,this.contextService=new g.ChartService(this,n),this._originalOptions=m({},this.options,i),this.options=m({},this._originalOptions),this._initTheme(e),this.redraw()},destroy:function(){this.surface&&(this.surface.destroy(),this.surface=null),delete this.element,delete this.surfaceElement},value:function(t){var i=this.pointers[0];return 0===arguments.length?i.value():(i.value(t),void this._setValueOptions(t))},_draw:function(){var t=this.surface;t.clear(),t.draw(this._visuals)},exportVisual:function(){return this._visuals},allValues:function(t){var i,e,n=this.pointers,o=[];if(0===arguments.length){for(i=0;i<n.length;i++)o.push(n[i].value());return o}if(v(t))for(e=0;e<t.length;e++)h.isNumber(t[e])&&n[e].value(t[e]);this._setValueOptions(t)},_setValueOptions:function(t){var i,e=[].concat(this.options.pointer),n=[].concat(t);for(i=0;i<n.length;i++)e[i].value=n[i]},resize:function(){this.noTransitionsRedraw()},noTransitionsRedraw:function(){var t=this.options.transitions;this._toggleTransitions(!1),this.redraw(),this._toggleTransitions(t)},redraw:function(){var t,i=this._surfaceSize(),e=new C([0,0],[i.width,i.height]);this._initSurface(),this.gaugeArea=this._createGaugeArea(),this._createModel(),t=o(e.bbox(),this._gaugeAreaMargin),this.reflow(t)},setOptions:function(t,i){this._originalOptions=m(this._originalOptions,t),this.options=m({},this._originalOptions),this._initTheme(i),this.redraw()},setDirection:function(t){this.contextService.rtl=!!t,this.surface&&"svg"===this.surface.type&&(this.surface.destroy(),this.surface=null)},setIntlService:function(t){this.contextService.intl=t},_initTheme:function(t){var i,e,n,o,r=t||this.theme||{};if(this.theme=r,this.options=m({},r,this.options),i=this.options,e=i.pointer,v(e)){for(n=[],o=0;o<e.length;o++)n.push(m({},r.pointer,e[o]));i.pointer=n}},_createGaugeArea:function(){var t,i=this.options.gaugeArea,e=this.surface.size(),n=i.border||{},r=new C([0,0],[e.width,e.height]);return this._gaugeAreaMargin=i.margin||K,n.width>0&&(r=o(r,n.width)),t=Q.fromRect(r,{stroke:{color:n.width?n.color:"",width:n.width,dashType:n.dashType,lineJoin:"round",lineCap:"round"},fill:{color:i.background}})},_initSurface:function(){var t=this,i=t.options,e=t.surface,n=this._surfaceElement(),o=this._surfaceSize();h.elementSize(n,o),e&&e.options.type===i.renderAs?(this.surface.clear(),this.surface.resize()):(e&&e.destroy(),this.surface=Z.create(n,{type:i.renderAs}))},_surfaceSize:function(){var t=this.options,i=this._getSize();return t.gaugeArea&&m(i,t.gaugeArea),i},_surfaceElement:function(){return this.surfaceElement||(this.surfaceElement=document.createElement("div"),this.element.appendChild(this.surfaceElement)),this.surfaceElement},getSize:function(){return this._getSize()},_getSize:function(){var t=this.element,i=this._defaultSize(),e=t.offsetWidth,n=t.offsetHeight;return e||(e=i.width),n||(n=i.height),{width:e,height:n}},_defaultSize:function(){return{width:D,height:L}},_toggleTransitions:function(t){var i,e=this;for(this.options.transitions=t,i=0;i<this.pointers.length;i++)e.pointers[i].options.animation.transitions=t}}),x($,{plotArea:{},theme:"default",renderAs:"",pointer:{},scale:{},gaugeArea:{}}),tt=S,it=T,et=M,nt=w.extend({init:function(i,e){var n=i||{};!u(n.reverse)&&n.vertical===!1&&(e||{}).rtl&&(n=t.extend({},n,{reverse:!0})),w.fn.init.call(this,0,1,n,e),this.options.minorUnit=this.options.minorUnit||this.options.majorUnit/10},initUserOptions:function(t){var i=m({},this.options,t);return i=m({},i,{labels:{mirror:i.mirror}}),i.majorUnit=i.majorUnit||h.autoMajorUnit(i.min,i.max),i},initFields:function(){},render:function(){var t=this.elements=new it,i=this.renderLabels(),e=this.renderLine(),n=this.renderTicks(),o=this.renderRanges();return t.append(e,i,n,o),t},renderRanges:function(){var t,i,e,o,r,s=this,a=this.options,l=a.min,h=a.max,c=a.vertical,u=a.labels.mirror,p=a.ranges||[],d=new it,f=p.length,g=a.rangeSize||a.minorTicks.size/2;for(t=0;t<f;t++)i=n(p[t],l,h),e=s.getSlot(i.from,i.to),o=c?s.lineBox():e,r=c?e:s.lineBox(),c?o.x1-=g*(u?-1:1):r.y2+=g*(u?-1:1),d.append(tt.fromRect(new C([o.x1,r.y1],[o.x2-o.x1,r.y2-r.y1]),{fill:{color:i.color,opacity:i.opacity},stroke:{}}));return d},renderLabels:function(){var t,i=this,n=i.labels,o=i.options,r=new it;for(t=0;t<n.length;t++)r.append(e(n[t],o.labels));return r},renderLine:function(){var t,i=this.options.line,e=this.lineBox(),n=new it;return i.width>0&&i.visible&&(t=new tt({stroke:{color:i.color,dashType:i.dashType,width:i.width}}),t.moveTo(e.x1,e.y1).lineTo(e.x2,e.y2),n.append(t)),n},renderTicks:function(){var t=new it,i=this.options,e=i.majorTicks.visible?i.majorUnit:0,n={vertical:i.vertical,mirror:i.labels.mirror,lineBox:this.lineBox()};return s(t,this.getMajorTickPositions(),n,i.majorTicks),s(t,this.getMinorTickPositions(),n,m({},{skipUnit:e/i.minorUnit},i.minorTicks)),t}}),x(nt,{min:0,max:50,majorTicks:{size:15,align:G,color:d,width:V,visible:!0},minorTicks:{size:10,align:G,color:d,width:V,visible:!0},line:{width:V},labels:{position:G,padding:2},mirror:!1,_alignLines:!1}),ot=h.Class.extend({init:function(t,i){var e=t.options,n=e.min,o=e.max,r=this.options=m({},this.options,i);r.fill=r.color,this.scale=t,r.value=u(r.value)?b(r.value,n,o):n},value:function(t){var i,e,n,o=this.options,r=o.value;return 0===arguments.length?r:(i=this.scale.options,e=i.min,n=i.max,o._oldValue=u(o._oldValue)?o.value:e,o.value=b(t,e,n),void(this.elements&&this.repaint()))}}),x(ot,{color:d}),rt=ot.extend({init:function(t,i){ot.fn.init.call(this,t,i),this.options=m({track:{visible:u(i.track)}},this.options)},reflow:function(){var t,i,e,n=this,o=n.options,r=n.scale,s=r.options,a=s.mirror,l=s.vertical,h=r.lineBox(),u=o.track.size||o.size,p=o.size/2,d=c(o.margin),f=l?d[a?"left":"right"]:d[a?"bottom":"top"];f=a?-f:f,l?(e=new k(h.x1+f,h.y1,h.x1+f,h.y2),a?e.x1-=u:e.x2+=u,o.shape!==O&&(i=new k(h.x2+f,h.y1-p,h.x2+f,h.y2+p),t=i)):(e=new k(h.x1,h.y1-f,h.x2,h.y1-f),a?e.y2+=u:e.y1-=u,o.shape!==O&&(i=new k(h.x1-p,h.y1-f,h.x2+p,h.y1-f),t=i)),this.trackBox=e,this.pointerRangeBox=i,this.box=t||e.clone().pad(o.border.width)},getElementOptions:function(){var t=this.options;return{fill:{color:t.color,opacity:t.opacity},stroke:u(t.border)?{color:t.border.width?t.border.color||t.color:"",width:t.border.width,dashType:t.border.dashType,opacity:t.opacity}:null}},_margin:function(){var t=this,i=t.scale,e=t.options,n=i.options,o=n.mirror,r=n.vertical,s=c(e.margin),a=r?s[o?"left":"right"]:s[o?"bottom":"top"];return a}}),x(rt,{shape:O,track:{border:{width:1}},color:d,border:{width:1},opacity:1,margin:c(3),animation:{type:O},visible:!0}),st=z.extend({setup:function(){var t,i,e=this.options,n=e.margin,o=e.from,r=e.to,s=e.vertical,a=s?"x1":"y1";e.mirror===s?(o[a]-=n,r[a]-=n):(o[a]+=n,r[a]+=n),t=this.fromScale=new M(o.x1,o.y1),i=this.toScale=new M(r.x1,r.y1),0!==e.duration&&(e.duration=Math.max(t.distanceTo(i)/e.duration*1e3,1))},step:function(t){var i=y(this.fromScale.x,this.toScale.x,t),e=y(this.fromScale.y,this.toScale.y,t);this.element.transform(j().translate(i,e))}}),x(st,{easing:N,duration:E}),R.current.register(X,st),at=M,lt=S,ht=rt.extend({init:function(t,i){rt.fn.init.call(this,t,i),u(this.options.size)||(this.options.size=.6*this.scale.options.majorTicks.size)},pointerShape:function(){var t,i=this,e=i.scale,n=i.options.size,o=n/2,r=e.options.mirror?-1:1;return t=e.options.vertical?[new at(0,0-o),new at(0-r*n,0),new at(0,0+o)]:[new at(0-o,0),new at(0,0+r*n),new at(0+o,0)]},repaint:function(){var t=this,i=t.scale,e=t.options,n=new st(this.elements,m(e.animation,{vertical:i.options.vertical,mirror:i.options.mirror,margin:this._margin(e.margin),from:i.getSlot(e._oldValue),to:i.getSlot(e.value)}));e.animation.transitions===!1&&(n.options.duration=0),n.setup(),n.play()},render:function(){var t,i,e=this,n=e.scale,o=e.options,r=this.getElementOptions(),s=this.pointerShape(o.value);return o.animation.type=X,t=new lt({stroke:r.stroke,fill:r.fill}).moveTo(s[0]).lineTo(s[1]).lineTo(s[2]).close(),i=n.getSlot(o.value),t.transform(j().translate(i.x1,i.y1)),this.elements=t,t}}),ct=z.extend({setup:function(){var t=this.options,i=this.axis=t.vertical?p.Y:p.X,e=this.to=t.newPoints[0][i],n=this.from=t.oldPoints[0][i];0!==t.duration&&(t.duration=Math.max(Math.abs(e-n)/t.speed*1e3,1)),this._set(n)},step:function(t){var i=y(this.from,this.to,t);this._set(i)},_set:function(t){var i="set"+this.axis.toUpperCase(),e=this.options.newPoints;e[0][i](t),e[1][i](t)}}),x(ct,{easing:N,speed:E}),R.current.register(O,ct),ut=T,pt=S,dt=rt.extend({init:function(t,i){rt.fn.init.call(this,t,i),u(this.options.size)||(this.options.size=.3*this.scale.options.majorTicks.size)},pointerShape:function(t){var i,e,n,o=this,r=o.scale,s=o.options,a=r.options,l=a.mirror,h=a.vertical,c=l===h?-1:1,u=s.size*c,d=r.getSlot(r.options.min),f=r.getSlot(t),g=h?p.Y:p.X,m=h?p.X:p.Y,v=this._margin()*c,x=new M;return x[g]=d[g+"1"],x[m]=d[m+"1"],i=new M,i[g]=f[g+"1"],i[m]=f[m+"1"],h?(x.translate(v,0),i.translate(v,0)):(x.translate(0,v),i.translate(0,v)),e=i.clone(),n=x.clone(),h?(e.translate(u,0),n.translate(u,0)):(e.translate(0,u),n.translate(0,u)),[x,i,e,n]},repaint:function(){var t,i=this,e=i.scale,n=i.options,o=this.pointerShape(n.value),r=this.pointerPath,s=this.pointerShape(n._oldValue);r.moveTo(o[0]).lineTo(o[1]).lineTo(o[2]).lineTo(o[3]).close(),t=new ct(r,m(n.animation,{reverse:e.options.reverse,vertical:e.options.vertical,oldPoints:[s[1],s[2]],newPoints:[o[1],o[2]]})),n.animation.transitions===!1&&(t.options.duration=0),t.setup(),t.play()},render:function(){var t,i=new ut,e=this.getElementOptions();return this.options.track.visible&&i.append(this.renderTrack()),t=this.pointerPath=new pt({stroke:e.stroke,fill:e.fill}),i.append(t),this.elements=i,i},renderTrack:function(){var t=this.options.track,i=t.border||{},e=this.trackBox.clone().pad(i.width||0);return new pt.fromRect(e.toRect(),{fill:{color:t.color,opacity:t.opacity},stroke:{color:i.width?i.color||t.color:"",width:i.width,dashType:i.dashType}})}}),ft=60,gt=60,mt=T,vt=$.extend({reflow:function(t){var i,e=this.pointers,n=t.origin.x,o=t.origin.y,r=new k(n,o,n+t.width(),o+t.height());for(this.scale.reflow(r),this._shrinkScaleWidth(r),i=0;i<e.length;i++)e[i].reflow();this.bbox=this._getBox(r),this._alignElements(),this._shrinkElements(),this._buildVisual(),this._draw()},_buildVisual:function(){var t,i,e=new mt,n=this.scale.render(),o=this.pointers;for(e.append(this.gaugeArea),e.append(n),t=0;t<o.length;t++)i=o[t],e.append(i.render()),i.value(i.options.value);this._visuals=e},_createModel:function(){var t,i,e,n,o=this,r=this.options,s=this.scale=new nt(r.scale,this.contextService);for(this.pointers=[],t=r.pointer,t=v(t)?t:[t],i=0;i<t.length;i++)e=m({},t[i],{animation:{transitions:r.transitions}}),n=e.shape===B?ht:dt,o.pointers.push(new n(s,e))},_defaultSize:function(){var t=this.options.scale.vertical;return{width:t?ft:D,height:t?L:gt}},_getBox:function(t){var i,e,n=this,o=n.scale,r=n.pointers,s=t.center(),a=r[0].box.clone().wrap(o.box);for(i=0;i<r.length;i++)a.wrap(r[i].box.clone());return o.options.vertical?(e=a.width()/2,a=new k(s.x-e,t.y1,s.x+e,t.y2)):(e=a.height()/2,a=new k(t.x1,s.y-e,t.x2,s.y+e)),a},_alignElements:function(){var t,i,e,n=this,o=this,r=o.scale,s=o.pointers,a=r.box,l=s[0].box.clone().wrap(r.box),h=this.bbox;for(t=0;t<s.length;t++)l.wrap(s[t].box.clone());for(r.options.vertical?(i=h.center().x-l.center().x,r.reflow(new k(a.x1+i,h.y1,a.x2+i,h.y2))):(i=h.center().y-l.center().y,r.reflow(new k(a.x1,a.y1+i,a.x2,a.y2+i))),e=0;e<s.length;e++)s[e].reflow(n.bbox)},_shrinkScaleWidth:function(t){var i,e=this,n=e.scale;n.options.vertical||(i=n.contentBox().width()-t.width(),i>0&&(n.box.shrink(i,0),n.box.alignTo(t,"center"),n.reflow(n.box)))},_shrinkElements:function(){var t,i,e=this,n=this,o=n.scale,r=n.pointers,s=o.box.clone(),a=o.options.vertical?"y":"x",l=r[0].box;for(t=0;t<r.length;t++)l.wrap(r[t].box.clone());for(s[a+1]+=Math.max(s[a+1]-l[a+1],0),s[a+2]-=Math.max(l[a+2]-s[a+2],0),o.reflow(s),i=0;i<r.length;i++)r[i].reflow(e.bbox)}}),x(vt,{transitions:!0,gaugeArea:{background:""},scale:{vertical:!0}}),xt=180,wt=_.Arc,bt=S,kt=T,yt=w.extend({init:function(t,i){w.fn.init.call(this,0,1,t,i)},initUserOptions:function(t){var i=m({},this.options,t);return i.majorUnit=i.majorUnit||h.autoMajorUnit(i.min,i.max),i.minorUnit=i.minorUnit||i.majorUnit/10,i},initFields:function(){},render:function(t,i){var e=this.renderArc(t,i);this.bbox=e.bbox(),this.labelElements=this.renderLabels(),this.ticks=this.renderTicks(),this.ranges=this.renderRanges()},reflow:function(t){var i=t.center(),e=Math.min(t.height(),t.width())/2;return u(this.bbox)?(this.bbox=this.arc.bbox(),this.radius(this.arc.getRadiusX()),this.repositionRanges(),this.renderLabels(),void 0):this.render(i,e)},slotAngle:function(t){var i,e=this.options,n=e.min,o=e.max,r=e.reverse,s=e.startAngle,a=e.endAngle,l=a-s;return i=r?a-(t-n)/(o-n)*l:(t-n)/(o-n)*l+s,i+xt},hasRanges:function(){var t=this.options.ranges;return t&&t.length},ticksSize:function(){var t=this.options,i=t.majorTicks,e=t.minorTicks,n=0;return i.visible&&(n=i.size),e.visible&&(n=Math.max(e.size,n)),n},renderLabels:function(){var t,i,n,o,r,s,a,l,h,c,p,d,f,g,m,v,x,w,b,y=this,A=this.options,_=this.arc.clone(),T=_.getRadiusX(),S=this.tickAngles(_,A.majorUnit),z=A.rangeSize=A.rangeSize||.1*T,R=new kt,P=.05*T;for(u(A.rangeDistance)?P=A.rangeDistance:A.rangeDistance=P,t=A.labels,i=t.position===G,n=u(this.labelElements),i&&(T-=this.ticksSize(),this.hasRanges()&&!n&&(T-=z+P),_.setRadiusX(T).setRadiusY(T)),o=this.labels,r=o.length,s=t.padding,a=0;a<r;a++)l=o[a],h=l.box.width()/2,c=l.box.height()/2,p=S[a],d=(p-xt)*Y,f=_.pointAt(p),g=f.x+Math.cos(d)*(h+s)*(i?1:-1),m=f.y+Math.sin(d)*(c+s)*(i?1:-1),l.reflow(new k(g-h,m-c,g+h,m+c)),v=new M(l.box.x1,l.box.y1),x=void 0,n?(x=y.labelElements.children[a],w=x.bbox().origin,b=x.transform()||j(),b.translate(v.x-w.x,v.y-w.y),x.transform(b)):(x=e(l,A.labels),R.append(x)),y.bbox=C.union(y.bbox,x.bbox());return R},repositionRanges:function(){var t,i,e,n,o,r,s=this.ranges.children;if(s.length>0){for(t=this.options,i=t.rangeDistance,e=t.rangeSize,n=this.getRangeRadius(),this.options.labels.position===G&&(n+=e+i),o=n+e/2,r=0;r<s.length;r++)s[r]._geometry.setRadiusX(o).setRadiusY(o);this.bbox=C.union(this.bbox,this.ranges.bbox())}},renderRanges:function(){var t,i,e,n,o,r,s,a,l,h=this,c=this.rangeSegments(),u=c.length,p=new kt;if(u)for(t=this.options,i=t.rangeSize,e=t.reverse,n=t.rangeDistance,o=this.getRangeRadius(),this.radius(this.radius()-i-n),r=0;r<u;r++)s=c[r],a=h.slotAngle(s[e?"to":"from"]),l=h.slotAngle(s[e?"from":"to"]),l-a!==0&&p.append(h.createRange(a,l,o,s));return p},createRange:function(t,i,e,n){var o=this.options.rangeSize,r=new P.Arc(this.arc.center,{radiusX:e+o/2,radiusY:e+o/2,startAngle:t,endAngle:i});return new wt(r,{stroke:{width:o,color:n.color,opacity:n.opacity,lineCap:n.lineCap}})},rangeSegments:function(){var t,i,e,o,r,s,a,h,c=this.options,u=c.ranges||[],p=u.length,d=[];if(p)for(t=c.min,i=c.max,e=c.rangePlaceholderColor,d.push(l(t,i,e)),o=0;o<p;o++)for(r=n(u[o],t,i),s=d.length,a=0;a<s;a++)if(h=d[a],h.from<=r.from&&r.from<=h.to){d.push(l(r.from,r.to,r.color,r.opacity)),h.from<=r.to&&r.to<=h.to&&d.push(l(r.to,h.to,e,r.opacity)),h.to=r.from;break}return d},getRangeRadius:function(){var t,i=this,e=i.arc,n=i.options,o=n.rangeSize,r=n.rangeDistance,s=n.majorTicks.size;return t=n.labels.position===I?e.getRadiusX()-s-r-o:e.getRadiusX()-o},renderArc:function(t,i){var e=this.options,n=this.arc=new P.Arc(t,{radiusX:i,radiusY:i,startAngle:e.startAngle+xt,endAngle:e.endAngle+xt});return n},renderTicks:function(){var t,i,e,n,o=this,r=o.arc,s=o.options,l=r.clone();return this.majorTickAngles=this.tickAngles(r,s.majorUnit),this.majorTicks=a(l,this.majorTickAngles,s.majorUnit,s.majorTicks),t=new kt,t.append(this.majorTicks),i=s.majorTicks.size,e=s.minorTicks.size,this._tickDifference=i-e,s.labels.position===I&&(n=l.getRadiusX(),l.setRadiusX(n-i+e).setRadiusY(n-i+e)),this.minorTickAngles=this.normalizeTickAngles(this.tickAngles(r,s.minorUnit)),this.minorTicks=a(l,this.minorTickAngles,s.minorUnit,s.minorTicks),t.append(this.minorTicks),t},normalizeTickAngles:function(t){var i,e=this.options,n=e.majorUnit/e.minorUnit;for(i=t.length-1;i>=0;i--)i%n===0&&t.splice(i,1);return t},tickAngles:function(t,i){var e,n,o=this.options,r=o.reverse,s=o.max-o.min,a=t.endAngle-t.startAngle,l=s/i,h=t.startAngle,c=a/l;for(r&&(h+=a,c=-c),e=[],n=0;n<l;n++)e.push(A(h,f)),h+=c;return A(h)<=t.endAngle&&e.push(h),e},radius:function(t){return t?(this.arc.setRadiusX(t).setRadiusY(t),this.repositionTicks(this.majorTicks.children,this.majorTickAngles),this.repositionTicks(this.minorTicks.children,this.minorTickAngles,!0),void 0):this.arc.getRadiusX()},repositionTicks:function(t,i,e){var n,o,r,s,a,l=e?this._tickDifference||0:0,h=this.arc,c=h.getRadiusX();for(e&&this.options.labels.position===I&&0!==l&&(h=this.arc.clone(),h.setRadiusX(c-l).setRadiusY(c-l)),n=0;n<t.length;n++)o=h.pointAt(i[n]),r=t[n].segments,s=o.x-r[0].anchor().x,a=o.y-r[0].anchor().y,t[n].transform((new j).translate(s,a))}}),x(yt,{min:0,max:100,majorTicks:{size:15,align:G,color:d,width:V,visible:!0},minorTicks:{size:10,align:G,color:d,width:V,visible:!0},startAngle:-30,endAngle:210,labels:{position:G,padding:2}}),At=z.extend({init:function(t,i){z.fn.init.call(this,t,i);var e=this.options;e.duration=Math.max(Math.abs(e.newAngle-e.oldAngle)/e.duration*1e3,1)},step:function(t){var i=this.options,e=y(i.oldAngle,i.newAngle,t);this.element.transform(j().rotate(e,i.center))}}),x(At,{easing:N,duration:U}),R.current.register(q,At),_t=.05,Tt=_.Circle,St=T,zt=S,Rt=ot.extend({setAngle:function(t){this.elements.transform(j().rotate(t,this.center))},repaint:function(){var t=this,i=t.scale,e=t.options,n=i.slotAngle(e._oldValue),o=i.slotAngle(e.value);e.animation.transitions===!1?this.setAngle(o):new At(this.elements,m(e.animation,{oldAngle:n,newAngle:o})).play()},render:function(){var t=this,i=t.scale,e=t.options,n=new St;return e.animation!==!1&&m(e.animation,{startAngle:0,center:i.arc.center,reverse:i.options.reverse}),n.append(this._renderNeedle(),this._renderCap()),this.elements=n,this.setAngle(Y),n},reflow:function(t){var i=this.center=t.center,e=b(this.options.length||1,.1,1.5),n=this.radius=t.getRadiusX()*e,o=this.capSize=Math.round(n*this.options.cap.size);this.bbox=C.fromPoints(new M(i.x-o,i.y-o),new M(i.x+o,i.y+o))},_renderNeedle:function(){var t=this.scale.options.minorTicks.size,i=this.center,e=this.options.color,n=new zt({fill:{color:e},stroke:{color:e,width:V}});return n.moveTo(i.x+this.radius-t,i.y).lineTo(i.x,i.y-this.capSize/2).lineTo(i.x,i.y+this.capSize/2).close(),n},_renderCap:function(){var t=this.options,i=t.cap.color||t.color,e=new P.Circle(this.center,this.capSize),n=new Tt(e,{fill:{color:i},stroke:{color:i}});return n}}),x(Rt,{cap:{size:_t},arrow:{width:16,height:14},animation:{type:q,duration:U}}),Pt=T,Ct=$.extend({reflow:function(t){var i,e=this,n=this.pointers;for(this.scale.reflow(t),this._initialPlotArea=this.scale.bbox,i=0;i<n.length;i++)n[i].reflow(e.scale.arc),e._initialPlotArea=C.union(e._initialPlotArea,n[i].bbox);this.fitScale(t),this.alignScale(t),this._buildVisual(this.gaugeArea,n,this.scale),this._draw()},_buildVisual:function(t,i,e){var n=this._visuals=new Pt;n.append(t),n.append(e.ticks),n.append(e.ranges),this._buildPointers(i),n.append(e.labelElements)},_buildPointers:function(t){var i,e,n=this;for(i=0;i<t.length;i++)e=t[i],e.render(),n._visuals.append(e.elements),e.value(e.options.value)},fitScale:function(t){for(var i,e,n,o,r,s=this,a=this.scale.arc,l=this._initialPlotArea,h=Math.abs(this.getDiff(l,t)),c=A(h,f),u=A(-h,f),p=0,d=0;!(!(d++<100)||(p=r===n?p+1:0,p>5)||c!==o&&(i=s.getPlotBox(c,t,a),0<=i&&i<=2)||u!==o&&(n=s.getPlotBox(u,t,a),0<=n&&n<=2)||(o=i>0&&n>0?2*c:i<0&&n<0?2*u:A((c+u)/2||1,f),e=s.getPlotBox(o,t,a),0<=e&&e<=2));)r=n,e>0?(u=o,n=e):(c=o,i=e)},getPlotBox:function(t,i,e){var n,o=this,r=this.scale,s=this.pointers,a=e.getRadiusX(),l=e.clone();for(l.setRadiusX(a+t).setRadiusY(a+t),r.arc=l,r.reflow(i),this.plotBbox=r.bbox,n=0;n<s.length;n++)s[n].reflow(l),o.plotBbox=C.union(o.plotBbox,s[n].bbox);return this.getDiff(this.plotBbox,i)},getDiff:function(t,i){return Math.min(i.width()-t.width(),i.height()-t.height())},alignScale:function(t){var i,e=this,n=this.plotBbox.center(),o=t.center(),r=n.x-o.x,s=n.y-o.y,a=this,l=a.scale,h=a.pointers;for(l.arc.center.x-=r,l.arc.center.y-=s,l.reflow(t),i=0;i<h.length;i++)h[i].reflow(l.arc),e.plotBbox=C.union(l.bbox,h[i].bbox)},_createModel:function(){var t,i,e,n=this,o=this.options,r=o.pointer,s=this.scale=new yt(o.scale,this.contextService);for(this.pointers=[],t=v(r)?r:[r],i=0;i<t.length;i++)e=new Rt(s,m({},t[i],{animation:{transitions:o.transitions}})),n.pointers.push(e)}}),x(Ct,{transitions:!0,gaugeArea:{background:""}}),Mt=yt.extend({rangeSegments:function(){var t=this.options,i=t.min,e=t.max,n=t.rangePlaceholderColor,o=t.rangeLineCap;return[{from:i,to:e,color:n,lineCap:o}]},hasRanges:function(){return!0},placeholderRangeAngle:function(t){var i=this.ranges.children[0].geometry();this.options.reverse?i.setEndAngle(t):i.setStartAngle(t)},addRange:function(t,i,e){var n=this.options.reverse,o=this.slotAngle(n?i:t),r=this.slotAngle(n?t:i),s=this.createRange(o,r,this.getRangeRadius(),e);return this.ranges.append(s),s}}),x(Mt,{min:0,max:100,majorTicks:{visible:!1},minorTicks:{visible:!1},labels:{visible:!1},startAngle:0,endAngle:180,rangeLineCap:"round"}),jt=800,Ut=z.extend({init:function(t,i){var e,n,o,r;z.fn.init.call(this,t,i),e=this.options,n=Math.abs(e.newAngle-e.oldAngle)/e.duration*1e3,e.duration=b(n,U,jt),o=t.elements.options.get("stroke.color"),r=t.currentColor(),o!==r&&(this.startColor=new kendo.Color(o),this.color=new kendo.Color(r))},step:function(t){var i,e,n,o=this,r=o.options,s=o.startColor,a=o.color,l=y(r.oldAngle,r.newAngle,t);this.element.angle(l),a&&(i=A(y(s.r,a.r,t)),e=A(y(s.g,a.g,t)),n=A(y(s.b,a.b,t)),this.element.stroke(new kendo.Color(i,e,n).toHex()))}}),x(Ut,{easing:N,duration:U}),R.current.register(F,Ut),Et=ot.extend({repaint:function(){var t=this,i=t.scale,e=t.options,n=i.slotAngle(e._oldValue),o=i.slotAngle(e.value);this.animation&&this.animation.abort(),e.animation.transitions===!1?(this.angle(o),this.stroke(this.currentColor())):(this.animation=new Ut(this,m(e.animation,{oldAngle:n,newAngle:o})),this.animation.play())},angle:function(t){var i=this.elements.geometry();this.scale.options.reverse?i.setStartAngle(t):i.setEndAngle(t),this.scale.placeholderRangeAngle(t)},stroke:function(t){this.elements.stroke(t)},render:function(){var t,i,e;this.elements||(t=this,i=t.scale,e=t.options,e.animation!==!1&&m(e.animation,{startAngle:0,center:i.arc.center,reverse:i.options.reverse}),this.elements=i.addRange(i.options.min,this.options.value,{color:this.currentColor(),opacity:e.opacity,lineCap:i.options.rangeLineCap}))},currentColor:function(){var t,i,e,n,o,r=this.scale.options,s=r.min,a=r.max,l=this.options,c=l.colors,u=l.color,p=l.value,d=h.isNumber(p)?p:s;if(c)for(t=0;t<c.length;t++)if(i=c[t],e=i.color,n=i.from,void 0===n&&(n=s),o=i.to,void 0===o&&(o=a),n<=d&&d<=o)return e;return u},reflow:function(){this.render(),this.bbox=this.elements.bbox()}}),x(Et,{animation:{type:F,duration:U}}),Bt=Ct.extend({_initTheme:function(t){Ct.fn._initTheme.call(this,t),this.options.color=this.options.color||(this.theme.pointer||{}).color},_createModel:function(){var t=this.options,i=this.scale=new Mt(t.scale,this.contextService),e=new Et(i,m({},{colors:t.colors,color:t.color,value:t.value,opacity:t.opacity,animation:{transitions:t.transitions}}));this.pointers=[e]},_buildPointers:function(t){var i,e;for(i=0;i<t.length;i++)e=t[i],e.render(),e.value(e.options.value)},_setValueOptions:function(t){this.options.value=t},currentColor:function(){var t=this.pointers[0];if(t)return t.currentColor()},centerLabelPosition:function(t,i){var e,n,o,r,s=this.getSize(),a=this.scale.arc.center,l=a.x-t/2,h=a.y-i/2;return t<s.width&&(e=l+t,l=Math.max(l,0),e>s.width&&(l-=e-s.width)),i<s.height&&(n=this.scale.bbox,o=n.bottomRight().y,r=h+i,h=Math.max(h,n.origin.y),r>o&&(h-=r-o)),{left:l,top:h}}}),kendo.deepExtend(kendo.dataviz,{Gauge:$,LinearGauge:vt,LinearPointer:rt,ArrowLinearPointer:ht,BarLinearPointer:dt,LinearScale:nt,RadialGauge:Ct,RadialPointer:Rt,RadialScale:yt,ArcGauge:Bt,RangePointer:Et,ArcScale:Mt})}(window.kendo.jQuery)},e(3))}});