/** * Kendo UI v2018.1.117 (http://www.telerik.com/kendo-ui) * Copyright 2018 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(t,define){define("util/text-metrics.min",["kendo.core.min"],t)}(function(){!function(t){function e(t){return(t+"").replace(a,h)}function i(t){var e,i=[];for(e in t)i.push(e+t[e]);return i.sort().join("")}function n(t){var e,i=2166136261;for(e=0;e>>0}function s(){return{width:0,height:0,baseline:0}}function o(t,e,i){return u.current.measure(t,e,i)}var r,a,h,l,c,u;window.kendo.util=window.kendo.util||{},r=kendo.Class.extend({init:function(t){this._size=t,this._length=0,this._map={}},put:function(t,e){var i=this._map,n={key:t,value:e};i[t]=n,this._head?(this._tail.newer=n,n.older=this._tail,this._tail=n):this._head=this._tail=n,this._length>=this._size?(i[this._head.key]=null,this._head=this._head.newer,this._head.older=null):this._length++},get:function(t){var e=this._map[t];if(e)return e===this._head&&e!==this._tail&&(this._head=e.newer,this._head.older=null),e!==this._tail&&(e.older&&(e.older.newer=e.newer,e.newer.older=e.older),e.older=this._tail,e.newer=null,this._tail.newer=e,this._tail=e),e.value}}),a=/\r?\n|\r|\t/g,h=" ",l={baselineMarkerSize:1},"undefined"!=typeof document&&(c=document.createElement("div"),c.style.cssText="position: absolute !important; top: -4000px !important; width: auto !important; height: auto !important;padding: 0 !important; margin: 0 !important; border: 0 !important;line-height: normal !important; visibility: hidden !important; white-space: pre!important;"),u=kendo.Class.extend({init:function(e){this._cache=new r(1e3),this.options=t.extend({},l,e)},measure:function(t,o,r){var a,h,l,u,p,d,g,f,v;if(void 0===r&&(r={}),!t)return s();if(a=i(o),h=n(t+a),l=this._cache.get(h))return l;u=s(),p=r.box||c,d=this._baselineMarker().cloneNode(!1);for(g in o)f=o[g],void 0!==f&&(p.style[g]=f);return v=r.normalizeText!==!1?e(t):t+"",p.textContent=v,p.appendChild(d),document.body.appendChild(p),v.length&&(u.width=p.offsetWidth-this.options.baselineMarkerSize,u.height=p.offsetHeight,u.baseline=d.offsetTop+this.options.baselineMarkerSize),u.width>0&&u.height>0&&this._cache.put(h,u),p.parentNode.removeChild(p),u},_baselineMarker:function(){var t=document.createElement("div");return t.style.cssText="display: inline-block; vertical-align: baseline;width: "+this.options.baselineMarkerSize+"px; height: "+this.options.baselineMarkerSize+"px;overflow: hidden;",t}}),u.current=new u,kendo.deepExtend(kendo.util,{LRUCache:r,TextMetrics:u,measureText:o,objectKey:i,hashKey:n,normalizeText:e})}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(t,e,i){(i||e)()}),function(t,define){define("dataviz/chart/kendo-chart.min",["kendo.core.min","kendo.color.min","kendo.drawing.min","kendo.dataviz.core.min"],t)}(function(){!function(t){function e(t){var e,i,n=t.length,s=0;for(e=0;eGi)return null;for(h in t)!bt(h,i.excluded)&&t.hasOwnProperty(h)&&(l=t[h],At(l)?(a=!0,s||(t[h]=St(l(e),o[h]))):Ct(l)&&(s||(i.defaults=o[h]),i.depth++,a=n(l,e,i,s)||a,i.depth--));return a}function s(t){var e,i=t.length,n=0;for(e=0;e=0;i--)e(t[i],i-n-1)}function c(t){return e(t)===t.length}function u(t){return gt(t)&&null!==t}function p(t){var e,i,n,s=t.series;for(e=0;e0)for(i=0;i-1){for(n=t.split(".");n.length>1;)o=n.shift(),gt(s[o])||(s[o]={}),s=s[o];o=n.shift()}s[o]=i}function C(t,e){null!==e&&t.push(e)}function k(t,e,i){var n=[].concat(e instanceof Dt?t.categoryAxis:t.valueAxis);kt(n[e.axisIndex],i)}function P(t,e,i){return Nt(t,function(t){return 0===i&&!t.categoryAxis||t.categoryAxis===e})}function T(){this._defaultPrevented=!0}function R(t,e){var i=(e||"").toLowerCase(),n=t.event,s="none"===i&&!(n.ctrlKey||n.shiftKey||n.altKey)||n[i+"Key"];return s}function E(t){var e,i,n={};for(e=0;eAs?et:o<0?lt:st,i=Math.abs(s)1?o:o[0]}function N(t,e){var i,n,s,o=t.series,r=o.length,a=t.seriesDefaults,h=kt({},t.seriesDefaults),l=e?kt({},e.seriesDefaults):{},c=kt({},l);for(G(h),G(c),i=0;i0?[i[0]]:[],o=1;o0&&(n=he.sum(t)/i),n},first:function(t){var e,i,n=t.length;for(e=0;e=0&&(this.valueGetter=this.createValueGetter(e,i),a=this.getStandardError(h,this.getAverage(h)),this.globalRange=function(t){return{low:t-a,high:t+a}})},createValueGetter:function(t,e){var i,n,s,o=t.data,r=le.current,a=r.valueFields(t),h=gt(o[0])?o[0]:{};return vt(h)?(n=e?a.indexOf(e):0,i=ft("["+n+"]")):K(h)?i=ft():typeof h===Q.OBJECT&&(s=r.sourceFields(t,a),i=ft(s[a.indexOf(e)])),i},getErrorRange:function(t,e){var i,n,s,o;if(!gt(e))return null;if(this.globalRange)return this.globalRange(t);if(vt(e))i=t-e[0],n=t+e[1];else if(K(s=parseFloat(e)))i=t-s,n=t+s;else{if(!(s=pe.exec(e)))throw Error("Invalid ErrorBar value: "+e);o=t*(parseFloat(s[1])/100),i=t-Math.abs(o),n=t+Math.abs(o)}return{low:i,high:n}},getStandardError:function(t,e){return this.getStandardDeviation(t,e,!0)/Math.sqrt(e.count)},getStandardDeviation:function(t,e,i){var n,s,o=this,r=t.length,a=i?e.count-1:e.count,h=0;for(n=0;n0)return t.value/s}return t.value},plotRange:function(t,e){var i,n,s,o,r,a,h,l,c,u,p,d,g,f=this;if(void 0===e&&(e=0),i=this.categoryPoints[t.categoryIx],this.options.isStacked){for(n=this.plotValue(t),s=n>=0,o=e,r=!1,a=0;a=0&&s||u<0&&!s)&&(o+=u,n+=u,r=!0,f.options.isStacked100&&(n=Math.min(n,1)))}return r&&(o-=e),[o,n]}return p=t.series,d=this.seriesValueAxis(p),g=this.categoryAxisCrossingValue(d),[g,Y.convertableToNumber(t.value)?t.value:g]},stackLimits:function(t,e){var i,n,s,o,r,a=this,h=$,l=J;for(i=0;i0&&(this.errorTotals.positive[e]=Math.max(this.errorTotals.positive[e]||0,s)),{low:n,high:s}},addValue:function(e,i){var n,s,o=i.categoryIx,r=i.series,a=i.seriesIx,h=this.categoryPoints[o];h||(this.categoryPoints[o]=h=[]),n=this.seriesPoints[a],n||(this.seriesPoints[a]=n=[]),s=this.createPoint(e,i),s&&(t.extend(s,i),s.owner=this,s.noteText=e.fields.noteText,gt(s.dataItem)||(s.dataItem=r.data[o]),this.addErrorBar(s,e,o)),this.points.push(s),n.push(s),h.push(s),this.updateRange(e.valueFields,i)},evalPointOptions:function(t,e,i,s,o,r){var a,h={defaults:o._defaults,excluded:["data","aggregate","_events","tooltip","content","template","visual","toggle","_outOfRangeMinPoint","_outOfRangeMaxPoint"]},l=this._evalSeries[r];return gt(l)||(this._evalSeries[r]=l=n(t,{},h,!0)),a=t,l&&(a=kt({},a),n(a,{value:e,category:i,index:s,series:o,dataItem:o.data[s]},h)),a},updateRange:function(t,e){var i=e.series.axis,n=t.value,s=this.valueAxisRanges[i];isFinite(n)&&null!==n&&(s=this.valueAxisRanges[i]=s||{min:$,max:J},s.min=Math.min(s.min,n),s.max=Math.max(s.max,n))},seriesValueAxis:function(t){var e=this.plotArea,i=t.axis,n=i?e.namedValueAxes[i]:e.valueAxis;if(!n)throw Error("Unable to locate value axis with name "+i);return n},reflow:function(t){var e=this,i=this.categorySlots=[],n=this.points,s=this.categoryAxis,o=0;this.traverseDataPoints(function(t,r){var a,h,l,c=r.categoryIx,u=r.series,p=e.seriesValueAxis(u),d=n[o++],g=i[c];g||(i[c]=g=e.categorySlot(s,c,p)),d&&(a=e.plotRange(d,p.startValue()),h=e.valueSlot(p,a),h?(l=e.pointSlot(g,h),d.aboveAxis=e.aboveAxis(d,p),d.stackValue=a[1],e.options.isStacked100&&(d.percentage=e.plotValue(d)),e.reflowPoint(d,l)):d.visible=!1)}),this.reflowCategories(i),!this.options.clip&&this.options.limitPoints&&this.points.length&&this.limitPoints(),this.box=t},valueSlot:function(t,e){return t.getSlot(e[0],e[1],!this.options.clip)},limitPoints:function(){var t,e=this,i=this.categoryPoints,n=i[0].concat(Pt(i));for(t=0;t=i},categoryAxisCrossingValue:function(t){var e=this.categoryAxis,i=t.options,n=[].concat(i.axisCrossingValues||i.axisCrossingValue);return n[e.axisIndex||0]||0},reflowPoint:function(t,e){t.reflow(e)},reflowCategories:function(){},pointSlot:function(t,e){var i=this.options,n=i.invertAxes,s=n?e:t,o=n?t:e;return new yt(s.x1,o.y1,s.x2,o.y2)},categorySlot:function(t,e){return t.getSlot(e)},traverseDataPoints:function(t){var e,i,n,o,r,a,h,l=this,c=this.options.series,u=this.categoryAxis.options.categories||[],p=s(c),d=c.length;for(e=0;e1&&(t=h.createSegment(o,i,e,t),h._addSegment(t)),o=[]);o.length>1&&(t=h.createSegment(o,i,e,t),h._addSegment(t))}this.children.unshift.apply(this.children,this._segments)},_addSegment:function(t){this._segments.push(t),t.parent=this},sortPoints:function(t){return t},seriesMissingValues:function(t){var e=t.missingValues,i=!e&&this.options.isStacked;return i?Re:e||Ee},getNearestPoint:function(t,e,i){var n,s,o,r,a,h=new mt(t,e),l=this.seriesPoints[i],c=$;for(s=0;s0&&i.visible!==!1&&this.createStroke({stroke:kt({color:n,opacity:t.opacity,lineCap:"butt"},i)})},strokeSegments:function(){var t=this._strokeSegments;return t||(t=this._strokeSegments=this.createStrokeSegments()),t},createStrokeSegments:function(){return this.segmentsFromPoints(this.points())},stackSegments:function(){return this.prevSegment?this.prevSegment.createStackSegments(this.stackPoints):this.createStackSegments(this.stackPoints)},createStackSegments:function(t){return this.segmentsFromPoints(this.toGeometryPoints(t)).reverse()},segmentsFromPoints:function(t){return t.map(function(t){return new ie.Segment(t)})},createStroke:function(t){var e=new Qt(t);e.segments.push.apply(e.segments,this.strokeSegments()),this.visual.append(e)},hasStackSegment:function(){return this.prevSegment||this.stackPoints&&this.stackPoints.length},createFill:function(t){var e,i,n=this.strokeSegments(),s=n.slice(0),o=this.hasStackSegment();o&&(e=this.stackSegments(),Lt(s,e)),i=new Qt(t),i.segments.push.apply(i.segments,s),!o&&n.length>1&&this.fillToAxes(i),this.visual.append(i)},fillToAxes:function(t){var e=this.parent,i=e.options.invertAxes,n=e.seriesValueAxis(this.series),s=e.categoryAxisCrossingValue(n),o=n.getSlot(s,s,!0),r=this.strokeSegments(),a=r[0].anchor(),h=Pt(r).anchor(),l=i?o.x1:o.y1;i?t.lineTo(l,h.y).lineTo(l,a.y):t.lineTo(h.x,l).lineTo(a.x,l)}}),nn=en.extend({createStrokeSegments:function(){return this.segmentsFromPoints(this.calculateStepPoints(this.linePoints))},createStackSegments:function(t){return this.segmentsFromPoints(this.calculateStepPoints(t)).reverse()}}),kt(nn.prototype,Yi),sn=en.extend({createStrokeSegments:function(){var t=new Mt(this.options.closed),e=this.points();return t.process(e)},createStackSegments:function(){var t,e,i=this.strokeSegments(),n=[];for(t=i.length-1;t>=0;t--)e=i[t],n.push(new ie.Segment(e.anchor(),e.controlOut(),e.controlIn()));return n}}),on=tn.extend({createSegment:function(t,e,i,n){var s,o,r,a,h=this.options.isStacked,l=(e.line||{}).style;return h&&i>0&&n&&(r=this.seriesMissingValues(e),"gap"!==r?(o=n.linePoints,s=n):o=this._gapStackPoints(t,i,l)),new(a=l===Be?nn:l===Le?sn:en)(t,e,i,s,o)},reflow:function(t){var e,i,n,s,o=this;if(tn.fn.reflow.call(this,t),e=this._stackPoints)for(i=0;i0&&!l);l?(i!==Be&&r>d&&!p[h][a-1]&&o.push(u._previousSegmentPoint(r,a,a-1,h)),o.push(l),i!==Be&&r+10&&!s;)r--,s=o[r][i];return s?s=o[r][e]:(s=this._createGapStackPoint(t),this._stackPoints.push(s)),s},_createGapStackPoint:function(t){var e=this.pointOptions({},0),i=new Ui(0,e);return i.categoryIx=t,i.series={},i},seriesMissingValues:function(t){return t.missingValues||Re}}),rn=j.extend({init:function(){this.axisRanges={}},update:function(t){var e,i,n,s=this.axisRanges;for(e in t)i=t[e],n=s[e],s[e]=n=n||{min:$,max:J},n.min=Math.min(n.min,i.min),n.max=Math.max(n.max,i.max)},reset:function(t){this.axisRanges[t]=void 0},query:function(t){return this.axisRanges[t]}}),an=xt.extend({init:function(t,e){xt.fn.init.call(this,e),this.textBox=new Et(t,this.options),this.append(this.textBox)},createVisual:function(){this.textBox.options.noclip=this.options.noclip},reflow:function(t){var e=this.options,i=e.vertical,n=e.aboveAxis,s=this.children[0],o=s.options,r=s.box,a=s.options.padding,h=t;o.align=i?et:st,o.vAlign=i?it:et,e.position===Mi?i?(o.vAlign=it,!n&&r.height()0&&n.height()>0&&this.createRect(this.visual))},createRect:function(t){var e,i,n,s,o,r=this.options,h=r.border,l=gt(h.opacity)?h.opacity:r.opacity,c=this.box.toRect();c.size.width=Math.round(c.size.width),e=this.rectVisual=Qt.fromRect(c,{fill:{color:this.color,opacity:r.opacity},stroke:{color:this.getBorderColor(),width:h.width,opacity:l,dashType:h.dashType}}),i=this.box.width(),n=this.box.height(),s=r.vertical?i:n,s>hn&&(_t(e),(i<1||n<1)&&(e.options.stroke.lineJoin="round")),t.append(e),a(r)&&(o=this.createGradientOverlay(e,{baseColor:this.color},kt({end:r.vertical?void 0:[0,1]},r.overlay)),t.append(o))},createHighlight:function(t){var e=Qt.fromRect(this.box.toRect(),t);return _t(e)},highlightVisual:function(){return this.rectVisual},highlightVisualArgs:function(){return{options:this.options,rect:this.box.toRect(),visual:this.rectVisual}},getBorderColor:function(){var t=this.color,e=this.options.border,i=e._brightness||ye,n=e.color;return gt(n)||(n=new ee(t).brightness(i).toHex()),n},tooltipAnchor:function(){var t,e,i,n,s=this,o=s.options,r=s.box,a=s.aboveAxis,h=this.owner.pane.clipBox()||r,l=st,c=it;return o.vertical?(t=Math.min(r.x2,h.x2)+_e,a?e=Math.max(r.y1,h.y1):(e=Math.min(r.y2,h.y2),c=nt)):(i=Math.max(r.x1,h.x1),n=Math.min(r.x2,h.x2),o.isStacked?(c=nt,a?(l=lt,t=n):t=i,e=Math.max(r.y1,h.y1)-_e):(a?t=n+_e:(t=i-_e,l=lt),e=Math.max(r.y1,h.y1))),{point:new mt(t,e),align:{horizontal:l,vertical:c}}},overlapsBox:function(t){return this.box.overlaps(t)}}),kt(ln.prototype,Wi),kt(ln.prototype,Xi),ln.prototype.defaults={border:{width:1},vertical:!0,overlay:{gradient:"glass"},labels:{visible:!1,format:"{0}"},opacity:1,notes:{label:{}}},cn=xt.extend({init:function(t){xt.fn.init.call(this,t),this.forEach=t.rtl?l:h},reflow:function(t){var e=this.options,i=e.vertical,n=e.gap,s=e.spacing,o=this.children,r=o.length,a=i?ht:at,h=r+n+s*(r-1),l=(i?t.height():t.width())/h,c=t[a+1]+l*(n/2);this.forEach(o,function(e,i){var n=(e.box||t).clone();n[a+1]=c,n[a+2]=c+l,e.reflow(n),i0&&i.options.set("stroke",{color:this.getBorderColor(),width:e.border.width,dashType:e.border.dashType,opacity:St(e.border.opacity,e.opacity)}),_t(i),t.append(i),a(e)&&t.append(this.createGradientOverlay(i,{baseColor:this.color},kt({end:e.vertical?void 0:[0,1]},e.overlay)))},createLines:function(t,e){this.drawLines(t,e,this.lines,e.line)},drawLines:function(t,e,i,n){var s,o,r;if(i)for(s={stroke:{color:n.color||this.color,opacity:St(n.opacity,e.opacity),width:n.width,dashType:n.dashType,lineCap:"butt"}},o=0;o{4:d}Open:{0:C}High:{1:C}Low:{2:C}Close:{3:C}"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}}}),kt(dn.prototype,Wi),kt(dn.prototype,Xi),gn=qi.extend({reflowCategories:function(t){var e,i=this.children,n=i.length;for(e=0;eh.close&&(c=t.fields.downColor||o.downColor||o.color),At(o.color)&&(c=l.color),l.vertical=!this.options.invertAxes,i=new a(h,l),i.color=c,i},splitValue:function(t){return[t.low,t.open,t.close,t.high]},updateRange:function(t,e){var i=e.series.axis,n=this.splitValue(t),s=this.valueAxisRanges[i];s=this.valueAxisRanges[i]=s||{min:$,max:J},s=this.valueAxisRanges[i]={min:Math.min.apply(Math,n.concat([s.min])),max:Math.max.apply(Math,n.concat([s.max]))}},formatPointValue:function(t,e){var i=t.value;return this.chartService.format.auto(e,i.open,i.high,i.low,i.close,t.category)},animationPoints:function(){return this.points}}),kt(gn.prototype,Ji),fn=dn.extend({init:function(t,e){dn.fn.init.call(this,t,e),this.createNote()},reflow:function(t){var e,i,n,s,o=this,r=o.options,a=o.value,h=o.owner,l=h.seriesValueAxis(r);this.boxSlot=i=l.getSlot(a.q1,a.q3),this.realBody=i,this.reflowBoxSlot(t),this.whiskerSlot=e=l.getSlot(a.lower,a.upper),this.reflowWhiskerSlot(t),n=l.getSlot(a.median),a.mean&&(s=l.getSlot(a.mean),this.meanPoints=this.calcMeanPoints(t,s)),this.whiskerPoints=this.calcWhiskerPoints(i,e),this.medianPoints=this.calcMedianPoints(t,n),this.box=e.clone().wrap(i),this.reflowNote()},reflowBoxSlot:function(t){this.boxSlot.x1=t.x1,this.boxSlot.x2=t.x2},reflowWhiskerSlot:function(t){this.whiskerSlot.x1=t.x1,this.whiskerSlot.x2=t.x2},calcMeanPoints:function(t,e){return[[[t.x1,e.y1],[t.x2,e.y1]]]},calcWhiskerPoints:function(t,e){var i=e.center().x;return[[[i-5,e.y1],[i+5,e.y1],[i,e.y1],[i,t.y1]],[[i-5,e.y2],[i+5,e.y2],[i,e.y2],[i,t.y2]]]},calcMedianPoints:function(t,e){return[[[t.x1,e.y1],[t.x2,e.y1]]]},renderOutliers:function(t){var e,i,n,s,o=this,r=this.value,a=r.outliers||[],h=3*Math.abs(r.q3-r.q1),l=[],c=t.markers||{};for(e=0;er.q1-h?t.outliers:t.extremes,n=kt({},c.border),gt(n.color)||(n.color=gt(o.color)?o.color:new ee(c.background).brightness(ye).toHex()),s=new It({type:c.type,width:c.size,height:c.size,rotation:c.rotation,background:c.background,border:n,opacity:c.opacity}),s.value=i,l.push(s);return this.reflowOutliers(l),l},reflowOutliers:function(t){var e,i,n,s=this,o=this.owner.seriesValueAxis(this.options),r=this.box.center();for(e=0;e{6:d}Lower:{0:C}Q1:{1:C}Median:{2:C}Mean:{5:C}Q3:{3:C}Upper:{4:C}"},highlight:{opacity:1,border:{width:1,opacity:1},line:{width:1,opacity:1}},notes:{visible:!0,label:{}},outliers:{visible:!0,size:Te,type:Q.CROSS,background:ot,border:{width:2,opacity:1},opacity:0},extremes:{visible:!0,size:Te,type:rt,background:ot,border:{width:2,opacity:1},opacity:0}}),kt(fn.prototype,Wi),vn=fn.extend({reflowBoxSlot:function(t){this.boxSlot.y1=t.y1,this.boxSlot.y2=t.y2},reflowWhiskerSlot:function(t){this.whiskerSlot.y1=t.y1,this.whiskerSlot.y2=t.y2},calcMeanPoints:function(t,e){return[[[e.x1,t.y1],[e.x1,t.y2]]]},calcWhiskerPoints:function(t,e){var i=e.center().y;return[[[e.x1,i-5],[e.x1,i+5],[e.x1,i],[t.x1,i]],[[e.x2,i-5],[e.x2,i+5],[e.x2,i],[t.x2,i]]]},calcMedianPoints:function(t,e){return[[[e.x1,t.y1],[e.x1,t.y2]]]}}),xn=gn.extend({addValue:function(t,e){var i,n,s=e.categoryIx,o=e.category,r=e.series,a=e.seriesIx,h=this,l=h.children,u=h.options,p=t.valueFields,d=this.splitValue(p),g=c(d),f=r.data[s],v=this.categoryPoints[s];v||(this.categoryPoints[s]=v=[]),g&&(i=this.createPoint(t,e)),n=l[s],n||(n=new cn({vertical:u.invertAxes,gap:u.gap,spacing:u.spacing,rtl:!u.invertAxes&&(this.chartService||{}).rtl}),this.append(n)),i&&(this.updateRange(p,e),n.append(i),i.categoryIx=s,i.category=o,i.series=r,i.seriesIx=a,i.owner=this,i.dataItem=f),this.points.push(i),v.push(i)},pointType:function(){return this.options.invertAxes?vn:fn},splitValue:function(t){return[t.lower,t.q1,t.median,t.q3,t.upper]},updateRange:function(t,e){var i=e.series.axis,n=this.valueAxisRanges[i],s=this.splitValue(t).concat(this.filterOutliers(t.outliers));gt(t.mean)&&(s=s.concat(t.mean)),n=this.valueAxisRanges[i]=n||{min:$,max:J},n=this.valueAxisRanges[i]={min:Math.min.apply(Math,s.concat([n.min])),max:Math.max.apply(Math,s.concat([n.max]))}},formatPointValue:function(t,e){var i=t.value;return this.chartService.format.auto(e,i.lower,i.q1,i.median,i.q3,i.upper,i.mean,t.category)},filterOutliers:function(t){var e,i,n=(t||[]).length,s=[];for(e=0;e0||t.size<0&&e.series.negativeValues.visible)?(this._maxSize=Math.max(this._maxSize,Math.abs(t.size)),yn.fn.addValue.call(this,t,e)):(this.points.push(null),this.seriesPoints[e.seriesIx].push(null))},reflow:function(t){this.updateBubblesSize(t),yn.fn.reflow.call(this,t)},pointType:function(){return _n},createPoint:function(t,e){var i,n,s=e.series,o=s.data.length,r=e.pointIx*(ve/o),a={delay:r,duration:ve-r,type:Fe},h=e.color||s.color;return t.size<0&&s.negativeValues.visible&&(h=St(s.negativeValues.color,h)),i=kt({labels:{animation:{delay:r,duration:ve-r}}},this.pointOptions(s,e.seriesIx),{markers:{type:rt,border:s.border,opacity:s.opacity,animation:a}}),i=this.evalPointOptions(i,t,e),At(s.color)&&(h=i.color),i.markers.background=h,n=new _n(t,i),n.color=h,this.append(n),n},updateBubblesSize:function(t){var e,i,n,s,o,r,a,h,l,c,u,p,d,g,f,v,x,m=this,y=this,_=y.options.series,w=Math.min(t.width(),t.height());for(e=0;e<_.length;e++)for(i=_[e],n=m.seriesPoints[e],s=i.minSize||Math.max(.02*w,10),o=i.maxSize||.2*w,r=s/2,a=o/2,h=Math.PI*r*r,l=Math.PI*a*a,c=l-h,u=c/m._maxSize,p=0;p0&&e.options.set("stroke",{color:t.border.color||this.color,width:t.border.width,dashType:t.border.dashType,opacity:St(t.border.opacity,t.opacity)}),this.bodyVisual=e,_t(e),this.visual.append(e)},createAnimation:function(){this.bodyVisual&&(this.animation=$t.create(this.bodyVisual,this.options.animation))},createHighlight:function(t){return Qt.fromRect(this.box.toRect(),t)},highlightVisual:function(){return this.bodyVisual},highlightVisualArgs:function(){return{rect:this.box.toRect(),visual:this.bodyVisual,options:this.options}},formatValue:function(t){return this.owner.formatPointValue(this,t)}}),An.prototype.tooltipAnchor=ln.prototype.tooltipAnchor,wt(An,{border:{width:1},vertical:!1,opacity:1,target:{shape:"",border:{width:0,color:"green"},line:{width:2}},tooltip:{format:"Current: {0}
Target: {1}"}}),kt(An.prototype,Wi),kt(An.prototype,Xi),Sn=qi.extend({init:function(t,e){p(e),qi.fn.init.call(this,t,e)},reflowCategories:function(t){var e,i=this.children,n=i.length;for(e=0;e0},createAnimation:function(){var t,e,i=this,n=this.points;for(this._setAnimationOptions(),t=0;t180&&(t.className="k-chart-tooltip-inverse"),this.chartService.notify(Ri,t)},hide:function(){this.chartService&&this.chartService.notify(Ei)},destroy:function(){delete this.chartService}}),wt(Cn,{border:{width:1},opacity:1}),kn=Cn.extend({init:function(t,e,i){Cn.fn.init.call(this,t,i),this.crosshair=e,this.formatService=t.format,this.initAxisName()},initAxisName:function(){var t,e=this.crosshair.axis,i=e.plotArea;t=i.categoryAxis?e.getCategory?"categoryAxis":"valueAxis":e.options.vertical?"yAxis":"xAxis", this.axisName=t},showAt:function(t){var e=this,i=e.crosshair.axis,n=e.options,s=i[n.stickyMode?"getCategory":"getValue"](t),o=s;n.format?o=this.formatService.auto(n.format,s):i.options.type===ut&&(o=this.formatService.auto(i.options.labels.dateFormats[i.options.baseUnit],s)),this.show({point:t,anchor:this.getAnchor(),crosshair:this.crosshair,value:o,axisName:this.axisName,axisIndex:this.crosshair.axis.axisIndex},this.options)},hide:function(){this.chartService.notify(Ei,{crosshair:this.crosshair,axisName:this.axisName,axisIndex:this.crosshair.axis.axisIndex})},getAnchor:function(){var t,e,i,n=this,s=n.crosshair,o=n.options,r=o.position,a=o.padding,h=!s.axis.options.vertical,l=s.line.bbox();return h?(t=et,r===nt?(e=it,i=l.bottomLeft().translate(0,a)):(e=nt,i=l.topLeft().translate(0,-a))):(e=et,r===st?(t=lt,i=l.topLeft().translate(-a,0)):(t=st,i=l.topRight().translate(a,0))),{point:i,align:{horizontal:t,vertical:e}}}}),wt(kn,{padding:10}),Pn=xt.extend({init:function(t,e,i){xt.fn.init.call(this,i),this.axis=e,this.stickyMode=e instanceof Dt;var n=this.options.tooltip;n.visible&&(this.tooltip=new kn(t,this,kt({},n,{stickyMode:this.stickyMode})))},showAt:function(t){this.point=t,this.moveLine(),this.line.visible(!0),this.tooltip&&this.tooltip.showAt(t)},hide:function(){this.line.visible(!1),this.tooltip&&this.tooltip.hide()},moveLine:function(){var t,e,i=this,n=i.axis,s=i.point,o=n.options.vertical,r=this.getBox(),a=o?ht:at,h=new ne(r.x1,r.y1);t=o?new ne(r.x2,r.y1):new ne(r.x1,r.y2),s&&(this.stickyMode?(e=n.getSlot(n.pointCategoryIndex(s)),h[a]=t[a]=e.center()[a]):h[a]=t[a]=s[a]),this.box=r,this.line.moveTo(h).lineTo(t)},getBox:function(){var t,e,i,n=this.axis,s=n.pane.axes,o=s.length,r=n.options.vertical,a=n.lineBox().clone(),h=r?at:ht;for(e=0;e=0;e--)for(i=0;i0&&(a=Math.max(a,r.width()-i.contentBox.width()));if(0!==a)for(n=0;n0)for(o=w(n),r=Math.max(s.y1-o.y1,s.y2-o.y2),p=Math.max(p,s.x1-o.x1),a=0;a0&&n.y.length>0&&(this.alignAxes(n.x,n.y),this.shrinkAxisWidth(t),this.autoRotateAxisLabels(n),this.alignAxes(n.x,n.y),this.shrinkAxisWidth(t)&&this.alignAxes(n.x,n.y),this.shrinkAxisHeight(t),this.alignAxes(n.x,n.y),this.shrinkAxisHeight(t)&&this.alignAxes(n.x,n.y),this.fitAxes(t))},autoRotateAxisLabels:function(t){var e,i,n,s,o=this,r=this,a=r.axes,h=r.panes;for(i=0;i0&&t.y.length>0&&(this.alignAxes(t.x,t.y),this.shrinkAxisWidth(h))}},reflowPaneAxes:function(t){var e,i=t.axes,n=i.length;if(n>0)for(e=0;es.to,i.reflow(t)),n&&(n.options.aboveAxis=s.to>s.from,n.reflow(t)),this.note&&this.note.reflow(t)}}),Bn.prototype.defaults=kt({},Bn.prototype.defaults,{labels:{format:"{0} - {1}"},tooltip:{format:"{1}"}}),On=pn.extend({pointType:function(){return Bn},pointValue:function(t){return t.valueFields},formatPointValue:function(t,e){return null===t.value.from&&null===t.value.to?"":this.chartService.format.auto(e,t.value.from,t.value.to)},plotRange:function(t){return t?[t.value.from,t.value.to]:0},updateRange:function(t,e){var i=e.series.axis,n=t.from,s=t.to,o=this.valueAxisRanges[i];null!==t&&K(n)&&K(s)&&(o=this.valueAxisRanges[i]=o||{min:$,max:J},o.min=Math.min(o.min,n),o.max=Math.max(o.max,n),o.min=Math.min(o.min,s),o.max=Math.max(o.max,s))},aboveAxis:function(t){var e=t.value;return e.from=0},plotRange:function(t){return[t.from,t.to]},createSegments:function(){var t,e,i,n,s,o,r,a=this,h=this.options.series,l=this.seriesPoints,c=this.segments=[];for(t=0;t0)for(this.invertAxes=bt(t[0].type,[ze,He,li,ri,ci,ii,Xe,ai]),e=0;e=0&&nl&&(l=x,p={category:f,points:[g]}):x>=C.length&&(x===c?d.points.push(g):x0&&c.length>0&&t.trigger(i,{element:Tt(e),originalEvent:e,category:_(l),value:_(c)})}},pointPane:function(t){var e,i,n=this.panes;for(e=0;ee.x2&&(h=e.x2-i.x),ne.y2&&(l=e.y2-i.y),s0},reflow:function(t){var e=this.options,i=t.clone();return this.hasItems()?void(e.position===as?(this.containerCustomReflow(i),this.box=i):this.containerReflow(i)):void(this.box=i)},containerReflow:function(t){var e,i=this,n=i.options,s=i.container,o=n.position,r=n.width,a=n.height,h=o===it||o===nt?at:ht,l=this.isVertical(),c=t.clone(),u=t.clone();o!==st&&o!==lt||(u.y1=c.y1=0),l&&a?(u.y2=u.y1+a,u.align(c,ht,s.options.vAlign)):!l&&r&&(u.x2=u.x1+r,u.align(c,at,s.options.align)),s.reflow(u),u=s.box,e=u.clone(),(n.offsetX||n.offsetY)&&(u.translate(n.offsetX,n.offsetY),this.container.reflow(u)),e[h+1]=t[h+1],e[h+2]=t[h+2],this.box=e},containerCustomReflow:function(t){var e=this,i=e.options,n=e.container,s=i.offsetX,o=i.offsetY,r=i.width,a=i.height,h=this.isVertical(),l=t.clone();h&&a?l.y2=l.y1+a:!h&&r&&(l.x2=l.x1+r),n.reflow(l),l=n.box,n.reflow(new yt(s,o,s+l.width(),o+l.height()))},renderVisual:function(){this.hasItems()&&xt.fn.renderVisual.call(this)}}),wt(hs,{position:lt,items:[],offsetX:0,offsetY:0,margin:Vt(5),padding:Vt(5),border:{color:ct,width:0},item:{cursor:rs,spacing:6},spacing:6,background:"",zIndex:1,markers:{border:{width:0},width:15,height:3,type:"rect",align:st,vAlign:et}}),ls=j.extend({init:function(){this._registry=[]},register:function(t,e){this._registry.push({type:t,seriesTypes:e})},create:function(t,e,i){var n,s,o,r=this._registry,a=r[0];for(s=0;s0){a=o;break}return new a.type(n,e,i)}}),ls.current=new ls,cs=3,us=.1,ps=j.extend({init:function(t,e,i,n){var s=t.element;this.options=kt({},this.options,i),this.chart=t,this.observer=n,this.chartElement=s,this.categoryAxis=e,this._dateAxis=this.categoryAxis instanceof Gt,this.initOptions(),this.options.visible&&(this.createElements(),this.set(this._index(this.options.from),this._index(this.options.to)),this.bindEvents())},createElements:function(){var t,e,i,n,s,o,r=this.options,a=this.wrapper=I("k-selector");qt(a,{top:r.offset.top,left:r.offset.left,width:r.width,height:r.height,direction:"ltr"}),t=this.selection=I("k-selection"),this.leftMask=I("k-mask"),this.rightMask=I("k-mask"),a.appendChild(this.leftMask),a.appendChild(this.rightMask),a.appendChild(t),t.appendChild(I("k-selection-bg")),e=this.leftHandle=I("k-handle k-left-handle"),i=this.rightHandle=I("k-handle k-right-handle"),e.appendChild(I()),i.appendChild(I()),t.appendChild(e),t.appendChild(i),this.chartElement.appendChild(a),n=qt(t,["borderLeftWidth","borderRightWidth","height"]),s=qt(e,"height").height,o=qt(i,"height").height,r.selection={border:{left:n.borderLeftWidth,right:n.borderRightWidth}},qt(e,{top:(n.height-s)/2}),qt(i,{top:(n.height-o)/2}),a.style.cssText=a.style.cssText},bindEvents:function(){this._mousewheelHandler=this.options.mousewheel!==!1?this._mousewheel.bind(this):M;var t;Xt(this.wrapper,(t={},t[Oi]=this._mousewheelHandler,t)),this._domEvents=Ut.DomEventsBuilder.create(this.wrapper,{start:this._start.bind(this),move:this._move.bind(this),end:this._end.bind(this),tap:this._tap.bind(this),press:this._press.bind(this),gesturestart:this._gesturestart.bind(this),gesturechange:this._gesturechange.bind(this),gestureend:this._gestureend.bind(this)})},initOptions:function(){var t,e,i,n=this,s=n.options,o=n.categoryAxis,r=o.pane.chartsBox(),a=this.chart.chartService.intl;this._dateAxis&&kt(s,{min:Ot(a,s.min),max:Ot(a,s.max),from:Ot(a,s.from),to:Ot(a,s.to)}),t=qt(this.chartElement,["paddingLeft","paddingTop"]),e=t.paddingLeft,i=t.paddingTop,this.options=kt({},{width:r.width(),height:r.height()+us,padding:{left:e,top:i},offset:{left:r.x1+e,top:r.y1+i},from:s.min,to:s.max},s)},destroy:function(){if(this._domEvents&&(this._domEvents.destroy(),delete this._domEvents),clearTimeout(this._mwTimeout),this._state=null,this.wrapper){var t;Zt(this.wrapper,(t={},t[Oi]=this._mousewheelHandler,t)),this.chartElement.removeChild(this.wrapper)}},_rangeEventArgs:function(t){return{axis:this.categoryAxis.options,from:this._value(t.from),to:this._value(t.to)}},_start:function(t){var e,i=this.options,n=Tt(t);!this._state&&n&&(this.chart._unsetActivePoint(),this._state={moveTarget:V(n)||n,startLocation:t.x?t.x.location:0,range:{from:this._index(i.from),to:this._index(i.to)}},e=this._rangeEventArgs({from:this._index(i.from),to:this._index(i.to)}),this.trigger(Ci,e)&&(this._state=null))},_press:function(t){var e;e=this._state?this._state.moveTarget:V(Tt(t)),e&&Y.addClass(e,"k-handle-active")},_move:function(t){var e,i,n,s,o,r,a,h,l,c,u,p,d,g,f,v,x,m;this._state&&(e=this,i=e._state,n=e.options,s=e.categoryAxis.options,o=i.range,r=i.moveTarget,a=s.reverse,h=this._index(n.from),l=this._index(n.to),c=this._index(n.min),u=this._index(n.max),p=i.startLocation-t.x.location,d={from:o.from,to:o.to},g=o.to-o.from,f=qt(this.wrapper,"width").width/(s.categories.length-1),v=Math.round(p/f)*(a?-1:1),r&&(x=Wt(r,"k-left-handle"),m=Wt(r,"k-right-handle"),Wt(r,"k-selection k-selection-bg")?(o.from=Math.min(Math.max(c,h-v),u-g),o.to=Math.min(o.from+g,u)):x&&!a||m&&a?(o.from=Math.min(Math.max(c,h-v),u-1),o.to=Math.max(o.from+1,o.to)):(x&&a||m&&!a)&&(o.to=Math.min(Math.max(c+1,l-v),u),o.from=Math.min(o.to-1,o.from)),o.from===d.from&&o.to===d.to||(this.move(o.from,o.to),this.trigger(ki,this._rangeEventArgs(o)))))},_end:function(){var t,e;this._state&&(t=this._state.moveTarget,t&&Y.removeClass(t,"k-handle-active"),e=this._state.range,this.set(e.from,e.to),this.trigger(Pi,this._rangeEventArgs(e)),delete this._state)},_tap:function(t){var e=this,i=e.options,n=e.categoryAxis,s=this.chart._eventCoordinates(t),o=n.pointCategoryIndex(new mt(s.x,n.box.y1)),r=this._index(i.from),a=this._index(i.to),h=this._index(i.min),l=this._index(i.max),c=a-r,u=r+c/2,p={},d=3===t.event.which,g=Math.round(u-o);this._state||d||(this.chart._unsetActivePoint(),n.options.justified||g--,p.from=Math.min(Math.max(h,r-g),l-c),p.to=Math.min(p.from+c,l),this._start(t),this._state&&(this._state.range=p,this.trigger(ki,this._rangeEventArgs(p)),this._end()))},_mousewheel:function(t){var e,i=this,n=Y.mousewheelDelta(t);this._start({target:this.selection}),this._state&&(e=this._state.range,t.preventDefault(),t.stopPropagation(),Math.abs(n)>1&&(n*=cs),this.options.mousewheel.reverse&&(n*=-1),this.expand(n)&&this.trigger(ki,{axis:this.categoryAxis.options,delta:n,originalEvent:t,from:this._value(e.from),to:this._value(e.to)}),this._mwTimeout&&clearTimeout(this._mwTimeout),this._mwTimeout=setTimeout(function(){i._end()},zi))},_gesturestart:function(t){var e,i=this.options;this._state={range:{from:this._index(i.from),to:this._index(i.to)}},e=this._rangeEventArgs(this._state.range),this.trigger(Ci,e)?this._state=null:t.preventDefault()},_gestureend:function(){this._state&&(this.trigger(Pi,this._rangeEventArgs(this._state.range)),delete this._state)},_gesturechange:function(t){var e=this,i=e.chart,n=e._state,s=e.options,o=e.categoryAxis,r=n.range,a=i._toModelCoordinates(t.touches[0].x.location).x,h=i._toModelCoordinates(t.touches[1].x.location).x,l=Math.min(a,h),c=Math.max(a,h);t.preventDefault(),r.from=o.pointCategoryIndex(new mt(l))||s.min,r.to=o.pointCategoryIndex(new mt(c))||s.max,this.move(r.from,r.to),this.trigger(ki,this._rangeEventArgs(r))},_index:function(t){var e=t;return t instanceof Date&&(e=this.categoryAxis.categoryIndex(t)),e},_value:function(t){var e=this.categoryAxis.options.categories,i=t;return this._dateAxis&&(i=t>e.length-1?this.options.max:e[Math.ceil(t)]),i},_slot:function(t){var e=this.categoryAxis,i=this._index(t);return e.getSlot(i,i,!0)},move:function(t,e){var i,n,s=this.options,o=this.categoryAxis.options.reverse,r=s.offset,a=s.padding,h=s.selection.border,l=o?e:t,c=o?t:e,u="x"+(o?2:1),p=this._slot(l),d=Ht(p[u]-r.left+a.left);qt(this.leftMask,{width:d}),qt(this.selection,{left:d}),p=this._slot(c),i=Ht(s.width-(p[u]-r.left+a.left)),qt(this.rightMask,{width:i}),n=s.width-i,n!==s.width&&(n+=h.right),qt(this.rightMask,{left:n}),qt(this.selection,{width:Math.max(s.width-(d+i)-h.right,0)})},set:function(t,e){var i=this.options,n=this._index(i.min),s=this._index(i.max),o=Yt(this._index(t),n,s),r=Yt(this._index(e),o+1,s);i.visible&&this.move(o,r),i.from=this._value(o),i.to=this._value(r)},expand:function(t){var e=this.options,i=this._index(e.min),n=this._index(e.max),s=e.mousewheel.zoom,o=this._index(e.from),r=this._index(e.to),a={from:o,to:r},h=kt({},a);if(this._state&&(a=this._state.range),s!==lt&&(a.from=Yt(Yt(o-t,0,r-1),i,n)),s!==st&&(a.to=Yt(Yt(r+t,a.from+1,n),i,n)),a.from!==h.from||a.to!==h.to)return this.set(a.from,a.to),!0},trigger:function(t,e){return(this.observer||this.chart).trigger(t,e)}}),wt(ps,{visible:!0,mousewheel:{zoom:"both"},min:J,max:$}),ds=Cn.extend({show:function(t){var e,i;!t||!t.tooltipAnchor||this._current&&this._current===t||(e=kt({},this.options,t.options.tooltip),i=t.tooltipAnchor(),i?(this._current=t,Cn.fn.show.call(this,{point:t,anchor:i},e,t)):this.hide())},hide:function(){delete this._current,Cn.fn.hide.call(this)}}),gs=Cn.extend({init:function(t,e){Cn.fn.init.call(this,t.chartService,e),this.plotArea=t,this.formatService=t.chartService.format},showAt:function(t,e){var i,n,s,o=Nt(t,function(t){var e=t.series.tooltip,i=e&&e.visible===!1;return!i});o.length>0&&(i=o[0],n=this.plotArea.categoryAxis.getSlot(i.categoryIx),s=e?this._slotAnchor(e,n):this._defaultAnchor(i,n),this.show({anchor:s,shared:!0,points:t,category:i.category,categoryText:this.formatService.auto(this.options.categoryFormat,i.category),series:this.plotArea.series},this.options))},_slotAnchor:function(t,e){var i=this.plotArea.categoryAxis,n={horizontal:"left",vertical:"center"};return i.options.vertical||(t.x=e.center().x),{point:t,align:n}},_defaultAnchor:function(t,e){var i,n=t.owner.pane.chartsBox(),s=this.plotArea.categoryAxis.options.vertical,o=n.center(),r=e.center(),a={horizontal:"center",vertical:"center"};return i=s?new mt(o.x,r.y):new mt(r.x,o.y),{point:i,align:a}}}),wt(gs,{categoryFormat:"{0:d}"}),fs=$t.extend({setup:function(){var t,e,i=this,n=i.element,s=i.options,o=n.bbox();o?(this.origin=s.origin,t=s.vertical?ht:at,e=this.fromScale=new ne(1,1),e[t]=we,n.transform(se().scale(e.x,e.y))):this.abort()},step:function(t){var e=Y.interpolateValue(this.fromScale.x,1,t),i=Y.interpolateValue(this.fromScale.y,1,t);this.element.transform(se().scale(e,i,this.origin))},abort:function(){$t.fn.abort.call(this),this.element.transform(null)}}),wt(fs,{duration:ve}),Jt.current.register(ze,fs),vs=$t.extend({setup:function(){var t=this.center=this.element.bbox().center();this.element.transform(se().scale(we,we,t))},step:function(t){this.element.transform(se().scale(t,t,this.center))}}),wt(vs,{easing:"easeOutElastic"}),Jt.current.register(Fe,vs),xs=$t.extend({setup:function(){this.fadeTo=this.element.opacity(),this.element.opacity(0)},step:function(t){this.element.opacity(t*this.fadeTo)}}),wt(xs,{duration:200,easing:"linear"}),Jt.current.register(xe,xs),ms=$t.extend({setup:function(){this.element.transform(se().scale(we,we,this.options.center))},step:function(t){this.element.transform(se().scale(t,t,this.options.center))}}),wt(ms,{easing:"easeOutElastic",duration:ve}),Jt.current.register(Ye,ms),ys=yn.extend({render:function(){yn.fn.render.call(this),this.renderSegments()},createSegment:function(t,e,i){var n,s=e.style;return new(n=s===Le?Ki:Zi)(t,e,i)},animationPoints:function(){var t=yn.fn.animationPoints.call(this);return t.concat(this._segments)},createMissingValue:function(t,e){if(e===Re){var i={x:t.x,y:t.y};return u(i.x)||(i.x=0),u(i.y)||(i.y=0),i}}}),kt(ys.prototype,Qi),_s=In.extend({initFields:function(){this.namedXAxes={},this.namedYAxes={},this.xAxisRangeTracker=new rn,this.yAxisRangeTracker=new rn},render:function(t){var e,i,n,s,o,r=this;for(void 0===t&&(t=this.panes),e=this.groupSeriesByPane(),i=0;i0&&this.appendChart(new yn(this,{series:t,clip:e.options.clip}),e)},createScatterLineChart:function(t,e){t.length>0&&this.appendChart(new ys(this,{series:t,clip:e.options.clip}),e)},createBubbleChart:function(t,e){t.length>0&&this.appendChart(new wn(this,{series:t,clip:e.options.clip}),e)},createXYAxis:function(t,e,i){var n,s,o,r,a,h,l,c,u=t.name,p=e?this.namedYAxes:this.namedXAxes,d=e?this.yAxisRangeTracker:this.xAxisRangeTracker,g=kt({reverse:!e&&this.chartService.rtl},t,{vertical:e}),f=v(g.type,Ii),x=d.query(),m=f?{min:.1,max:1}:{min:0,max:1},y=d.query(u)||x||m,_=[g.min,g.max],w=this.series;for(n=0;n0&&p.length>0&&t.trigger(i,{element:Tt(e),originalEvent:e,x:_(u),y:_(p)})},updateAxisOptions:function(t,e){var i=t.options.vertical,n=this.groupAxes(this.panes),s=(i?n.y:n.x).indexOf(t);L(this.options,s,i,e),L(this.originalOptions,s,i,e)}}),wt(_s,{xAxis:{},yAxis:{}}),kt(_s.prototype,Vn),ws=xt.extend({init:function(t,e,i){xt.fn.init.call(this,i),this.value=t,this.sector=e},render:function(){var t,e,i,n=this.options.labels,s=this.owner.chartService,o=this.value;this._rendered||this.visible===!1||(this._rendered=!0,t=Rt(n),t?o=t({dataItem:this.dataItem,category:this.category,value:this.value,series:this.series,percentage:this.percentage}):n.format&&(o=s.format.auto(n.format,o)),n.visible&&(o||0===o)&&(n.position===et||n.position===Mi?(n.color||(e=new ee(this.options.color).percBrightness(),n.color=e>180?ct:ot),n.background||(n.background=this.options.color)):(i=s.theme.seriesDefaults.labels,n.color=n.color||i.color,n.background=n.background||i.background),this.label=new Et(o,kt({},n,{align:et,vAlign:"",animation:{type:xe,delay:this.animationDelay}})),this.append(this.label)))},reflow:function(t){this.render(),this.box=t,this.reflowLabel()},reflowLabel:function(){var t,e,i,n,s=this,o=s.options.labels,r=s.label,a=this.sector.clone(),h=o.distance,l=a.middle();r&&(t=r.box.height(),e=r.box.width(),o.position===et?(a.radius=Math.abs((a.radius-t)/2)+t,i=a.point(l),r.reflow(new yt(i.x,i.y-t/2,i.x,i.y))):o.position===Mi?(a.radius=a.radius-t/2,i=a.point(l),r.reflow(new yt(i.x,i.y-t/2,i.x,i.y))):(i=a.clone().expand(h).point(l),i.x>=a.center.x?(n=i.x+e,r.orientation=lt):(n=i.x-e,r.orientation=st),r.reflow(new yt(n,i.y-t,i.x,i.y))))},createVisual:function(){var t,e,i=this,n=this,s=n.sector,o=n.options;xt.fn.createVisual.call(this),this.value&&(o.visual?(t=(s.startAngle+180)%360,e=o.visual({category:this.category,dataItem:this.dataItem,value:this.value,series:this.series,percentage:this.percentage,center:new ne(s.center.x,s.center.y),radius:s.radius,innerRadius:s.innerRadius,startAngle:t,endAngle:t+s.angle,options:o,sender:this.getSender(),createVisual:function(){var t=new te;return i.createSegmentVisual(t),t}}),e&&this.visual.append(e)):this.createSegmentVisual(this.visual))},createSegmentVisual:function(t){var e=this,i=e.sector,n=e.options,s=n.border||{},o=s.width>0?{stroke:{color:s.color,width:s.width,opacity:s.opacity,dashType:s.dashType}}:{},r=n.color,h={color:r,opacity:n.opacity},l=this.createSegment(i,kt({fill:h,stroke:{opacity:n.opacity},zIndex:n.zIndex},o));t.append(l),a(n)&&t.append(this.createGradientOverlay(l,{baseColor:r,fallbackFill:h},kt({center:[i.center.x,i.center.y],innerRadius:i.innerRadius,radius:i.radius,userSpace:!0},n.overlay)))},createSegment:function(t,e){return e.singleSegment?new Kt.Circle(new ie.Circle(new ne(t.center.x,t.center.y),t.radius),e):Y.ShapeBuilder.current.createRing(t,e)},createAnimation:function(){var t=this,e=t.options,i=t.sector.center;kt(e,{animation:{center:[i.x,i.y],delay:this.animationDelay}}),xt.fn.createAnimation.call(this)},createHighlight:function(t){var e=this.options.highlight||{},i=e.border||{};return this.createSegment(this.sector,kt({},t,{fill:{color:e.color,opacity:e.opacity},stroke:{opacity:i.opacity,width:i.width,color:i.color}}))},highlightVisual:function(){return this.visual.children[0]},highlightVisualArgs:function(){var t=this.sector;return{options:this.options,radius:t.radius,innerRadius:t.innerRadius,center:new ne(t.center.x,t.center.y),startAngle:t.startAngle,endAngle:t.angle+t.startAngle,visual:this.visual}},tooltipAnchor:function(){var t=this.sector.clone().expand(_e),e=t.middle(),i=t.point(e);return{point:i,align:B(e+180)}},formatValue:function(t){return this.owner.formatPointValue(this,t)}}),bs=Ht(Y.rad(30),pt),As=Ht(Y.rad(60),pt),wt(ws,{color:ot,overlay:{gradient:"roundedBevel"},border:{width:.5},labels:{visible:!1,distance:35,font:Q.DEFAULT_FONT,margin:Vt(.5),align:rt,zIndex:1,position:Bi},animation:{type:Ye},highlight:{visible:!0,border:{width:1}},visible:!0}),kt(ws.prototype,Wi),Ss={createLegendItem:function(t,e,i){var n,s,o,r,a,h=this.options.legend||{},l=h.labels||{},c=h.inactiveItems||{},p=c.labels||{};i&&i.visibleInLegend!==!1&&(n=i.visible!==!1,s=n?Rt(l):Rt(p)||Rt(l),o=i.category,s&&(o=s({text:o,series:i.series,dataItem:i.dataItem,percentage:i.percentage,value:t})),n?(r={},a=e.color):(r={color:p.color,font:p.font},a=(c.markers||{}).color),u(o)&&""!==o&&this.legendItems.push({pointIndex:i.index,text:o,series:i.series,markerColor:a,labels:r}))}},Cs=70,ks=xt.extend({init:function(t,e){xt.fn.init.call(this,e),this.plotArea=t,this.chartService=t.chartService,this.points=[],this.legendItems=[],this.render()},render:function(){this.traverseDataPoints(this.addValue.bind(this))},traverseDataPoints:function(t){var e,i,n,s,o,r,a,h,l,c,u,p,d,g,v,x,m,y,_,w,b=this,A=this,S=A.options,C=A.plotArea.options.seriesColors;for(void 0===C&&(C=[]),e=C.length,i=S.series,n=i.length,s=0;so-n?o-n:d,a.translate(l.x-h.x,l.y-h.y),g=o-d,f=new mt(g+a.x1+d,g+a.y1+d),v=0;v0&&(u.sort(this.labelComparator(!0)),this.leftLabelsReflow(u)),p.length>0&&(p.sort(this.labelComparator(!1)),this.rightLabelsReflow(p)),this.box=a},leftLabelsReflow:function(t){var e=this.distanceBetweenLabels(t);this.distributeLabels(e,t)},rightLabelsReflow:function(t){var e=this.distanceBetweenLabels(t);this.distributeLabels(e,t)},distanceBetweenLabels:function(t){var e,i,n=Pt(this.points),s=n.sector,o=t.length-1,r=s.radius+n.options.labels.distance,a=[],h=t[0].box,l=Ht(h.y1-(s.center.y-r-h.height()-h.height()/2));for(a.push(l),e=0;e0&&(i>=0||n0&&(s=Math.min(t[i],o),o-=s,t[i]-=s,t[e]+=s),o},reflowLabels:function(t,e){var i,n,s,o,r=this,a=Pt(this.points),h=a.sector,l=a.options.labels,c=e.length,u=l.distance,p=h.center.y-(h.radius+u)-e[0].box.height();for(t[0]+=2,n=0;ni.center.x?(u=i.center.x-i.radius-y,e.options.labels.align!==Ge?u>c.x?r.lineTo(u,l.y):r.lineTo(l.x-2*y,l.y):r.lineTo(u,l.y),r.lineTo(c.x,p.y)):(d.y=p.y,r.lineTo(d.x,d.y))),r.lineTo(p.x,p.y),g._connectorLines.push(r),g.visual.append(r)))},labelComparator:function(t){var e=t?-1:1;return function(t,i){var n=(t.parent.sector.middle()+270)%360,s=(i.parent.sector.middle()+270)%360;return(n-s)*e}},hAlignLabel:function(t,e,i,n,s){var o=e.radius,r=e.center,a=r.x,h=r.y,l=Math.min(Math.abs(h-i),Math.abs(h-n));return l>o?t:a+Math.sqrt(o*o-l*l)*(s?1:-1)},pointInCircle:function(t,e,i){return Math.pow(e.x-t.x,2)+Math.pow(e.y-t.y,2)m-v?m-v:b,e=m-b,i=0,s=0;s0&&n&&(o=n.linePoints.slice(0),s=n),h===Le?(r=new Ns(t,e,i,s,o),r.options.closed=!0):(t.push(t[0]),r=new Gs(t,e,i,s,o)),r},seriesMissingValues:function(t){return t.missingValues||Re}}),Ws=Ts.extend({init:function(t,e){Ts.fn.init.call(this,t,null,e)}}),wt(Ws,{overlay:{gradient:"none"},labels:{distance:10}}),Xs=xt.extend({init:function(t){xt.fn.init.call(this,t),this.forEach=t.rtl?l:h},reflow:function(t){var e=this,i=e.options,n=e.children,s=i.gap,o=i.spacing,r=n.length,a=r+s+o*(r-1),h=t.angle/a,l=t.startAngle+h*(s/2);this.forEach(n,function(e){var i=t.clone();i.startAngle=l,i.angle=h,e.sector&&(i.radius=e.sector.radius),e.reflow(i),e.sector=i,l+=h+h*o})}}),wt(Xs,{gap:1,spacing:0}),Us=xt.extend({reflow:function(t){var e,i,n=this,s=n.options.reverse,o=n.children,r=o.length,a=s?r-1:0,h=s?-1:1;for(this.box=new yt,e=a;e>=0&&e1,n.isStacked100=i&&"100%"===i.type&&e.length>1,n.isStacked100&&(this._isStacked100=!0)),n},createAreaChart:function(t,e){if(0!==t.length){var i=new qs(this,this.chartOptions(t));this.appendChart(i,e)}},createLineChart:function(t,e){if(0!==t.length){var i=new Hs(this,this.chartOptions(t));this.appendChart(i,e)}},createBarChart:function(t,e){var i,n,s;0!==t.length&&(i=t[0],n=this.chartOptions(t),n.gap=i.gap,n.spacing=i.spacing,s=new Zs(this,n),this.appendChart(s,e),this._hasBarCharts=!0)},seriesCategoryAxis:function(){return this.categoryAxis},_dispatchEvent:function(t,e,i){var n=t._eventCoordinates(e),s=new mt(n.x,n.y),o=this.categoryAxis.getCategory(s),r=this.valueAxis.getValue(s);null!==o&&null!==r&&t.trigger(i,{element:Tt(e),category:o,value:r})},createCrosshairs:function(){}}),kt(Ys.prototype,Vn,{appendChart:$n.prototype.appendChart,aggregateSeries:$n.prototype.aggregateSeries}),wt(Ys,{categoryAxis:{categories:[]},valueAxis:{}}),js=xt.extend({init:function(t,e,i){xt.fn.init.call(this,e),this.value=t,this.options.index=i.index},reflow:function(t){var e=this.points,i=this.children[0];this.box=new yt(e[0].x,e[0].y,e[1].x,e[2].y),i&&i.reflow(new yt(t.x1,e[0].y,t.x2,e[2].y))},createVisual:function(){var t,e=this,i=this.options;xt.fn.createVisual.call(this),t=i.visual?i.visual({category:this.category,dataItem:this.dataItem,value:this.value,series:this.series,percentage:this.percentage,points:this.points,options:i,sender:this.getSender(),createVisual:function(){return e.createPath()}}):this.createPath(),t&&this.visual.append(t)},createPath:function(){var t=this.options,e=t.border,i=Qt.fromPoints(this.points,{fill:{color:t.color,opacity:t.opacity},stroke:{color:e.color,opacity:e.opacity,width:e.width}}).close();return i},createHighlight:function(t){return Qt.fromPoints(this.points,t)},highlightVisual:function(){return this.visual.children[0]},highlightVisualArgs:function(){var t=Qt.fromPoints(this.points).close();return{options:this.options,path:t}},tooltipAnchor:function(){var t=this.box;return{point:new mt(t.center().x,t.y1),align:{horizontal:"center",vertical:"top"}}},formatValue:function(t){var e=this;return e.owner.formatPointValue(e,t)}}),wt(js,{color:ot,border:{width:1}}),kt(js.prototype,Wi),Ks=xt.extend({init:function(t,e){xt.fn.init.call(this,e),this.plotArea=t,this.points=[],this.labels=[],this.legendItems=[],this.render()},formatPointValue:function(t,e){return this.chartService.format.auto(e,t.value)},render:function(){var t,e,i,n,s,o,r,a,h,l,c,u=this,p=this,d=p.options,g=p.plotArea.options.seriesColors;if(void 0===g&&(g=[]),t=d.series[0],e=t.data)for(i=f(t),n=i.total,s=i.points,o=0;o180?ct:ot,a.background||(a.background=o.color)),this.evalSegmentOptions(a,t,e),s=new Et(h,kt({vAlign:a.position},a)),this.labels.push(s),s},labelPadding:function(){var t,e,i,n,s=this.labels,o={left:0,right:0};for(t=0;ty.percentage&&(y=v[n]);for(s=m.percentage/y.percentage*e,o=(e-s)/2,r=0,a=0;a0||e.height>0)&&(!i||e.width!==i.width||e.height!==i.height))&&(this._size=e,this._resize(e,t),this.trigger("resize",e))},_resize:function(){this._noTransitionsRedraw()},redraw:function(t){var e,i;this.applyDefaults(this.options),this.applySeriesColors(),t?(e=this._model._plotArea,i=e.findPane(t),e.redraw(i)):this._redraw()},getAxis:function(t){var e,i=this._plotArea.axes;for(e=0;e=0&&(n=this._plotArea.pointsByCategoryIndex(i),r.showAt(n)):e&&r.show(e)},hideTooltip:function(){this._tooltip.hide()},_initSurface:function(){var t=this.surface,e=this._surfaceWrap(),i=this.options.chartArea;i.width&&Y.elementSize(e,{width:i.width}),i.height&&Y.elementSize(e,{height:i.height}),t&&t.options.type===this.options.renderAs?(this.surface.clear(),this.surface.resize()):(t&&t.destroy(),this.surface=Kt.Surface.create(e,{type:this.options.renderAs}))},_surfaceWrap:function(){return this.element},_redraw:function(){var t=this._getModel();this._destroyView(),this._model=t,this._plotArea=t._plotArea,t.renderVisual(),this.options.transitions!==!1&&t.traverse(function(t){t.animation&&t.animation.setup()}),this._initSurface(),this.surface.draw(t.visual),this.options.transitions!==!1&&t.traverse(function(t){t.animation&&t.animation.play()}),this._tooltip=this._createTooltip(),this._highlight=new Jn,this._setupSelection(),this._createPannable(),this._createZoomSelection(),this._createMousewheelZoom(),this.trigger(Ti),this._navState||this._cancelDomEvents()},exportVisual:function(t){var e,i,n,s;return t&&(t.width||t.height||t.options)?(i=this.options,n=kt({},t.options,{chartArea:{width:t.width,height:t.height}}),Z(this._originalOptions,n),this.options=kt({},this._originalOptions,n),this._initTheme(this.options,this._theme),this.bindCategories(),s=this._getModel(),s.renderVisual(),e=s.visual,this.options=i):e=this.surface.exportVisual(),e},_sharedTooltip:function(){return this._plotArea instanceof $n&&this.options.tooltip.shared},_createPannable:function(){var t=this.options;t.pannable!==!1&&(this._pannable=new ts(this._plotArea,t.pannable))},_createZoomSelection:function(){var t=this.options.zoomable,e=(t||{}).selection;t!==!1&&e!==!1&&(this._zoomSelection=new es(this,e))},_toggleDomDrag:function(){var t,e,i;this.domEvents&&this.domEvents.toggleDrag&&(t=this.options.pannable,e=this.options.zoomable,i=(e||{}).selection,this.domEvents.toggleDrag(t||e!==!1&&i!==!1||this.requiresHandlers([wi,yi,_i])?!0:!1))},_createMousewheelZoom:function(){var t=this.options.zoomable,e=(t||{}).mousewheel;t!==!1&&e!==!1&&(this._mousewheelZoom=new is(this,e))},_toggleDomZoom:function(){var t,e;this.domEvents&&this.domEvents.toggleZoom&&(t=this.options.zoomable,e=(t||{}).mousewheel,this.domEvents.toggleZoom(t!==!1&&e!==!1||this.requiresHandlers([bi,Ai,Si])?!0:!1))},_createTooltip:function(){var t,e=this,i=e.options.tooltip;return t=this._sharedTooltip()?this._createSharedTooltip(i):new ds(this.chartService,i)},_createSharedTooltip:function(t){return new gs(this._plotArea,t)},applyDefaults:function(t,e){H(t,e),N(t,e)},applySeriesColors:function(){var t,e,i,n,s=this.options,o=s.series,r=s.seriesColors||[];for(t=0;t=0&&this.observers.splice(e,1)},requiresHandlers:function(t){var e,i=this.observers;for(e=0;e=.1&&(i=Math.round(10*i),this._gestureDistance=t.distance,n={delta:i,axisRanges:q(this._plotArea.axes),originalEvent:t},!this._zooming&&this.trigger(bi,n)||(this._zooming||(this._zooming=!0),s=n.axisRanges=o.updateRanges(i),s&&!this.trigger(Ai,n)&&o.zoom())))},_mouseout:function(t){if(t.element){var e=this._drawingChartElement(t.element,t);e&&e.leave&&e.leave(this,t.originalEvent)}},_start:function(t){var e=this._eventCoordinates(t);!this._stopDragEvent(t)&&this._plotArea.backgroundContainsPoint(e)&&(this.requiresHandlers([wi,yi,_i])&&this._startNavigation(t,e,wi),this._pannable&&this._pannable.start(t)&&(this.surface.suspendTracking(),this._unsetActivePoint(),this._suppressHover=!0),this._zoomSelection&&this._zoomSelection.start(t)&&this.trigger(bi,{axisRanges:q(this._plotArea.axes),originalEvent:t}))},_move:function(t){var e,i,n,s,o,r,a,h,l=this,c=l._navState,u=l._pannable;if(!this._stopDragEvent(t)){if(u)e=u.move(t),e&&!this.trigger(yi,{axisRanges:e,originalEvent:t})&&u.pan();else if(c){for(i={},n=c.axes,s=0;s0&&!this.trigger(vi,o)?(a.visible&&c.showAt(n,t),u.show(n)):c.hide(),this._tooltipCategoryIx=i))},hideElements:function(){var t=this,e=t._plotArea,i=t._tooltip,n=t._highlight;this._mousemove.cancel(),e.hideCrosshairs(),n.hide(),i.hide(),delete this._tooltipCategoryIx},_unsetActivePoint:function(){var t=this,e=t._tooltip,i=t._highlight;this._activePoint=null,e&&e.hide(),i&&i.hide()},_deferRedraw:function(){this._redraw()},_clearRedrawTimeout:function(){this._redrawTimeout&&(clearInterval(this._redrawTimeout),this._redrawTimeout=null)},bindCategories:function(){var t,e,i=this,n=this.options,s=[].concat(n.categoryAxis);for(t=0;t0)for(n=y(t,i(o.categoryField,a[0])),l=n?m:i,c=0;c0&&(n&&(_=X(_,function(t,e){return Y.dateComparer(t[0],e[0])})),d=U(_),t.categories=d[0])},_isBindable:function(t){var e,i,n=le.current.valueFields(t),s=!0;for(e=0;e0;)i.shift().destroy();this._unsetActivePoint(),this._tooltip&&this._tooltip.destroy(),this._highlight&&this._highlight.destroy(),this._zoomSelection&&(this._zoomSelection.destroy(),delete this._zoomSelection),this._pannable&&(this._pannable.destroy(),delete this._pannable),this._mousewheelZoom&&(this._mousewheelZoom.destroy(),delete this._mousewheelZoom)}}),wt(co,{renderAs:"",chartArea:{},legend:{visible:!0,labels:{}},categoryAxis:{},seriesDefaults:{type:Ge,data:[],highlight:{visible:!0},labels:{},negativeValues:{visible:!1}},series:[],seriesColors:null,tooltip:{visible:!1},transitions:!0,valueAxis:{},plotArea:{},title:{},xAxis:{},yAxis:{},panes:[{}],pannable:!1,zoomable:!1}),kendo.deepExtend(kendo.dataviz,{constants:Di,Aggregates:he,AreaChart:on,AreaSegment:en,AxisGroupRangeTracker:rn,Bar:ln,BarChart:pn,BarLabel:an,BoxPlotChart:xn,BoxPlot:fn,BubbleChart:wn,Bullet:An,BulletChart:Sn,CandlestickChart:gn,Candlestick:dn,CategoricalChart:qi,CategoricalErrorBar:Ni,CategoricalPlotArea:$n,Chart:co,ChartContainer:Tn,ClipAnimation:$i,ClusterLayout:cn,Crosshair:Pn,CrosshairTooltip:kn,DefaultAggregates:Ln,DonutChart:Es,DonutPlotArea:Is,DonutSegment:Ts,ErrorBarBase:Hi,ErrorRangeCalculator:ge,Highlight:Jn,SharedTooltip:gs,Legend:hs,LegendItem:ss,LegendLayout:ns,LineChart:tn,LinePoint:Ui,LineSegment:Zi,Pane:Rn,PieAnimation:ms,PieChart:ks,PieChartMixin:Ss,PiePlotArea:Ps,PieSegment:ws,PlotAreaBase:In,PlotAreaEventsMixin:Vn,PlotAreaFactory:ls,PointEventsMixin:Wi,RangeBar:Bn,RangeBarChart:On,RangeAreaPoint:Nn,RangeAreaChart:Xn,ScatterChart:yn,ScatterErrorBar:mn,ScatterLineChart:ys,Selection:ps,SeriesAggregator:Mn,SeriesBinder:le,SplineSegment:Ki,SplineAreaSegment:sn,StackWrap:un,Tooltip:ds,OHLCChart:Zn,OHLCPoint:Un,WaterfallChart:jn,WaterfallSegment:Yn,XYPlotArea:_s,MousewheelZoom:is,ZoomSelection:es,Pannable:ts,ChartAxis:oe,ChartPane:re,ChartPlotArea:ae,anyHasZIndex:r,appendIfNotNull:c,areNumbers:c,bindSegments:f,categoriesCount:s,countNumbers:e,equalsIgnoreCase:v,evalOptions:n,filterSeriesByType:x,getDateField:m,getField:i,hasGradientOverlay:a,hasValue:u,isDateAxis:y,segmentVisible:g,singleItemOrArray:_})}(window.kendo.jQuery)},"function"==typeof define&&define.amd?define:function(t,e,i){(i||e)()}),function(t,define){define("dataviz/chart/chart.min",["dataviz/chart/kendo-chart.min","kendo.data.min","kendo.dataviz.core.min","kendo.dataviz.themes.min","kendo.drawing.min","kendo.userevents.min"],t)}(function(){return function(t,e){function i(t){r.fn[t]=function(){var e=this._instance;if(e)return e[t].apply(e,arguments)}}function n(t,i){var n,s,o,r=[],a=t.groupNameTemplate,h=i.length;if(0===h)return o=k({},t),o.visibleInLegend=!1,[o];for(P(a)?(v.logToConsole("'groupNameTemplate' is obsolete and will be removed in future versions. Specify the group name template as 'series.name'"),a&&(n=B(a))):(n=B(t.name||""),0===n._slotCount&&(n=B(P(t.name)?"#= group.value #: #= series.name #":"#= group.value #"))),s=0;s=0?(n=h.data[i],n&&P(n.visible)?n.visible=!n.visible:(s=h.pointVisibility=h.pointVisibility||{},o=s[i],s[i]=!!P(o)&&!o)):(h.visible=!h.visible,this._seriesVisibility.save(h)),r._noTransitionsRedraw()},_createTooltip:function(){return new u(this.element,L({},this.options.tooltip,{rtl:this._isRtl()}))},_tooltipleave:function(){this._instance&&this._instance.hideElements()},_bindData:function(t){var e,i,s,o=this,r=o.options,a=o._sourceSeries||r.series,h=a.length,l=o.dataSource.view(),c=(o.dataSource.group()||[]).length>0,u=[],p=this._seriesVisibility;for(e=0;e0,o=n,r=i.options,a=[].concat(r.categoryAxis);for(s&&n.length&&(o=n[0].items),t=0;t