9 lines
17 KiB
JavaScript
9 lines
17 KiB
JavaScript
/*
|
|
* Kendo UI v2015.3.1111 (http://www.telerik.com/kendo-ui)
|
|
* Copyright 2015 Telerik AD. All rights reserved.
|
|
*
|
|
* Kendo UI commercial licenses may be obtained at
|
|
* http://www.telerik.com/purchase/license-agreement/kendo-ui-complete
|
|
* If you do not own a commercial license, this file shall be governed by the trial license terms.
|
|
*/
|
|
!function(e,define){define(["./kendo.dataviz.chart.min","./kendo.drawing.min"],e)}(function(){return function(e,t){function n(e,t){return e.value.x-t.value.x}function i(e,t){return 180-C.abs(C.abs(e-t)-180)}var r,o,a,s,l,c,u,d,h,f,p,g,m,v,_,b,w,y,k,x,C=Math,S=window.kendo,T=S.deepExtend,D=S.util,A=D.append,E=S.drawing,M=S.geometry,I=S.dataviz,R=I.AreaSegment,F=I.Axis,P=I.AxisGroupRangeTracker,B=I.BarChart,z=I.Box2D,L=I.CategoryAxis,H=I.CategoricalChart,N=I.CategoricalPlotArea,O=I.ChartElement,V=I.CurveProcessor,U=I.DonutSegment,W=I.LineChart,j=I.LineSegment,q=I.LogarithmicAxis,G=I.NumericAxis,$=I.PlotAreaBase,Y=I.PlotAreaFactory,K=I.Point2D,Q=I.Ring,X=I.ScatterChart,J=I.ScatterLineChart,Z=I.SeriesBinder,ee=I.ShapeBuilder,te=I.SplineSegment,ne=I.SplineAreaSegment,ie=I.getSpacing,re=I.filterSeriesByType,oe=D.limitValue,ae=I.round,se="arc",le="#000",ce=I.COORD_PRECISION,ue=.15,de=C.PI/180,he="gap",fe="interpolate",pe="log",ge="plotAreaClick",me="polarArea",ve="polarLine",_e="polarScatter",be="radarArea",we="radarColumn",ye="radarLine",ke="smooth",xe="x",Ce="y",Se="zero",Te=[me,ve,_e],De=[be,we,ye],Ae={createGridLines:function(e){var t,n,i=this,r=i.options,o=C.abs(i.box.center().y-e.lineBox().y1),a=!1,s=[];return r.majorGridLines.visible&&(t=i.majorGridLineAngles(e),a=!0,s=i.renderMajorGridLines(t,o,r.majorGridLines)),r.minorGridLines.visible&&(n=i.minorGridLineAngles(e,a),A(s,i.renderMinorGridLines(n,o,r.minorGridLines,e,a))),s},renderMajorGridLines:function(e,t,n){return this.renderGridLines(e,t,n)},renderMinorGridLines:function(e,t,n,i,r){var o=this.radiusCallback&&this.radiusCallback(t,i,r);return this.renderGridLines(e,t,n,o)},renderGridLines:function(e,t,n,i){var r,o,a={stroke:{width:n.width,color:n.color,dashType:n.dashType}},s=this.box.center(),l=new M.Circle([s.x,s.y],t),c=this.gridLinesVisual();for(r=0;e.length>r;r++)o=new E.Path(a),i&&(l.radius=i(e[r])),o.moveTo(l.center).lineTo(l.pointAt(e[r])),c.append(o);return c.children},gridLineAngles:function(n,i,r,o,a){var s=this,l=s.intervals(i,r,o,a),c=n.options,u=c.visible&&(c.line||{}).visible!==!1;return e.map(l,function(e){var n=s.intervalAngle(e);return u&&90===n?t:n})}},Ee=L.extend({options:{startAngle:90,labels:{margin:ie(10)},majorGridLines:{visible:!0},justified:!0},range:function(){return{min:0,max:this.options.categories.length}},reflow:function(e){this.box=e,this.reflowLabels()},lineBox:function(){return this.box},reflowLabels:function(){var e,t,n=this,i=n.options.labels,r=i.skip||0,o=i.step||1,a=new z,s=n.labels;for(t=0;s.length>t;t++)s[t].reflow(a),e=s[t].box,s[t].reflow(n.getSlot(r+t*o).adjacentBox(0,e.width(),e.height()))},intervals:function(e,t,n,i){var r,o=this,a=o.options,s=a.categories.length,l=0,c=s/e||1,u=360/c,d=[];for(t=t||0,n=n||1,r=t;c>r;r+=n)l=a.reverse?360-r*u:r*u,l=ae(l,ce)%360,i&&I.inArray(l,i)||d.push(l);return d},majorIntervals:function(){return this.intervals(1)},minorIntervals:function(){return this.intervals(.5)},intervalAngle:function(e){return(360+e+this.options.startAngle)%360},majorAngles:function(){return e.map(this.majorIntervals(),e.proxy(this.intervalAngle,this))},createLine:function(){return[]},majorGridLineAngles:function(e){var t=this.options.majorGridLines;return this.gridLineAngles(e,1,t.skip,t.step)},minorGridLineAngles:function(e,t){var n=this.options,i=n.minorGridLines,r=n.majorGridLines,o=t?this.intervals(1,r.skip,r.step):null;return this.gridLineAngles(e,.5,i.skip,i.step,o)},radiusCallback:function(e,n,i){var r,o,a,s;return n.options.type!==se?(r=360/(2*this.options.categories.length),o=C.cos(r*de)*e,a=this.majorAngles(),s=function(t){return!i&&I.inArray(t,a)?e:o}):t},createPlotBands:function(){var e,t,n,i,r,o,a,s=this,l=s.options,c=l.plotBands||[],u=this._plotbandGroup=new E.Group({zIndex:-1});for(e=0;c.length>e;e++)t=c[e],n=s.plotBandSlot(t),i=s.getSlot(t.from),r=t.from-C.floor(t.from),n.startAngle+=r*i.angle,o=C.ceil(t.to)-t.to,n.angle-=(o+r)*i.angle,a=ee.current.createRing(n,{fill:{color:t.color,opacity:t.opacity},stroke:{opacity:t.opacity}}),u.append(a);s.appendVisual(u)},plotBandSlot:function(e){return this.getSlot(e.from,e.to-1)},getSlot:function(e,t){var n,i,r,o=this,a=o.options,s=a.justified,l=o.box,c=o.majorAngles(),u=c.length,d=360/u;return a.reverse&&!s&&(e=(e+1)%u),e=oe(C.floor(e),0,u-1),i=c[e],s&&(i-=d/2,0>i&&(i+=360)),t=oe(C.ceil(t||e),e,u-1),n=t-e+1,r=d*n,new Q(l.center(),0,l.height()/2,i,r)},slot:function(e,t){var n=this.getSlot(e,t),i=n.startAngle+180,r=i+n.angle;return new M.Arc([n.c.x,n.c.y],{startAngle:i,endAngle:r,radiusX:n.r,radiusY:n.r})},pointCategoryIndex:function(e){var t,n,i=this,r=null,o=i.options.categories.length;for(t=0;o>t;t++)if(n=i.getSlot(t),n.containsPoint(e)){r=t;break}return r}});T(Ee.fn,Ae),r={options:{majorGridLines:{visible:!0}},createPlotBands:function(){var e,t,n,i,r,o,a=this,s=a.options,l=s.plotBands||[],c=s.majorGridLines.type,u=a.plotArea.polarAxis,d=u.majorAngles(),h=u.box.center(),f=this._plotbandGroup=new E.Group({zIndex:-1});for(e=0;l.length>e;e++)t=l[e],n={fill:{color:t.color,opacity:t.opacity},stroke:{opacity:t.opacity}},i=a.getSlot(t.from,t.to,!0),r=new Q(h,h.y-i.y2,h.y-i.y1,0,360),o=c===se?ee.current.createRing(r,n):E.Path.fromPoints(a.plotBandPoints(r,d),n).close(),f.append(o);a.appendVisual(f)},plotBandPoints:function(e,t){var n,i=[],r=[],o=[e.c.x,e.c.y],a=new M.Circle(o,e.ir),s=new M.Circle(o,e.r);for(n=0;t.length>n;n++)i.push(a.pointAt(t[n])),r.push(s.pointAt(t[n]));return i.reverse(),i.push(i[0]),r.push(r[0]),r.concat(i)},createGridLines:function(e){var t,n=this,i=n.options,r=n.radarMajorGridLinePositions(),o=e.majorAngles(),a=e.box.center(),s=[];return i.majorGridLines.visible&&(s=n.renderGridLines(a,r,o,i.majorGridLines)),i.minorGridLines.visible&&(t=n.radarMinorGridLinePositions(),A(s,n.renderGridLines(a,t,o,i.minorGridLines))),s},renderGridLines:function(e,t,n,i){var r,o,a,s,l,c={stroke:{width:i.width,color:i.color,dashType:i.dashType}},u=this.gridLinesVisual();for(o=0;t.length>o;o++)if(r=e.y-t[o],r>0)if(s=new M.Circle([e.x,e.y],r),i.type===se)u.append(new E.Circle(s,c));else{for(l=new E.Path(c),a=0;n.length>a;a++)l.lineTo(s.pointAt(n[a]));l.close(),u.append(l)}return u.children},getValue:function(e){var t,n,r,o,a,s,l,c=this,u=c.options,d=c.lineBox(),h=c.plotArea.polarAxis,f=h.majorAngles(),p=h.box.center(),g=e.distanceTo(p),m=g;return u.majorGridLines.type!==se&&f.length>1&&(t=e.x-p.x,n=e.y-p.y,r=(C.atan2(n,t)/de+540)%360,f.sort(function(e,t){return i(e,r)-i(t,r)}),o=i(f[0],f[1])/2,a=i(r,f[0]),s=90-o,l=180-a-s,m=g*(C.sin(l*de)/C.sin(s*de))),c.axisType().fn.getValue.call(c,new K(d.x1,d.y2-m))}},o=G.extend({radarMajorGridLinePositions:function(){return this.getTickPositions(this.options.majorUnit)},radarMinorGridLinePositions:function(){var e=this,t=e.options,n=0;return t.majorGridLines.visible&&(n=t.majorUnit),e.getTickPositions(t.minorUnit,n)},axisType:function(){return G}}),T(o.fn,r),a=q.extend({radarMajorGridLinePositions:function(){var e=this,t=[];return e.traverseMajorTicksPositions(function(e){t.push(e)},e.options.majorGridLines),t},radarMinorGridLinePositions:function(){var e=this,t=[];return e.traverseMinorTicksPositions(function(e){t.push(e)},e.options.minorGridLines),t},axisType:function(){return q}}),T(a.fn,r),s=F.extend({init:function(e){var t=this;F.fn.init.call(t,e),e=t.options,e.minorUnit=e.minorUnit||t.options.majorUnit/2},options:{type:"polar",startAngle:0,reverse:!1,majorUnit:60,min:0,max:360,labels:{margin:ie(10)},majorGridLines:{color:le,visible:!0,width:1},minorGridLines:{color:"#aaa"}},getDivisions:function(e){return G.fn.getDivisions.call(this,e)-1},reflow:function(e){this.box=e,this.reflowLabels()},reflowLabels:function(){var e,t,n=this,i=n.options,r=i.labels,o=r.skip||0,a=r.step||1,s=new z,l=n.intervals(i.majorUnit,o,a),c=n.labels;for(t=0;c.length>t;t++)c[t].reflow(s),e=c[t].box,c[t].reflow(n.getSlot(l[t]).adjacentBox(0,e.width(),e.height()))},lineBox:function(){return this.box},intervals:function(e,t,n,i){var r,o,a=this,s=a.options,l=a.getDivisions(e),c=s.min,u=[];for(t=t||0,n=n||1,o=t;l>o;o+=n)r=(360+c+o*e)%360,i&&I.inArray(r,i)||u.push(r);return u},majorIntervals:function(){return this.intervals(this.options.majorUnit)},minorIntervals:function(){return this.intervals(this.options.minorUnit)},intervalAngle:function(e){return(540-e-this.options.startAngle)%360},majorAngles:Ee.fn.majorAngles,createLine:function(){return[]},majorGridLineAngles:function(e){var t=this.options.majorGridLines;return this.gridLineAngles(e,this.options.majorUnit,t.skip,t.step)},minorGridLineAngles:function(e,t){var n=this.options,i=n.minorGridLines,r=n.majorGridLines,o=t?this.intervals(n.majorUnit,r.skip,r.step):null;return this.gridLineAngles(e,this.options.minorUnit,i.skip,i.step,o)},createPlotBands:Ee.fn.createPlotBands,plotBandSlot:function(e){return this.getSlot(e.from,e.to)},getSlot:function(e,t){var n,i=this,r=i.options,o=r.startAngle,a=i.box;return e=oe(e,r.min,r.max),t=oe(t||e,e,r.max),r.reverse&&(e*=-1,t*=-1),e=(540-e-o)%360,t=(540-t-o)%360,e>t&&(n=e,e=t,t=n),new Q(a.center(),0,a.height()/2,e,t-e)},slot:function(e,t){var n,i,r,o,a=this.options,s=360-a.startAngle,l=this.getSlot(e,t);return I.util.defined(t)||(t=e),r=C.min(e,t),o=C.max(e,t),a.reverse?(n=r,i=o):(n=360-o,i=360-r),n=(n+s)%360,i=(i+s)%360,new M.Arc([l.c.x,l.c.y],{startAngle:n,endAngle:i,radiusX:l.r,radiusY:l.r})},getValue:function(e){var t=this,n=t.options,i=t.box.center(),r=e.x-i.x,o=e.y-i.y,a=C.round(C.atan2(o,r)/de),s=n.startAngle;return n.reverse||(a*=-1,s*=-1),(a+s+360)%360},range:G.fn.range,labelsCount:G.fn.labelsCount,createAxisLabel:G.fn.createAxisLabel}),T(s.fn,Ae),l=O.extend({options:{gap:1,spacing:0},reflow:function(e){var t,n,i=this,r=i.options,o=i.children,a=r.gap,s=r.spacing,l=o.length,c=l+a+s*(l-1),u=e.angle/c,d=e.startAngle+u*(a/2);for(n=0;l>n;n++)t=e.clone(),t.startAngle=d,t.angle=u,o[n].sector&&(t.r=o[n].sector.r),o[n].reflow(t),o[n].sector=t,d+=u+u*s}}),c=O.extend({reflow:function(e){var t,n,i=this,r=i.options.isReversed,o=i.children,a=o.length,s=r?a-1:0,l=r?-1:1;for(i.box=new z,n=s;n>=0&&a>n;n+=l)t=o[n].sector,t.startAngle=e.startAngle,t.angle=e.angle}}),u=U.extend({init:function(e,t){U.fn.init.call(this,e,null,t)},options:{overlay:{gradient:null},labels:{distance:10}}}),d=B.extend({pointType:function(){return u},clusterType:function(){return l},stackType:function(){return c},categorySlot:function(e,t){return e.getSlot(t)},pointSlot:function(e,t){var n=e.clone(),i=e.c.y;return n.r=i-t.y1,n.ir=i-t.y2,n},reflow:H.fn.reflow,reflowPoint:function(e,t){e.sector=t,e.reflow()},options:{clip:!1,animation:{type:"pie"}},createAnimation:function(){this.options.animation.center=this.box.toRect().center(),B.fn.createAnimation.call(this)}}),h=W.extend({options:{clip:!1},pointSlot:function(e,t){var n=e.c.y-t.y1,i=K.onCircle(e.c,e.middle(),n);return new z(i.x,i.y,i.x,i.y)},createSegment:function(e,t,n){var i,r,o=t.style;return r=o==ke?te:j,i=new r(e,t,n),e.length===t.data.length&&(i.options.closed=!0),i}}),f=R.extend({points:function(){return j.fn.points.call(this,this.stackPoints)}}),p=ne.extend({closeFill:e.noop}),g=h.extend({createSegment:function(e,t,n,i){var r,o,a=this,s=a.options,l=s.isStacked,c=(t.line||{}).style;return c===ke?(o=new p(e,i,l,t,n),o.options.closed=!0):(l&&n>0&&i&&(r=i.linePoints.slice(0).reverse()),e.push(e[0]),o=new f(e,r,t,n)),o},seriesMissingValues:function(e){return e.missingValues||Se}}),m=X.extend({pointSlot:function(e,t){var n=e.c.y-t.y1,i=K.onCircle(e.c,e.startAngle,n);return new z(i.x,i.y,i.x,i.y)},options:{clip:!1}}),v=J.extend({pointSlot:m.fn.pointSlot,options:{clip:!1}}),_=R.extend({points:function(){var e=this,t=e.parent,n=t.plotArea,i=n.polarAxis,r=i.box.center(),o=e.stackPoints,a=j.fn.points.call(e,o);return a.unshift([r.x,r.y]),a.push([r.x,r.y]),a}}),b=ne.extend({closeFill:function(e){var t=this._polarAxisCenter();e.lineTo(t.x,t.y)},_polarAxisCenter:function(){var e=this.parent,t=e.plotArea,n=t.polarAxis,i=n.box.center();return i},strokeSegments:function(){var e,t,n,i=this._strokeSegments;return i||(e=this._polarAxisCenter(),t=new V(!1),n=j.fn.points.call(this),n.push(e),i=this._strokeSegments=t.process(n),i.pop()),i}}),w=v.extend({createSegment:function(e,t,n){var i,r=(t.line||{}).style;return i=r==ke?new b(e,null,!1,t,n):new _(e,[],t,n)},createMissingValue:function(e,t){var n;return I.hasValue(e.x)&&t!=fe&&(n={x:e.x,y:e.y},t==Se&&(n.y=0)),n},seriesMissingValues:function(e){return e.missingValues||Se},_hasMissingValuesGap:function(){var e,t=this.options.series;for(e=0;t.length>e;e++)if(this.seriesMissingValues(t[e])===he)return!0},sortPoints:function(e){var t,i,r;if(e.sort(n),this._hasMissingValuesGap())for(r=0;e.length>r;r++)i=e[r],i&&(t=i.value,I.hasValue(t.y)||this.seriesMissingValues(i.series)!==he||delete e[r]);return e}}),y=$.extend({init:function(e,t){var n=this;n.valueAxisRangeTracker=new P,$.fn.init.call(n,e,t)},render:function(){var e=this;e.addToLegend(e.series),e.createPolarAxis(),e.createCharts(),e.createValueAxis()},alignAxes:function(){var e=this.valueAxis,t=e.range(),n=e.options.reverse?t.max:t.min,i=e.getSlot(n),r=this.polarAxis.getSlot(0).c,o=e.box.translate(r.x-i.x1,r.y-i.y1);e.reflow(o)},createValueAxis:function(){var e,t,n,i,r=this,s=r.valueAxisRangeTracker,l=s.query(),c=r.valueAxisOptions({roundToMajorUnit:!1,zIndex:-1});c.type===pe?(n=a,i={min:.1,max:1}):(n=o,i={min:0,max:1}),e=s.query(name)||l||i,e&&l&&(e.min=C.min(e.min,l.min),e.max=C.max(e.max,l.max)),t=new n(e.min,e.max,c),r.valueAxis=t,r.appendAxis(t)},reflowAxes:function(){var e,t=this,n=t.options.plotArea,i=t.valueAxis,r=t.polarAxis,o=t.box,a=C.min(o.width(),o.height())*ue,s=ie(n.padding||{},a),l=o.clone().unpad(s),c=l.clone().shrink(0,l.height()/2);r.reflow(l),i.reflow(c),e=i.lineBox().height()-i.box.height(),i.reflow(i.box.unpad({top:e})),t.axisBox=l,t.alignAxes(l)},backgroundBox:function(){return this.box}}),k=y.extend({options:{categoryAxis:{categories:[]},valueAxis:{}},createPolarAxis:function(){var e,t=this;e=new Ee(t.options.categoryAxis),t.polarAxis=e,t.categoryAxis=e,t.appendAxis(e)},valueAxisOptions:function(e){var t=this;return t._hasBarCharts&&T(e,{majorGridLines:{type:se},minorGridLines:{type:se}}),t._isStacked100&&T(e,{roundToMajorUnit:!1,labels:{format:"P0"}}),T(e,t.options.valueAxis)},appendChart:N.fn.appendChart,createCharts:function(){var e=this,t=e.filterVisibleSeries(e.series),n=e.panes[0];e.createAreaChart(re(t,[be]),n),e.createLineChart(re(t,[ye]),n),e.createBarChart(re(t,[we]),n)},chartOptions:function(e){var t,n,i={series:e},r=e[0];return r&&(t=this.filterVisibleSeries(e),n=r.stack,i.isStacked=n&&t.length>1,i.isStacked100=n&&"100%"===n.type&&t.length>1,i.isStacked100&&(this._isStacked100=!0)),i},createAreaChart:function(e,t){if(0!==e.length){var n=new g(this,this.chartOptions(e));this.appendChart(n,t)}},createLineChart:function(e,t){if(0!==e.length){var n=new h(this,this.chartOptions(e));this.appendChart(n,t)}},createBarChart:function(e,t){var n,i,r;0!==e.length&&(n=e[0],i=this.chartOptions(e),i.gap=n.gap,i.spacing=n.spacing,r=new d(this,i),this.appendChart(r,t),this._hasBarCharts=!0)},seriesCategoryAxis:function(){return this.categoryAxis},click:function(t,n){var i,r,o=this,a=t._eventCoordinates(n),s=new K(a.x,a.y);i=o.categoryAxis.getCategory(s),r=o.valueAxis.getValue(s),null!==i&&null!==r&&t.trigger(ge,{element:e(n.target),category:i,value:r})},createCrosshairs:e.noop}),x=y.extend({options:{xAxis:{},yAxis:{}},createPolarAxis:function(){var e,t=this;e=new s(t.options.xAxis),t.polarAxis=e,t.axisX=e,t.appendAxis(e)},valueAxisOptions:function(e){var t=this;return T(e,{majorGridLines:{type:se},minorGridLines:{type:se}},t.options.yAxis)},createValueAxis:function(){var e=this;y.fn.createValueAxis.call(e),e.axisY=e.valueAxis},appendChart:function(e,t){var n=this;n.valueAxisRangeTracker.update(e.yAxisRanges),$.fn.appendChart.call(n,e,t)},createCharts:function(){var e=this,t=e.filterVisibleSeries(e.series),n=e.panes[0];e.createLineChart(re(t,[ve]),n),e.createScatterChart(re(t,[_e]),n),e.createAreaChart(re(t,[me]),n)},createLineChart:function(e,t){if(0!==e.length){var n=this,i=new v(n,{series:e});n.appendChart(i,t)}},createScatterChart:function(e,t){if(0!==e.length){var n=this,i=new m(n,{series:e});n.appendChart(i,t)}},createAreaChart:function(e,t){if(0!==e.length){var n=this,i=new w(n,{series:e});n.appendChart(i,t)}},click:function(t,n){var i,r,o=this,a=t._eventCoordinates(n),s=new K(a.x,a.y);i=o.axisX.getValue(s),r=o.axisY.getValue(s),null!==i&&null!==r&&t.trigger(ge,{element:e(n.target),x:i,y:r})},createCrosshairs:e.noop}),Y.current.register(x,Te),Y.current.register(k,De),Z.current.register(Te,[xe,Ce],["color"]),Z.current.register(De,["value"],["color"]),I.DefaultAggregates.current.register(De,{value:"max",color:"first"}),T(I,{PolarAreaChart:w,PolarAxis:s,PolarLineChart:v,PolarPlotArea:x,RadarAreaChart:g,RadarBarChart:d,RadarCategoryAxis:Ee,RadarClusterLayout:l,RadarLineChart:h,RadarNumericAxis:o,RadarPlotArea:k,SplinePolarAreaSegment:b,SplineRadarAreaSegment:p,RadarStackLayout:c})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()}); |