🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more →

@grapecity/wijmo.chart.hierarchical

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@grapecity/wijmo.chart.hierarchical - npm Package Compare versions

Comparing version

to
5.20251.34

/*!
*
* Wijmo Library 5.20242.30
* Wijmo Library 5.20251.34
* https://developer.mescius.com/wijmo

@@ -14,2 +14,2 @@ *

"use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@grapecity/wijmo"),wijmo_chart_1=require("@grapecity/wijmo.chart"),selfModule=__importStar(require("@grapecity/wijmo.chart.hierarchical"));class HierarchicalUtil{static parseDataToHierarchical(t,e,i,r){var s,a=[];if(t instanceof wijmo_1.CollectionView&&t.groups.length>0)a=HierarchicalUtil.parseGroupCV(t,e);else if(t.length>0){wijmo_1.isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)a=HierarchicalUtil.parseItems(t,e,i,r);else{s=HierarchicalUtil.convertFlatData(t,e,i);a=HierarchicalUtil.parseItems(s,"value",i,"items")}}return a}static parseGroupCV(t,e){for(var i=[],r=0,s=t.groups.length;r<s;r++){var a=this.parseGroups(t.groups[r],e);i.push(a)}return i}static parseGroups(t,e){var i={};i.name=t.name;i.nameField=t.groupDescription.propertyName;i.item=t.items;if(t.groups&&t.groups.length){i.items=[];for(var r=0,s=t.groups.length;r<s;r++){var a=this.parseGroups(t.groups[r],e);i.items.push(a)}}else t.isBottomLevel&&(i.value=t.getAggregate(wijmo_1.Aggregate.Sum,e));return i}static parseItems(t,e,i,r){var s,a=[],l=t.length;for(s=0;s<l;s++)a.push(HierarchicalUtil.parseItem(t[s],e,i,r));return a}static isFlatItem(t,e){return!wijmo_1.isArray(t[e])}static convertFlatData(t,e,i){var r,s,a=[],l={},h=t.length;for(r=0;r<h;r++){s=t[r];HierarchicalUtil.convertFlatItem(l,s,e,wijmo_1.isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(a,l);return a}static convertFlatToHierarchical(t,e){var i=e.flatDataOrder;i&&i.forEach(i=>{var r,s={},a=e[i];s[e.field]=i;if(a.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,a);s.items=r}else s.value=a;t.push(s)})}static convertFlatItem(t,e,i,r){var s,a,l,h;a=(s=r.slice()).shift();if(null==(l=null==(a=wijmo_1.isString(a)?a.trim():a)?i:e[a]))return!1;if(0===s.length){t[l]=e[i]||0;t.flatDataOrder?t.flatDataOrder.push(l):t.flatDataOrder=[l];t.field=a}else{if(null==t[l]){t[l]={};t.flatDataOrder?t.flatDataOrder.push(l):t.flatDataOrder=[l];t.field=a}h=t[l];HierarchicalUtil.convertFlatItem(h,e,i,s)||(t[l]=e[i])}return!0}static parseItem(t,e,i,r){var s,a,l,h,o,n={};if(wijmo_1.isArray(r))h=(o=r.slice()).length?o.shift().trim():"";else{o=r;h=r}if(wijmo_1.isArray(i)){a=null==(a=(s=i.slice()).shift())?a:a.trim();n.nameField=null==a?e:a;n.name=null==a?t[e]:t[a];l=t[h];0===s.length?n.value=t[e]:l&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,s,o):n.value=t[e]||0}else{n.nameField=null==i?e:i;n.name=null==i?t[e]:t[i];null!=(l=t[h])&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,i,o):n.value=t[e]}n.item=t;return n}static parseFlatItem(t,e,i,r){t.items||(t.items=[])}}exports.HierarchicalUtil=HierarchicalUtil;exports.SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};exports.TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};var TreeMapType;!function(t){t[t.Squarified=0]="Squarified";t[t.Horizontal=1]="Horizontal";t[t.Vertical=2]="Vertical"}(TreeMapType=exports.TreeMapType||(exports.TreeMapType={}));class TreeMap extends wijmo_chart_1.FlexChartBase{constructor(t,e){super(t,null,!0);this._values=[];this._labels=[];this._areas=[];this._sum=0;this._keywords=new wijmo_chart_1._KeyWords;this._processedData=[];this._depth=1;this._itemIndex=0;this._processedItem=[];this._maxDepth=-1;this._tmItems=[];this._colRowLens=[];this._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_chart_1.FlexChartClsNames.hostElement} ${exports.TreeMapClsNames.hostElement}`,null,null);this._currentRenderEngine=new wijmo_chart_1._SvgRenderEngine(this.hostElement);this._legend=new wijmo_chart_1.Legend(this);this._legend.position=wijmo_chart_1.Position.None;this._tooltip=new wijmo_chart_1.ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new wijmo_chart_1.DataLabel;this._lbl.position=wijmo_chart_1.LabelPosition.Center;this._lbl._chart=this;this.hostElement.addEventListener("mousemove",t=>{this.isTouching||this._toogleTooltip(t)});this.hostElement.addEventListener("click",t=>{var e=!0;if(this.maxDepth>0){var i=this.hitTest(t),r=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(r=this.tooltip.threshold);if(i.distance<=r&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){var s=this._areas[i.pointIndex];if(this._currentItem!=s.item){this._currentItem=s.item;this._refreshChart();e=!1}}}e&&this.isTouching&&this._toogleTooltip(t)});this.hostElement.addEventListener("contextmenu",t=>{if(this.maxDepth>0){var e=this.hitTest(t),i=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(i=this.tooltip.threshold);e.distance<=i&&this._rollUp()}t.preventDefault();return!1});this.hostElement.addEventListener("mouseleave",()=>{this._hideToolTip()});this.deferUpdate(()=>this.initialize(e))}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(t){var e=this._tooltip;if(e.content){var i=this.hitTest(t);if(i.distance<=e.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else this._hideToolTip()}}get selectionMode(){return wijmo_chart_1.SelectionMode.None}set selectionMode(t){}get _treeMapItems(){return this._tmItems}get tooltip(){return this._tooltip}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._bindChart()}}get type(){return null==this._type?TreeMapType.Squarified:this._type}set type(t){if((t=wijmo_1.asEnum(t,TreeMapType))!=this._type){this._type=t;this.invalidate()}}get bindingName(){return this._bindingName}set bindingName(t){if(t!=this._bindingName){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"bindingName should be an array or a string.");this._bindingName=t;this._bindChart()}}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=t;this._lbl&&(this._lbl._chart=this)}}get childItemsPath(){return this._childItemsPath}set childItemsPath(t){if(t!=this._childItemsPath){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"childItemsPath should be an array or a string.");this._childItemsPath=t;this._bindChart()}}get maxDepth(){return this._maxDepth}set maxDepth(t){if(t!=this._maxDepth){this._maxDepth=wijmo_1.asNumber(t,!0);this.invalidate()}}get palette(){return this._palette}set palette(t){if(t!=this._palette){this._palette=wijmo_1.asArray(t);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}}_initData(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]}_performBind(){var t;this._initData();if(this._cv){t=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):t&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(t,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}}_sortData(t){t.forEach(t=>{t.items&&this._sortData(t.items)});t.sort((t,e)=>e.value-t.value)}_getTMItemsAndLabelsAndValues(t,e,i,r,s){t&&t.length>0&&t.forEach((t,s)=>{var a,l=new _TreeMapItem;l.items=[];l.parent=r;l.depth=i;t.items&&this._getTMItemsAndLabelsAndValues(t.items,l.items,i+1,l);a=t.name?t.name:t.value.toString();l.label=a;l.value=t.value;if(null!=r){t.value>r.maxValue&&(r.maxValue=t.value);t.value<r.minValue&&(r.minValue=t.value)}e.push(l);this._labels.push(a);this._values.push(t.value)})}_calculateColorForItems(t,e,i){var r=i;t.forEach((t,i)=>{var s=e;1===t.depth&&(s=this._getColor(i));t.palette=s;var a=t.palette;if(wijmo_1.isString(a)){var l=a,h=this._getLightColor(l);t.titleFill=l;t.titleStroke=l;t.fill=h;t.stroke=l}else if(a.maxColor&&a.minColor&&a.titleColor){t.titleFill=a.titleColor;t.titleStroke=a.titleColor;if(null==t.parent){t.fill=a.maxColor;t.stroke=a.maxColor}else{null==r&&(r=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue));let e=r._calculateColorByVal(t.value,!0).toString();t.fill=e;t.stroke=e}}if(t.items&&t.items.length>0){var o=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue);this._calculateColorForItems(t.items,s,o)}})}_getBindData(t,e,i){var r,s=0;i&&(r=t[i]);s=0;wijmo_1.isNumber(r)?s=wijmo_1.asNumber(r):r&&(s=parseFloat(r.toString()));if(!isNaN(s)&&isFinite(s))e.push(s);else{s=0;e.push(s)}return s}_calculateValueAndDepth(t,e){var i=0,r=this._values;this._depth<e&&(this._depth=e);t.forEach(t=>{var s;if(t.items){s=this._calculateValueAndDepth(t.items,e+1);t.value=s;r.push(s)}else{s=this._getBindData(t,r,"value");t.value=s}i+=s});return i}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var r,s,a,l=this._rectChart.clone();new wijmo_1.Size(l.width,l.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(t));var h=e.width,o=e.height;this._tmGroup=t.startGroup(null,null,!0);var n=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(n.left)&&(n.left=TreeMap._MARGIN);isNaN(n.right)&&(n.right=TreeMap._MARGIN);isNaN(n.top)&&(n.top=TreeMap._MARGIN);isNaN(n.bottom)&&(n.bottom=TreeMap._MARGIN);e.top+=n.top;o=e.height-(n.top+n.bottom);e.height=o>0?o:24;e.left+=n.left;h=e.width-(n.left+n.right);e.width=h>0?h:24;this._plotRect=e;r=this._currentItem?[this._currentItem]:this._tmItems;s=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;a=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(t,e,this._tmGroup,r,a,s);t.endGroup();this.dataLabel.content&&this.dataLabel.position!=wijmo_chart_1.LabelPosition.None&&this._renderLabels(t);this.onRendered(new wijmo_chart_1.RenderEventArgs(t))}_renderTreeMap(t,e,i,r,s,a){if(s>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(e,r,s,1,a);this._renderHierarchicalTreeMapItems(t,i,e,this._tmItems,s,1,a)}}_resetItemRects(t){t.forEach(t=>{t.rect=new wijmo_1.Rect(0,0,0,0);t.isTitle=!1;t.type=this.type;t.items&&t.items.length&&this._resetItemRects(t.items)})}_calculateItemRects(t,e,i,r,s){switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(e,t,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(e,t,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(e,t,i)}e.forEach((t,e)=>{t.rect.clone();if(t.items&&t.items.length)if(r===s);else if(r>s&&s>=1);else{t.isTitle=!0;this._calculateItemRects(t.itemsRect,t.items,t.value,r+1,s)}})}_renderHierarchicalTreeMapItems(t,e,i,r,s,a,l){var h,o,n,_,m,c=r.length;this.type;if(0!==c)for(var d=0;d<c;d++){h=t.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=r[d];n=Math.abs(o.value);_=o.rect;o.draw(t);m=new wijmo_chart_1._RectArea(_);o.items&&this._renderHierarchicalTreeMapItems(t,h,o.itemsRect,o.items,n,a+1,l);m.tag=this._itemIndex;m.name=o.label;m.value=n;m.item=o;this._areas.push(m);this._itemIndex++;t.endGroup()}}_renderLabels(t){var e,i=this._areas.length,r=this.dataLabel,s=r.position,a=r.connectingLine,l=r.border,h=r.offset||0,o=wijmo_chart_1.DataLabelClsNames.labels;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(o);for(var n=0;n<i;n++){var _=this._areas[n];if(_){var m=_.rect,c=new wijmo_chart_1.HitTestInfo(this,e);c._setData(null,n);var d=this._getLabelContent(c,r.content);e=new wijmo_1.Point(m.left+m.width/2,m.top+m.height/2);if(d&&m.width>0&&m.height>0){var u=new wijmo_chart_1.DataLabelRenderEventArgs(t,c,e,d);if(r.onRendering(u)){d=u.text;e=u.point;this._renderLabelAndBorder(t,_,m,d,s,h,e,a,2,l)}}}}t.endGroup()}_renderLabelAndBorder(t,e,i,r,s,a,l,h,o,n){var _,m=wijmo_chart_1.DataLabelClsNames.label,c=wijmo_chart_1.DataLabelClsNames.line,d=wijmo_chart_1.DataLabelClsNames.border;switch(s){case wijmo_chart_1.LabelPosition.Top:h&&t.drawLine(l.x,l.y,l.x,l.y-a,c);l.y-=o+a;_=this._renderText(t,e,i,r,l,1,2,m);break;case wijmo_chart_1.LabelPosition.Bottom:h&&t.drawLine(l.x,l.y,l.x,l.y+a,c);l.y+=o+a;_=this._renderText(t,e,i,r,l,1,0,m);break;case wijmo_chart_1.LabelPosition.Left:h&&t.drawLine(l.x,l.y,l.x-a,l.y,c);l.x-=o+a;_=this._renderText(t,e,i,r,l,2,1,m);break;case wijmo_chart_1.LabelPosition.Right:h&&t.drawLine(l.x,l.y,l.x+a,l.y,c);l.x+=o+a;_=this._renderText(t,e,i,r,l,0,1,m);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(t,e,i,r,l,1,1,m)}n&&_&&t.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,d);return _}_renderText(t,e,i,r,s,a,l,h){var o,n=r,_=e.item;o=t.measureString(r,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(r,o.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(t,n,s,a,l,s,-90,h);return null}o.width>i.width&&(n=this._cutText(r,o.width,i.width));return wijmo_chart_1.FlexChart._renderText(t,n,s,a,l,h)}_cutText(t,e,i){var r="",s=t.length,a=Math.floor((1-(e-i)/e)*s);t.length>0&&(r=t[0]+(a>1?t.substring(1,a-1)+"..":""));return r}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH;i.height=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;if(e){var r=t.measureString(e,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;i.height+=2*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;return i}_getDesiredLegendSize(t,e,i,r){var s=new wijmo_1.Size,a=(new wijmo_1.Size(i,r),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(var o=0;o<a;o++){var n=this._measureLegendItem(t,this._tmItems[o].label);if(e){if(h+n.height>r){s.height=r;this._colRowLens.push(l);l=0;h=0}l<n.width&&(l=n.width);h+=n.height}else{if(l+n.width>i){s.width=i;this._colRowLens.push(h);h=0;l=0}h<n.height&&(h=n.height);l+=n.width}}if(e){s.height<h&&(s.height=h);this._colRowLens.push(l);s.width=this._colRowLens.reduce((t,e)=>t+e,0);s.width=this._getLegendSize(i,s.width)}else{s.width<l&&(s.width=l);this._colRowLens.push(h);s.height=this._colRowLens.reduce((t,e)=>t+e,0);s.height=this._getLegendSize(r,s.height)}return s}_renderLegend(t,e,i,r,s,a){for(var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=e.clone(),m=0;m<o;m++){l=this._tmItems[m].label;var c=this._measureLegendItem(t,l);if(r){if(_.y+c.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=e.y}}else if(_.x+c.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=e.x}var d=new wijmo_1.Rect(_.x,_.y,c.width,c.height);this._drawLegendItem(t,d,m,l);i.push(d);r?_.y+=c.height:_.x+=c.width}}_drawLegendItem(t,e,i,r){t.strokeWidth=1;var s=wijmo_chart_1.Series._LEGEND_ITEM_MARGIN,a=this._getColor(i),l=a&&a.maxColor?a.maxColor:a,h=this._getLightColor(l);t.fill=l;t.stroke=h;var o=e.top+.5*e.height,n=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH,_=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;t.drawRect(e.left+s,o-.5*_,n,_,null);r&&wijmo_chart_1.FlexChart._renderText(t,r,new wijmo_1.Point(e.left+_+2*s,o),0,1,wijmo_chart_1.FlexChart._CSS_LABEL)}_getLabelContent(t,e){return wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null}hitTest(t,e){var i=this._toControl(t,e),r=new wijmo_chart_1.HitTestInfo(this,i),s=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))r._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))r._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){r._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(s=this.legend._hitTest(i))&&s>=0&&s<this._areas.length&&r._setData(null,s)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){for(var a,l=this._areas.length,h=NaN,o=0;o<l;o++){var n=i.clone(),_=this._areas[o];if(_.contains(n)){r._setData(null,_.tag);r._dist=0}var m=_.distance(n);if(void 0!==m&&(isNaN(h)||m<h)){h=m;a=_}}if(0!==r._dist&&null!=a){r._setData(null,a.tag);r._dist=h}r._chartElement=wijmo_chart_1.ChartElement.ChartArea}else r._chartElement=wijmo_chart_1.ChartElement.None;return r}_getHitTestItem(t){var e=null,i=null;(e=null!=this._cv?this._cv.items:this.itemsSource)&&t<e.length&&(i=e[t]);return i}_getHitTestValue(t){return this._values[t]}_getHitTestLabel(t){return this._labels[t]}}TreeMap._CSS_ITEMDEPTH=exports.TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;exports.TreeMap=TreeMap;class _TreeMapItem{constructor(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}draw(t){var e=this.rect;t.strokeWidth=0;if(this.isTitle){t.fill=this.titleFill;t.stroke=this.titleStroke}else{t.fill=this.fill;t.stroke=this.stroke}t.drawRect(e.left,e.top,e.width,e.height,_TreeMapItem._CLASSNAME)}get itemsRect(){var t=this.rect,e=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new wijmo_1.Rect(t.left+t.width+1,t.top,e.width-t.width-2*i,t.height+1):new wijmo_1.Rect(t.left,t.top+t.height+1,t.width+1,e.height-t.height-2*i):new wijmo_1.Rect(0,0,0,0)}get rect(){var t=this._rect,e=1===this.depth?2:.5,i=t.width,r=t.height,s=t.left,a=t.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=t.width>20?20:i;i=Math.max(20,i-2*e);r=r>2*e?r-2*e:0}else{r=t.height>20?20:r;r=Math.max(20,r-2*e);i=i>2*e?i-2*e:0}s+=e;a+=e}else{i=i>2*e?i-2*e:0;r=r>2*e?r-2*e:0}return new wijmo_1.Rect(s,a,i,r)}set rect(t){t!=this._rect&&(this._rect=t)}get isTitle(){return this._isTitle}set isTitle(t){var e=wijmo_1.asBoolean(t,!0);e!==this._isTitle&&(this._isTitle=e)}}_TreeMapItem._CLASSNAME=exports.TreeMapClsNames.item;class _ColorConverter{constructor(t,e,i,r,s,a){this.minColor=new wijmo_1.Color(t);this.minColorValue=e;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(s);this._calculateMidColor()}_resetminColor(t){this.minColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetmidColor(t){this.midColor=this.originalMidColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetmaxColor(t){this.maxColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetminColorValue(t){this.minColorValue=t;this._calculateMidColorValue()}_resetmidColorValue(t){this.midColorValue=this.originalMidColorValue=t;this._calculateMidColorValue()}_resetmaxColorValue(t){this.maxColorValue=t;this._calculateMidColorValue()}_calculateMidColorValue(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)}_calculateMidColor(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))}_calculateColorByVal(t,e=!1){var i=this.maxColor,r=this.minColor,s=this.maxColorValue,a=this.minColorValue;if(t>=this.maxColorValue)return new wijmo_1.Color(i.toString());if(t<=this.minColorValue)return new wijmo_1.Color(r.toString());if(!e){if(t===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(t<this.midColorValue){i=this.midColor;s=this.midColorValue}else{r=this.midColor;a=this.midColorValue}}return this._getColor(t,i,s,r,a)}_getColor(t,e,i,r,s){return wijmo_1.Color.fromRgba(this._getValueByRatio(t,e.r,i,r.r,s),this._getValueByRatio(t,e.g,i,r.g,s),this._getValueByRatio(t,e.b,i,r.b,s),this._getValueByRatio(t,e.a,i,r.a,s))}_getValueByRatio(t,e,i,r,s){return Math.abs(r+Math.round((t-s)*(e-r)/(i-s)))}}class _TreeMapUtils{static squarified(t,e,i){var r=t.slice(),s=e.clone(),a=s.width*s.height/i;do{var l=_TreeMapUtils.getRowedItems(r,s,a);_TreeMapUtils.layoutRowedItems(e,l,s,s.width>s.height)}while(r.length)}static horizontal(t,e,i){var r=e.clone();t.forEach(t=>{var s=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,s,r,!1)})}static vertical(t,e,i){var r=e.clone();t.forEach(t=>{var s=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,s,r,!0)})}static getNarrowLen(t){return Math.min(t.width,t.height)}static getRowedItem(t,e,i){return{item:t,val:i*t.value}}static getRowedItems(t,e,i){var r=t.shift(),s=[],a=[],l=_TreeMapUtils.getNarrowLen(e),h=_TreeMapUtils.getRowedItem(r,e,i);s.push(h);a.push(h);if(t.length>0)do{a.push(_TreeMapUtils.getRowedItem(t[0],e,i));if(!(_TreeMapUtils.worst(s,l)>_TreeMapUtils.worst(a,l)))break;s=a.slice();t.shift()}while(t.length);return s}static layoutRowedItems(t,e,i,r){var s,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(e);if(r){s=0===i.height?0:n/i.height;a+s>=h&&(s=h-a);e.forEach((t,i)=>{var r=0===s?0:t.val/s;(l+r>o||i===e.length-1)&&(r=o-l);var h=new wijmo_1.Rect(a,l,s,r);t.item.rect=h;l+=r});i.left+=s;i.width-=s}else{s=0===i.width?0:n/i.width;l+s>=o&&(s=o-l);e.forEach((t,i)=>{var r=0===s?0:t.val/s;(a+r>h||i===e.length-1)&&(r=h-a);var o=new wijmo_1.Rect(a,l,r,s);t.item.rect=o;a+=r});i.top+=s;i.height-=s}}static sumRowedArray(t){for(var e=0,i=t.length,r=0;r<i;r++)e+=t[r].val;return e}static worst(t,e){var i,r,s=_TreeMapUtils.sumRowedArray(t),a=s*s,l=e*e;i=r=t[0].val;t.forEach((t,e)=>{t.val>i?i=t.val:t.val<r&&(r=t.val)});return Math.max(l*i/a,a/(l*r))}}class Sunburst extends wijmo_chart_1.FlexPie{constructor(t,e){super(t,e);this._selectionIndex=0;this.applyTemplate(exports.SunburstClsNames.hostElement,null,null);this.initialize(e);this.refresh()}get bindingName(){return this._bindName}set bindingName(t){if(t!=this._bindName){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"bindingName should be an array or a string.");this._bindName=t;this._bindChart()}}get childItemsPath(){return this._childItemsPath}set childItemsPath(t){if(t!=this._childItemsPath){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"childItemsPath should be an array or a string.");this._childItemsPath=t;this._bindChart()}}_initData(){super._initData();this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]}_performBind(){var t;this._initData();if(this._cv){t=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):t&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(t,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach(t=>{this._legendLabels.push(t.name)})}}}_calculateValueAndLevel(t,e){var i=0,r=this._values[0],s=this._labels;this._level<e&&(this._level=e);t.forEach(t=>{var a;if(t.items){a=this._calculateValueAndLevel(t.items,e+1);t.value=a;r.push(a);s.push(t.name)}else{a=this._getBindData(t,r,s,"value","name");t.value=a}i+=a});return i}_renderPie(t,e,i,r,s,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(t,l.x,l.y,this._processedData,this._sum,i,r,s,2*Math.PI,a,1)}_renderHierarchicalSlices(t,e,i,r,s,a,l,h,o,n,_){var m,c,d,u,p,g,w,f,v,C,I=r.length,T=h,x=1==this.reversed;d=(a-l)/this._level;m=a-(this._level-_)*d;c=l+(_-1)*d;for(var b=0;b<I;b++){f=e;v=i;w=t.startGroup(`${exports.SunburstClsNames.slice} ${exports.SunburstClsNames.sliceLevel}`+_);if(1===_){t.fill=this._getColorLight(b);t.stroke=this._getColor(b)}p=r[b];g=Math.abs(p.value);u=Math.abs(g-s)<1e-10?o:o*g/s;C=x?T-.5*u:T+.5*u;if(n>0&&u<o){f+=n*Math.cos(C);v+=n*Math.sin(C)}if(p.items){let e=this._sliceIndex;this._renderHierarchicalSlices(t,f,v,p.items,g,a,l,T,u,0,_+1);for(;e<this._sliceIndex;e++)null==this._parentRef[e]&&(this._parentRef[e]=this._sliceIndex)}this._renderSlice(t,f,v,C,0,this._sliceIndex,m,c,T,u,o);this._processedItem.push(p.item);this._sliceIndex++;x?T-=u:T+=u;t.endGroup();this._pels.push(w)}}_getLabelsForLegend(){return this._legendLabels||[]}_highlightCurrent(){this.selectionMode!=wijmo_chart_1.SelectionMode.None&&this._highlight(!0,this._selectionIndex)}hitTest(t,e){var i=super.hitTest(t,e),r=this._toControl(t,e);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,r)){var s=i.pointIndex,a=this._processedItem[s],l=new wijmo_chart_1._DataPoint(null,s,null,null);l.item=a;i._setDataPoint(l)}return i}_getSelectedItemOffset(t,e){var i=0,r=0,s=0;if(this.selectedItemOffset>0)if(t==this.selectedIndex)s=this.selectedItemOffset;else{let i=this._getSelectedParentIndex(t);if(null!=i){let t=this._areas[i];this.dataLabel.position;s=this.selectedItemOffset;e=((e=t.langle+this._rotationAngles[0])%360+360)%360;e*=Math.PI/180}}if(s>0){i=Math.cos(e)*s*this._radius;r=Math.sin(e)*s*this._radius}return{x:i,y:r}}_getSelectedParentIndex(t){let e=this._parentRef[t];return null!=e?e===this.selectedIndex?e:this._getSelectedParentIndex(e):null}}exports.Sunburst=Sunburst;wijmo_1._registerModule("wijmo.chart.hierarchical",selfModule);
"use strict";var __importStar=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var i in t)Object.hasOwnProperty.call(t,i)&&(e[i]=t[i]);e.default=t;return e};Object.defineProperty(exports,"__esModule",{value:!0});const wijmo_1=require("@grapecity/wijmo"),wijmo_chart_1=require("@grapecity/wijmo.chart"),selfModule=__importStar(require("@grapecity/wijmo.chart.hierarchical"));class HierarchicalUtil{static parseDataToHierarchical(t,e,i,r){var s,a=[];if(t instanceof wijmo_1.CollectionView&&t.groups.length>0)a=HierarchicalUtil.parseGroupCV(t,e);else if(t.length>0){wijmo_1.isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)a=HierarchicalUtil.parseItems(t,e,i,r);else{s=HierarchicalUtil.convertFlatData(t,e,i);a=HierarchicalUtil.parseItems(s,"value",i,"items")}}return a}static parseGroupCV(t,e){for(var i=[],r=0,s=t.groups.length;r<s;r++){var a=this.parseGroups(t.groups[r],e);i.push(a)}return i}static parseGroups(t,e){var i={};i.name=t.name;i.nameField=t.groupDescription.propertyName;i.item=t.items;if(t.groups&&t.groups.length){i.items=[];for(var r=0,s=t.groups.length;r<s;r++){var a=this.parseGroups(t.groups[r],e);i.items.push(a)}}else t.isBottomLevel&&(i.value=t.getAggregate(wijmo_1.Aggregate.Sum,e));return i}static parseItems(t,e,i,r){var s,a=[],l=t.length;for(s=0;s<l;s++)a.push(HierarchicalUtil.parseItem(t[s],e,i,r));return a}static isFlatItem(t,e){return!wijmo_1.isArray(t[e])}static convertFlatData(t,e,i){var r,s,a=[],l={},h=t.length;for(r=0;r<h;r++){s=t[r];HierarchicalUtil.convertFlatItem(l,s,e,wijmo_1.isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(a,l);return a}static convertFlatToHierarchical(t,e){var i=e.flatDataOrder;i&&i.forEach(i=>{var r,s={},a=e[i];s[e.field]=i;if(a.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,a);s.items=r}else s.value=a;t.push(s)})}static convertFlatItem(t,e,i,r){var s,a,l,h;a=(s=r.slice()).shift();if(null==(l=null==(a=wijmo_1.isString(a)?a.trim():a)?i:e[a]))return!1;if(0===s.length){t[l]=e[i]||0;t.flatDataOrder?t.flatDataOrder.push(l):t.flatDataOrder=[l];t.field=a}else{if(null==t[l]){t[l]={};t.flatDataOrder?t.flatDataOrder.push(l):t.flatDataOrder=[l];t.field=a}h=t[l];HierarchicalUtil.convertFlatItem(h,e,i,s)||(t[l]=e[i])}return!0}static parseItem(t,e,i,r){var s,a,l,h,o,n={};if(wijmo_1.isArray(r))h=(o=r.slice()).length?o.shift().trim():"";else{o=r;h=r}if(wijmo_1.isArray(i)){a=null==(a=(s=i.slice()).shift())?a:a.trim();n.nameField=null==a?e:a;n.name=null==a?t[e]:t[a];l=t[h];0===s.length?n.value=t[e]:l&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,s,o):n.value=t[e]||0}else{n.nameField=null==i?e:i;n.name=null==i?t[e]:t[i];null!=(l=t[h])&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,i,o):n.value=t[e]}n.item=t;return n}static parseFlatItem(t,e,i,r){t.items||(t.items=[])}}exports.HierarchicalUtil=HierarchicalUtil;exports.SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};exports.TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};var TreeMapType;!function(t){t[t.Squarified=0]="Squarified";t[t.Horizontal=1]="Horizontal";t[t.Vertical=2]="Vertical"}(TreeMapType=exports.TreeMapType||(exports.TreeMapType={}));class TreeMap extends wijmo_chart_1.FlexChartBase{constructor(t,e){super(t,null,!0);this._values=[];this._labels=[];this._areas=[];this._sum=0;this._keywords=new wijmo_chart_1._KeyWords;this._processedData=[];this._depth=1;this._itemIndex=0;this._processedItem=[];this._maxDepth=-1;this._tmItems=[];this._colRowLens=[];this._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];this.applyTemplate(`${wijmo_1.ControlClsNames.hostElement} ${wijmo_chart_1.FlexChartClsNames.hostElement} ${exports.TreeMapClsNames.hostElement}`,null,null);this._currentRenderEngine=new wijmo_chart_1._SvgRenderEngine(this.hostElement);this._legend=new wijmo_chart_1.Legend(this);this._legend.position=wijmo_chart_1.Position.None;this._tooltip=new wijmo_chart_1.ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new wijmo_chart_1.DataLabel;this._lbl.position=wijmo_chart_1.LabelPosition.Center;this._lbl._chart=this;this.addEventListener(this.hostElement,"mousemove",t=>{this.isTouching||this._toogleTooltip(t)});this.addEventListener(this.hostElement,"click",t=>{var e=!0;if(this.maxDepth>0){var i=this.hitTest(t),r=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(r=this.tooltip.threshold);if(i.distance<=r&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){var s=this._areas[i.pointIndex];if(this._currentItem!=s.item){this._currentItem=s.item;this._refreshChart();e=!1}}}e&&this.isTouching&&this._toogleTooltip(t)});this.addEventListener(this.hostElement,"contextmenu",t=>{if(this.maxDepth>0){var e=this.hitTest(t),i=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(i=this.tooltip.threshold);e.distance<=i&&this._rollUp()}t.preventDefault();return!1});this.addEventListener(this.hostElement,"mouseleave",()=>{this._hideToolTip()});this.deferUpdate(()=>this.initialize(e))}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(t){var e=this._tooltip;if(e.content){var i=this.hitTest(t);if(i.distance<=e.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new wijmo_1.Rect(t.clientX,t.clientY,5,5))}else this._hideToolTip()}}get selectionMode(){return wijmo_chart_1.SelectionMode.None}set selectionMode(t){}get _treeMapItems(){return this._tmItems}get tooltip(){return this._tooltip}get binding(){return this._binding}set binding(t){if(t!=this._binding){this._binding=wijmo_1.asString(t,!0);this._bindChart()}}get type(){return null==this._type?TreeMapType.Squarified:this._type}set type(t){if((t=wijmo_1.asEnum(t,TreeMapType))!=this._type){this._type=t;this.invalidate()}}get bindingName(){return this._bindingName}set bindingName(t){if(t!=this._bindingName){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"bindingName should be an array or a string.");this._bindingName=t;this._bindChart()}}get dataLabel(){return this._lbl}set dataLabel(t){if(t!=this._lbl){this._lbl=t;this._lbl&&(this._lbl._chart=this)}}get childItemsPath(){return this._childItemsPath}set childItemsPath(t){if(t!=this._childItemsPath){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"childItemsPath should be an array or a string.");this._childItemsPath=t;this._bindChart()}}get maxDepth(){return this._maxDepth}set maxDepth(t){if(t!=this._maxDepth){this._maxDepth=wijmo_1.asNumber(t,!0);this.invalidate()}}get palette(){return this._palette}set palette(t){if(t!=this._palette){this._palette=wijmo_1.asArray(t);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}}_initData(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]}_performBind(){var t;this._initData();if(this._cv){t=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):t&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(t,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}}_sortData(t){t.forEach(t=>{t.items&&this._sortData(t.items)});t.sort((t,e)=>e.value-t.value)}_getTMItemsAndLabelsAndValues(t,e,i,r,s){t&&t.length>0&&t.forEach((t,s)=>{var a,l=new _TreeMapItem;l.items=[];l.parent=r;l.depth=i;t.items&&this._getTMItemsAndLabelsAndValues(t.items,l.items,i+1,l);a=t.name?t.name:t.value.toString();l.label=a;l.value=t.value;if(null!=r){t.value>r.maxValue&&(r.maxValue=t.value);t.value<r.minValue&&(r.minValue=t.value)}e.push(l);this._labels.push(a);this._values.push(t.value)})}_calculateColorForItems(t,e,i){var r=i;t.forEach((t,i)=>{var s=e;1===t.depth&&(s=this._getColor(i));t.palette=s;var a=t.palette;if(wijmo_1.isString(a)){var l=a,h=this._getLightColor(l);t.titleFill=l;t.titleStroke=l;t.fill=h;t.stroke=l}else if(a.maxColor&&a.minColor&&a.titleColor){t.titleFill=a.titleColor;t.titleStroke=a.titleColor;if(null==t.parent){t.fill=a.maxColor;t.stroke=a.maxColor}else{null==r&&(r=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue));let e=r._calculateColorByVal(t.value,!0).toString();t.fill=e;t.stroke=e}}if(t.items&&t.items.length>0){var o=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue);this._calculateColorForItems(t.items,s,o)}})}_getBindData(t,e,i){var r,s=0;i&&(r=t[i]);s=0;wijmo_1.isNumber(r)?s=wijmo_1.asNumber(r):r&&(s=parseFloat(r.toString()));if(!isNaN(s)&&isFinite(s))e.push(s);else{s=0;e.push(s)}return s}_calculateValueAndDepth(t,e){var i=0,r=this._values;this._depth<e&&(this._depth=e);t.forEach(t=>{var s;if(t.items){s=this._calculateValueAndDepth(t.items,e+1);t.value=s;r.push(s)}else{s=this._getBindData(t,r,"value");t.value=s}i+=s});return i}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var r,s,a,l=this._rectChart.clone();new wijmo_1.Size(l.width,l.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(t));var h=e.width,o=e.height;this._tmGroup=t.startGroup(null,null,!0);var n=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(n.left)&&(n.left=TreeMap._MARGIN);isNaN(n.right)&&(n.right=TreeMap._MARGIN);isNaN(n.top)&&(n.top=TreeMap._MARGIN);isNaN(n.bottom)&&(n.bottom=TreeMap._MARGIN);e.top+=n.top;o=e.height-(n.top+n.bottom);e.height=o>0?o:24;e.left+=n.left;h=e.width-(n.left+n.right);e.width=h>0?h:24;this._plotRect=e;r=this._currentItem?[this._currentItem]:this._tmItems;s=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;a=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(t,e,this._tmGroup,r,a,s);t.endGroup();this.dataLabel.content&&this.dataLabel.position!=wijmo_chart_1.LabelPosition.None&&this._renderLabels(t);this.onRendered(new wijmo_chart_1.RenderEventArgs(t))}_renderTreeMap(t,e,i,r,s,a){if(s>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(e,r,s,1,a);this._renderHierarchicalTreeMapItems(t,i,e,this._tmItems,s,1,a)}}_resetItemRects(t){t.forEach(t=>{t.rect=new wijmo_1.Rect(0,0,0,0);t.isTitle=!1;t.type=this.type;t.items&&t.items.length&&this._resetItemRects(t.items)})}_calculateItemRects(t,e,i,r,s){switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(e,t,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(e,t,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(e,t,i)}e.forEach((t,e)=>{t.rect.clone();if(t.items&&t.items.length)if(r===s);else if(r>s&&s>=1);else{t.isTitle=!0;this._calculateItemRects(t.itemsRect,t.items,t.value,r+1,s)}})}_renderHierarchicalTreeMapItems(t,e,i,r,s,a,l){var h,o,n,_,m,c=r.length;this.type;if(0!==c)for(var d=0;d<c;d++){h=t.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=r[d];n=Math.abs(o.value);_=o.rect;o.draw(t);m=new wijmo_chart_1._RectArea(_);o.items&&this._renderHierarchicalTreeMapItems(t,h,o.itemsRect,o.items,n,a+1,l);m.tag=this._itemIndex;m.name=o.label;m.value=n;m.item=o;this._areas.push(m);this._itemIndex++;t.endGroup()}}_renderLabels(t){var e,i=this._areas.length,r=this.dataLabel,s=r.position,a=r.connectingLine,l=r.border,h=r.offset||0,o=wijmo_chart_1.DataLabelClsNames.labels;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(o);for(var n=0;n<i;n++){var _=this._areas[n];if(_){var m=_.rect,c=new wijmo_chart_1.HitTestInfo(this,e);c._setData(null,n);var d=this._getLabelContent(c,r.content);e=new wijmo_1.Point(m.left+m.width/2,m.top+m.height/2);if(d&&m.width>0&&m.height>0){var u=new wijmo_chart_1.DataLabelRenderEventArgs(t,c,e,d);if(r.onRendering(u)){d=u.text;e=u.point;this._renderLabelAndBorder(t,_,m,d,s,h,e,a,2,l)}}}}t.endGroup()}_renderLabelAndBorder(t,e,i,r,s,a,l,h,o,n){var _,m=wijmo_chart_1.DataLabelClsNames.label,c=wijmo_chart_1.DataLabelClsNames.line,d=wijmo_chart_1.DataLabelClsNames.border;switch(s){case wijmo_chart_1.LabelPosition.Top:h&&t.drawLine(l.x,l.y,l.x,l.y-a,c);l.y-=o+a;_=this._renderText(t,e,i,r,l,1,2,m);break;case wijmo_chart_1.LabelPosition.Bottom:h&&t.drawLine(l.x,l.y,l.x,l.y+a,c);l.y+=o+a;_=this._renderText(t,e,i,r,l,1,0,m);break;case wijmo_chart_1.LabelPosition.Left:h&&t.drawLine(l.x,l.y,l.x-a,l.y,c);l.x-=o+a;_=this._renderText(t,e,i,r,l,2,1,m);break;case wijmo_chart_1.LabelPosition.Right:h&&t.drawLine(l.x,l.y,l.x+a,l.y,c);l.x+=o+a;_=this._renderText(t,e,i,r,l,0,1,m);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(t,e,i,r,l,1,1,m)}n&&_&&t.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,d);return _}_renderText(t,e,i,r,s,a,l,h){var o,n=r,_=e.item;o=t.measureString(r,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(r,o.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(t,n,s,a,l,s,-90,h);return null}o.width>i.width&&(n=this._cutText(r,o.width,i.width));return wijmo_chart_1.FlexChart._renderText(t,n,s,a,l,h)}_cutText(t,e,i){var r="",s=t.length,a=Math.floor((1-(e-i)/e)*s);t.length>0&&(r=t[0]+(a>1?t.substring(1,a-1)+"..":""));return r}_measureLegendItem(t,e){var i=new wijmo_1.Size;i.width=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH;i.height=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;if(e){var r=t.measureString(e,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;i.height+=2*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;return i}_getDesiredLegendSize(t,e,i,r){var s=new wijmo_1.Size,a=(new wijmo_1.Size(i,r),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(var o=0;o<a;o++){var n=this._measureLegendItem(t,this._tmItems[o].label);if(e){if(h+n.height>r){s.height=r;this._colRowLens.push(l);l=0;h=0}l<n.width&&(l=n.width);h+=n.height}else{if(l+n.width>i){s.width=i;this._colRowLens.push(h);h=0;l=0}h<n.height&&(h=n.height);l+=n.width}}if(e){s.height<h&&(s.height=h);this._colRowLens.push(l);s.width=this._colRowLens.reduce((t,e)=>t+e,0);s.width=this._getLegendSize(i,s.width)}else{s.width<l&&(s.width=l);this._colRowLens.push(h);s.height=this._colRowLens.reduce((t,e)=>t+e,0);s.height=this._getLegendSize(r,s.height)}return s}_renderLegend(t,e,i,r,s,a){for(var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=e.clone(),m=0;m<o;m++){l=this._tmItems[m].label;var c=this._measureLegendItem(t,l);if(r){if(_.y+c.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=e.y}}else if(_.x+c.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=e.x}var d=new wijmo_1.Rect(_.x,_.y,c.width,c.height);this._drawLegendItem(t,d,m,l);i.push(d);r?_.y+=c.height:_.x+=c.width}}_drawLegendItem(t,e,i,r){t.strokeWidth=1;var s=wijmo_chart_1.Series._LEGEND_ITEM_MARGIN,a=this._getColor(i),l=a&&a.maxColor?a.maxColor:a,h=this._getLightColor(l);t.fill=l;t.stroke=h;var o=e.top+.5*e.height,n=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH,_=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;t.drawRect(e.left+s,o-.5*_,n,_,null);r&&wijmo_chart_1.FlexChart._renderText(t,r,new wijmo_1.Point(e.left+_+2*s,o),0,1,wijmo_chart_1.FlexChart._CSS_LABEL)}_getLabelContent(t,e){return wijmo_1.isString(e)?this._keywords.replace(e,t):wijmo_1.isFunction(e)?e(t):null}hitTest(t,e){var i=this._toControl(t,e),r=new wijmo_chart_1.HitTestInfo(this,i),s=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))r._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))r._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){r._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(s=this.legend._hitTest(i))&&s>=0&&s<this._areas.length&&r._setData(null,s)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){for(var a,l=this._areas.length,h=NaN,o=0;o<l;o++){var n=i.clone(),_=this._areas[o];if(_.contains(n)){r._setData(null,_.tag);r._dist=0}var m=_.distance(n);if(void 0!==m&&(isNaN(h)||m<h)){h=m;a=_}}if(0!==r._dist&&null!=a){r._setData(null,a.tag);r._dist=h}r._chartElement=wijmo_chart_1.ChartElement.ChartArea}else r._chartElement=wijmo_chart_1.ChartElement.None;return r}_getHitTestItem(t){var e=null,i=null;(e=null!=this._cv?this._cv.items:this.itemsSource)&&t<e.length&&(i=e[t]);return i}_getHitTestValue(t){return this._values[t]}_getHitTestLabel(t){return this._labels[t]}}TreeMap._CSS_ITEMDEPTH=exports.TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;exports.TreeMap=TreeMap;class _TreeMapItem{constructor(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}draw(t){var e=this.rect;t.strokeWidth=0;if(this.isTitle){t.fill=this.titleFill;t.stroke=this.titleStroke}else{t.fill=this.fill;t.stroke=this.stroke}t.drawRect(e.left,e.top,e.width,e.height,_TreeMapItem._CLASSNAME)}get itemsRect(){var t=this.rect,e=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new wijmo_1.Rect(t.left+t.width+1,t.top,e.width-t.width-2*i,t.height+1):new wijmo_1.Rect(t.left,t.top+t.height+1,t.width+1,e.height-t.height-2*i):new wijmo_1.Rect(0,0,0,0)}get rect(){var t=this._rect,e=1===this.depth?2:.5,i=t.width,r=t.height,s=t.left,a=t.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=t.width>20?20:i;i=Math.max(20,i-2*e);r=r>2*e?r-2*e:0}else{r=t.height>20?20:r;r=Math.max(20,r-2*e);i=i>2*e?i-2*e:0}s+=e;a+=e}else{i=i>2*e?i-2*e:0;r=r>2*e?r-2*e:0}return new wijmo_1.Rect(s,a,i,r)}set rect(t){t!=this._rect&&(this._rect=t)}get isTitle(){return this._isTitle}set isTitle(t){var e=wijmo_1.asBoolean(t,!0);e!==this._isTitle&&(this._isTitle=e)}}_TreeMapItem._CLASSNAME=exports.TreeMapClsNames.item;class _ColorConverter{constructor(t,e,i,r,s,a){this.minColor=new wijmo_1.Color(t);this.minColorValue=e;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(s);this._calculateMidColor()}_resetminColor(t){this.minColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetmidColor(t){this.midColor=this.originalMidColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetmaxColor(t){this.maxColor=new wijmo_1.Color(t);this._calculateMidColor()}_resetminColorValue(t){this.minColorValue=t;this._calculateMidColorValue()}_resetmidColorValue(t){this.midColorValue=this.originalMidColorValue=t;this._calculateMidColorValue()}_resetmaxColorValue(t){this.maxColorValue=t;this._calculateMidColorValue()}_calculateMidColorValue(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)}_calculateMidColor(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))}_calculateColorByVal(t,e=!1){var i=this.maxColor,r=this.minColor,s=this.maxColorValue,a=this.minColorValue;if(t>=this.maxColorValue)return new wijmo_1.Color(i.toString());if(t<=this.minColorValue)return new wijmo_1.Color(r.toString());if(!e){if(t===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(t<this.midColorValue){i=this.midColor;s=this.midColorValue}else{r=this.midColor;a=this.midColorValue}}return this._getColor(t,i,s,r,a)}_getColor(t,e,i,r,s){return wijmo_1.Color.fromRgba(this._getValueByRatio(t,e.r,i,r.r,s),this._getValueByRatio(t,e.g,i,r.g,s),this._getValueByRatio(t,e.b,i,r.b,s),this._getValueByRatio(t,e.a,i,r.a,s))}_getValueByRatio(t,e,i,r,s){return Math.abs(r+Math.round((t-s)*(e-r)/(i-s)))}}class _TreeMapUtils{static squarified(t,e,i){var r=t.slice(),s=e.clone(),a=s.width*s.height/i;do{var l=_TreeMapUtils.getRowedItems(r,s,a);_TreeMapUtils.layoutRowedItems(e,l,s,s.width>s.height)}while(r.length)}static horizontal(t,e,i){var r=e.clone();t.forEach(t=>{var s=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,s,r,!1)})}static vertical(t,e,i){var r=e.clone();t.forEach(t=>{var s=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,s,r,!0)})}static getNarrowLen(t){return Math.min(t.width,t.height)}static getRowedItem(t,e,i){return{item:t,val:i*t.value}}static getRowedItems(t,e,i){var r=t.shift(),s=[],a=[],l=_TreeMapUtils.getNarrowLen(e),h=_TreeMapUtils.getRowedItem(r,e,i);s.push(h);a.push(h);if(t.length>0)do{a.push(_TreeMapUtils.getRowedItem(t[0],e,i));if(!(_TreeMapUtils.worst(s,l)>_TreeMapUtils.worst(a,l)))break;s=a.slice();t.shift()}while(t.length);return s}static layoutRowedItems(t,e,i,r){var s,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(e);if(r){s=0===i.height?0:n/i.height;a+s>=h&&(s=h-a);e.forEach((t,i)=>{var r=0===s?0:t.val/s;(l+r>o||i===e.length-1)&&(r=o-l);var h=new wijmo_1.Rect(a,l,s,r);t.item.rect=h;l+=r});i.left+=s;i.width-=s}else{s=0===i.width?0:n/i.width;l+s>=o&&(s=o-l);e.forEach((t,i)=>{var r=0===s?0:t.val/s;(a+r>h||i===e.length-1)&&(r=h-a);var o=new wijmo_1.Rect(a,l,r,s);t.item.rect=o;a+=r});i.top+=s;i.height-=s}}static sumRowedArray(t){for(var e=0,i=t.length,r=0;r<i;r++)e+=t[r].val;return e}static worst(t,e){var i,r,s=_TreeMapUtils.sumRowedArray(t),a=s*s,l=e*e;i=r=t[0].val;t.forEach((t,e)=>{t.val>i?i=t.val:t.val<r&&(r=t.val)});return Math.max(l*i/a,a/(l*r))}}class Sunburst extends wijmo_chart_1.FlexPie{constructor(t,e){super(t,e);this._selectionIndex=0;this.applyTemplate(exports.SunburstClsNames.hostElement,null,null);this.initialize(e);this.refresh()}get bindingName(){return this._bindName}set bindingName(t){if(t!=this._bindName){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"bindingName should be an array or a string.");this._bindName=t;this._bindChart()}}get childItemsPath(){return this._childItemsPath}set childItemsPath(t){if(t!=this._childItemsPath){wijmo_1.assert(null==t||wijmo_1.isArray(t)||wijmo_1.isString(t),"childItemsPath should be an array or a string.");this._childItemsPath=t;this._bindChart()}}_initData(){super._initData();this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]}_performBind(){var t;this._initData();if(this._cv){t=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):t&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(t,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach(t=>{this._legendLabels.push(t.name)})}}}_calculateValueAndLevel(t,e){var i=0,r=this._values[0],s=this._labels;this._level<e&&(this._level=e);t.forEach(t=>{var a;if(t.items){a=this._calculateValueAndLevel(t.items,e+1);t.value=a;r.push(a);s.push(t.name)}else{a=this._getBindData(t,r,s,"value","name");t.value=a}i+=a});return i}_renderPie(t,e,i,r,s,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(t,l.x,l.y,this._processedData,this._sum,i,r,s,2*Math.PI,a,1)}_renderHierarchicalSlices(t,e,i,r,s,a,l,h,o,n,_){var m,c,d,u,p,g,w,f,v,C,I=r.length,T=h,x=1==this.reversed;d=(a-l)/this._level;m=a-(this._level-_)*d;c=l+(_-1)*d;for(var b=0;b<I;b++){f=e;v=i;w=t.startGroup(`${exports.SunburstClsNames.slice} ${exports.SunburstClsNames.sliceLevel}`+_);if(1===_){t.fill=this._getColorLight(b);t.stroke=this._getColor(b)}p=r[b];g=Math.abs(p.value);u=Math.abs(g-s)<1e-10?o:o*g/s;C=x?T-.5*u:T+.5*u;if(n>0&&u<o){f+=n*Math.cos(C);v+=n*Math.sin(C)}if(p.items){let e=this._sliceIndex;this._renderHierarchicalSlices(t,f,v,p.items,g,a,l,T,u,0,_+1);for(;e<this._sliceIndex;e++)null==this._parentRef[e]&&(this._parentRef[e]=this._sliceIndex)}this._renderSlice(t,f,v,C,0,this._sliceIndex,m,c,T,u,o);this._processedItem.push(p.item);this._sliceIndex++;x?T-=u:T+=u;t.endGroup();this._pels.push(w)}}_getLabelsForLegend(){return this._legendLabels||[]}_highlightCurrent(){this.selectionMode!=wijmo_chart_1.SelectionMode.None&&this._highlight(!0,this._selectionIndex)}hitTest(t,e){var i=super.hitTest(t,e),r=this._toControl(t,e);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,r)){var s=i.pointIndex,a=this._processedItem[s],l=new wijmo_chart_1._DataPoint(null,s,null,null);l.item=a;i._setDataPoint(l)}return i}_getSelectedItemOffset(t,e){var i=0,r=0,s=0;if(this.selectedItemOffset>0)if(t==this.selectedIndex)s=this.selectedItemOffset;else{let i=this._getSelectedParentIndex(t);if(null!=i){let t=this._areas[i];this.dataLabel.position;s=this.selectedItemOffset;e=((e=t.langle+this._rotationAngles[0])%360+360)%360;e*=Math.PI/180}}if(s>0){i=Math.cos(e)*s*this._radius;r=Math.sin(e)*s*this._radius}return{x:i,y:r}}_getSelectedParentIndex(t){let e=this._parentRef[t];return null!=e?e===this.selectedIndex?e:this._getSelectedParentIndex(e):null}}exports.Sunburst=Sunburst;wijmo_1._registerModule("wijmo.chart.hierarchical",selfModule);
/*!
*
* Wijmo Library 5.20242.30
* Wijmo Library 5.20251.34
* https://developer.mescius.com/wijmo

@@ -14,2 +14,2 @@ *

import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,_registerModule}from"@grapecity/wijmo";import{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames}from"@grapecity/wijmo.chart";import*as selfModule from"@grapecity/wijmo.chart.hierarchical";export class HierarchicalUtil{static parseDataToHierarchical(e,t,i,s){var r,a=[];if(e instanceof CollectionView&&e.groups.length>0)a=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(s)a=HierarchicalUtil.parseItems(e,t,i,s);else{r=HierarchicalUtil.convertFlatData(e,t,i);a=HierarchicalUtil.parseItems(r,"value",i,"items")}}return a}static parseGroupCV(e,t){for(var i=[],s=0,r=e.groups.length;s<r;s++){var a=this.parseGroups(e.groups[s],t);i.push(a)}return i}static parseGroups(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var s=0,r=e.groups.length;s<r;s++){var a=this.parseGroups(e.groups[s],t);i.items.push(a)}}else e.isBottomLevel&&(i.value=e.getAggregate(Aggregate.Sum,t));return i}static parseItems(e,t,i,s){var r,a=[],l=e.length;for(r=0;r<l;r++)a.push(HierarchicalUtil.parseItem(e[r],t,i,s));return a}static isFlatItem(e,t){return!isArray(e[t])}static convertFlatData(e,t,i){var s,r,a=[],l={},h=e.length;for(s=0;s<h;s++){r=e[s];HierarchicalUtil.convertFlatItem(l,r,t,isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(a,l);return a}static convertFlatToHierarchical(e,t){var i=t.flatDataOrder;i&&i.forEach(i=>{var s,r={},a=t[i];r[t.field]=i;if(a.flatDataOrder){s=[];HierarchicalUtil.convertFlatToHierarchical(s,a);r.items=s}else r.value=a;e.push(r)})}static convertFlatItem(e,t,i,s){var r,a,l,h;a=(r=s.slice()).shift();if(null==(l=null==(a=isString(a)?a.trim():a)?i:t[a]))return!1;if(0===r.length){e[l]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=a}else{if(null==e[l]){e[l]={};e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=a}h=e[l];HierarchicalUtil.convertFlatItem(h,t,i,r)||(e[l]=t[i])}return!0}static parseItem(e,t,i,s){var r,a,l,h,o,n={};if(isArray(s))h=(o=s.slice()).length?o.shift().trim():"";else{o=s;h=s}if(isArray(i)){a=null==(a=(r=i.slice()).shift())?a:a.trim();n.nameField=null==a?t:a;n.name=null==a?e[t]:e[a];l=e[h];0===r.length?n.value=e[t]:l&&isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,t,r,o):n.value=e[t]||0}else{n.nameField=null==i?t:i;n.name=null==i?e[t]:e[i];null!=(l=e[h])&&isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,t,i,o):n.value=e[t]}n.item=e;return n}static parseFlatItem(e,t,i,s){e.items||(e.items=[])}}export const SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};export const TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};export var TreeMapType;!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType||(TreeMapType={}));export class TreeMap extends FlexChartBase{constructor(e,t){super(e,null,!0);this._values=[];this._labels=[];this._areas=[];this._sum=0;this._keywords=new _KeyWords;this._processedData=[];this._depth=1;this._itemIndex=0;this._processedItem=[];this._maxDepth=-1;this._tmItems=[];this._colRowLens=[];this._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];this.applyTemplate(`${ControlClsNames.hostElement} ${FlexChartClsNames.hostElement} ${TreeMapClsNames.hostElement}`,null,null);this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._legend=new Legend(this);this._legend.position=Position.None;this._tooltip=new ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new DataLabel;this._lbl.position=LabelPosition.Center;this._lbl._chart=this;this.hostElement.addEventListener("mousemove",e=>{this.isTouching||this._toogleTooltip(e)});this.hostElement.addEventListener("click",e=>{var t=!0;if(this.maxDepth>0){var i=this.hitTest(e),s=FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(s=this.tooltip.threshold);if(i.distance<=s&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){var r=this._areas[i.pointIndex];if(this._currentItem!=r.item){this._currentItem=r.item;this._refreshChart();t=!1}}}t&&this.isTouching&&this._toogleTooltip(e)});this.hostElement.addEventListener("contextmenu",e=>{if(this.maxDepth>0){var t=this.hitTest(e),i=FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(i=this.tooltip.threshold);t.distance<=i&&this._rollUp()}e.preventDefault();return!1});this.hostElement.addEventListener("mouseleave",()=>{this._hideToolTip()});this.deferUpdate(()=>this.initialize(t))}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var s=this._getLabelContent(i,this.tooltip.content);this._showToolTip(s,new Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}}get selectionMode(){return SelectionMode.None}set selectionMode(e){}get _treeMapItems(){return this._tmItems}get tooltip(){return this._tooltip}get binding(){return this._binding}set binding(e){if(e!=this._binding){this._binding=asString(e,!0);this._bindChart()}}get type(){return null==this._type?TreeMapType.Squarified:this._type}set type(e){if((e=asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}}get bindingName(){return this._bindingName}set bindingName(e){if(e!=this._bindingName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}}get dataLabel(){return this._lbl}set dataLabel(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}}get childItemsPath(){return this._childItemsPath}set childItemsPath(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}}get maxDepth(){return this._maxDepth}set maxDepth(e){if(e!=this._maxDepth){this._maxDepth=asNumber(e,!0);this.invalidate()}}get palette(){return this._palette}set palette(e){if(e!=this._palette){this._palette=asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}}_initData(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]}_performBind(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}}_sortData(e){e.forEach(e=>{e.items&&this._sortData(e.items)});e.sort((e,t)=>t.value-e.value)}_getTMItemsAndLabelsAndValues(e,t,i,s,r){e&&e.length>0&&e.forEach((e,r)=>{var a,l=new _TreeMapItem;l.items=[];l.parent=s;l.depth=i;e.items&&this._getTMItemsAndLabelsAndValues(e.items,l.items,i+1,l);a=e.name?e.name:e.value.toString();l.label=a;l.value=e.value;if(null!=s){e.value>s.maxValue&&(s.maxValue=e.value);e.value<s.minValue&&(s.minValue=e.value)}t.push(l);this._labels.push(a);this._values.push(e.value)})}_calculateColorForItems(e,t,i){var s=i;e.forEach((e,i)=>{var r=t;1===e.depth&&(r=this._getColor(i));e.palette=r;var a=e.palette;if(isString(a)){var l=a,h=this._getLightColor(l);e.titleFill=l;e.titleStroke=l;e.fill=h;e.stroke=l}else if(a.maxColor&&a.minColor&&a.titleColor){e.titleFill=a.titleColor;e.titleStroke=a.titleColor;if(null==e.parent){e.fill=a.maxColor;e.stroke=a.maxColor}else{null==s&&(s=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue));let t=s._calculateColorByVal(e.value,!0).toString();e.fill=t;e.stroke=t}}if(e.items&&e.items.length>0){var o=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue);this._calculateColorForItems(e.items,r,o)}})}_getBindData(e,t,i){var s,r=0;i&&(s=e[i]);r=0;isNumber(s)?r=asNumber(s):s&&(r=parseFloat(s.toString()));if(!isNaN(r)&&isFinite(r))t.push(r);else{r=0;t.push(r)}return r}_calculateValueAndDepth(e,t){var i=0,s=this._values;this._depth<t&&(this._depth=t);e.forEach(e=>{var r;if(e.items){r=this._calculateValueAndDepth(e.items,t+1);e.value=r;s.push(r)}else{r=this._getBindData(e,s,"value");e.value=r}i+=r});return i}_prepareRender(){this._areas=[]}_renderChart(e,t,i){var s,r,a,l=this._rectChart.clone();new Size(l.width,l.height);this.onRendering(new RenderEventArgs(e));var h=t.width,o=t.height;this._tmGroup=e.startGroup(null,null,!0);var n=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(n.left)&&(n.left=TreeMap._MARGIN);isNaN(n.right)&&(n.right=TreeMap._MARGIN);isNaN(n.top)&&(n.top=TreeMap._MARGIN);isNaN(n.bottom)&&(n.bottom=TreeMap._MARGIN);t.top+=n.top;o=t.height-(n.top+n.bottom);t.height=o>0?o:24;t.left+=n.left;h=t.width-(n.left+n.right);t.width=h>0?h:24;this._plotRect=t;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;a=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,s,a,r);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(e);this.onRendered(new RenderEventArgs(e))}_renderTreeMap(e,t,i,s,r,a){if(r>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,s,r,1,a);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,r,1,a)}}_resetItemRects(e){e.forEach(e=>{e.rect=new Rect(0,0,0,0);e.isTitle=!1;e.type=this.type;e.items&&e.items.length&&this._resetItemRects(e.items)})}_calculateItemRects(e,t,i,s,r){switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((e,t)=>{e.rect.clone();if(e.items&&e.items.length)if(s===r);else if(s>r&&r>=1);else{e.isTitle=!0;this._calculateItemRects(e.itemsRect,e.items,e.value,s+1,r)}})}_renderHierarchicalTreeMapItems(e,t,i,s,r,a,l){var h,o,n,_,c,m=s.length;this.type;if(0!==m)for(var d=0;d<m;d++){h=e.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[d];n=Math.abs(o.value);_=o.rect;o.draw(e);c=new _RectArea(_);o.items&&this._renderHierarchicalTreeMapItems(e,h,o.itemsRect,o.items,n,a+1,l);c.tag=this._itemIndex;c.name=o.label;c.value=n;c.item=o;this._areas.push(c);this._itemIndex++;e.endGroup()}}_renderLabels(e){var t,i=this._areas.length,s=this.dataLabel,r=s.position,a=s.connectingLine,l=s.border,h=s.offset||0,o=DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(o);for(var n=0;n<i;n++){var _=this._areas[n];if(_){var c=_.rect,m=new HitTestInfo(this,t);m._setData(null,n);var d=this._getLabelContent(m,s.content);t=new Point(c.left+c.width/2,c.top+c.height/2);if(d&&c.width>0&&c.height>0){var u=new DataLabelRenderEventArgs(e,m,t,d);if(s.onRendering(u)){d=u.text;t=u.point;this._renderLabelAndBorder(e,_,c,d,r,h,t,a,2,l)}}}}e.endGroup()}_renderLabelAndBorder(e,t,i,s,r,a,l,h,o,n){var _,c=DataLabelClsNames.label,m=DataLabelClsNames.line,d=DataLabelClsNames.border;switch(r){case LabelPosition.Top:h&&e.drawLine(l.x,l.y,l.x,l.y-a,m);l.y-=o+a;_=this._renderText(e,t,i,s,l,1,2,c);break;case LabelPosition.Bottom:h&&e.drawLine(l.x,l.y,l.x,l.y+a,m);l.y+=o+a;_=this._renderText(e,t,i,s,l,1,0,c);break;case LabelPosition.Left:h&&e.drawLine(l.x,l.y,l.x-a,l.y,m);l.x-=o+a;_=this._renderText(e,t,i,s,l,2,1,c);break;case LabelPosition.Right:h&&e.drawLine(l.x,l.y,l.x+a,l.y,m);l.x+=o+a;_=this._renderText(e,t,i,s,l,0,1,c);break;case LabelPosition.Center:_=this._renderText(e,t,i,s,l,1,1,c)}n&&_&&e.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,d);return _}_renderText(e,t,i,s,r,a,l,h){var o,n=s,_=t.item;o=e.measureString(s,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(s,o.width,i.height));FlexChart._renderRotatedText(e,n,r,a,l,r,-90,h);return null}o.width>i.width&&(n=this._cutText(s,o.width,i.width));return FlexChart._renderText(e,n,r,a,l,h)}_cutText(e,t,i){var s="",r=e.length,a=Math.floor((1-(t-i)/t)*r);e.length>0&&(s=e[0]+(a>1?e.substring(1,a-1)+"..":""));return s}_measureLegendItem(e,t){var i=new Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(t){var s=e.measureString(t,FlexChart._CSS_LABEL,FlexChart._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i}_getDesiredLegendSize(e,t,i,s){var r=new Size,a=(new Size(i,s),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(var o=0;o<a;o++){var n=this._measureLegendItem(e,this._tmItems[o].label);if(t){if(h+n.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<n.width&&(l=n.width);h+=n.height}else{if(l+n.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<n.height&&(h=n.height);l+=n.width}}if(t){r.height<h&&(r.height=h);this._colRowLens.push(l);r.width=this._colRowLens.reduce((e,t)=>e+t,0);r.width=this._getLegendSize(i,r.width)}else{r.width<l&&(r.width=l);this._colRowLens.push(h);r.height=this._colRowLens.reduce((e,t)=>e+t,0);r.height=this._getLegendSize(s,r.height)}return r}_renderLegend(e,t,i,s,r,a){for(var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=t.clone(),c=0;c<o;c++){l=this._tmItems[c].label;var m=this._measureLegendItem(e,l);if(s){if(_.y+m.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=t.y}}else if(_.x+m.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=t.x}var d=new Rect(_.x,_.y,m.width,m.height);this._drawLegendItem(e,d,c,l);i.push(d);s?_.y+=m.height:_.x+=m.width}}_drawLegendItem(e,t,i,s){e.strokeWidth=1;var r=Series._LEGEND_ITEM_MARGIN,a=this._getColor(i),l=a&&a.maxColor?a.maxColor:a,h=this._getLightColor(l);e.fill=l;e.stroke=h;var o=t.top+.5*t.height,n=Series._LEGEND_ITEM_WIDTH,_=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+r,o-.5*_,n,_,null);s&&FlexChart._renderText(e,s,new Point(t.left+_+2*r,o),0,1,FlexChart._CSS_LABEL)}_getLabelContent(e,t){return isString(t)?this._keywords.replace(t,e):isFunction(t)?t(e):null}hitTest(e,t){var i=this._toControl(e,t),s=new HitTestInfo(this,i),r=null;if(FlexChart._contains(this._rectHeader,i))s._chartElement=ChartElement.Header;else if(FlexChart._contains(this._rectFooter,i))s._chartElement=ChartElement.Footer;else if(FlexChart._contains(this._rectLegend,i)){s._chartElement=ChartElement.Legend;null!==(r=this.legend._hitTest(i))&&r>=0&&r<this._areas.length&&s._setData(null,r)}else if(FlexChart._contains(this._rectChart,i)){for(var a,l=this._areas.length,h=NaN,o=0;o<l;o++){var n=i.clone(),_=this._areas[o];if(_.contains(n)){s._setData(null,_.tag);s._dist=0}var c=_.distance(n);if(void 0!==c&&(isNaN(h)||c<h)){h=c;a=_}}if(0!==s._dist&&null!=a){s._setData(null,a.tag);s._dist=h}s._chartElement=ChartElement.ChartArea}else s._chartElement=ChartElement.None;return s}_getHitTestItem(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i}_getHitTestValue(e){return this._values[e]}_getHitTestLabel(e){return this._labels[e]}}TreeMap._CSS_ITEMDEPTH=TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;class _TreeMapItem{constructor(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}draw(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)}get itemsRect(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new Rect(0,0,0,0)}get rect(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,s=e.height,r=e.left,a=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);s=s>2*t?s-2*t:0}else{s=e.height>20?20:s;s=Math.max(20,s-2*t);i=i>2*t?i-2*t:0}r+=t;a+=t}else{i=i>2*t?i-2*t:0;s=s>2*t?s-2*t:0}return new Rect(r,a,i,s)}set rect(e){e!=this._rect&&(this._rect=e)}get isTitle(){return this._isTitle}set isTitle(e){var t=asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)}}_TreeMapItem._CLASSNAME=TreeMapClsNames.item;class _ColorConverter{constructor(e,t,i,s,r,a){this.minColor=new Color(e);this.minColorValue=t;this.maxColor=new Color(i);this.maxColorValue=s;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new Color(r);this._calculateMidColor()}_resetminColor(e){this.minColor=new Color(e);this._calculateMidColor()}_resetmidColor(e){this.midColor=this.originalMidColor=new Color(e);this._calculateMidColor()}_resetmaxColor(e){this.maxColor=new Color(e);this._calculateMidColor()}_resetminColorValue(e){this.minColorValue=e;this._calculateMidColorValue()}_resetmidColorValue(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()}_resetmaxColorValue(e){this.maxColorValue=e;this._calculateMidColorValue()}_calculateMidColorValue(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)}_calculateMidColor(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))}_calculateColorByVal(e,t=!1){var i=this.maxColor,s=this.minColor,r=this.maxColorValue,a=this.minColorValue;if(e>=this.maxColorValue)return new Color(i.toString());if(e<=this.minColorValue)return new Color(s.toString());if(!t){if(e===this.midColorValue)return new Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;r=this.midColorValue}else{s=this.midColor;a=this.midColorValue}}return this._getColor(e,i,r,s,a)}_getColor(e,t,i,s,r){return Color.fromRgba(this._getValueByRatio(e,t.r,i,s.r,r),this._getValueByRatio(e,t.g,i,s.g,r),this._getValueByRatio(e,t.b,i,s.b,r),this._getValueByRatio(e,t.a,i,s.a,r))}_getValueByRatio(e,t,i,s,r){return Math.abs(s+Math.round((e-r)*(t-s)/(i-r)))}}class _TreeMapUtils{static squarified(e,t,i){var s=e.slice(),r=t.clone(),a=r.width*r.height/i;do{var l=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(t,l,r,r.width>r.height)}while(s.length)}static horizontal(e,t,i){var s=t.clone();e.forEach(e=>{var r=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,r,s,!1)})}static vertical(e,t,i){var s=t.clone();e.forEach(e=>{var r=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,r,s,!0)})}static getNarrowLen(e){return Math.min(e.width,e.height)}static getRowedItem(e,t,i){return{item:e,val:i*e.value}}static getRowedItems(e,t,i){var s=e.shift(),r=[],a=[],l=_TreeMapUtils.getNarrowLen(t),h=_TreeMapUtils.getRowedItem(s,t,i);r.push(h);a.push(h);if(e.length>0)do{a.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(r,l)>_TreeMapUtils.worst(a,l)))break;r=a.slice();e.shift()}while(e.length);return r}static layoutRowedItems(e,t,i,s){var r,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(t);if(s){r=0===i.height?0:n/i.height;a+r>=h&&(r=h-a);t.forEach((e,i)=>{var s=0===r?0:e.val/r;(l+s>o||i===t.length-1)&&(s=o-l);var h=new Rect(a,l,r,s);e.item.rect=h;l+=s});i.left+=r;i.width-=r}else{r=0===i.width?0:n/i.width;l+r>=o&&(r=o-l);t.forEach((e,i)=>{var s=0===r?0:e.val/r;(a+s>h||i===t.length-1)&&(s=h-a);var o=new Rect(a,l,s,r);e.item.rect=o;a+=s});i.top+=r;i.height-=r}}static sumRowedArray(e){for(var t=0,i=e.length,s=0;s<i;s++)t+=e[s].val;return t}static worst(e,t){var i,s,r=_TreeMapUtils.sumRowedArray(e),a=r*r,l=t*t;i=s=e[0].val;e.forEach((e,t)=>{e.val>i?i=e.val:e.val<s&&(s=e.val)});return Math.max(l*i/a,a/(l*s))}}export class Sunburst extends FlexPie{constructor(e,t){super(e,t);this._selectionIndex=0;this.applyTemplate(SunburstClsNames.hostElement,null,null);this.initialize(t);this.refresh()}get bindingName(){return this._bindName}set bindingName(e){if(e!=this._bindName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}}get childItemsPath(){return this._childItemsPath}set childItemsPath(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}}_initData(){super._initData();this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]}_performBind(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach(e=>{this._legendLabels.push(e.name)})}}}_calculateValueAndLevel(e,t){var i=0,s=this._values[0],r=this._labels;this._level<t&&(this._level=t);e.forEach(e=>{var a;if(e.items){a=this._calculateValueAndLevel(e.items,t+1);e.value=a;s.push(a);r.push(e.name)}else{a=this._getBindData(e,s,r,"value","name");e.value=a}i+=a});return i}_renderPie(e,t,i,s,r,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,l.x,l.y,this._processedData,this._sum,i,s,r,2*Math.PI,a,1)}_renderHierarchicalSlices(e,t,i,s,r,a,l,h,o,n,_){var c,m,d,u,p,g,f,C,v,I,w=s.length,T=h,b=1==this.reversed;d=(a-l)/this._level;c=a-(this._level-_)*d;m=l+(_-1)*d;for(var x=0;x<w;x++){C=t;v=i;f=e.startGroup(`${SunburstClsNames.slice} ${SunburstClsNames.sliceLevel}`+_);if(1===_){e.fill=this._getColorLight(x);e.stroke=this._getColor(x)}p=s[x];g=Math.abs(p.value);u=Math.abs(g-r)<1e-10?o:o*g/r;I=b?T-.5*u:T+.5*u;if(n>0&&u<o){C+=n*Math.cos(I);v+=n*Math.sin(I)}if(p.items){let t=this._sliceIndex;this._renderHierarchicalSlices(e,C,v,p.items,g,a,l,T,u,0,_+1);for(;t<this._sliceIndex;t++)null==this._parentRef[t]&&(this._parentRef[t]=this._sliceIndex)}this._renderSlice(e,C,v,I,0,this._sliceIndex,c,m,T,u,o);this._processedItem.push(p.item);this._sliceIndex++;b?T-=u:T+=u;e.endGroup();this._pels.push(f)}}_getLabelsForLegend(){return this._legendLabels||[]}_highlightCurrent(){this.selectionMode!=SelectionMode.None&&this._highlight(!0,this._selectionIndex)}hitTest(e,t){var i=super.hitTest(e,t),s=this._toControl(e,t);if(FlexChartBase._contains(this._rectChart,s)){var r=i.pointIndex,a=this._processedItem[r],l=new _DataPoint(null,r,null,null);l.item=a;i._setDataPoint(l)}return i}_getSelectedItemOffset(e,t){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)r=this.selectedItemOffset;else{let i=this._getSelectedParentIndex(e);if(null!=i){let e=this._areas[i];this.dataLabel.position;r=this.selectedItemOffset;t=((t=e.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(r>0){i=Math.cos(t)*r*this._radius;s=Math.sin(t)*r*this._radius}return{x:i,y:s}}_getSelectedParentIndex(e){let t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null}}_registerModule("wijmo.chart.hierarchical",selfModule);
import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,_registerModule}from"@grapecity/wijmo";import{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames}from"@grapecity/wijmo.chart";import*as selfModule from"@grapecity/wijmo.chart.hierarchical";export class HierarchicalUtil{static parseDataToHierarchical(e,t,i,s){var r,a=[];if(e instanceof CollectionView&&e.groups.length>0)a=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(s)a=HierarchicalUtil.parseItems(e,t,i,s);else{r=HierarchicalUtil.convertFlatData(e,t,i);a=HierarchicalUtil.parseItems(r,"value",i,"items")}}return a}static parseGroupCV(e,t){for(var i=[],s=0,r=e.groups.length;s<r;s++){var a=this.parseGroups(e.groups[s],t);i.push(a)}return i}static parseGroups(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var s=0,r=e.groups.length;s<r;s++){var a=this.parseGroups(e.groups[s],t);i.items.push(a)}}else e.isBottomLevel&&(i.value=e.getAggregate(Aggregate.Sum,t));return i}static parseItems(e,t,i,s){var r,a=[],l=e.length;for(r=0;r<l;r++)a.push(HierarchicalUtil.parseItem(e[r],t,i,s));return a}static isFlatItem(e,t){return!isArray(e[t])}static convertFlatData(e,t,i){var s,r,a=[],l={},h=e.length;for(s=0;s<h;s++){r=e[s];HierarchicalUtil.convertFlatItem(l,r,t,isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(a,l);return a}static convertFlatToHierarchical(e,t){var i=t.flatDataOrder;i&&i.forEach(i=>{var s,r={},a=t[i];r[t.field]=i;if(a.flatDataOrder){s=[];HierarchicalUtil.convertFlatToHierarchical(s,a);r.items=s}else r.value=a;e.push(r)})}static convertFlatItem(e,t,i,s){var r,a,l,h;a=(r=s.slice()).shift();if(null==(l=null==(a=isString(a)?a.trim():a)?i:t[a]))return!1;if(0===r.length){e[l]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=a}else{if(null==e[l]){e[l]={};e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=a}h=e[l];HierarchicalUtil.convertFlatItem(h,t,i,r)||(e[l]=t[i])}return!0}static parseItem(e,t,i,s){var r,a,l,h,o,n={};if(isArray(s))h=(o=s.slice()).length?o.shift().trim():"";else{o=s;h=s}if(isArray(i)){a=null==(a=(r=i.slice()).shift())?a:a.trim();n.nameField=null==a?t:a;n.name=null==a?e[t]:e[a];l=e[h];0===r.length?n.value=e[t]:l&&isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,t,r,o):n.value=e[t]||0}else{n.nameField=null==i?t:i;n.name=null==i?e[t]:e[i];null!=(l=e[h])&&isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,t,i,o):n.value=e[t]}n.item=e;return n}static parseFlatItem(e,t,i,s){e.items||(e.items=[])}}export const SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};export const TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};export var TreeMapType;!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType||(TreeMapType={}));export class TreeMap extends FlexChartBase{constructor(e,t){super(e,null,!0);this._values=[];this._labels=[];this._areas=[];this._sum=0;this._keywords=new _KeyWords;this._processedData=[];this._depth=1;this._itemIndex=0;this._processedItem=[];this._maxDepth=-1;this._tmItems=[];this._colRowLens=[];this._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];this.applyTemplate(`${ControlClsNames.hostElement} ${FlexChartClsNames.hostElement} ${TreeMapClsNames.hostElement}`,null,null);this._currentRenderEngine=new _SvgRenderEngine(this.hostElement);this._legend=new Legend(this);this._legend.position=Position.None;this._tooltip=new ChartTooltip;this._tooltip.content="<b>{name}</b><br/>{value}";this._tooltip.showDelay=0;this._lbl=new DataLabel;this._lbl.position=LabelPosition.Center;this._lbl._chart=this;this.addEventListener(this.hostElement,"mousemove",e=>{this.isTouching||this._toogleTooltip(e)});this.addEventListener(this.hostElement,"click",e=>{var t=!0;if(this.maxDepth>0){var i=this.hitTest(e),s=FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(s=this.tooltip.threshold);if(i.distance<=s&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){var r=this._areas[i.pointIndex];if(this._currentItem!=r.item){this._currentItem=r.item;this._refreshChart();t=!1}}}t&&this.isTouching&&this._toogleTooltip(e)});this.addEventListener(this.hostElement,"contextmenu",e=>{if(this.maxDepth>0){var t=this.hitTest(e),i=FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(i=this.tooltip.threshold);t.distance<=i&&this._rollUp()}e.preventDefault();return!1});this.addEventListener(this.hostElement,"mouseleave",()=>{this._hideToolTip()});this.deferUpdate(()=>this.initialize(t))}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var s=this._getLabelContent(i,this.tooltip.content);this._showToolTip(s,new Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}}get selectionMode(){return SelectionMode.None}set selectionMode(e){}get _treeMapItems(){return this._tmItems}get tooltip(){return this._tooltip}get binding(){return this._binding}set binding(e){if(e!=this._binding){this._binding=asString(e,!0);this._bindChart()}}get type(){return null==this._type?TreeMapType.Squarified:this._type}set type(e){if((e=asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}}get bindingName(){return this._bindingName}set bindingName(e){if(e!=this._bindingName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}}get dataLabel(){return this._lbl}set dataLabel(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}}get childItemsPath(){return this._childItemsPath}set childItemsPath(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}}get maxDepth(){return this._maxDepth}set maxDepth(e){if(e!=this._maxDepth){this._maxDepth=asNumber(e,!0);this.invalidate()}}get palette(){return this._palette}set palette(e){if(e!=this._palette){this._palette=asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}}_initData(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]}_performBind(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}}_sortData(e){e.forEach(e=>{e.items&&this._sortData(e.items)});e.sort((e,t)=>t.value-e.value)}_getTMItemsAndLabelsAndValues(e,t,i,s,r){e&&e.length>0&&e.forEach((e,r)=>{var a,l=new _TreeMapItem;l.items=[];l.parent=s;l.depth=i;e.items&&this._getTMItemsAndLabelsAndValues(e.items,l.items,i+1,l);a=e.name?e.name:e.value.toString();l.label=a;l.value=e.value;if(null!=s){e.value>s.maxValue&&(s.maxValue=e.value);e.value<s.minValue&&(s.minValue=e.value)}t.push(l);this._labels.push(a);this._values.push(e.value)})}_calculateColorForItems(e,t,i){var s=i;e.forEach((e,i)=>{var r=t;1===e.depth&&(r=this._getColor(i));e.palette=r;var a=e.palette;if(isString(a)){var l=a,h=this._getLightColor(l);e.titleFill=l;e.titleStroke=l;e.fill=h;e.stroke=l}else if(a.maxColor&&a.minColor&&a.titleColor){e.titleFill=a.titleColor;e.titleStroke=a.titleColor;if(null==e.parent){e.fill=a.maxColor;e.stroke=a.maxColor}else{null==s&&(s=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue));let t=s._calculateColorByVal(e.value,!0).toString();e.fill=t;e.stroke=t}}if(e.items&&e.items.length>0){var o=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue);this._calculateColorForItems(e.items,r,o)}})}_getBindData(e,t,i){var s,r=0;i&&(s=e[i]);r=0;isNumber(s)?r=asNumber(s):s&&(r=parseFloat(s.toString()));if(!isNaN(r)&&isFinite(r))t.push(r);else{r=0;t.push(r)}return r}_calculateValueAndDepth(e,t){var i=0,s=this._values;this._depth<t&&(this._depth=t);e.forEach(e=>{var r;if(e.items){r=this._calculateValueAndDepth(e.items,t+1);e.value=r;s.push(r)}else{r=this._getBindData(e,s,"value");e.value=r}i+=r});return i}_prepareRender(){this._areas=[]}_renderChart(e,t,i){var s,r,a,l=this._rectChart.clone();new Size(l.width,l.height);this.onRendering(new RenderEventArgs(e));var h=t.width,o=t.height;this._tmGroup=e.startGroup(null,null,!0);var n=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(n.left)&&(n.left=TreeMap._MARGIN);isNaN(n.right)&&(n.right=TreeMap._MARGIN);isNaN(n.top)&&(n.top=TreeMap._MARGIN);isNaN(n.bottom)&&(n.bottom=TreeMap._MARGIN);t.top+=n.top;o=t.height-(n.top+n.bottom);t.height=o>0?o:24;t.left+=n.left;h=t.width-(n.left+n.right);t.width=h>0?h:24;this._plotRect=t;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;a=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,s,a,r);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(e);this.onRendered(new RenderEventArgs(e))}_renderTreeMap(e,t,i,s,r,a){if(r>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,s,r,1,a);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,r,1,a)}}_resetItemRects(e){e.forEach(e=>{e.rect=new Rect(0,0,0,0);e.isTitle=!1;e.type=this.type;e.items&&e.items.length&&this._resetItemRects(e.items)})}_calculateItemRects(e,t,i,s,r){switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((e,t)=>{e.rect.clone();if(e.items&&e.items.length)if(s===r);else if(s>r&&r>=1);else{e.isTitle=!0;this._calculateItemRects(e.itemsRect,e.items,e.value,s+1,r)}})}_renderHierarchicalTreeMapItems(e,t,i,s,r,a,l){var h,o,n,_,c,m=s.length;this.type;if(0!==m)for(var d=0;d<m;d++){h=e.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[d];n=Math.abs(o.value);_=o.rect;o.draw(e);c=new _RectArea(_);o.items&&this._renderHierarchicalTreeMapItems(e,h,o.itemsRect,o.items,n,a+1,l);c.tag=this._itemIndex;c.name=o.label;c.value=n;c.item=o;this._areas.push(c);this._itemIndex++;e.endGroup()}}_renderLabels(e){var t,i=this._areas.length,s=this.dataLabel,r=s.position,a=s.connectingLine,l=s.border,h=s.offset||0,o=DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(o);for(var n=0;n<i;n++){var _=this._areas[n];if(_){var c=_.rect,m=new HitTestInfo(this,t);m._setData(null,n);var d=this._getLabelContent(m,s.content);t=new Point(c.left+c.width/2,c.top+c.height/2);if(d&&c.width>0&&c.height>0){var u=new DataLabelRenderEventArgs(e,m,t,d);if(s.onRendering(u)){d=u.text;t=u.point;this._renderLabelAndBorder(e,_,c,d,r,h,t,a,2,l)}}}}e.endGroup()}_renderLabelAndBorder(e,t,i,s,r,a,l,h,o,n){var _,c=DataLabelClsNames.label,m=DataLabelClsNames.line,d=DataLabelClsNames.border;switch(r){case LabelPosition.Top:h&&e.drawLine(l.x,l.y,l.x,l.y-a,m);l.y-=o+a;_=this._renderText(e,t,i,s,l,1,2,c);break;case LabelPosition.Bottom:h&&e.drawLine(l.x,l.y,l.x,l.y+a,m);l.y+=o+a;_=this._renderText(e,t,i,s,l,1,0,c);break;case LabelPosition.Left:h&&e.drawLine(l.x,l.y,l.x-a,l.y,m);l.x-=o+a;_=this._renderText(e,t,i,s,l,2,1,c);break;case LabelPosition.Right:h&&e.drawLine(l.x,l.y,l.x+a,l.y,m);l.x+=o+a;_=this._renderText(e,t,i,s,l,0,1,c);break;case LabelPosition.Center:_=this._renderText(e,t,i,s,l,1,1,c)}n&&_&&e.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,d);return _}_renderText(e,t,i,s,r,a,l,h){var o,n=s,_=t.item;o=e.measureString(s,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(s,o.width,i.height));FlexChart._renderRotatedText(e,n,r,a,l,r,-90,h);return null}o.width>i.width&&(n=this._cutText(s,o.width,i.width));return FlexChart._renderText(e,n,r,a,l,h)}_cutText(e,t,i){var s="",r=e.length,a=Math.floor((1-(t-i)/t)*r);e.length>0&&(s=e[0]+(a>1?e.substring(1,a-1)+"..":""));return s}_measureLegendItem(e,t){var i=new Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(t){var s=e.measureString(t,FlexChart._CSS_LABEL,FlexChart._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i}_getDesiredLegendSize(e,t,i,s){var r=new Size,a=(new Size(i,s),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(var o=0;o<a;o++){var n=this._measureLegendItem(e,this._tmItems[o].label);if(t){if(h+n.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<n.width&&(l=n.width);h+=n.height}else{if(l+n.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<n.height&&(h=n.height);l+=n.width}}if(t){r.height<h&&(r.height=h);this._colRowLens.push(l);r.width=this._colRowLens.reduce((e,t)=>e+t,0);r.width=this._getLegendSize(i,r.width)}else{r.width<l&&(r.width=l);this._colRowLens.push(h);r.height=this._colRowLens.reduce((e,t)=>e+t,0);r.height=this._getLegendSize(s,r.height)}return r}_renderLegend(e,t,i,s,r,a){for(var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=t.clone(),c=0;c<o;c++){l=this._tmItems[c].label;var m=this._measureLegendItem(e,l);if(s){if(_.y+m.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=t.y}}else if(_.x+m.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=t.x}var d=new Rect(_.x,_.y,m.width,m.height);this._drawLegendItem(e,d,c,l);i.push(d);s?_.y+=m.height:_.x+=m.width}}_drawLegendItem(e,t,i,s){e.strokeWidth=1;var r=Series._LEGEND_ITEM_MARGIN,a=this._getColor(i),l=a&&a.maxColor?a.maxColor:a,h=this._getLightColor(l);e.fill=l;e.stroke=h;var o=t.top+.5*t.height,n=Series._LEGEND_ITEM_WIDTH,_=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+r,o-.5*_,n,_,null);s&&FlexChart._renderText(e,s,new Point(t.left+_+2*r,o),0,1,FlexChart._CSS_LABEL)}_getLabelContent(e,t){return isString(t)?this._keywords.replace(t,e):isFunction(t)?t(e):null}hitTest(e,t){var i=this._toControl(e,t),s=new HitTestInfo(this,i),r=null;if(FlexChart._contains(this._rectHeader,i))s._chartElement=ChartElement.Header;else if(FlexChart._contains(this._rectFooter,i))s._chartElement=ChartElement.Footer;else if(FlexChart._contains(this._rectLegend,i)){s._chartElement=ChartElement.Legend;null!==(r=this.legend._hitTest(i))&&r>=0&&r<this._areas.length&&s._setData(null,r)}else if(FlexChart._contains(this._rectChart,i)){for(var a,l=this._areas.length,h=NaN,o=0;o<l;o++){var n=i.clone(),_=this._areas[o];if(_.contains(n)){s._setData(null,_.tag);s._dist=0}var c=_.distance(n);if(void 0!==c&&(isNaN(h)||c<h)){h=c;a=_}}if(0!==s._dist&&null!=a){s._setData(null,a.tag);s._dist=h}s._chartElement=ChartElement.ChartArea}else s._chartElement=ChartElement.None;return s}_getHitTestItem(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i}_getHitTestValue(e){return this._values[e]}_getHitTestLabel(e){return this._labels[e]}}TreeMap._CSS_ITEMDEPTH=TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;class _TreeMapItem{constructor(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}draw(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)}get itemsRect(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new Rect(0,0,0,0)}get rect(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,s=e.height,r=e.left,a=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);s=s>2*t?s-2*t:0}else{s=e.height>20?20:s;s=Math.max(20,s-2*t);i=i>2*t?i-2*t:0}r+=t;a+=t}else{i=i>2*t?i-2*t:0;s=s>2*t?s-2*t:0}return new Rect(r,a,i,s)}set rect(e){e!=this._rect&&(this._rect=e)}get isTitle(){return this._isTitle}set isTitle(e){var t=asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)}}_TreeMapItem._CLASSNAME=TreeMapClsNames.item;class _ColorConverter{constructor(e,t,i,s,r,a){this.minColor=new Color(e);this.minColorValue=t;this.maxColor=new Color(i);this.maxColorValue=s;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new Color(r);this._calculateMidColor()}_resetminColor(e){this.minColor=new Color(e);this._calculateMidColor()}_resetmidColor(e){this.midColor=this.originalMidColor=new Color(e);this._calculateMidColor()}_resetmaxColor(e){this.maxColor=new Color(e);this._calculateMidColor()}_resetminColorValue(e){this.minColorValue=e;this._calculateMidColorValue()}_resetmidColorValue(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()}_resetmaxColorValue(e){this.maxColorValue=e;this._calculateMidColorValue()}_calculateMidColorValue(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)}_calculateMidColor(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))}_calculateColorByVal(e,t=!1){var i=this.maxColor,s=this.minColor,r=this.maxColorValue,a=this.minColorValue;if(e>=this.maxColorValue)return new Color(i.toString());if(e<=this.minColorValue)return new Color(s.toString());if(!t){if(e===this.midColorValue)return new Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;r=this.midColorValue}else{s=this.midColor;a=this.midColorValue}}return this._getColor(e,i,r,s,a)}_getColor(e,t,i,s,r){return Color.fromRgba(this._getValueByRatio(e,t.r,i,s.r,r),this._getValueByRatio(e,t.g,i,s.g,r),this._getValueByRatio(e,t.b,i,s.b,r),this._getValueByRatio(e,t.a,i,s.a,r))}_getValueByRatio(e,t,i,s,r){return Math.abs(s+Math.round((e-r)*(t-s)/(i-r)))}}class _TreeMapUtils{static squarified(e,t,i){var s=e.slice(),r=t.clone(),a=r.width*r.height/i;do{var l=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(t,l,r,r.width>r.height)}while(s.length)}static horizontal(e,t,i){var s=t.clone();e.forEach(e=>{var r=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,r,s,!1)})}static vertical(e,t,i){var s=t.clone();e.forEach(e=>{var r=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,r,s,!0)})}static getNarrowLen(e){return Math.min(e.width,e.height)}static getRowedItem(e,t,i){return{item:e,val:i*e.value}}static getRowedItems(e,t,i){var s=e.shift(),r=[],a=[],l=_TreeMapUtils.getNarrowLen(t),h=_TreeMapUtils.getRowedItem(s,t,i);r.push(h);a.push(h);if(e.length>0)do{a.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(r,l)>_TreeMapUtils.worst(a,l)))break;r=a.slice();e.shift()}while(e.length);return r}static layoutRowedItems(e,t,i,s){var r,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(t);if(s){r=0===i.height?0:n/i.height;a+r>=h&&(r=h-a);t.forEach((e,i)=>{var s=0===r?0:e.val/r;(l+s>o||i===t.length-1)&&(s=o-l);var h=new Rect(a,l,r,s);e.item.rect=h;l+=s});i.left+=r;i.width-=r}else{r=0===i.width?0:n/i.width;l+r>=o&&(r=o-l);t.forEach((e,i)=>{var s=0===r?0:e.val/r;(a+s>h||i===t.length-1)&&(s=h-a);var o=new Rect(a,l,s,r);e.item.rect=o;a+=s});i.top+=r;i.height-=r}}static sumRowedArray(e){for(var t=0,i=e.length,s=0;s<i;s++)t+=e[s].val;return t}static worst(e,t){var i,s,r=_TreeMapUtils.sumRowedArray(e),a=r*r,l=t*t;i=s=e[0].val;e.forEach((e,t)=>{e.val>i?i=e.val:e.val<s&&(s=e.val)});return Math.max(l*i/a,a/(l*s))}}export class Sunburst extends FlexPie{constructor(e,t){super(e,t);this._selectionIndex=0;this.applyTemplate(SunburstClsNames.hostElement,null,null);this.initialize(t);this.refresh()}get bindingName(){return this._bindName}set bindingName(e){if(e!=this._bindName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}}get childItemsPath(){return this._childItemsPath}set childItemsPath(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}}_initData(){super._initData();this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]}_performBind(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach(e=>{this._legendLabels.push(e.name)})}}}_calculateValueAndLevel(e,t){var i=0,s=this._values[0],r=this._labels;this._level<t&&(this._level=t);e.forEach(e=>{var a;if(e.items){a=this._calculateValueAndLevel(e.items,t+1);e.value=a;s.push(a);r.push(e.name)}else{a=this._getBindData(e,s,r,"value","name");e.value=a}i+=a});return i}_renderPie(e,t,i,s,r,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,l.x,l.y,this._processedData,this._sum,i,s,r,2*Math.PI,a,1)}_renderHierarchicalSlices(e,t,i,s,r,a,l,h,o,n,_){var c,m,d,u,p,g,f,C,v,I,w=s.length,T=h,b=1==this.reversed;d=(a-l)/this._level;c=a-(this._level-_)*d;m=l+(_-1)*d;for(var x=0;x<w;x++){C=t;v=i;f=e.startGroup(`${SunburstClsNames.slice} ${SunburstClsNames.sliceLevel}`+_);if(1===_){e.fill=this._getColorLight(x);e.stroke=this._getColor(x)}p=s[x];g=Math.abs(p.value);u=Math.abs(g-r)<1e-10?o:o*g/r;I=b?T-.5*u:T+.5*u;if(n>0&&u<o){C+=n*Math.cos(I);v+=n*Math.sin(I)}if(p.items){let t=this._sliceIndex;this._renderHierarchicalSlices(e,C,v,p.items,g,a,l,T,u,0,_+1);for(;t<this._sliceIndex;t++)null==this._parentRef[t]&&(this._parentRef[t]=this._sliceIndex)}this._renderSlice(e,C,v,I,0,this._sliceIndex,c,m,T,u,o);this._processedItem.push(p.item);this._sliceIndex++;b?T-=u:T+=u;e.endGroup();this._pels.push(f)}}_getLabelsForLegend(){return this._legendLabels||[]}_highlightCurrent(){this.selectionMode!=SelectionMode.None&&this._highlight(!0,this._selectionIndex)}hitTest(e,t){var i=super.hitTest(e,t),s=this._toControl(e,t);if(FlexChartBase._contains(this._rectChart,s)){var r=i.pointIndex,a=this._processedItem[r],l=new _DataPoint(null,r,null,null);l.item=a;i._setDataPoint(l)}return i}_getSelectedItemOffset(e,t){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)r=this.selectedItemOffset;else{let i=this._getSelectedParentIndex(e);if(null!=i){let e=this._areas[i];this.dataLabel.position;r=this.selectedItemOffset;t=((t=e.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(r>0){i=Math.cos(t)*r*this._radius;s=Math.sin(t)*r*this._radius}return{x:i,y:s}}_getSelectedParentIndex(e){let t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null}}_registerModule("wijmo.chart.hierarchical",selfModule);
/*!
*
* Wijmo Library 5.20242.30
* Wijmo Library 5.20251.34
* https://developer.mescius.com/wijmo

@@ -14,2 +14,2 @@ *

var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,_registerModule}from"@grapecity/wijmo";import{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames}from"@grapecity/wijmo.chart";import*as selfModule from"@grapecity/wijmo.chart.hierarchical";var HierarchicalUtil=function(){function HierarchicalUtil(){}HierarchicalUtil.parseDataToHierarchical=function(e,t,i,r){var a,o=[];if(e instanceof CollectionView&&e.groups.length>0)o=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)o=HierarchicalUtil.parseItems(e,t,i,r);else{a=HierarchicalUtil.convertFlatData(e,t,i);o=HierarchicalUtil.parseItems(a,"value",i,"items")}}return o};HierarchicalUtil.parseGroupCV=function(e,t){for(var i=[],r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.push(o)}return i};HierarchicalUtil.parseGroups=function(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.items.push(o)}}else e.isBottomLevel&&(i.value=e.getAggregate(Aggregate.Sum,t));return i};HierarchicalUtil.parseItems=function(e,t,i,r){var a,o=[],l=e.length;for(a=0;a<l;a++)o.push(HierarchicalUtil.parseItem(e[a],t,i,r));return o};HierarchicalUtil.isFlatItem=function(e,t){return!isArray(e[t])};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,o=[],l={},n=e.length;for(r=0;r<n;r++){a=e[r];HierarchicalUtil.convertFlatItem(l,a,t,isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(o,l);return o};HierarchicalUtil.convertFlatToHierarchical=function(e,t){var i=t.flatDataOrder;i&&i.forEach((function(i){var r,a={},o=t[i];a[t.field]=i;if(o.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,o);a.items=r}else a.value=o;e.push(a)}))};HierarchicalUtil.convertFlatItem=function(e,t,i,r){var a,o,l,n;o=(a=r.slice()).shift();if(null==(l=null==(o=isString(o)?o.trim():o)?i:t[o]))return!1;if(0===a.length){e[l]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=o}else{if(null==e[l]){e[l]={};e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=o}n=e[l];HierarchicalUtil.convertFlatItem(n,t,i,a)||(e[l]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,o,l,n,s,h={};if(isArray(r))n=(s=r.slice()).length?s.shift().trim():"";else{s=r;n=r}if(isArray(i)){o=null==(o=(a=i.slice()).shift())?o:o.trim();h.nameField=null==o?t:o;h.name=null==o?e[t]:e[o];l=e[n];0===a.length?h.value=e[t]:l&&isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,t,a,s):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(l=e[n])&&isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,t,i,s):h.value=e[t]}h.item=e;return h};HierarchicalUtil.parseFlatItem=function(e,t,i,r){e.items||(e.items=[])};return HierarchicalUtil}();export{HierarchicalUtil};export var SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};export var TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};export var TreeMapType;!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType||(TreeMapType={}));var TreeMap=function(e){__extends(TreeMap,e);function TreeMap(t,i){var r=e.call(this,t,null,!0)||this;r._values=[];r._labels=[];r._areas=[];r._sum=0;r._keywords=new _KeyWords;r._processedData=[];r._depth=1;r._itemIndex=0;r._processedItem=[];r._maxDepth=-1;r._tmItems=[];r._colRowLens=[];r._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];r.applyTemplate(ControlClsNames.hostElement+" "+FlexChartClsNames.hostElement+" "+TreeMapClsNames.hostElement,null,null);r._currentRenderEngine=new _SvgRenderEngine(r.hostElement);r._legend=new Legend(r);r._legend.position=Position.None;r._tooltip=new ChartTooltip;r._tooltip.content="<b>{name}</b><br/>{value}";r._tooltip.showDelay=0;r._lbl=new DataLabel;r._lbl.position=LabelPosition.Center;r._lbl._chart=r;r.hostElement.addEventListener("mousemove",(function(e){r.isTouching||r._toogleTooltip(e)}));r.hostElement.addEventListener("click",(function(e){var t=!0;if(r.maxDepth>0){var i=r.hitTest(e),a=FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(a=r.tooltip.threshold);if(i.distance<=a&&i.pointIndex>=-1&&i.pointIndex<r._areas.length){var o=r._areas[i.pointIndex];if(r._currentItem!=o.item){r._currentItem=o.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e)}));r.hostElement.addEventListener("contextmenu",(function(e){if(r.maxDepth>0){var t=r.hitTest(e),i=FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(i=r.tooltip.threshold);t.distance<=i&&r._rollUp()}e.preventDefault();return!1}));r.hostElement.addEventListener("mouseleave",(function(){r._hideToolTip()}));r.deferUpdate((function(){return r.initialize(i)}));return r}TreeMap.prototype._rollUp=function(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()};TreeMap.prototype._toogleTooltip=function(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}};Object.defineProperty(TreeMap.prototype,"selectionMode",{get:function(){return SelectionMode.None},set:function(e){},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"_treeMapItems",{get:function(){return this._tmItems},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"tooltip",{get:function(){return this._tooltip},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"binding",{get:function(){return this._binding},set:function(e){if(e!=this._binding){this._binding=asString(e,!0);this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"type",{get:function(){return null==this._type?TreeMapType.Squarified:this._type},set:function(e){if((e=asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"bindingName",{get:function(){return this._bindingName},set:function(e){if(e!=this._bindingName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"dataLabel",{get:function(){return this._lbl},set:function(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"maxDepth",{get:function(){return this._maxDepth},set:function(e){if(e!=this._maxDepth){this._maxDepth=asNumber(e,!0);this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"palette",{get:function(){return this._palette},set:function(e){if(e!=this._palette){this._palette=asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}},enumerable:!0,configurable:!0});TreeMap.prototype._initData=function(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]};TreeMap.prototype._performBind=function(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}};TreeMap.prototype._sortData=function(e){var t=this;e.forEach((function(e){e.items&&t._sortData(e.items)}));e.sort((function(e,t){return t.value-e.value}))};TreeMap.prototype._getTMItemsAndLabelsAndValues=function(e,t,i,r,a){var o=this;e&&e.length>0&&e.forEach((function(e,a){var l,n=new _TreeMapItem;n.items=[];n.parent=r;n.depth=i;e.items&&o._getTMItemsAndLabelsAndValues(e.items,n.items,i+1,n);l=e.name?e.name:e.value.toString();n.label=l;n.value=e.value;if(null!=r){e.value>r.maxValue&&(r.maxValue=e.value);e.value<r.minValue&&(r.minValue=e.value)}t.push(n);o._labels.push(l);o._values.push(e.value)}))};TreeMap.prototype._calculateColorForItems=function(e,t,i){var r=this,a=i;e.forEach((function(e,i){var o=t;1===e.depth&&(o=r._getColor(i));e.palette=o;var l=e.palette;if(isString(l)){var n=l,s=r._getLightColor(n);e.titleFill=n;e.titleStroke=n;e.fill=s;e.stroke=n}else if(l.maxColor&&l.minColor&&l.titleColor){e.titleFill=l.titleColor;e.titleStroke=l.titleColor;if(null==e.parent){e.fill=l.maxColor;e.stroke=l.maxColor}else{null==a&&(a=new _ColorConverter(l.minColor,e.minValue,l.maxColor,e.maxValue));var h=a._calculateColorByVal(e.value,!0).toString();e.fill=h;e.stroke=h}}if(e.items&&e.items.length>0){var u=new _ColorConverter(l.minColor,e.minValue,l.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,u)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);a=0;isNumber(r)?a=asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNaN(a)&&isFinite(a))t.push(a);else{a=0;t.push(a)}return a};TreeMap.prototype._calculateValueAndDepth=function(e,t){var i=this,r=0,a=this._values;this._depth<t&&(this._depth=t);e.forEach((function(e){var o;if(e.items){o=i._calculateValueAndDepth(e.items,t+1);e.value=o;a.push(o)}else{o=i._getBindData(e,a,"value");e.value=o}r+=o}));return r};TreeMap.prototype._prepareRender=function(){this._areas=[]};TreeMap.prototype._renderChart=function(e,t,i){var r,a,o,l=this._rectChart.clone();new Size(l.width,l.height);this.onRendering(new RenderEventArgs(e));var n=t.width,s=t.height;this._tmGroup=e.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(h.left)&&(h.left=TreeMap._MARGIN);isNaN(h.right)&&(h.right=TreeMap._MARGIN);isNaN(h.top)&&(h.top=TreeMap._MARGIN);isNaN(h.bottom)&&(h.bottom=TreeMap._MARGIN);t.top+=h.top;s=t.height-(h.top+h.bottom);t.height=s>0?s:24;t.left+=h.left;n=t.width-(h.left+h.right);t.width=n>0?n:24;this._plotRect=t;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;o=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,r,o,a);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(e);this.onRendered(new RenderEventArgs(e))};TreeMap.prototype._renderTreeMap=function(e,t,i,r,a,o){if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,o);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,a,1,o)}};TreeMap.prototype._resetItemRects=function(e){var t=this;e.forEach((function(e){e.rect=new Rect(0,0,0,0);e.isTitle=!1;e.type=t.type;e.items&&e.items.length&&t._resetItemRects(e.items)}))};TreeMap.prototype._calculateItemRects=function(e,t,i,r,a){var o=this;switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((function(e,t){e.rect.clone();if(e.items&&e.items.length)if(r===a);else if(r>a&&a>=1);else{e.isTitle=!0;o._calculateItemRects(e.itemsRect,e.items,e.value,r+1,a)}}))};TreeMap.prototype._renderHierarchicalTreeMapItems=function(e,t,i,r,a,o,l){var n,s,h,u,c,p=r.length;this.type;if(0!==p)for(var _=0;_<p;_++){n=e.startGroup(TreeMap._CSS_ITEMDEPTH+o);s=r[_];h=Math.abs(s.value);u=s.rect;s.draw(e);c=new _RectArea(u);s.items&&this._renderHierarchicalTreeMapItems(e,n,s.itemsRect,s.items,h,o+1,l);c.tag=this._itemIndex;c.name=s.label;c.value=h;c.item=s;this._areas.push(c);this._itemIndex++;e.endGroup()}};TreeMap.prototype._renderLabels=function(e){var t,i=this._areas.length,r=this.dataLabel,a=r.position,o=r.connectingLine,l=r.border,n=r.offset||0,s=DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(s);for(var h=0;h<i;h++){var u=this._areas[h];if(u){var c=u.rect,p=new HitTestInfo(this,t);p._setData(null,h);var _=this._getLabelContent(p,r.content);t=new Point(c.left+c.width/2,c.top+c.height/2);if(_&&c.width>0&&c.height>0){var m=new DataLabelRenderEventArgs(e,p,t,_);if(r.onRendering(m)){_=m.text;t=m.point;this._renderLabelAndBorder(e,u,c,_,a,n,t,o,2,l)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,o,l,n,s,h){var u,c=DataLabelClsNames.label,p=DataLabelClsNames.line,_=DataLabelClsNames.border;switch(a){case LabelPosition.Top:n&&e.drawLine(l.x,l.y,l.x,l.y-o,p);l.y-=s+o;u=this._renderText(e,t,i,r,l,1,2,c);break;case LabelPosition.Bottom:n&&e.drawLine(l.x,l.y,l.x,l.y+o,p);l.y+=s+o;u=this._renderText(e,t,i,r,l,1,0,c);break;case LabelPosition.Left:n&&e.drawLine(l.x,l.y,l.x-o,l.y,p);l.x-=s+o;u=this._renderText(e,t,i,r,l,2,1,c);break;case LabelPosition.Right:n&&e.drawLine(l.x,l.y,l.x+o,l.y,p);l.x+=s+o;u=this._renderText(e,t,i,r,l,0,1,c);break;case LabelPosition.Center:u=this._renderText(e,t,i,r,l,1,1,c)}h&&u&&e.drawRect(u.left-s,u.top-s,u.width+2*s,u.height+2*s,_);return u};TreeMap.prototype._renderText=function(e,t,i,r,a,o,l,n){var s,h=r,u=t.item;s=e.measureString(r,n);if(this.type===TreeMapType.Horizontal&&u.isTitle){s.width>i.height&&(h=this._cutText(r,s.width,i.height));FlexChart._renderRotatedText(e,h,a,o,l,a,-90,n);return null}s.width>i.width&&(h=this._cutText(r,s.width,i.width));return FlexChart._renderText(e,h,a,o,l,n)};TreeMap.prototype._cutText=function(e,t,i){var r="",a=e.length,o=Math.floor((1-(t-i)/t)*a);e.length>0&&(r=e[0]+(o>1?e.substring(1,o-1)+"..":""));return r};TreeMap.prototype._measureLegendItem=function(e,t){var i=new Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(t){var r=e.measureString(t,FlexChart._CSS_LABEL,FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i};TreeMap.prototype._getDesiredLegendSize=function(e,t,i,r){var a=new Size,o=(new Size(i,r),this._tmItems.length),l=0,n=0;this._colRowLens=[];for(var s=0;s<o;s++){var h=this._measureLegendItem(e,this._tmItems[s].label);if(t){if(n+h.height>r){a.height=r;this._colRowLens.push(l);l=0;n=0}l<h.width&&(l=h.width);n+=h.height}else{if(l+h.width>i){a.width=i;this._colRowLens.push(n);n=0;l=0}n<h.height&&(n=h.height);l+=h.width}}if(t){a.height<n&&(a.height=n);this._colRowLens.push(l);a.width=this._colRowLens.reduce((function(e,t){return e+t}),0);a.width=this._getLegendSize(i,a.width)}else{a.width<l&&(a.width=l);this._colRowLens.push(n);a.height=this._colRowLens.reduce((function(e,t){return e+t}),0);a.height=this._getLegendSize(r,a.height)}return a};TreeMap.prototype._renderLegend=function(e,t,i,r,a,o){for(var l,n=this._rectLegend,s=this._tmItems.length,h=0,u=t.clone(),c=0;c<s;c++){l=this._tmItems[c].label;var p=this._measureLegendItem(e,l);if(r){if(u.y+p.height>n.top+n.height+1){u.x+=this._colRowLens[h];h++;u.y=t.y}}else if(u.x+p.width>n.left+n.width+1){u.y+=this._colRowLens[h];h++;u.x=t.x}var _=new Rect(u.x,u.y,p.width,p.height);this._drawLegendItem(e,_,c,l);i.push(_);r?u.y+=p.height:u.x+=p.width}};TreeMap.prototype._drawLegendItem=function(e,t,i,r){e.strokeWidth=1;var a=Series._LEGEND_ITEM_MARGIN,o=this._getColor(i),l=o&&o.maxColor?o.maxColor:o,n=this._getLightColor(l);e.fill=l;e.stroke=n;var s=t.top+.5*t.height,h=Series._LEGEND_ITEM_WIDTH,u=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,s-.5*u,h,u,null);r&&FlexChart._renderText(e,r,new Point(t.left+u+2*a,s),0,1,FlexChart._CSS_LABEL)};TreeMap.prototype._getLabelContent=function(e,t){return isString(t)?this._keywords.replace(t,e):isFunction(t)?t(e):null};TreeMap.prototype.hitTest=function(e,t){var i=this._toControl(e,t),r=new HitTestInfo(this,i),a=null;if(FlexChart._contains(this._rectHeader,i))r._chartElement=ChartElement.Header;else if(FlexChart._contains(this._rectFooter,i))r._chartElement=ChartElement.Footer;else if(FlexChart._contains(this._rectLegend,i)){r._chartElement=ChartElement.Legend;null!==(a=this.legend._hitTest(i))&&a>=0&&a<this._areas.length&&r._setData(null,a)}else if(FlexChart._contains(this._rectChart,i)){for(var o,l=this._areas.length,n=NaN,s=0;s<l;s++){var h=i.clone(),u=this._areas[s];if(u.contains(h)){r._setData(null,u.tag);r._dist=0}var c=u.distance(h);if(void 0!==c&&(isNaN(n)||c<n)){n=c;o=u}}if(0!==r._dist&&null!=o){r._setData(null,o.tag);r._dist=n}r._chartElement=ChartElement.ChartArea}else r._chartElement=ChartElement.None;return r};TreeMap.prototype._getHitTestItem=function(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i};TreeMap.prototype._getHitTestValue=function(e){return this._values[e]};TreeMap.prototype._getHitTestLabel=function(e){return this._labels[e]};TreeMap._CSS_ITEMDEPTH=TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;return TreeMap}(FlexChartBase);export{TreeMap};var _TreeMapItem=function(){function _TreeMapItem(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}_TreeMapItem.prototype.draw=function(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)};Object.defineProperty(_TreeMapItem.prototype,"itemsRect",{get:function(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new Rect(0,0,0,0)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"rect",{get:function(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,r=e.height,a=e.left,o=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);r=r>2*t?r-2*t:0}else{r=e.height>20?20:r;r=Math.max(20,r-2*t);i=i>2*t?i-2*t:0}a+=t;o+=t}else{i=i>2*t?i-2*t:0;r=r>2*t?r-2*t:0}return new Rect(a,o,i,r)},set:function(e){e!=this._rect&&(this._rect=e)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"isTitle",{get:function(){return this._isTitle},set:function(e){var t=asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)},enumerable:!0,configurable:!0});_TreeMapItem._CLASSNAME=TreeMapClsNames.item;return _TreeMapItem}(),_ColorConverter=function(){function _ColorConverter(e,t,i,r,a,o){this.minColor=new Color(e);this.minColorValue=t;this.maxColor=new Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=o;this._calculateMidColorValue();this.midColor=this.originalMidColor=new Color(a);this._calculateMidColor()}_ColorConverter.prototype._resetminColor=function(e){this.minColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmidColor=function(e){this.midColor=this.originalMidColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmaxColor=function(e){this.maxColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetminColorValue=function(e){this.minColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmidColorValue=function(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmaxColorValue=function(e){this.maxColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._calculateMidColorValue=function(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)};_ColorConverter.prototype._calculateMidColor=function(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))};_ColorConverter.prototype._calculateColorByVal=function(e,t){void 0===t&&(t=!1);var i=this.maxColor,r=this.minColor,a=this.maxColorValue,o=this.minColorValue;if(e>=this.maxColorValue)return new Color(i.toString());if(e<=this.minColorValue)return new Color(r.toString());if(!t){if(e===this.midColorValue)return new Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;a=this.midColorValue}else{r=this.midColor;o=this.midColorValue}}return this._getColor(e,i,a,r,o)};_ColorConverter.prototype._getColor=function(e,t,i,r,a){return Color.fromRgba(this._getValueByRatio(e,t.r,i,r.r,a),this._getValueByRatio(e,t.g,i,r.g,a),this._getValueByRatio(e,t.b,i,r.b,a),this._getValueByRatio(e,t.a,i,r.a,a))};_ColorConverter.prototype._getValueByRatio=function(e,t,i,r,a){return Math.abs(r+Math.round((e-a)*(t-r)/(i-a)))};return _ColorConverter}(),_TreeMapUtils=function(){function _TreeMapUtils(){}_TreeMapUtils.squarified=function(e,t,i){var r=e.slice(),a=t.clone(),o=a.width*a.height/i;do{var l=_TreeMapUtils.getRowedItems(r,a,o);_TreeMapUtils.layoutRowedItems(t,l,a,a.width>a.height)}while(r.length)};_TreeMapUtils.horizontal=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!1)}))};_TreeMapUtils.vertical=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!0)}))};_TreeMapUtils.getNarrowLen=function(e){return Math.min(e.width,e.height)};_TreeMapUtils.getRowedItem=function(e,t,i){return{item:e,val:i*e.value}};_TreeMapUtils.getRowedItems=function(e,t,i){var r=e.shift(),a=[],o=[],l=_TreeMapUtils.getNarrowLen(t),n=_TreeMapUtils.getRowedItem(r,t,i);a.push(n);o.push(n);if(e.length>0)do{o.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(a,l)>_TreeMapUtils.worst(o,l)))break;a=o.slice();e.shift()}while(e.length);return a};_TreeMapUtils.layoutRowedItems=function(e,t,i,r){var a,o=i.left,l=i.top,n=o+i.width,s=l+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;o+a>=n&&(a=n-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(l+r>s||i===t.length-1)&&(r=s-l);var n=new Rect(o,l,a,r);e.item.rect=n;l+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;l+a>=s&&(a=s-l);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>n||i===t.length-1)&&(r=n-o);var s=new Rect(o,l,r,a);e.item.rect=s;o+=r}));i.top+=a;i.height-=a}};_TreeMapUtils.sumRowedArray=function(e){for(var t=0,i=e.length,r=0;r<i;r++)t+=e[r].val;return t};_TreeMapUtils.worst=function(e,t){var i,r,a=_TreeMapUtils.sumRowedArray(e),o=a*a,l=t*t;i=r=e[0].val;e.forEach((function(e,t){e.val>i?i=e.val:e.val<r&&(r=e.val)}));return Math.max(l*i/o,o/(l*r))};return _TreeMapUtils}(),Sunburst=function(e){__extends(Sunburst,e);function Sunburst(t,i){var r=e.call(this,t,i)||this;r._selectionIndex=0;r.applyTemplate(SunburstClsNames.hostElement,null,null);r.initialize(i);r.refresh();return r}Object.defineProperty(Sunburst.prototype,"bindingName",{get:function(){return this._bindName},set:function(e){if(e!=this._bindName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(Sunburst.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Sunburst.prototype._initData=function(){e.prototype._initData.call(this);this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]};Sunburst.prototype._performBind=function(){var e,t=this;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach((function(e){t._legendLabels.push(e.name)}))}}};Sunburst.prototype._calculateValueAndLevel=function(e,t){var i=this,r=0,a=this._values[0],o=this._labels;this._level<t&&(this._level=t);e.forEach((function(e){var l;if(e.items){l=i._calculateValueAndLevel(e.items,t+1);e.value=l;a.push(l);o.push(e.name)}else{l=i._getBindData(e,a,o,"value","name");e.value=l}r+=l}));return r};Sunburst.prototype._renderPie=function(e,t,i,r,a,o){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,l.x,l.y,this._processedData,this._sum,i,r,a,2*Math.PI,o,1)};Sunburst.prototype._renderHierarchicalSlices=function(e,t,i,r,a,o,l,n,s,h,u){var c,p,_,m,d,f,g,v,C,T,b=r.length,M=n,y=1==this.reversed;_=(o-l)/this._level;c=o-(this._level-u)*_;p=l+(u-1)*_;for(var I=0;I<b;I++){v=t;C=i;g=e.startGroup(SunburstClsNames.slice+" "+SunburstClsNames.sliceLevel+u);if(1===u){e.fill=this._getColorLight(I);e.stroke=this._getColor(I)}d=r[I];f=Math.abs(d.value);m=Math.abs(f-a)<1e-10?s:s*f/a;T=y?M-.5*m:M+.5*m;if(h>0&&m<s){v+=h*Math.cos(T);C+=h*Math.sin(T)}if(d.items){var w=this._sliceIndex;this._renderHierarchicalSlices(e,v,C,d.items,f,o,l,M,m,0,u+1);for(;w<this._sliceIndex;w++)null==this._parentRef[w]&&(this._parentRef[w]=this._sliceIndex)}this._renderSlice(e,v,C,T,0,this._sliceIndex,c,p,M,m,s);this._processedItem.push(d.item);this._sliceIndex++;y?M-=m:M+=m;e.endGroup();this._pels.push(g)}};Sunburst.prototype._getLabelsForLegend=function(){return this._legendLabels||[]};Sunburst.prototype._highlightCurrent=function(){this.selectionMode!=SelectionMode.None&&this._highlight(!0,this._selectionIndex)};Sunburst.prototype.hitTest=function(t,i){var r=e.prototype.hitTest.call(this,t,i),a=this._toControl(t,i);if(FlexChartBase._contains(this._rectChart,a)){var o=r.pointIndex,l=this._processedItem[o],n=new _DataPoint(null,o,null,null);n.item=l;r._setDataPoint(n)}return r};Sunburst.prototype._getSelectedItemOffset=function(e,t){var i=0,r=0,a=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)a=this.selectedItemOffset;else{var o=this._getSelectedParentIndex(e);if(null!=o){var l=this._areas[o];this.dataLabel.position;a=this.selectedItemOffset;t=((t=l.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(a>0){i=Math.cos(t)*a*this._radius;r=Math.sin(t)*a*this._radius}return{x:i,y:r}};Sunburst.prototype._getSelectedParentIndex=function(e){var t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null};return Sunburst}(FlexPie);export{Sunburst};_registerModule("wijmo.chart.hierarchical",selfModule);
var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}();import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,_registerModule}from"@grapecity/wijmo";import{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames}from"@grapecity/wijmo.chart";import*as selfModule from"@grapecity/wijmo.chart.hierarchical";var HierarchicalUtil=function(){function HierarchicalUtil(){}HierarchicalUtil.parseDataToHierarchical=function(e,t,i,r){var a,o=[];if(e instanceof CollectionView&&e.groups.length>0)o=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)o=HierarchicalUtil.parseItems(e,t,i,r);else{a=HierarchicalUtil.convertFlatData(e,t,i);o=HierarchicalUtil.parseItems(a,"value",i,"items")}}return o};HierarchicalUtil.parseGroupCV=function(e,t){for(var i=[],r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.push(o)}return i};HierarchicalUtil.parseGroups=function(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.items.push(o)}}else e.isBottomLevel&&(i.value=e.getAggregate(Aggregate.Sum,t));return i};HierarchicalUtil.parseItems=function(e,t,i,r){var a,o=[],l=e.length;for(a=0;a<l;a++)o.push(HierarchicalUtil.parseItem(e[a],t,i,r));return o};HierarchicalUtil.isFlatItem=function(e,t){return!isArray(e[t])};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,o=[],l={},n=e.length;for(r=0;r<n;r++){a=e[r];HierarchicalUtil.convertFlatItem(l,a,t,isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(o,l);return o};HierarchicalUtil.convertFlatToHierarchical=function(e,t){var i=t.flatDataOrder;i&&i.forEach((function(i){var r,a={},o=t[i];a[t.field]=i;if(o.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,o);a.items=r}else a.value=o;e.push(a)}))};HierarchicalUtil.convertFlatItem=function(e,t,i,r){var a,o,l,n;o=(a=r.slice()).shift();if(null==(l=null==(o=isString(o)?o.trim():o)?i:t[o]))return!1;if(0===a.length){e[l]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=o}else{if(null==e[l]){e[l]={};e.flatDataOrder?e.flatDataOrder.push(l):e.flatDataOrder=[l];e.field=o}n=e[l];HierarchicalUtil.convertFlatItem(n,t,i,a)||(e[l]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,o,l,n,s,h={};if(isArray(r))n=(s=r.slice()).length?s.shift().trim():"";else{s=r;n=r}if(isArray(i)){o=null==(o=(a=i.slice()).shift())?o:o.trim();h.nameField=null==o?t:o;h.name=null==o?e[t]:e[o];l=e[n];0===a.length?h.value=e[t]:l&&isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,t,a,s):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(l=e[n])&&isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,t,i,s):h.value=e[t]}h.item=e;return h};HierarchicalUtil.parseFlatItem=function(e,t,i,r){e.items||(e.items=[])};return HierarchicalUtil}();export{HierarchicalUtil};export var SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};export var TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};export var TreeMapType;!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType||(TreeMapType={}));var TreeMap=function(e){__extends(TreeMap,e);function TreeMap(t,i){var r=e.call(this,t,null,!0)||this;r._values=[];r._labels=[];r._areas=[];r._sum=0;r._keywords=new _KeyWords;r._processedData=[];r._depth=1;r._itemIndex=0;r._processedItem=[];r._maxDepth=-1;r._tmItems=[];r._colRowLens=[];r._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];r.applyTemplate(ControlClsNames.hostElement+" "+FlexChartClsNames.hostElement+" "+TreeMapClsNames.hostElement,null,null);r._currentRenderEngine=new _SvgRenderEngine(r.hostElement);r._legend=new Legend(r);r._legend.position=Position.None;r._tooltip=new ChartTooltip;r._tooltip.content="<b>{name}</b><br/>{value}";r._tooltip.showDelay=0;r._lbl=new DataLabel;r._lbl.position=LabelPosition.Center;r._lbl._chart=r;r.addEventListener(r.hostElement,"mousemove",(function(e){r.isTouching||r._toogleTooltip(e)}));r.addEventListener(r.hostElement,"click",(function(e){var t=!0;if(r.maxDepth>0){var i=r.hitTest(e),a=FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(a=r.tooltip.threshold);if(i.distance<=a&&i.pointIndex>=-1&&i.pointIndex<r._areas.length){var o=r._areas[i.pointIndex];if(r._currentItem!=o.item){r._currentItem=o.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e)}));r.addEventListener(r.hostElement,"contextmenu",(function(e){if(r.maxDepth>0){var t=r.hitTest(e),i=FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(i=r.tooltip.threshold);t.distance<=i&&r._rollUp()}e.preventDefault();return!1}));r.addEventListener(r.hostElement,"mouseleave",(function(){r._hideToolTip()}));r.deferUpdate((function(){return r.initialize(i)}));return r}TreeMap.prototype._rollUp=function(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()};TreeMap.prototype._toogleTooltip=function(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}};Object.defineProperty(TreeMap.prototype,"selectionMode",{get:function(){return SelectionMode.None},set:function(e){},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"_treeMapItems",{get:function(){return this._tmItems},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"tooltip",{get:function(){return this._tooltip},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"binding",{get:function(){return this._binding},set:function(e){if(e!=this._binding){this._binding=asString(e,!0);this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"type",{get:function(){return null==this._type?TreeMapType.Squarified:this._type},set:function(e){if((e=asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"bindingName",{get:function(){return this._bindingName},set:function(e){if(e!=this._bindingName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"dataLabel",{get:function(){return this._lbl},set:function(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"maxDepth",{get:function(){return this._maxDepth},set:function(e){if(e!=this._maxDepth){this._maxDepth=asNumber(e,!0);this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"palette",{get:function(){return this._palette},set:function(e){if(e!=this._palette){this._palette=asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}},enumerable:!0,configurable:!0});TreeMap.prototype._initData=function(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]};TreeMap.prototype._performBind=function(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}};TreeMap.prototype._sortData=function(e){var t=this;e.forEach((function(e){e.items&&t._sortData(e.items)}));e.sort((function(e,t){return t.value-e.value}))};TreeMap.prototype._getTMItemsAndLabelsAndValues=function(e,t,i,r,a){var o=this;e&&e.length>0&&e.forEach((function(e,a){var l,n=new _TreeMapItem;n.items=[];n.parent=r;n.depth=i;e.items&&o._getTMItemsAndLabelsAndValues(e.items,n.items,i+1,n);l=e.name?e.name:e.value.toString();n.label=l;n.value=e.value;if(null!=r){e.value>r.maxValue&&(r.maxValue=e.value);e.value<r.minValue&&(r.minValue=e.value)}t.push(n);o._labels.push(l);o._values.push(e.value)}))};TreeMap.prototype._calculateColorForItems=function(e,t,i){var r=this,a=i;e.forEach((function(e,i){var o=t;1===e.depth&&(o=r._getColor(i));e.palette=o;var l=e.palette;if(isString(l)){var n=l,s=r._getLightColor(n);e.titleFill=n;e.titleStroke=n;e.fill=s;e.stroke=n}else if(l.maxColor&&l.minColor&&l.titleColor){e.titleFill=l.titleColor;e.titleStroke=l.titleColor;if(null==e.parent){e.fill=l.maxColor;e.stroke=l.maxColor}else{null==a&&(a=new _ColorConverter(l.minColor,e.minValue,l.maxColor,e.maxValue));var h=a._calculateColorByVal(e.value,!0).toString();e.fill=h;e.stroke=h}}if(e.items&&e.items.length>0){var u=new _ColorConverter(l.minColor,e.minValue,l.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,u)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);a=0;isNumber(r)?a=asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNaN(a)&&isFinite(a))t.push(a);else{a=0;t.push(a)}return a};TreeMap.prototype._calculateValueAndDepth=function(e,t){var i=this,r=0,a=this._values;this._depth<t&&(this._depth=t);e.forEach((function(e){var o;if(e.items){o=i._calculateValueAndDepth(e.items,t+1);e.value=o;a.push(o)}else{o=i._getBindData(e,a,"value");e.value=o}r+=o}));return r};TreeMap.prototype._prepareRender=function(){this._areas=[]};TreeMap.prototype._renderChart=function(e,t,i){var r,a,o,l=this._rectChart.clone();new Size(l.width,l.height);this.onRendering(new RenderEventArgs(e));var n=t.width,s=t.height;this._tmGroup=e.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(h.left)&&(h.left=TreeMap._MARGIN);isNaN(h.right)&&(h.right=TreeMap._MARGIN);isNaN(h.top)&&(h.top=TreeMap._MARGIN);isNaN(h.bottom)&&(h.bottom=TreeMap._MARGIN);t.top+=h.top;s=t.height-(h.top+h.bottom);t.height=s>0?s:24;t.left+=h.left;n=t.width-(h.left+h.right);t.width=n>0?n:24;this._plotRect=t;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;o=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,r,o,a);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=LabelPosition.None&&this._renderLabels(e);this.onRendered(new RenderEventArgs(e))};TreeMap.prototype._renderTreeMap=function(e,t,i,r,a,o){if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,o);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,a,1,o)}};TreeMap.prototype._resetItemRects=function(e){var t=this;e.forEach((function(e){e.rect=new Rect(0,0,0,0);e.isTitle=!1;e.type=t.type;e.items&&e.items.length&&t._resetItemRects(e.items)}))};TreeMap.prototype._calculateItemRects=function(e,t,i,r,a){var o=this;switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((function(e,t){e.rect.clone();if(e.items&&e.items.length)if(r===a);else if(r>a&&a>=1);else{e.isTitle=!0;o._calculateItemRects(e.itemsRect,e.items,e.value,r+1,a)}}))};TreeMap.prototype._renderHierarchicalTreeMapItems=function(e,t,i,r,a,o,l){var n,s,h,u,c,p=r.length;this.type;if(0!==p)for(var _=0;_<p;_++){n=e.startGroup(TreeMap._CSS_ITEMDEPTH+o);s=r[_];h=Math.abs(s.value);u=s.rect;s.draw(e);c=new _RectArea(u);s.items&&this._renderHierarchicalTreeMapItems(e,n,s.itemsRect,s.items,h,o+1,l);c.tag=this._itemIndex;c.name=s.label;c.value=h;c.item=s;this._areas.push(c);this._itemIndex++;e.endGroup()}};TreeMap.prototype._renderLabels=function(e){var t,i=this._areas.length,r=this.dataLabel,a=r.position,o=r.connectingLine,l=r.border,n=r.offset||0,s=DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(s);for(var h=0;h<i;h++){var u=this._areas[h];if(u){var c=u.rect,p=new HitTestInfo(this,t);p._setData(null,h);var _=this._getLabelContent(p,r.content);t=new Point(c.left+c.width/2,c.top+c.height/2);if(_&&c.width>0&&c.height>0){var m=new DataLabelRenderEventArgs(e,p,t,_);if(r.onRendering(m)){_=m.text;t=m.point;this._renderLabelAndBorder(e,u,c,_,a,n,t,o,2,l)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,o,l,n,s,h){var u,c=DataLabelClsNames.label,p=DataLabelClsNames.line,_=DataLabelClsNames.border;switch(a){case LabelPosition.Top:n&&e.drawLine(l.x,l.y,l.x,l.y-o,p);l.y-=s+o;u=this._renderText(e,t,i,r,l,1,2,c);break;case LabelPosition.Bottom:n&&e.drawLine(l.x,l.y,l.x,l.y+o,p);l.y+=s+o;u=this._renderText(e,t,i,r,l,1,0,c);break;case LabelPosition.Left:n&&e.drawLine(l.x,l.y,l.x-o,l.y,p);l.x-=s+o;u=this._renderText(e,t,i,r,l,2,1,c);break;case LabelPosition.Right:n&&e.drawLine(l.x,l.y,l.x+o,l.y,p);l.x+=s+o;u=this._renderText(e,t,i,r,l,0,1,c);break;case LabelPosition.Center:u=this._renderText(e,t,i,r,l,1,1,c)}h&&u&&e.drawRect(u.left-s,u.top-s,u.width+2*s,u.height+2*s,_);return u};TreeMap.prototype._renderText=function(e,t,i,r,a,o,l,n){var s,h=r,u=t.item;s=e.measureString(r,n);if(this.type===TreeMapType.Horizontal&&u.isTitle){s.width>i.height&&(h=this._cutText(r,s.width,i.height));FlexChart._renderRotatedText(e,h,a,o,l,a,-90,n);return null}s.width>i.width&&(h=this._cutText(r,s.width,i.width));return FlexChart._renderText(e,h,a,o,l,n)};TreeMap.prototype._cutText=function(e,t,i){var r="",a=e.length,o=Math.floor((1-(t-i)/t)*a);e.length>0&&(r=e[0]+(o>1?e.substring(1,o-1)+"..":""));return r};TreeMap.prototype._measureLegendItem=function(e,t){var i=new Size;i.width=Series._LEGEND_ITEM_WIDTH;i.height=Series._LEGEND_ITEM_HEIGHT;if(t){var r=e.measureString(t,FlexChart._CSS_LABEL,FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*Series._LEGEND_ITEM_MARGIN;i.height+=2*Series._LEGEND_ITEM_MARGIN;return i};TreeMap.prototype._getDesiredLegendSize=function(e,t,i,r){var a=new Size,o=(new Size(i,r),this._tmItems.length),l=0,n=0;this._colRowLens=[];for(var s=0;s<o;s++){var h=this._measureLegendItem(e,this._tmItems[s].label);if(t){if(n+h.height>r){a.height=r;this._colRowLens.push(l);l=0;n=0}l<h.width&&(l=h.width);n+=h.height}else{if(l+h.width>i){a.width=i;this._colRowLens.push(n);n=0;l=0}n<h.height&&(n=h.height);l+=h.width}}if(t){a.height<n&&(a.height=n);this._colRowLens.push(l);a.width=this._colRowLens.reduce((function(e,t){return e+t}),0);a.width=this._getLegendSize(i,a.width)}else{a.width<l&&(a.width=l);this._colRowLens.push(n);a.height=this._colRowLens.reduce((function(e,t){return e+t}),0);a.height=this._getLegendSize(r,a.height)}return a};TreeMap.prototype._renderLegend=function(e,t,i,r,a,o){for(var l,n=this._rectLegend,s=this._tmItems.length,h=0,u=t.clone(),c=0;c<s;c++){l=this._tmItems[c].label;var p=this._measureLegendItem(e,l);if(r){if(u.y+p.height>n.top+n.height+1){u.x+=this._colRowLens[h];h++;u.y=t.y}}else if(u.x+p.width>n.left+n.width+1){u.y+=this._colRowLens[h];h++;u.x=t.x}var _=new Rect(u.x,u.y,p.width,p.height);this._drawLegendItem(e,_,c,l);i.push(_);r?u.y+=p.height:u.x+=p.width}};TreeMap.prototype._drawLegendItem=function(e,t,i,r){e.strokeWidth=1;var a=Series._LEGEND_ITEM_MARGIN,o=this._getColor(i),l=o&&o.maxColor?o.maxColor:o,n=this._getLightColor(l);e.fill=l;e.stroke=n;var s=t.top+.5*t.height,h=Series._LEGEND_ITEM_WIDTH,u=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,s-.5*u,h,u,null);r&&FlexChart._renderText(e,r,new Point(t.left+u+2*a,s),0,1,FlexChart._CSS_LABEL)};TreeMap.prototype._getLabelContent=function(e,t){return isString(t)?this._keywords.replace(t,e):isFunction(t)?t(e):null};TreeMap.prototype.hitTest=function(e,t){var i=this._toControl(e,t),r=new HitTestInfo(this,i),a=null;if(FlexChart._contains(this._rectHeader,i))r._chartElement=ChartElement.Header;else if(FlexChart._contains(this._rectFooter,i))r._chartElement=ChartElement.Footer;else if(FlexChart._contains(this._rectLegend,i)){r._chartElement=ChartElement.Legend;null!==(a=this.legend._hitTest(i))&&a>=0&&a<this._areas.length&&r._setData(null,a)}else if(FlexChart._contains(this._rectChart,i)){for(var o,l=this._areas.length,n=NaN,s=0;s<l;s++){var h=i.clone(),u=this._areas[s];if(u.contains(h)){r._setData(null,u.tag);r._dist=0}var c=u.distance(h);if(void 0!==c&&(isNaN(n)||c<n)){n=c;o=u}}if(0!==r._dist&&null!=o){r._setData(null,o.tag);r._dist=n}r._chartElement=ChartElement.ChartArea}else r._chartElement=ChartElement.None;return r};TreeMap.prototype._getHitTestItem=function(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i};TreeMap.prototype._getHitTestValue=function(e){return this._values[e]};TreeMap.prototype._getHitTestLabel=function(e){return this._labels[e]};TreeMap._CSS_ITEMDEPTH=TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;return TreeMap}(FlexChartBase);export{TreeMap};var _TreeMapItem=function(){function _TreeMapItem(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}_TreeMapItem.prototype.draw=function(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)};Object.defineProperty(_TreeMapItem.prototype,"itemsRect",{get:function(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new Rect(0,0,0,0)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"rect",{get:function(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,r=e.height,a=e.left,o=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);r=r>2*t?r-2*t:0}else{r=e.height>20?20:r;r=Math.max(20,r-2*t);i=i>2*t?i-2*t:0}a+=t;o+=t}else{i=i>2*t?i-2*t:0;r=r>2*t?r-2*t:0}return new Rect(a,o,i,r)},set:function(e){e!=this._rect&&(this._rect=e)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"isTitle",{get:function(){return this._isTitle},set:function(e){var t=asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)},enumerable:!0,configurable:!0});_TreeMapItem._CLASSNAME=TreeMapClsNames.item;return _TreeMapItem}(),_ColorConverter=function(){function _ColorConverter(e,t,i,r,a,o){this.minColor=new Color(e);this.minColorValue=t;this.maxColor=new Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=o;this._calculateMidColorValue();this.midColor=this.originalMidColor=new Color(a);this._calculateMidColor()}_ColorConverter.prototype._resetminColor=function(e){this.minColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmidColor=function(e){this.midColor=this.originalMidColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmaxColor=function(e){this.maxColor=new Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetminColorValue=function(e){this.minColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmidColorValue=function(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmaxColorValue=function(e){this.maxColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._calculateMidColorValue=function(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)};_ColorConverter.prototype._calculateMidColor=function(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))};_ColorConverter.prototype._calculateColorByVal=function(e,t){void 0===t&&(t=!1);var i=this.maxColor,r=this.minColor,a=this.maxColorValue,o=this.minColorValue;if(e>=this.maxColorValue)return new Color(i.toString());if(e<=this.minColorValue)return new Color(r.toString());if(!t){if(e===this.midColorValue)return new Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;a=this.midColorValue}else{r=this.midColor;o=this.midColorValue}}return this._getColor(e,i,a,r,o)};_ColorConverter.prototype._getColor=function(e,t,i,r,a){return Color.fromRgba(this._getValueByRatio(e,t.r,i,r.r,a),this._getValueByRatio(e,t.g,i,r.g,a),this._getValueByRatio(e,t.b,i,r.b,a),this._getValueByRatio(e,t.a,i,r.a,a))};_ColorConverter.prototype._getValueByRatio=function(e,t,i,r,a){return Math.abs(r+Math.round((e-a)*(t-r)/(i-a)))};return _ColorConverter}(),_TreeMapUtils=function(){function _TreeMapUtils(){}_TreeMapUtils.squarified=function(e,t,i){var r=e.slice(),a=t.clone(),o=a.width*a.height/i;do{var l=_TreeMapUtils.getRowedItems(r,a,o);_TreeMapUtils.layoutRowedItems(t,l,a,a.width>a.height)}while(r.length)};_TreeMapUtils.horizontal=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!1)}))};_TreeMapUtils.vertical=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!0)}))};_TreeMapUtils.getNarrowLen=function(e){return Math.min(e.width,e.height)};_TreeMapUtils.getRowedItem=function(e,t,i){return{item:e,val:i*e.value}};_TreeMapUtils.getRowedItems=function(e,t,i){var r=e.shift(),a=[],o=[],l=_TreeMapUtils.getNarrowLen(t),n=_TreeMapUtils.getRowedItem(r,t,i);a.push(n);o.push(n);if(e.length>0)do{o.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(a,l)>_TreeMapUtils.worst(o,l)))break;a=o.slice();e.shift()}while(e.length);return a};_TreeMapUtils.layoutRowedItems=function(e,t,i,r){var a,o=i.left,l=i.top,n=o+i.width,s=l+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;o+a>=n&&(a=n-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(l+r>s||i===t.length-1)&&(r=s-l);var n=new Rect(o,l,a,r);e.item.rect=n;l+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;l+a>=s&&(a=s-l);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>n||i===t.length-1)&&(r=n-o);var s=new Rect(o,l,r,a);e.item.rect=s;o+=r}));i.top+=a;i.height-=a}};_TreeMapUtils.sumRowedArray=function(e){for(var t=0,i=e.length,r=0;r<i;r++)t+=e[r].val;return t};_TreeMapUtils.worst=function(e,t){var i,r,a=_TreeMapUtils.sumRowedArray(e),o=a*a,l=t*t;i=r=e[0].val;e.forEach((function(e,t){e.val>i?i=e.val:e.val<r&&(r=e.val)}));return Math.max(l*i/o,o/(l*r))};return _TreeMapUtils}(),Sunburst=function(e){__extends(Sunburst,e);function Sunburst(t,i){var r=e.call(this,t,i)||this;r._selectionIndex=0;r.applyTemplate(SunburstClsNames.hostElement,null,null);r.initialize(i);r.refresh();return r}Object.defineProperty(Sunburst.prototype,"bindingName",{get:function(){return this._bindName},set:function(e){if(e!=this._bindName){assert(null==e||isArray(e)||isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(Sunburst.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){assert(null==e||isArray(e)||isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Sunburst.prototype._initData=function(){e.prototype._initData.call(this);this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]};Sunburst.prototype._performBind=function(){var e,t=this;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach((function(e){t._legendLabels.push(e.name)}))}}};Sunburst.prototype._calculateValueAndLevel=function(e,t){var i=this,r=0,a=this._values[0],o=this._labels;this._level<t&&(this._level=t);e.forEach((function(e){var l;if(e.items){l=i._calculateValueAndLevel(e.items,t+1);e.value=l;a.push(l);o.push(e.name)}else{l=i._getBindData(e,a,o,"value","name");e.value=l}r+=l}));return r};Sunburst.prototype._renderPie=function(e,t,i,r,a,o){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,l.x,l.y,this._processedData,this._sum,i,r,a,2*Math.PI,o,1)};Sunburst.prototype._renderHierarchicalSlices=function(e,t,i,r,a,o,l,n,s,h,u){var c,p,_,m,d,f,g,v,C,T,b=r.length,M=n,y=1==this.reversed;_=(o-l)/this._level;c=o-(this._level-u)*_;p=l+(u-1)*_;for(var I=0;I<b;I++){v=t;C=i;g=e.startGroup(SunburstClsNames.slice+" "+SunburstClsNames.sliceLevel+u);if(1===u){e.fill=this._getColorLight(I);e.stroke=this._getColor(I)}d=r[I];f=Math.abs(d.value);m=Math.abs(f-a)<1e-10?s:s*f/a;T=y?M-.5*m:M+.5*m;if(h>0&&m<s){v+=h*Math.cos(T);C+=h*Math.sin(T)}if(d.items){var w=this._sliceIndex;this._renderHierarchicalSlices(e,v,C,d.items,f,o,l,M,m,0,u+1);for(;w<this._sliceIndex;w++)null==this._parentRef[w]&&(this._parentRef[w]=this._sliceIndex)}this._renderSlice(e,v,C,T,0,this._sliceIndex,c,p,M,m,s);this._processedItem.push(d.item);this._sliceIndex++;y?M-=m:M+=m;e.endGroup();this._pels.push(g)}};Sunburst.prototype._getLabelsForLegend=function(){return this._legendLabels||[]};Sunburst.prototype._highlightCurrent=function(){this.selectionMode!=SelectionMode.None&&this._highlight(!0,this._selectionIndex)};Sunburst.prototype.hitTest=function(t,i){var r=e.prototype.hitTest.call(this,t,i),a=this._toControl(t,i);if(FlexChartBase._contains(this._rectChart,a)){var o=r.pointIndex,l=this._processedItem[o],n=new _DataPoint(null,o,null,null);n.item=l;r._setDataPoint(n)}return r};Sunburst.prototype._getSelectedItemOffset=function(e,t){var i=0,r=0,a=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)a=this.selectedItemOffset;else{var o=this._getSelectedParentIndex(e);if(null!=o){var l=this._areas[o];this.dataLabel.position;a=this.selectedItemOffset;t=((t=l.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(a>0){i=Math.cos(t)*a*this._radius;r=Math.sin(t)*a*this._radius}return{x:i,y:r}};Sunburst.prototype._getSelectedParentIndex=function(e){var t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null};return Sunburst}(FlexPie);export{Sunburst};_registerModule("wijmo.chart.hierarchical",selfModule);
/*!
*
* Wijmo Library 5.20242.30
* Wijmo Library 5.20251.34
* https://developer.mescius.com/wijmo

@@ -5,0 +5,0 @@ *

/*!
*
* Wijmo Library 5.20242.30
* Wijmo Library 5.20251.34
* https://developer.mescius.com/wijmo

@@ -14,2 +14,2 @@ *

"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var TreeMapType,wijmo_1=require("@grapecity/wijmo"),wijmo_chart_1=require("@grapecity/wijmo.chart"),selfModule=__importStar(require("@grapecity/wijmo.chart.hierarchical")),HierarchicalUtil=function(){function HierarchicalUtil(){}HierarchicalUtil.parseDataToHierarchical=function(e,t,i,r){var a,o=[];if(e instanceof wijmo_1.CollectionView&&e.groups.length>0)o=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){wijmo_1.isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)o=HierarchicalUtil.parseItems(e,t,i,r);else{a=HierarchicalUtil.convertFlatData(e,t,i);o=HierarchicalUtil.parseItems(a,"value",i,"items")}}return o};HierarchicalUtil.parseGroupCV=function(e,t){for(var i=[],r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.push(o)}return i};HierarchicalUtil.parseGroups=function(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.items.push(o)}}else e.isBottomLevel&&(i.value=e.getAggregate(wijmo_1.Aggregate.Sum,t));return i};HierarchicalUtil.parseItems=function(e,t,i,r){var a,o=[],s=e.length;for(a=0;a<s;a++)o.push(HierarchicalUtil.parseItem(e[a],t,i,r));return o};HierarchicalUtil.isFlatItem=function(e,t){return!wijmo_1.isArray(e[t])};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,o=[],s={},l=e.length;for(r=0;r<l;r++){a=e[r];HierarchicalUtil.convertFlatItem(s,a,t,wijmo_1.isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(o,s);return o};HierarchicalUtil.convertFlatToHierarchical=function(e,t){var i=t.flatDataOrder;i&&i.forEach((function(i){var r,a={},o=t[i];a[t.field]=i;if(o.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,o);a.items=r}else a.value=o;e.push(a)}))};HierarchicalUtil.convertFlatItem=function(e,t,i,r){var a,o,s,l;o=(a=r.slice()).shift();if(null==(s=null==(o=wijmo_1.isString(o)?o.trim():o)?i:t[o]))return!1;if(0===a.length){e[s]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(s):e.flatDataOrder=[s];e.field=o}else{if(null==e[s]){e[s]={};e.flatDataOrder?e.flatDataOrder.push(s):e.flatDataOrder=[s];e.field=o}l=e[s];HierarchicalUtil.convertFlatItem(l,t,i,a)||(e[s]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,o,s,l,n,h={};if(wijmo_1.isArray(r))l=(n=r.slice()).length?n.shift().trim():"";else{n=r;l=r}if(wijmo_1.isArray(i)){o=null==(o=(a=i.slice()).shift())?o:o.trim();h.nameField=null==o?t:o;h.name=null==o?e[t]:e[o];s=e[l];0===a.length?h.value=e[t]:s&&wijmo_1.isArray(s)&&s.length>0?h.items=HierarchicalUtil.parseItems(s,t,a,n):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(s=e[l])&&wijmo_1.isArray(s)&&s.length>0?h.items=HierarchicalUtil.parseItems(s,t,i,n):h.value=e[t]}h.item=e;return h};HierarchicalUtil.parseFlatItem=function(e,t,i,r){e.items||(e.items=[])};return HierarchicalUtil}();exports.HierarchicalUtil=HierarchicalUtil;exports.SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};exports.TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType=exports.TreeMapType||(exports.TreeMapType={}));var TreeMap=function(e){__extends(TreeMap,e);function TreeMap(t,i){var r=e.call(this,t,null,!0)||this;r._values=[];r._labels=[];r._areas=[];r._sum=0;r._keywords=new wijmo_chart_1._KeyWords;r._processedData=[];r._depth=1;r._itemIndex=0;r._processedItem=[];r._maxDepth=-1;r._tmItems=[];r._colRowLens=[];r._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];r.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+wijmo_chart_1.FlexChartClsNames.hostElement+" "+exports.TreeMapClsNames.hostElement,null,null);r._currentRenderEngine=new wijmo_chart_1._SvgRenderEngine(r.hostElement);r._legend=new wijmo_chart_1.Legend(r);r._legend.position=wijmo_chart_1.Position.None;r._tooltip=new wijmo_chart_1.ChartTooltip;r._tooltip.content="<b>{name}</b><br/>{value}";r._tooltip.showDelay=0;r._lbl=new wijmo_chart_1.DataLabel;r._lbl.position=wijmo_chart_1.LabelPosition.Center;r._lbl._chart=r;r.hostElement.addEventListener("mousemove",(function(e){r.isTouching||r._toogleTooltip(e)}));r.hostElement.addEventListener("click",(function(e){var t=!0;if(r.maxDepth>0){var i=r.hitTest(e),a=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(a=r.tooltip.threshold);if(i.distance<=a&&i.pointIndex>=-1&&i.pointIndex<r._areas.length){var o=r._areas[i.pointIndex];if(r._currentItem!=o.item){r._currentItem=o.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e)}));r.hostElement.addEventListener("contextmenu",(function(e){if(r.maxDepth>0){var t=r.hitTest(e),i=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(i=r.tooltip.threshold);t.distance<=i&&r._rollUp()}e.preventDefault();return!1}));r.hostElement.addEventListener("mouseleave",(function(){r._hideToolTip()}));r.deferUpdate((function(){return r.initialize(i)}));return r}TreeMap.prototype._rollUp=function(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()};TreeMap.prototype._toogleTooltip=function(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new wijmo_1.Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}};Object.defineProperty(TreeMap.prototype,"selectionMode",{get:function(){return wijmo_chart_1.SelectionMode.None},set:function(e){},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"_treeMapItems",{get:function(){return this._tmItems},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"tooltip",{get:function(){return this._tooltip},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"binding",{get:function(){return this._binding},set:function(e){if(e!=this._binding){this._binding=wijmo_1.asString(e,!0);this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"type",{get:function(){return null==this._type?TreeMapType.Squarified:this._type},set:function(e){if((e=wijmo_1.asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"bindingName",{get:function(){return this._bindingName},set:function(e){if(e!=this._bindingName){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"dataLabel",{get:function(){return this._lbl},set:function(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"maxDepth",{get:function(){return this._maxDepth},set:function(e){if(e!=this._maxDepth){this._maxDepth=wijmo_1.asNumber(e,!0);this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"palette",{get:function(){return this._palette},set:function(e){if(e!=this._palette){this._palette=wijmo_1.asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}},enumerable:!0,configurable:!0});TreeMap.prototype._initData=function(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]};TreeMap.prototype._performBind=function(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}};TreeMap.prototype._sortData=function(e){var t=this;e.forEach((function(e){e.items&&t._sortData(e.items)}));e.sort((function(e,t){return t.value-e.value}))};TreeMap.prototype._getTMItemsAndLabelsAndValues=function(e,t,i,r,a){var o=this;e&&e.length>0&&e.forEach((function(e,a){var s,l=new _TreeMapItem;l.items=[];l.parent=r;l.depth=i;e.items&&o._getTMItemsAndLabelsAndValues(e.items,l.items,i+1,l);s=e.name?e.name:e.value.toString();l.label=s;l.value=e.value;if(null!=r){e.value>r.maxValue&&(r.maxValue=e.value);e.value<r.minValue&&(r.minValue=e.value)}t.push(l);o._labels.push(s);o._values.push(e.value)}))};TreeMap.prototype._calculateColorForItems=function(e,t,i){var r=this,a=i;e.forEach((function(e,i){var o=t;1===e.depth&&(o=r._getColor(i));e.palette=o;var s=e.palette;if(wijmo_1.isString(s)){var l=s,n=r._getLightColor(l);e.titleFill=l;e.titleStroke=l;e.fill=n;e.stroke=l}else if(s.maxColor&&s.minColor&&s.titleColor){e.titleFill=s.titleColor;e.titleStroke=s.titleColor;if(null==e.parent){e.fill=s.maxColor;e.stroke=s.maxColor}else{null==a&&(a=new _ColorConverter(s.minColor,e.minValue,s.maxColor,e.maxValue));var h=a._calculateColorByVal(e.value,!0).toString();e.fill=h;e.stroke=h}}if(e.items&&e.items.length>0){var _=new _ColorConverter(s.minColor,e.minValue,s.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,_)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);a=0;wijmo_1.isNumber(r)?a=wijmo_1.asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNaN(a)&&isFinite(a))t.push(a);else{a=0;t.push(a)}return a};TreeMap.prototype._calculateValueAndDepth=function(e,t){var i=this,r=0,a=this._values;this._depth<t&&(this._depth=t);e.forEach((function(e){var o;if(e.items){o=i._calculateValueAndDepth(e.items,t+1);e.value=o;a.push(o)}else{o=i._getBindData(e,a,"value");e.value=o}r+=o}));return r};TreeMap.prototype._prepareRender=function(){this._areas=[]};TreeMap.prototype._renderChart=function(e,t,i){var r,a,o,s=this._rectChart.clone();new wijmo_1.Size(s.width,s.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(e));var l=t.width,n=t.height;this._tmGroup=e.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(h.left)&&(h.left=TreeMap._MARGIN);isNaN(h.right)&&(h.right=TreeMap._MARGIN);isNaN(h.top)&&(h.top=TreeMap._MARGIN);isNaN(h.bottom)&&(h.bottom=TreeMap._MARGIN);t.top+=h.top;n=t.height-(h.top+h.bottom);t.height=n>0?n:24;t.left+=h.left;l=t.width-(h.left+h.right);t.width=l>0?l:24;this._plotRect=t;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;o=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,r,o,a);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=wijmo_chart_1.LabelPosition.None&&this._renderLabels(e);this.onRendered(new wijmo_chart_1.RenderEventArgs(e))};TreeMap.prototype._renderTreeMap=function(e,t,i,r,a,o){if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,o);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,a,1,o)}};TreeMap.prototype._resetItemRects=function(e){var t=this;e.forEach((function(e){e.rect=new wijmo_1.Rect(0,0,0,0);e.isTitle=!1;e.type=t.type;e.items&&e.items.length&&t._resetItemRects(e.items)}))};TreeMap.prototype._calculateItemRects=function(e,t,i,r,a){var o=this;switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((function(e,t){e.rect.clone();if(e.items&&e.items.length)if(r===a);else if(r>a&&a>=1);else{e.isTitle=!0;o._calculateItemRects(e.itemsRect,e.items,e.value,r+1,a)}}))};TreeMap.prototype._renderHierarchicalTreeMapItems=function(e,t,i,r,a,o,s){var l,n,h,_,c,u=r.length;this.type;if(0!==u)for(var m=0;m<u;m++){l=e.startGroup(TreeMap._CSS_ITEMDEPTH+o);n=r[m];h=Math.abs(n.value);_=n.rect;n.draw(e);c=new wijmo_chart_1._RectArea(_);n.items&&this._renderHierarchicalTreeMapItems(e,l,n.itemsRect,n.items,h,o+1,s);c.tag=this._itemIndex;c.name=n.label;c.value=h;c.item=n;this._areas.push(c);this._itemIndex++;e.endGroup()}};TreeMap.prototype._renderLabels=function(e){var t,i=this._areas.length,r=this.dataLabel,a=r.position,o=r.connectingLine,s=r.border,l=r.offset||0,n=wijmo_chart_1.DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(n);for(var h=0;h<i;h++){var _=this._areas[h];if(_){var c=_.rect,u=new wijmo_chart_1.HitTestInfo(this,t);u._setData(null,h);var m=this._getLabelContent(u,r.content);t=new wijmo_1.Point(c.left+c.width/2,c.top+c.height/2);if(m&&c.width>0&&c.height>0){var p=new wijmo_chart_1.DataLabelRenderEventArgs(e,u,t,m);if(r.onRendering(p)){m=p.text;t=p.point;this._renderLabelAndBorder(e,_,c,m,a,l,t,o,2,s)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,o,s,l,n,h){var _,c=wijmo_chart_1.DataLabelClsNames.label,u=wijmo_chart_1.DataLabelClsNames.line,m=wijmo_chart_1.DataLabelClsNames.border;switch(a){case wijmo_chart_1.LabelPosition.Top:l&&e.drawLine(s.x,s.y,s.x,s.y-o,u);s.y-=n+o;_=this._renderText(e,t,i,r,s,1,2,c);break;case wijmo_chart_1.LabelPosition.Bottom:l&&e.drawLine(s.x,s.y,s.x,s.y+o,u);s.y+=n+o;_=this._renderText(e,t,i,r,s,1,0,c);break;case wijmo_chart_1.LabelPosition.Left:l&&e.drawLine(s.x,s.y,s.x-o,s.y,u);s.x-=n+o;_=this._renderText(e,t,i,r,s,2,1,c);break;case wijmo_chart_1.LabelPosition.Right:l&&e.drawLine(s.x,s.y,s.x+o,s.y,u);s.x+=n+o;_=this._renderText(e,t,i,r,s,0,1,c);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(e,t,i,r,s,1,1,c)}h&&_&&e.drawRect(_.left-n,_.top-n,_.width+2*n,_.height+2*n,m);return _};TreeMap.prototype._renderText=function(e,t,i,r,a,o,s,l){var n,h=r,_=t.item;n=e.measureString(r,l);if(this.type===TreeMapType.Horizontal&&_.isTitle){n.width>i.height&&(h=this._cutText(r,n.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(e,h,a,o,s,a,-90,l);return null}n.width>i.width&&(h=this._cutText(r,n.width,i.width));return wijmo_chart_1.FlexChart._renderText(e,h,a,o,s,l)};TreeMap.prototype._cutText=function(e,t,i){var r="",a=e.length,o=Math.floor((1-(t-i)/t)*a);e.length>0&&(r=e[0]+(o>1?e.substring(1,o-1)+"..":""));return r};TreeMap.prototype._measureLegendItem=function(e,t){var i=new wijmo_1.Size;i.width=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH;i.height=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;if(t){var r=e.measureString(t,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;i.height+=2*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;return i};TreeMap.prototype._getDesiredLegendSize=function(e,t,i,r){var a=new wijmo_1.Size,o=(new wijmo_1.Size(i,r),this._tmItems.length),s=0,l=0;this._colRowLens=[];for(var n=0;n<o;n++){var h=this._measureLegendItem(e,this._tmItems[n].label);if(t){if(l+h.height>r){a.height=r;this._colRowLens.push(s);s=0;l=0}s<h.width&&(s=h.width);l+=h.height}else{if(s+h.width>i){a.width=i;this._colRowLens.push(l);l=0;s=0}l<h.height&&(l=h.height);s+=h.width}}if(t){a.height<l&&(a.height=l);this._colRowLens.push(s);a.width=this._colRowLens.reduce((function(e,t){return e+t}),0);a.width=this._getLegendSize(i,a.width)}else{a.width<s&&(a.width=s);this._colRowLens.push(l);a.height=this._colRowLens.reduce((function(e,t){return e+t}),0);a.height=this._getLegendSize(r,a.height)}return a};TreeMap.prototype._renderLegend=function(e,t,i,r,a,o){for(var s,l=this._rectLegend,n=this._tmItems.length,h=0,_=t.clone(),c=0;c<n;c++){s=this._tmItems[c].label;var u=this._measureLegendItem(e,s);if(r){if(_.y+u.height>l.top+l.height+1){_.x+=this._colRowLens[h];h++;_.y=t.y}}else if(_.x+u.width>l.left+l.width+1){_.y+=this._colRowLens[h];h++;_.x=t.x}var m=new wijmo_1.Rect(_.x,_.y,u.width,u.height);this._drawLegendItem(e,m,c,s);i.push(m);r?_.y+=u.height:_.x+=u.width}};TreeMap.prototype._drawLegendItem=function(e,t,i,r){e.strokeWidth=1;var a=wijmo_chart_1.Series._LEGEND_ITEM_MARGIN,o=this._getColor(i),s=o&&o.maxColor?o.maxColor:o,l=this._getLightColor(s);e.fill=s;e.stroke=l;var n=t.top+.5*t.height,h=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH,_=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,n-.5*_,h,_,null);r&&wijmo_chart_1.FlexChart._renderText(e,r,new wijmo_1.Point(t.left+_+2*a,n),0,1,wijmo_chart_1.FlexChart._CSS_LABEL)};TreeMap.prototype._getLabelContent=function(e,t){return wijmo_1.isString(t)?this._keywords.replace(t,e):wijmo_1.isFunction(t)?t(e):null};TreeMap.prototype.hitTest=function(e,t){var i=this._toControl(e,t),r=new wijmo_chart_1.HitTestInfo(this,i),a=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))r._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))r._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){r._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(a=this.legend._hitTest(i))&&a>=0&&a<this._areas.length&&r._setData(null,a)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){for(var o,s=this._areas.length,l=NaN,n=0;n<s;n++){var h=i.clone(),_=this._areas[n];if(_.contains(h)){r._setData(null,_.tag);r._dist=0}var c=_.distance(h);if(void 0!==c&&(isNaN(l)||c<l)){l=c;o=_}}if(0!==r._dist&&null!=o){r._setData(null,o.tag);r._dist=l}r._chartElement=wijmo_chart_1.ChartElement.ChartArea}else r._chartElement=wijmo_chart_1.ChartElement.None;return r};TreeMap.prototype._getHitTestItem=function(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i};TreeMap.prototype._getHitTestValue=function(e){return this._values[e]};TreeMap.prototype._getHitTestLabel=function(e){return this._labels[e]};TreeMap._CSS_ITEMDEPTH=exports.TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;return TreeMap}(wijmo_chart_1.FlexChartBase);exports.TreeMap=TreeMap;var _TreeMapItem=function(){function _TreeMapItem(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}_TreeMapItem.prototype.draw=function(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)};Object.defineProperty(_TreeMapItem.prototype,"itemsRect",{get:function(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new wijmo_1.Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new wijmo_1.Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new wijmo_1.Rect(0,0,0,0)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"rect",{get:function(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,r=e.height,a=e.left,o=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);r=r>2*t?r-2*t:0}else{r=e.height>20?20:r;r=Math.max(20,r-2*t);i=i>2*t?i-2*t:0}a+=t;o+=t}else{i=i>2*t?i-2*t:0;r=r>2*t?r-2*t:0}return new wijmo_1.Rect(a,o,i,r)},set:function(e){e!=this._rect&&(this._rect=e)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"isTitle",{get:function(){return this._isTitle},set:function(e){var t=wijmo_1.asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)},enumerable:!0,configurable:!0});_TreeMapItem._CLASSNAME=exports.TreeMapClsNames.item;return _TreeMapItem}(),_ColorConverter=function(){function _ColorConverter(e,t,i,r,a,o){this.minColor=new wijmo_1.Color(e);this.minColorValue=t;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=o;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(a);this._calculateMidColor()}_ColorConverter.prototype._resetminColor=function(e){this.minColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmidColor=function(e){this.midColor=this.originalMidColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmaxColor=function(e){this.maxColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetminColorValue=function(e){this.minColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmidColorValue=function(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmaxColorValue=function(e){this.maxColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._calculateMidColorValue=function(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)};_ColorConverter.prototype._calculateMidColor=function(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))};_ColorConverter.prototype._calculateColorByVal=function(e,t){void 0===t&&(t=!1);var i=this.maxColor,r=this.minColor,a=this.maxColorValue,o=this.minColorValue;if(e>=this.maxColorValue)return new wijmo_1.Color(i.toString());if(e<=this.minColorValue)return new wijmo_1.Color(r.toString());if(!t){if(e===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;a=this.midColorValue}else{r=this.midColor;o=this.midColorValue}}return this._getColor(e,i,a,r,o)};_ColorConverter.prototype._getColor=function(e,t,i,r,a){return wijmo_1.Color.fromRgba(this._getValueByRatio(e,t.r,i,r.r,a),this._getValueByRatio(e,t.g,i,r.g,a),this._getValueByRatio(e,t.b,i,r.b,a),this._getValueByRatio(e,t.a,i,r.a,a))};_ColorConverter.prototype._getValueByRatio=function(e,t,i,r,a){return Math.abs(r+Math.round((e-a)*(t-r)/(i-a)))};return _ColorConverter}(),_TreeMapUtils=function(){function _TreeMapUtils(){}_TreeMapUtils.squarified=function(e,t,i){var r=e.slice(),a=t.clone(),o=a.width*a.height/i;do{var s=_TreeMapUtils.getRowedItems(r,a,o);_TreeMapUtils.layoutRowedItems(t,s,a,a.width>a.height)}while(r.length)};_TreeMapUtils.horizontal=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!1)}))};_TreeMapUtils.vertical=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!0)}))};_TreeMapUtils.getNarrowLen=function(e){return Math.min(e.width,e.height)};_TreeMapUtils.getRowedItem=function(e,t,i){return{item:e,val:i*e.value}};_TreeMapUtils.getRowedItems=function(e,t,i){var r=e.shift(),a=[],o=[],s=_TreeMapUtils.getNarrowLen(t),l=_TreeMapUtils.getRowedItem(r,t,i);a.push(l);o.push(l);if(e.length>0)do{o.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(a,s)>_TreeMapUtils.worst(o,s)))break;a=o.slice();e.shift()}while(e.length);return a};_TreeMapUtils.layoutRowedItems=function(e,t,i,r){var a,o=i.left,s=i.top,l=o+i.width,n=s+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;o+a>=l&&(a=l-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(s+r>n||i===t.length-1)&&(r=n-s);var l=new wijmo_1.Rect(o,s,a,r);e.item.rect=l;s+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;s+a>=n&&(a=n-s);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>l||i===t.length-1)&&(r=l-o);var n=new wijmo_1.Rect(o,s,r,a);e.item.rect=n;o+=r}));i.top+=a;i.height-=a}};_TreeMapUtils.sumRowedArray=function(e){for(var t=0,i=e.length,r=0;r<i;r++)t+=e[r].val;return t};_TreeMapUtils.worst=function(e,t){var i,r,a=_TreeMapUtils.sumRowedArray(e),o=a*a,s=t*t;i=r=e[0].val;e.forEach((function(e,t){e.val>i?i=e.val:e.val<r&&(r=e.val)}));return Math.max(s*i/o,o/(s*r))};return _TreeMapUtils}(),Sunburst=function(e){__extends(Sunburst,e);function Sunburst(t,i){var r=e.call(this,t,i)||this;r._selectionIndex=0;r.applyTemplate(exports.SunburstClsNames.hostElement,null,null);r.initialize(i);r.refresh();return r}Object.defineProperty(Sunburst.prototype,"bindingName",{get:function(){return this._bindName},set:function(e){if(e!=this._bindName){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(Sunburst.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Sunburst.prototype._initData=function(){e.prototype._initData.call(this);this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]};Sunburst.prototype._performBind=function(){var e,t=this;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach((function(e){t._legendLabels.push(e.name)}))}}};Sunburst.prototype._calculateValueAndLevel=function(e,t){var i=this,r=0,a=this._values[0],o=this._labels;this._level<t&&(this._level=t);e.forEach((function(e){var s;if(e.items){s=i._calculateValueAndLevel(e.items,t+1);e.value=s;a.push(s);o.push(e.name)}else{s=i._getBindData(e,a,o,"value","name");e.value=s}r+=s}));return r};Sunburst.prototype._renderPie=function(e,t,i,r,a,o){var s=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,s.x,s.y,this._processedData,this._sum,i,r,a,2*Math.PI,o,1)};Sunburst.prototype._renderHierarchicalSlices=function(e,t,i,r,a,o,s,l,n,h,_){var c,u,m,p,d,f,g,w,v,C,T=r.length,b=l,M=1==this.reversed;m=(o-s)/this._level;c=o-(this._level-_)*m;u=s+(_-1)*m;for(var y=0;y<T;y++){w=t;v=i;g=e.startGroup(exports.SunburstClsNames.slice+" "+exports.SunburstClsNames.sliceLevel+_);if(1===_){e.fill=this._getColorLight(y);e.stroke=this._getColor(y)}d=r[y];f=Math.abs(d.value);p=Math.abs(f-a)<1e-10?n:n*f/a;C=M?b-.5*p:b+.5*p;if(h>0&&p<n){w+=h*Math.cos(C);v+=h*Math.sin(C)}if(d.items){var I=this._sliceIndex;this._renderHierarchicalSlices(e,w,v,d.items,f,o,s,b,p,0,_+1);for(;I<this._sliceIndex;I++)null==this._parentRef[I]&&(this._parentRef[I]=this._sliceIndex)}this._renderSlice(e,w,v,C,0,this._sliceIndex,c,u,b,p,n);this._processedItem.push(d.item);this._sliceIndex++;M?b-=p:b+=p;e.endGroup();this._pels.push(g)}};Sunburst.prototype._getLabelsForLegend=function(){return this._legendLabels||[]};Sunburst.prototype._highlightCurrent=function(){this.selectionMode!=wijmo_chart_1.SelectionMode.None&&this._highlight(!0,this._selectionIndex)};Sunburst.prototype.hitTest=function(t,i){var r=e.prototype.hitTest.call(this,t,i),a=this._toControl(t,i);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,a)){var o=r.pointIndex,s=this._processedItem[o],l=new wijmo_chart_1._DataPoint(null,o,null,null);l.item=s;r._setDataPoint(l)}return r};Sunburst.prototype._getSelectedItemOffset=function(e,t){var i=0,r=0,a=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)a=this.selectedItemOffset;else{var o=this._getSelectedParentIndex(e);if(null!=o){var s=this._areas[o];this.dataLabel.position;a=this.selectedItemOffset;t=((t=s.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(a>0){i=Math.cos(t)*a*this._radius;r=Math.sin(t)*a*this._radius}return{x:i,y:r}};Sunburst.prototype._getSelectedParentIndex=function(e){var t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null};return Sunburst}(wijmo_chart_1.FlexPie);exports.Sunburst=Sunburst;wijmo_1._registerModule("wijmo.chart.hierarchical",selfModule);
"use strict";var __extends=this&&this.__extends||function(){var extendStatics=function(e,t){return(extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var i in t)t.hasOwnProperty(i)&&(e[i]=t[i])})(e,t)};return function(e,t){extendStatics(e,t);function __(){this.constructor=e}e.prototype=null===t?Object.create(t):(__.prototype=t.prototype,new __)}}(),__importStar=this&&this.__importStar||function(e){if(e&&e.__esModule)return e;var t={};if(null!=e)for(var i in e)Object.hasOwnProperty.call(e,i)&&(t[i]=e[i]);t.default=e;return t};Object.defineProperty(exports,"__esModule",{value:!0});var TreeMapType,wijmo_1=require("@grapecity/wijmo"),wijmo_chart_1=require("@grapecity/wijmo.chart"),selfModule=__importStar(require("@grapecity/wijmo.chart.hierarchical")),HierarchicalUtil=function(){function HierarchicalUtil(){}HierarchicalUtil.parseDataToHierarchical=function(e,t,i,r){var a,o=[];if(e instanceof wijmo_1.CollectionView&&e.groups.length>0)o=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){wijmo_1.isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)o=HierarchicalUtil.parseItems(e,t,i,r);else{a=HierarchicalUtil.convertFlatData(e,t,i);o=HierarchicalUtil.parseItems(a,"value",i,"items")}}return o};HierarchicalUtil.parseGroupCV=function(e,t){for(var i=[],r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.push(o)}return i};HierarchicalUtil.parseGroups=function(e,t){var i={};i.name=e.name;i.nameField=e.groupDescription.propertyName;i.item=e.items;if(e.groups&&e.groups.length){i.items=[];for(var r=0,a=e.groups.length;r<a;r++){var o=this.parseGroups(e.groups[r],t);i.items.push(o)}}else e.isBottomLevel&&(i.value=e.getAggregate(wijmo_1.Aggregate.Sum,t));return i};HierarchicalUtil.parseItems=function(e,t,i,r){var a,o=[],s=e.length;for(a=0;a<s;a++)o.push(HierarchicalUtil.parseItem(e[a],t,i,r));return o};HierarchicalUtil.isFlatItem=function(e,t){return!wijmo_1.isArray(e[t])};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,o=[],s={},l=e.length;for(r=0;r<l;r++){a=e[r];HierarchicalUtil.convertFlatItem(s,a,t,wijmo_1.isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(o,s);return o};HierarchicalUtil.convertFlatToHierarchical=function(e,t){var i=t.flatDataOrder;i&&i.forEach((function(i){var r,a={},o=t[i];a[t.field]=i;if(o.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,o);a.items=r}else a.value=o;e.push(a)}))};HierarchicalUtil.convertFlatItem=function(e,t,i,r){var a,o,s,l;o=(a=r.slice()).shift();if(null==(s=null==(o=wijmo_1.isString(o)?o.trim():o)?i:t[o]))return!1;if(0===a.length){e[s]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(s):e.flatDataOrder=[s];e.field=o}else{if(null==e[s]){e[s]={};e.flatDataOrder?e.flatDataOrder.push(s):e.flatDataOrder=[s];e.field=o}l=e[s];HierarchicalUtil.convertFlatItem(l,t,i,a)||(e[s]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,o,s,l,n,h={};if(wijmo_1.isArray(r))l=(n=r.slice()).length?n.shift().trim():"";else{n=r;l=r}if(wijmo_1.isArray(i)){o=null==(o=(a=i.slice()).shift())?o:o.trim();h.nameField=null==o?t:o;h.name=null==o?e[t]:e[o];s=e[l];0===a.length?h.value=e[t]:s&&wijmo_1.isArray(s)&&s.length>0?h.items=HierarchicalUtil.parseItems(s,t,a,n):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(s=e[l])&&wijmo_1.isArray(s)&&s.length>0?h.items=HierarchicalUtil.parseItems(s,t,i,n):h.value=e[t]}h.item=e;return h};HierarchicalUtil.parseFlatItem=function(e,t,i,r){e.items||(e.items=[])};return HierarchicalUtil}();exports.HierarchicalUtil=HierarchicalUtil;exports.SunburstClsNames={hostElement:"wj-sunburst",slice:"wj-slice",sliceLevel:"slice-level"};exports.TreeMapClsNames={hostElement:"wj-treemap",item:"wj-treemap-item",itemDepth:"wj-treemap-item-depth"};!function(e){e[e.Squarified=0]="Squarified";e[e.Horizontal=1]="Horizontal";e[e.Vertical=2]="Vertical"}(TreeMapType=exports.TreeMapType||(exports.TreeMapType={}));var TreeMap=function(e){__extends(TreeMap,e);function TreeMap(t,i){var r=e.call(this,t,null,!0)||this;r._values=[];r._labels=[];r._areas=[];r._sum=0;r._keywords=new wijmo_chart_1._KeyWords;r._processedData=[];r._depth=1;r._itemIndex=0;r._processedItem=[];r._maxDepth=-1;r._tmItems=[];r._colRowLens=[];r._defPalette=[{titleColor:"#033884",maxColor:"#1450a7",minColor:"#83b3f9"},{titleColor:"#a83100",maxColor:"#dc4a0d",minColor:"#ffb190"},{titleColor:"#006658",maxColor:"#008d7a",minColor:"#7deddf"},{titleColor:"#a10046",maxColor:"#df0061",minColor:"#ff8cbe"},{titleColor:"#784d08",maxColor:"#99681a",minColor:"#efc989"},{titleColor:"#54156f",maxColor:"#722a90",minColor:"#cf95e7"},{titleColor:"#998605",maxColor:"#c2ac19",minColor:"#ffef8b"},{titleColor:"#9a0005",maxColor:"#c80c14",minColor:"#ff888d"}];r.applyTemplate(wijmo_1.ControlClsNames.hostElement+" "+wijmo_chart_1.FlexChartClsNames.hostElement+" "+exports.TreeMapClsNames.hostElement,null,null);r._currentRenderEngine=new wijmo_chart_1._SvgRenderEngine(r.hostElement);r._legend=new wijmo_chart_1.Legend(r);r._legend.position=wijmo_chart_1.Position.None;r._tooltip=new wijmo_chart_1.ChartTooltip;r._tooltip.content="<b>{name}</b><br/>{value}";r._tooltip.showDelay=0;r._lbl=new wijmo_chart_1.DataLabel;r._lbl.position=wijmo_chart_1.LabelPosition.Center;r._lbl._chart=r;r.addEventListener(r.hostElement,"mousemove",(function(e){r.isTouching||r._toogleTooltip(e)}));r.addEventListener(r.hostElement,"click",(function(e){var t=!0;if(r.maxDepth>0){var i=r.hitTest(e),a=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(a=r.tooltip.threshold);if(i.distance<=a&&i.pointIndex>=-1&&i.pointIndex<r._areas.length){var o=r._areas[i.pointIndex];if(r._currentItem!=o.item){r._currentItem=o.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e)}));r.addEventListener(r.hostElement,"contextmenu",(function(e){if(r.maxDepth>0){var t=r.hitTest(e),i=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(i=r.tooltip.threshold);t.distance<=i&&r._rollUp()}e.preventDefault();return!1}));r.addEventListener(r.hostElement,"mouseleave",(function(){r._hideToolTip()}));r.deferUpdate((function(){return r.initialize(i)}));return r}TreeMap.prototype._rollUp=function(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()};TreeMap.prototype._toogleTooltip=function(e){var t=this._tooltip;if(t.content){var i=this.hitTest(e);if(i.distance<=t.threshold){var r=this._getLabelContent(i,this.tooltip.content);this._showToolTip(r,new wijmo_1.Rect(e.clientX,e.clientY,5,5))}else this._hideToolTip()}};Object.defineProperty(TreeMap.prototype,"selectionMode",{get:function(){return wijmo_chart_1.SelectionMode.None},set:function(e){},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"_treeMapItems",{get:function(){return this._tmItems},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"tooltip",{get:function(){return this._tooltip},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"binding",{get:function(){return this._binding},set:function(e){if(e!=this._binding){this._binding=wijmo_1.asString(e,!0);this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"type",{get:function(){return null==this._type?TreeMapType.Squarified:this._type},set:function(e){if((e=wijmo_1.asEnum(e,TreeMapType))!=this._type){this._type=e;this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"bindingName",{get:function(){return this._bindingName},set:function(e){if(e!=this._bindingName){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"bindingName should be an array or a string.");this._bindingName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"dataLabel",{get:function(){return this._lbl},set:function(e){if(e!=this._lbl){this._lbl=e;this._lbl&&(this._lbl._chart=this)}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"maxDepth",{get:function(){return this._maxDepth},set:function(e){if(e!=this._maxDepth){this._maxDepth=wijmo_1.asNumber(e,!0);this.invalidate()}},enumerable:!0,configurable:!0});Object.defineProperty(TreeMap.prototype,"palette",{get:function(){return this._palette},set:function(e){if(e!=this._palette){this._palette=wijmo_1.asArray(e);this._tmItems&&this._tmItems.length>0&&this._calculateColorForItems(this._tmItems);this.invalidate()}},enumerable:!0,configurable:!0});TreeMap.prototype._initData=function(){this._sum=0;this._tmItems=[];this._currentItem=null;this._values=[];this._labels=[];this._processedData=[];this._depth=1;this._processedItem=[]};TreeMap.prototype._performBind=function(){var e;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sum=this._calculateValueAndDepth(this._processedData,1);this._sortData(this._processedData);this._values=[];this._getTMItemsAndLabelsAndValues(this._processedData,this._tmItems,1,null);this._calculateColorForItems(this._tmItems)}}};TreeMap.prototype._sortData=function(e){var t=this;e.forEach((function(e){e.items&&t._sortData(e.items)}));e.sort((function(e,t){return t.value-e.value}))};TreeMap.prototype._getTMItemsAndLabelsAndValues=function(e,t,i,r,a){var o=this;e&&e.length>0&&e.forEach((function(e,a){var s,l=new _TreeMapItem;l.items=[];l.parent=r;l.depth=i;e.items&&o._getTMItemsAndLabelsAndValues(e.items,l.items,i+1,l);s=e.name?e.name:e.value.toString();l.label=s;l.value=e.value;if(null!=r){e.value>r.maxValue&&(r.maxValue=e.value);e.value<r.minValue&&(r.minValue=e.value)}t.push(l);o._labels.push(s);o._values.push(e.value)}))};TreeMap.prototype._calculateColorForItems=function(e,t,i){var r=this,a=i;e.forEach((function(e,i){var o=t;1===e.depth&&(o=r._getColor(i));e.palette=o;var s=e.palette;if(wijmo_1.isString(s)){var l=s,n=r._getLightColor(l);e.titleFill=l;e.titleStroke=l;e.fill=n;e.stroke=l}else if(s.maxColor&&s.minColor&&s.titleColor){e.titleFill=s.titleColor;e.titleStroke=s.titleColor;if(null==e.parent){e.fill=s.maxColor;e.stroke=s.maxColor}else{null==a&&(a=new _ColorConverter(s.minColor,e.minValue,s.maxColor,e.maxValue));var h=a._calculateColorByVal(e.value,!0).toString();e.fill=h;e.stroke=h}}if(e.items&&e.items.length>0){var _=new _ColorConverter(s.minColor,e.minValue,s.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,_)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);a=0;wijmo_1.isNumber(r)?a=wijmo_1.asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNaN(a)&&isFinite(a))t.push(a);else{a=0;t.push(a)}return a};TreeMap.prototype._calculateValueAndDepth=function(e,t){var i=this,r=0,a=this._values;this._depth<t&&(this._depth=t);e.forEach((function(e){var o;if(e.items){o=i._calculateValueAndDepth(e.items,t+1);e.value=o;a.push(o)}else{o=i._getBindData(e,a,"value");e.value=o}r+=o}));return r};TreeMap.prototype._prepareRender=function(){this._areas=[]};TreeMap.prototype._renderChart=function(e,t,i){var r,a,o,s=this._rectChart.clone();new wijmo_1.Size(s.width,s.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(e));var l=t.width,n=t.height;this._tmGroup=e.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(h.left)&&(h.left=TreeMap._MARGIN);isNaN(h.right)&&(h.right=TreeMap._MARGIN);isNaN(h.top)&&(h.top=TreeMap._MARGIN);isNaN(h.bottom)&&(h.bottom=TreeMap._MARGIN);t.top+=h.top;n=t.height-(h.top+h.bottom);t.height=n>0?n:24;t.left+=h.left;l=t.width-(h.left+h.right);t.width=l>0?l:24;this._plotRect=t;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1?this.maxDepth:this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;o=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,r,o,a);e.endGroup();this.dataLabel.content&&this.dataLabel.position!=wijmo_chart_1.LabelPosition.None&&this._renderLabels(e);this.onRendered(new wijmo_chart_1.RenderEventArgs(e))};TreeMap.prototype._renderTreeMap=function(e,t,i,r,a,o){if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,o);this._renderHierarchicalTreeMapItems(e,i,t,this._tmItems,a,1,o)}};TreeMap.prototype._resetItemRects=function(e){var t=this;e.forEach((function(e){e.rect=new wijmo_1.Rect(0,0,0,0);e.isTitle=!1;e.type=t.type;e.items&&e.items.length&&t._resetItemRects(e.items)}))};TreeMap.prototype._calculateItemRects=function(e,t,i,r,a){var o=this;switch(this.type){case TreeMapType.Horizontal:_TreeMapUtils.horizontal(t,e,i);break;case TreeMapType.Vertical:_TreeMapUtils.vertical(t,e,i);break;case TreeMapType.Squarified:_TreeMapUtils.squarified(t,e,i)}t.forEach((function(e,t){e.rect.clone();if(e.items&&e.items.length)if(r===a);else if(r>a&&a>=1);else{e.isTitle=!0;o._calculateItemRects(e.itemsRect,e.items,e.value,r+1,a)}}))};TreeMap.prototype._renderHierarchicalTreeMapItems=function(e,t,i,r,a,o,s){var l,n,h,_,c,u=r.length;this.type;if(0!==u)for(var m=0;m<u;m++){l=e.startGroup(TreeMap._CSS_ITEMDEPTH+o);n=r[m];h=Math.abs(n.value);_=n.rect;n.draw(e);c=new wijmo_chart_1._RectArea(_);n.items&&this._renderHierarchicalTreeMapItems(e,l,n.itemsRect,n.items,h,o+1,s);c.tag=this._itemIndex;c.name=n.label;c.value=h;c.item=n;this._areas.push(c);this._itemIndex++;e.endGroup()}};TreeMap.prototype._renderLabels=function(e){var t,i=this._areas.length,r=this.dataLabel,a=r.position,o=r.connectingLine,s=r.border,l=r.offset||0,n=wijmo_chart_1.DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(n);for(var h=0;h<i;h++){var _=this._areas[h];if(_){var c=_.rect,u=new wijmo_chart_1.HitTestInfo(this,t);u._setData(null,h);var m=this._getLabelContent(u,r.content);t=new wijmo_1.Point(c.left+c.width/2,c.top+c.height/2);if(m&&c.width>0&&c.height>0){var p=new wijmo_chart_1.DataLabelRenderEventArgs(e,u,t,m);if(r.onRendering(p)){m=p.text;t=p.point;this._renderLabelAndBorder(e,_,c,m,a,l,t,o,2,s)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,o,s,l,n,h){var _,c=wijmo_chart_1.DataLabelClsNames.label,u=wijmo_chart_1.DataLabelClsNames.line,m=wijmo_chart_1.DataLabelClsNames.border;switch(a){case wijmo_chart_1.LabelPosition.Top:l&&e.drawLine(s.x,s.y,s.x,s.y-o,u);s.y-=n+o;_=this._renderText(e,t,i,r,s,1,2,c);break;case wijmo_chart_1.LabelPosition.Bottom:l&&e.drawLine(s.x,s.y,s.x,s.y+o,u);s.y+=n+o;_=this._renderText(e,t,i,r,s,1,0,c);break;case wijmo_chart_1.LabelPosition.Left:l&&e.drawLine(s.x,s.y,s.x-o,s.y,u);s.x-=n+o;_=this._renderText(e,t,i,r,s,2,1,c);break;case wijmo_chart_1.LabelPosition.Right:l&&e.drawLine(s.x,s.y,s.x+o,s.y,u);s.x+=n+o;_=this._renderText(e,t,i,r,s,0,1,c);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(e,t,i,r,s,1,1,c)}h&&_&&e.drawRect(_.left-n,_.top-n,_.width+2*n,_.height+2*n,m);return _};TreeMap.prototype._renderText=function(e,t,i,r,a,o,s,l){var n,h=r,_=t.item;n=e.measureString(r,l);if(this.type===TreeMapType.Horizontal&&_.isTitle){n.width>i.height&&(h=this._cutText(r,n.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(e,h,a,o,s,a,-90,l);return null}n.width>i.width&&(h=this._cutText(r,n.width,i.width));return wijmo_chart_1.FlexChart._renderText(e,h,a,o,s,l)};TreeMap.prototype._cutText=function(e,t,i){var r="",a=e.length,o=Math.floor((1-(t-i)/t)*a);e.length>0&&(r=e[0]+(o>1?e.substring(1,o-1)+"..":""));return r};TreeMap.prototype._measureLegendItem=function(e,t){var i=new wijmo_1.Size;i.width=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH;i.height=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;if(t){var r=e.measureString(t,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=r.width;i.height<r.height&&(i.height=r.height)}i.width+=3*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;i.height+=2*wijmo_chart_1.Series._LEGEND_ITEM_MARGIN;return i};TreeMap.prototype._getDesiredLegendSize=function(e,t,i,r){var a=new wijmo_1.Size,o=(new wijmo_1.Size(i,r),this._tmItems.length),s=0,l=0;this._colRowLens=[];for(var n=0;n<o;n++){var h=this._measureLegendItem(e,this._tmItems[n].label);if(t){if(l+h.height>r){a.height=r;this._colRowLens.push(s);s=0;l=0}s<h.width&&(s=h.width);l+=h.height}else{if(s+h.width>i){a.width=i;this._colRowLens.push(l);l=0;s=0}l<h.height&&(l=h.height);s+=h.width}}if(t){a.height<l&&(a.height=l);this._colRowLens.push(s);a.width=this._colRowLens.reduce((function(e,t){return e+t}),0);a.width=this._getLegendSize(i,a.width)}else{a.width<s&&(a.width=s);this._colRowLens.push(l);a.height=this._colRowLens.reduce((function(e,t){return e+t}),0);a.height=this._getLegendSize(r,a.height)}return a};TreeMap.prototype._renderLegend=function(e,t,i,r,a,o){for(var s,l=this._rectLegend,n=this._tmItems.length,h=0,_=t.clone(),c=0;c<n;c++){s=this._tmItems[c].label;var u=this._measureLegendItem(e,s);if(r){if(_.y+u.height>l.top+l.height+1){_.x+=this._colRowLens[h];h++;_.y=t.y}}else if(_.x+u.width>l.left+l.width+1){_.y+=this._colRowLens[h];h++;_.x=t.x}var m=new wijmo_1.Rect(_.x,_.y,u.width,u.height);this._drawLegendItem(e,m,c,s);i.push(m);r?_.y+=u.height:_.x+=u.width}};TreeMap.prototype._drawLegendItem=function(e,t,i,r){e.strokeWidth=1;var a=wijmo_chart_1.Series._LEGEND_ITEM_MARGIN,o=this._getColor(i),s=o&&o.maxColor?o.maxColor:o,l=this._getLightColor(s);e.fill=s;e.stroke=l;var n=t.top+.5*t.height,h=wijmo_chart_1.Series._LEGEND_ITEM_WIDTH,_=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,n-.5*_,h,_,null);r&&wijmo_chart_1.FlexChart._renderText(e,r,new wijmo_1.Point(t.left+_+2*a,n),0,1,wijmo_chart_1.FlexChart._CSS_LABEL)};TreeMap.prototype._getLabelContent=function(e,t){return wijmo_1.isString(t)?this._keywords.replace(t,e):wijmo_1.isFunction(t)?t(e):null};TreeMap.prototype.hitTest=function(e,t){var i=this._toControl(e,t),r=new wijmo_chart_1.HitTestInfo(this,i),a=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))r._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))r._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){r._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(a=this.legend._hitTest(i))&&a>=0&&a<this._areas.length&&r._setData(null,a)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){for(var o,s=this._areas.length,l=NaN,n=0;n<s;n++){var h=i.clone(),_=this._areas[n];if(_.contains(h)){r._setData(null,_.tag);r._dist=0}var c=_.distance(h);if(void 0!==c&&(isNaN(l)||c<l)){l=c;o=_}}if(0!==r._dist&&null!=o){r._setData(null,o.tag);r._dist=l}r._chartElement=wijmo_chart_1.ChartElement.ChartArea}else r._chartElement=wijmo_chart_1.ChartElement.None;return r};TreeMap.prototype._getHitTestItem=function(e){var t=null,i=null;(t=null!=this._cv?this._cv.items:this.itemsSource)&&e<t.length&&(i=t[e]);return i};TreeMap.prototype._getHitTestValue=function(e){return this._values[e]};TreeMap.prototype._getHitTestLabel=function(e){return this._labels[e]};TreeMap._CSS_ITEMDEPTH=exports.TreeMapClsNames.itemDepth;TreeMap._MARGIN=0;return TreeMap}(wijmo_chart_1.FlexChartBase);exports.TreeMap=TreeMap;var _TreeMapItem=function(){function _TreeMapItem(){this.items=[];this.maxValue=Number.MIN_VALUE;this.minValue=Number.MAX_VALUE}_TreeMapItem.prototype.draw=function(e){var t=this.rect;e.strokeWidth=0;if(this.isTitle){e.fill=this.titleFill;e.stroke=this.titleStroke}else{e.fill=this.fill;e.stroke=this.stroke}e.drawRect(t.left,t.top,t.width,t.height,_TreeMapItem._CLASSNAME)};Object.defineProperty(_TreeMapItem.prototype,"itemsRect",{get:function(){var e=this.rect,t=this._rect,i=1===this.depth?2:.5;return this.isTitle?this.type===TreeMapType.Horizontal?new wijmo_1.Rect(e.left+e.width+1,e.top,t.width-e.width-2*i,e.height+1):new wijmo_1.Rect(e.left,e.top+e.height+1,e.width+1,t.height-e.height-2*i):new wijmo_1.Rect(0,0,0,0)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"rect",{get:function(){var e=this._rect,t=1===this.depth?2:.5,i=e.width,r=e.height,a=e.left,o=e.top;if(this.isTitle){if(this.type===TreeMapType.Horizontal){i=e.width>20?20:i;i=Math.max(20,i-2*t);r=r>2*t?r-2*t:0}else{r=e.height>20?20:r;r=Math.max(20,r-2*t);i=i>2*t?i-2*t:0}a+=t;o+=t}else{i=i>2*t?i-2*t:0;r=r>2*t?r-2*t:0}return new wijmo_1.Rect(a,o,i,r)},set:function(e){e!=this._rect&&(this._rect=e)},enumerable:!0,configurable:!0});Object.defineProperty(_TreeMapItem.prototype,"isTitle",{get:function(){return this._isTitle},set:function(e){var t=wijmo_1.asBoolean(e,!0);t!==this._isTitle&&(this._isTitle=t)},enumerable:!0,configurable:!0});_TreeMapItem._CLASSNAME=exports.TreeMapClsNames.item;return _TreeMapItem}(),_ColorConverter=function(){function _ColorConverter(e,t,i,r,a,o){this.minColor=new wijmo_1.Color(e);this.minColorValue=t;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=o;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(a);this._calculateMidColor()}_ColorConverter.prototype._resetminColor=function(e){this.minColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmidColor=function(e){this.midColor=this.originalMidColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetmaxColor=function(e){this.maxColor=new wijmo_1.Color(e);this._calculateMidColor()};_ColorConverter.prototype._resetminColorValue=function(e){this.minColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmidColorValue=function(e){this.midColorValue=this.originalMidColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._resetmaxColorValue=function(e){this.maxColorValue=e;this._calculateMidColorValue()};_ColorConverter.prototype._calculateMidColorValue=function(){null==this.originalMidColorValue&&(this.midColorValue=(this.maxColorValue+this.minColorValue)/2)};_ColorConverter.prototype._calculateMidColor=function(){null==this.originalMidColor&&(this.midColor=this._calculateColorByVal(this.midColorValue,!0))};_ColorConverter.prototype._calculateColorByVal=function(e,t){void 0===t&&(t=!1);var i=this.maxColor,r=this.minColor,a=this.maxColorValue,o=this.minColorValue;if(e>=this.maxColorValue)return new wijmo_1.Color(i.toString());if(e<=this.minColorValue)return new wijmo_1.Color(r.toString());if(!t){if(e===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(e<this.midColorValue){i=this.midColor;a=this.midColorValue}else{r=this.midColor;o=this.midColorValue}}return this._getColor(e,i,a,r,o)};_ColorConverter.prototype._getColor=function(e,t,i,r,a){return wijmo_1.Color.fromRgba(this._getValueByRatio(e,t.r,i,r.r,a),this._getValueByRatio(e,t.g,i,r.g,a),this._getValueByRatio(e,t.b,i,r.b,a),this._getValueByRatio(e,t.a,i,r.a,a))};_ColorConverter.prototype._getValueByRatio=function(e,t,i,r,a){return Math.abs(r+Math.round((e-a)*(t-r)/(i-a)))};return _ColorConverter}(),_TreeMapUtils=function(){function _TreeMapUtils(){}_TreeMapUtils.squarified=function(e,t,i){var r=e.slice(),a=t.clone(),o=a.width*a.height/i;do{var s=_TreeMapUtils.getRowedItems(r,a,o);_TreeMapUtils.layoutRowedItems(t,s,a,a.width>a.height)}while(r.length)};_TreeMapUtils.horizontal=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!1)}))};_TreeMapUtils.vertical=function(e,t,i){var r=t.clone();e.forEach((function(e){var a=[{item:e,val:e.value*t.width*t.height/i}];_TreeMapUtils.layoutRowedItems(t,a,r,!0)}))};_TreeMapUtils.getNarrowLen=function(e){return Math.min(e.width,e.height)};_TreeMapUtils.getRowedItem=function(e,t,i){return{item:e,val:i*e.value}};_TreeMapUtils.getRowedItems=function(e,t,i){var r=e.shift(),a=[],o=[],s=_TreeMapUtils.getNarrowLen(t),l=_TreeMapUtils.getRowedItem(r,t,i);a.push(l);o.push(l);if(e.length>0)do{o.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(a,s)>_TreeMapUtils.worst(o,s)))break;a=o.slice();e.shift()}while(e.length);return a};_TreeMapUtils.layoutRowedItems=function(e,t,i,r){var a,o=i.left,s=i.top,l=o+i.width,n=s+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;o+a>=l&&(a=l-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(s+r>n||i===t.length-1)&&(r=n-s);var l=new wijmo_1.Rect(o,s,a,r);e.item.rect=l;s+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;s+a>=n&&(a=n-s);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>l||i===t.length-1)&&(r=l-o);var n=new wijmo_1.Rect(o,s,r,a);e.item.rect=n;o+=r}));i.top+=a;i.height-=a}};_TreeMapUtils.sumRowedArray=function(e){for(var t=0,i=e.length,r=0;r<i;r++)t+=e[r].val;return t};_TreeMapUtils.worst=function(e,t){var i,r,a=_TreeMapUtils.sumRowedArray(e),o=a*a,s=t*t;i=r=e[0].val;e.forEach((function(e,t){e.val>i?i=e.val:e.val<r&&(r=e.val)}));return Math.max(s*i/o,o/(s*r))};return _TreeMapUtils}(),Sunburst=function(e){__extends(Sunburst,e);function Sunburst(t,i){var r=e.call(this,t,i)||this;r._selectionIndex=0;r.applyTemplate(exports.SunburstClsNames.hostElement,null,null);r.initialize(i);r.refresh();return r}Object.defineProperty(Sunburst.prototype,"bindingName",{get:function(){return this._bindName},set:function(e){if(e!=this._bindName){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"bindingName should be an array or a string.");this._bindName=e;this._bindChart()}},enumerable:!0,configurable:!0});Object.defineProperty(Sunburst.prototype,"childItemsPath",{get:function(){return this._childItemsPath},set:function(e){if(e!=this._childItemsPath){wijmo_1.assert(null==e||wijmo_1.isArray(e)||wijmo_1.isString(e),"childItemsPath should be an array or a string.");this._childItemsPath=e;this._bindChart()}},enumerable:!0,configurable:!0});Sunburst.prototype._initData=function(){e.prototype._initData.call(this);this._processedData=[];this._level=1;this._legendLabels=[];this._processedItem=[];this._values[0]=[]};Sunburst.prototype._performBind=function(){var e,t=this;this._initData();if(this._cv){e=this._cv.items;this._cv.groups&&this._cv.groups.length?this._processedData=HierarchicalUtil.parseDataToHierarchical(this._cv,this.binding,this.bindingName,this.childItemsPath):e&&(this._processedData=HierarchicalUtil.parseDataToHierarchical(e,this.binding,this.bindingName,this.childItemsPath));if(this._processedData&&this._processedData.length){this._sums[0]=this._sum=this._calculateValueAndLevel(this._processedData,1);this._processedData.forEach((function(e){t._legendLabels.push(e.name)}))}}};Sunburst.prototype._calculateValueAndLevel=function(e,t){var i=this,r=0,a=this._values[0],o=this._labels;this._level<t&&(this._level=t);e.forEach((function(e){var s;if(e.items){s=i._calculateValueAndLevel(e.items,t+1);e.value=s;a.push(s);o.push(e.name)}else{s=i._getBindData(e,a,o,"value","name");e.value=s}r+=s}));return r};Sunburst.prototype._renderPie=function(e,t,i,r,a,o){var s=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,s.x,s.y,this._processedData,this._sum,i,r,a,2*Math.PI,o,1)};Sunburst.prototype._renderHierarchicalSlices=function(e,t,i,r,a,o,s,l,n,h,_){var c,u,m,p,d,f,g,w,v,C,T=r.length,b=l,M=1==this.reversed;m=(o-s)/this._level;c=o-(this._level-_)*m;u=s+(_-1)*m;for(var y=0;y<T;y++){w=t;v=i;g=e.startGroup(exports.SunburstClsNames.slice+" "+exports.SunburstClsNames.sliceLevel+_);if(1===_){e.fill=this._getColorLight(y);e.stroke=this._getColor(y)}d=r[y];f=Math.abs(d.value);p=Math.abs(f-a)<1e-10?n:n*f/a;C=M?b-.5*p:b+.5*p;if(h>0&&p<n){w+=h*Math.cos(C);v+=h*Math.sin(C)}if(d.items){var I=this._sliceIndex;this._renderHierarchicalSlices(e,w,v,d.items,f,o,s,b,p,0,_+1);for(;I<this._sliceIndex;I++)null==this._parentRef[I]&&(this._parentRef[I]=this._sliceIndex)}this._renderSlice(e,w,v,C,0,this._sliceIndex,c,u,b,p,n);this._processedItem.push(d.item);this._sliceIndex++;M?b-=p:b+=p;e.endGroup();this._pels.push(g)}};Sunburst.prototype._getLabelsForLegend=function(){return this._legendLabels||[]};Sunburst.prototype._highlightCurrent=function(){this.selectionMode!=wijmo_chart_1.SelectionMode.None&&this._highlight(!0,this._selectionIndex)};Sunburst.prototype.hitTest=function(t,i){var r=e.prototype.hitTest.call(this,t,i),a=this._toControl(t,i);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,a)){var o=r.pointIndex,s=this._processedItem[o],l=new wijmo_chart_1._DataPoint(null,o,null,null);l.item=s;r._setDataPoint(l)}return r};Sunburst.prototype._getSelectedItemOffset=function(e,t){var i=0,r=0,a=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)a=this.selectedItemOffset;else{var o=this._getSelectedParentIndex(e);if(null!=o){var s=this._areas[o];this.dataLabel.position;a=this.selectedItemOffset;t=((t=s.langle+this._rotationAngles[0])%360+360)%360;t*=Math.PI/180}}if(a>0){i=Math.cos(t)*a*this._radius;r=Math.sin(t)*a*this._radius}return{x:i,y:r}};Sunburst.prototype._getSelectedParentIndex=function(e){var t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null};return Sunburst}(wijmo_chart_1.FlexPie);exports.Sunburst=Sunburst;wijmo_1._registerModule("wijmo.chart.hierarchical",selfModule);
{
"name": "@grapecity/wijmo.chart.hierarchical",
"version": "5.20242.30",
"version": "5.20251.34",
"description": "UI library for pure JS, Angular, React, Vue and more...",

@@ -10,4 +10,4 @@ "author": "MESCIUS inc",

"dependencies": {
"@grapecity/wijmo": "5.20242.30",
"@grapecity/wijmo.chart": "5.20242.30"
"@grapecity/wijmo": "5.20251.34",
"@grapecity/wijmo.chart": "5.20251.34"
},

@@ -14,0 +14,0 @@ "homepage": "https://developer.mescius.com/wijmo",