EOS/Scripts/kendo/2015.3.1111/kendo.dataviz.chart.funnel.min.js
Nidhi Bhargava f0c1ab20e1 code push
2025-09-04 16:25:07 +05:30

9 lines
5.7 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){var n,i=window.kendo,r=i.deepExtend,o=e.extend,a=i.isFunction,s=i.template,l=i.util,c=l.append,u=i.drawing,d=i.geometry,h=i.dataviz,f=i.drawing.Color,p=h.ChartElement,g=h.PieChartMixin,m=h.PlotAreaBase,v=h.PlotAreaFactory,_=h.Point2D,b=h.Box2D,w=h.SeriesBinder,y=h.TextBox,k=h.autoFormat,x=h.evalOptions,C=l.limitValue,S=h.seriesTotal,T="category",D="color",A="funnel",M="value",E="black",I="white",F=m.extend({render:function(){var e=this,t=e.series;e.createFunnelChart(t)},createFunnelChart:function(e){var t=this,n=e[0],i=new R(t,{series:e,legend:t.options.legend,neckRatio:n.neckRatio,dynamicHeight:n.dynamicHeight,dynamicSlope:n.dynamicSlope,segmentSpacing:n.segmentSpacing,highlight:n.highlight});t.appendChart(i)},appendChart:function(e,t){m.fn.appendChart.call(this,e,t),c(this.options.legend.items,e.legendItems)}}),R=p.extend({init:function(e,t){var n=this;p.fn.init.call(n,t),n.plotArea=e,n.points=[],n.labels=[],n.legendItems=[],n.render()},options:{neckRatio:.3,width:300,dynamicSlope:!1,dynamicHeight:!0,segmentSpacing:0,labels:{visible:!1,align:"center",position:"center"}},formatPointValue:function(e,t){return k(t,e.value)},render:function(){var e,n,i,o,s,l,c,u=this,d=u.options,h=u.plotArea.options.seriesColors||[],f=h.length,p=d.series[0],g=p.data;if(g)for(i=S(p),s=0;g.length>s;s++)e=w.current.bindPoint(p,s),o=e.valueFields.value,null!==o&&o!==t&&(n=e.fields,a(p.color)||(p.color=n.color||h[s%f]),n=r({index:s,owner:u,series:p,category:n.category,dataItem:g[s],percentage:Math.abs(o)/i,visibleInLegend:n.visibleInLegend,visible:n.visible},n),l=u.createSegment(o,n),c=u.createLabel(o,n),l&&c&&l.append(c))},evalSegmentOptions:function(e,t,n){var i=n.series;x(e,{value:t,series:i,dataItem:n.dataItem,index:n.index},{defaults:i._defaults,excluded:["data","toggle","visual"]})},createSegment:function(e,i){var a,s=this,l=r({},i.series);return s.evalSegmentOptions(l,e,i),s.createLegendItem(e,l,i),i.visible!==!1?(a=new n(e,l,i),o(a,i),s.append(a),s.points.push(a),a):t},createLabel:function(e,n){var i,o,a,l=this,c=n.series,u=n.dataItem,d=r({},l.options.labels,c.labels),h=e;return d.visible?(d.template?(o=s(d.template),h=o({dataItem:u,value:e,percentage:n.percentage,category:n.category,series:c})):d.format&&(h=k(d.format,h)),d.color||"center"!==d.align||(a=new f(c.color).percBrightness(),d.color=a>180?E:I),l.evalSegmentOptions(d,e,n),i=new y(h,r({vAlign:d.position},d)),l.labels.push(i),i):t},labelPadding:function(){var e,t,n,i,r=this.labels,o={left:0,right:0};for(i=0;r.length>i;i++)e=r[i],t=e.options.align,"center"!==t&&(n=r[i].box.width(),"left"===t?o.left=Math.max(o.left,n):o.right=Math.max(o.right,n));return o},reflow:function(t){var n,i,r,o,a,s,l,c,u,h,f,p,g=this,m=g.options,v=g.points,_=v.length,b=1>=m.neckRatio,w=t.clone().unpad(g.labelPadding()),y=w.width(),k=0,x=b?0:(y-y/m.neckRatio)/2,S=m.segmentSpacing,T=m.dynamicSlope,D=w.height()-S*(_-1),A=b?m.neckRatio*y:y;if(_){if(T)for(l=v[0],c=l,e.each(v,function(e,t){t.percentage>c.percentage&&(c=t)}),r=l.percentage/c.percentage*y,x=(y-r)/2,n=0;_>n;n++)a=v[n].percentage,u=v[n+1],h=u?u.percentage:a,o=v[n].points=[],i=m.dynamicHeight?D*a:D/_,s=(y-r*(h/a))/2,s=C(s,0,y),o.push(new d.Point(w.x1+x,w.y1+k)),o.push(new d.Point(w.x1+y-x,w.y1+k)),o.push(new d.Point(w.x1+y-s,w.y1+i+k)),o.push(new d.Point(w.x1+s,w.y1+i+k)),x=s,k+=i+S,r*=h/a,r=C(r,0,y);else for(f=b?y:y-2*x,p=(f-A)/2,n=0;_>n;n++)o=v[n].points=[],a=v[n].percentage,s=m.dynamicHeight?p*a:p/_,i=m.dynamicHeight?D*a:D/_,o.push(new d.Point(w.x1+x,w.y1+k)),o.push(new d.Point(w.x1+y-x,w.y1+k)),o.push(new d.Point(w.x1+y-x-s,w.y1+i+k)),o.push(new d.Point(w.x1+x+s,w.y1+i+k)),x+=s,k+=i+S;for(n=0;_>n;n++)v[n].reflow(t)}}});r(R.fn,g),n=p.extend({init:function(e,t,n){var i=this;p.fn.init.call(i,t),i.value=e,i.options.index=n.index},options:{color:I,border:{width:1}},reflow:function(e){var t=this,n=t.points,i=t.children[0];t.box=new b(n[0].x,n[0].y,n[1].x,n[2].y),i&&i.reflow(new b(e.x1,n[0].y,e.x2,n[2].y))},createVisual:function(){var e,t=this,n=t.options;p.fn.createVisual.call(this),e=n.visual?n.visual({category:t.category,dataItem:t.dataItem,value:t.value,series:t.series,percentage:t.percentage,points:t.points,options:n,createVisual:function(){return t.createPath()}}):t.createPath(),e&&this.visual.append(e)},createPath:function(){var e=this.options,t=e.border,n=u.Path.fromPoints(this.points,{fill:{color:e.color,opacity:e.opacity},stroke:{color:t.color,opacity:t.opacity,width:t.width}}).close();return n},createHighlight:function(e){return u.Path.fromPoints(this.points,e)},highlightVisual:function(){return this.visual.children[0]},highlightVisualArgs:function(){var e=u.Path.fromPoints(this.points).close();return{options:this.options,path:e}},highlightOverlay:function(e,t){var n,i,r,a=this.options,s=a.highlight||{};if(s.visible!==!1)return n=s.border||{},i=o({},t,{fill:s.color,stroke:n.color,strokeOpacity:n.opacity,strokeWidth:n.width,fillOpacity:s.opacity}),r=e.createPolyline(this.points,!0,i)},tooltipAnchor:function(e){var t=this.box;return new _(t.center().x-e/2,t.y1)},formatValue:function(e){var t=this;return t.owner.formatPointValue(t,e)}}),r(n.fn,h.PointEventsMixin),v.current.register(F,[A]),w.current.register([A],[M],[T,D,"visibleInLegend","visible"]),r(h,{FunnelChart:R,FunnelSegment:n})}(window.kendo.jQuery),window.kendo},"function"==typeof define&&define.amd?define:function(e,t){t()});