@grapecity/wijmo.chart.hierarchical 5.20261.50 → 5.20262.60
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/es2015-commonjs.js +2 -2
- package/es2015-esm.js +2 -2
- package/es5-esm.js +2 -2
- package/index.d.ts +14 -2
- package/index.js +2 -2
- package/package.json +3 -3
package/es2015-commonjs.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"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,s){var r,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(s)a=HierarchicalUtil.parseItems(t,e,i,s);else{r=HierarchicalUtil.convertFlatData(t,e,i);a=HierarchicalUtil.parseItems(r,"value",i,"items")}}return a}static parseGroupCV(t,e){var i=[];for(let s=0,r=t.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(t.groups[s],e);i.push(r)}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(let s=0,r=t.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(t.groups[s],e);i.items.push(r)}}else t.isBottomLevel&&(i.value=t.getAggregate(wijmo_1.Aggregate.Sum,e));return i}static parseItems(t,e,i,s){var r,a=[],l=t.length;for(r=0;r<l;r++)a.push(HierarchicalUtil.parseItem(t[r],e,i,s));return a}static convertFlatData(t,e,i){var s,r,a=[],l={},h=t.length;for(s=0;s<h;s++){r=t[s];HierarchicalUtil.convertFlatItem(l,r,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 s,r={},a=e[i];r[e.field]=i;if(a.flatDataOrder){s=[];HierarchicalUtil.convertFlatToHierarchical(s,a);r.items=s}else r.value=a;t.push(r)})}static convertFlatItem(t,e,i,s){var r,a,l,h;a=(r=s.slice()).shift();if(null==(l=null==(a=wijmo_1.isString(a)?a.trim():a)?i:e[a]))return!1;if(0===r.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,r)||(t[l]=e[i])}return!0}static parseItem(t,e,i,s){var r,a,l,h,o,n={};if(wijmo_1.isArray(s))h=(o=s.slice()).length?o.shift().trim():"";else{o=s;h=s}if(wijmo_1.isArray(i)){a=null==(a=(r=i.slice()).shift())?a:a.trim();n.nameField=null==a?e:a;n.name=null==a?t[e]:t[a];l=t[h];0===r.length?n.value=t[e]:l&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,r,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,s){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._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){const i=this.hitTest(t);let s=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(s=this.tooltip.threshold);if(i.distance<=s&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){const t=this._areas[i.pointIndex];if(this._currentItem!=t.item){this._currentItem=t.item;this._refreshChart();e=!1}}}e&&this.isTouching&&this._toogleTooltip(t)});this.addEventListener(this.hostElement,"contextmenu",t=>{if(this.maxDepth>0){const e=this.hitTest(t);let 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){const i=this.hitTest(t);if(i.distance<=e.threshold){const e=this._getLabelContent(i,this.tooltip.content);this._showToolTip(e,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}_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,s,r){t&&t.length>0&&t.forEach((t,r)=>{let a,l=new _TreeMapItem;l.items=[];l.parent=s;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!=s){t.value>s.maxValue&&(s.maxValue=t.value);t.value<s.minValue&&(s.minValue=t.value)}e.push(l);this._labels.push(a);this._values.push(t.value)})}_calculateColorForItems(t,e,i){var s=i;t.forEach((t,i)=>{var r=e;1===t.depth&&(r=this._getColor(i));t.palette=r;var a=t.palette;if(wijmo_1.isString(a)){const e=a,i=this._getLightColor(e);t.titleFill=e;t.titleStroke=e;t.fill=i;t.stroke=e}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==s&&(s=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue));const e=s._calculateColorByVal(t.value,!0).toString();t.fill=e;t.stroke=e}}if(t.items&&t.items.length>0){const e=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue);this._calculateColorForItems(t.items,r,e)}})}_getBindData(t,e,i){var s,r=0;i&&(s=t[i]);wijmo_1.isNumber(s)?r=wijmo_1.asNumber(s):s&&(r=parseFloat(s.toString()));if(!isNaN(r)&&isFinite(r))e.push(r);else{r=0;e.push(r)}return r}_calculateValueAndDepth(t,e){var i=0,s=this._values;this._depth<e&&(this._depth=e);t.forEach(t=>{var r;if(t.items){r=this._calculateValueAndDepth(t.items,e+1);t.value=r;s.push(r)}else{r=this._getBindData(t,s,"value");t.value=r}i+=r});return i}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var s,r,a,l=this._rectChart.clone();new wijmo_1.Size(l.width,l.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(t));e.width,e.height;this._tmGroup=t.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);e.top+=h.top;var o=e.height-(h.top+h.bottom);e.height=o>0?o:24;e.left+=h.left;var n=e.width-(h.left+h.right);e.width=n>0?n:24;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1||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,s,a,r);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,s,r,a){if(r>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(e,s,r,1,a);this._renderHierarchicalTreeMapItems(t,i,e,this._tmItems,r,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,s,r){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(s===r);else if(s>r&&r>=1);else{t.isTitle=!0;this._calculateItemRects(t.itemsRect,t.items,t.value,s+1,r)}})}_renderHierarchicalTreeMapItems(t,e,i,s,r,a,l){var h,o,n,_,m,c=s.length;this.type;if(0!==c)for(let e=0;e<c;e++){h=t.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[e];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,s=this.dataLabel,r=s.position,a=s.connectingLine,l=s.border,h=s.offset||0,o=wijmo_chart_1.DataLabelClsNames.labels;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(o);for(let o=0;o<i;o++){const i=this._areas[o];if(i){const n=i.rect,_=new wijmo_chart_1.HitTestInfo(this,e);_._setData(null,o);let m=this._getLabelContent(_,s.content);e=new wijmo_1.Point(n.left+n.width/2,n.top+n.height/2);if(m&&n.width>0&&n.height>0){const o=new wijmo_chart_1.DataLabelRenderEventArgs(t,_,e,m);if(s.onRendering(o)){m=o.text;e=o.point;this._renderLabelAndBorder(t,i,n,m,r,h,e,a,2,l)}}}}t.endGroup()}_renderLabelAndBorder(t,e,i,s,r,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(r){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,s,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,s,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,s,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,s,l,0,1,m);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(t,e,i,s,l,1,1,m)}n&&_&&t.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,d);return _}_renderText(t,e,i,s,r,a,l,h){var o,n=s,_=e.item;o=t.measureString(s,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(s,o.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(t,n,r,a,l,r,-90,h);return null}o.width>i.width&&(n=this._cutText(s,o.width,i.width));return wijmo_chart_1.FlexChart._renderText(t,n,r,a,l,h)}_cutText(t,e,i){var s="",r=t.length,a=Math.floor((1-(e-i)/e)*r);t.length>0&&(s=t[0]+(a>1?t.substring(1,a-1)+"..":""));return s}_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){const s=t.measureString(e,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.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,s){var r=new wijmo_1.Size,a=(new wijmo_1.Size(i,s),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(let o=0;o<a;o++){const a=this._measureLegendItem(t,this._tmItems[o].label);if(e){if(h+a.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<a.width&&(l=a.width);h+=a.height}else{if(l+a.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<a.height&&(h=a.height);l+=a.width}}if(e){r.height<h&&(r.height=h);this._colRowLens.push(l);r.width=this._colRowLens.reduce((t,e)=>t+e,0);r.width=this._getLegendSize(i,r.width)}else{r.width<l&&(r.width=l);this._colRowLens.push(h);r.height=this._colRowLens.reduce((t,e)=>t+e,0);r.height=this._getLegendSize(s,r.height)}return r}_renderLegend(t,e,i,s,r,a){var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=e.clone();for(let r=0;r<o;r++){l=this._tmItems[r].label;const a=this._measureLegendItem(t,l);if(s){if(_.y+a.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=e.y}}else if(_.x+a.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=e.x}const o=new wijmo_1.Rect(_.x,_.y,a.width,a.height);this._drawLegendItem(t,o,r,l);i.push(o);s?_.y+=a.height:_.x+=a.width}}_drawLegendItem(t,e,i,s){t.strokeWidth=1;var r=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+r,o-.5*_,n,_,null);s&&wijmo_chart_1.FlexChart._renderText(t,s,new wijmo_1.Point(e.left+_+2*r,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),s=new wijmo_chart_1.HitTestInfo(this,i),r=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))s._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))s._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){s._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(r=this.legend._hitTest(i))&&r>=0&&r<this._areas.length&&s._setData(null,r)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){let t,e=this._areas.length,r=NaN;for(let a=0;a<e;a++){const e=i.clone(),l=this._areas[a];if(l.contains(e)){s._setData(null,l.tag);s._dist=0}const h=l.distance(e);if(void 0!==h&&(isNaN(r)||h<r)){r=h;t=l}}if(0!==s._dist&&null!=t){s._setData(null,t.tag);s._dist=r}s._chartElement=wijmo_chart_1.ChartElement.ChartArea}else s._chartElement=wijmo_chart_1.ChartElement.None;return s}_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,s=t.height,r=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);s=s>2*e?s-2*e:0}else{s=t.height>20?20:s;s=Math.max(20,s-2*e);i=i>2*e?i-2*e:0}r+=e;a+=e}else{i=i>2*e?i-2*e:0;s=s>2*e?s-2*e:0}return new wijmo_1.Rect(r,a,i,s)}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,s,r,a){this.minColor=new wijmo_1.Color(t);this.minColorValue=e;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=s;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(r);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,s=this.minColor,r=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(s.toString());if(!e){if(t===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(t<this.midColorValue){i=this.midColor;r=this.midColorValue}else{s=this.midColor;a=this.midColorValue}}return this._getColor(t,i,r,s,a)}_getColor(t,e,i,s,r){return wijmo_1.Color.fromRgba(this._getValueByRatio(t,e.r,i,s.r,r),this._getValueByRatio(t,e.g,i,s.g,r),this._getValueByRatio(t,e.b,i,s.b,r),this._getValueByRatio(t,e.a,i,s.a,r))}_getValueByRatio(t,e,i,s,r){return Math.abs(s+Math.round((t-r)*(e-s)/(i-r)))}}class _TreeMapUtils{static squarified(t,e,i){var s=t.slice(),r=e.clone(),a=r.width*r.height/i;do{const t=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(e,t,r,r.width>r.height)}while(s.length)}static horizontal(t,e,i){var s=e.clone();t.forEach(t=>{var r=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,r,s,!1)})}static vertical(t,e,i){var s=e.clone();t.forEach(t=>{var r=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,r,s,!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 s=t.shift(),r=[],a=[],l=_TreeMapUtils.getNarrowLen(e),h=_TreeMapUtils.getRowedItem(s,e,i);r.push(h);a.push(h);if(t.length>0)do{a.push(_TreeMapUtils.getRowedItem(t[0],e,i));if(!(_TreeMapUtils.worst(r,l)>_TreeMapUtils.worst(a,l)))break;r=a.slice();t.shift()}while(t.length);return r}static layoutRowedItems(t,e,i,s){var r,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(e);if(s){r=0===i.height?0:n/i.height;a+r>=h&&(r=h-a);e.forEach((t,i)=>{var s=0===r?0:t.val/r;(l+s>o||i===e.length-1)&&(s=o-l);var h=new wijmo_1.Rect(a,l,r,s);t.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);e.forEach((t,i)=>{var s=0===r?0:t.val/r;(a+s>h||i===e.length-1)&&(s=h-a);var o=new wijmo_1.Rect(a,l,s,r);t.item.rect=o;a+=s});i.top+=r;i.height-=r}}static sumRowedArray(t){var e=0,i=t.length;for(let s=0;s<i;s++)e+=t[s].val;return e}static worst(t,e){var i,s,r=_TreeMapUtils.sumRowedArray(t),a=r*r,l=e*e;i=s=t[0].val;t.forEach((t,e)=>{t.val>i?i=t.val:t.val<s&&(s=t.val)});return Math.max(l*i/a,a/(l*s))}}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,s=this._values[0],r=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;s.push(a);r.push(t.name)}else{a=this._getBindData(t,s,r,"value","name");t.value=a}i+=a});return i}_renderPie(t,e,i,s,r,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(t,l.x,l.y,this._processedData,this._sum,i,s,r,2*Math.PI,a,1)}_renderHierarchicalSlices(t,e,i,s,r,a,l,h,o,n,_){var m,c,d,u,p,g,w,f,C,v,I=s.length,T=h,x=1==this.reversed;d=(a-l)/this._level;m=a-(this._level-_)*d;c=l+(_-1)*d;for(let h=0;h<I;h++){f=e;C=i;w=t.startGroup(`${exports.SunburstClsNames.slice} ${exports.SunburstClsNames.sliceLevel}${_}`);if(1===_){t.fill=this._getColorLight(h);t.stroke=this._getColor(h)}p=s[h];g=Math.abs(p.value);u=Math.abs(g-r)<1e-10?o:o*g/r;v=x?T-.5*u:T+.5*u;if(n>0&&u<o){f+=n*Math.cos(v);C+=n*Math.sin(v)}if(p.items){let e=this._sliceIndex;this._renderHierarchicalSlices(t,f,C,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,C,v,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),s=this._toControl(t,e);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,s)){const t=i.pointIndex,e=this._processedItem[t],s=new wijmo_chart_1._DataPoint(null,t,null,null);s.item=e;i._setDataPoint(s)}return i}_getSelectedItemOffset(t,e){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(t==this.selectedIndex)r=this.selectedItemOffset;else{const i=this._getSelectedParentIndex(t);if(null!=i){const t=this._areas[i];this.dataLabel.position;r=this.selectedItemOffset;e=((e=t.langle+this._rotationAngles[0])%360+360)%360;e*=Math.PI/180}}if(r>0){i=Math.cos(e)*r*this._radius;s=Math.sin(e)*r*this._radius}return{x:i,y:s}}_getSelectedParentIndex(t){const 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);
|
|
14
|
+
"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_chart_1=require("@grapecity/wijmo.chart"),wijmo_1=require("@grapecity/wijmo"),selfModule=__importStar(require("@grapecity/wijmo.chart.hierarchical"));class HierarchicalUtil{static parseDataToHierarchical(t,e,i,s){var r,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(s)a=HierarchicalUtil.parseItems(t,e,i,s);else{r=HierarchicalUtil.convertFlatData(t,e,i);a=HierarchicalUtil.parseItems(r,"value",i,"items")}}return a}static parseGroupCV(t,e){var i=[];for(let s=0,r=t.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(t.groups[s],e);i.push(r)}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(let s=0,r=t.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(t.groups[s],e);i.items.push(r)}}else t.isBottomLevel&&(i.value=t.getAggregate(wijmo_1.Aggregate.Sum,e));return i}static parseItems(t,e,i,s){var r,a=[],l=t.length;for(r=0;r<l;r++)a.push(HierarchicalUtil.parseItem(t[r],e,i,s));return a}static convertFlatData(t,e,i){var s,r,a=[],l={},h=t.length;for(s=0;s<h;s++){r=t[s];HierarchicalUtil.convertFlatItem(l,r,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 s,r={},a=e[i];r[e.field]=i;if(a.flatDataOrder){s=[];HierarchicalUtil.convertFlatToHierarchical(s,a);r.items=s}else r.value=a;t.push(r)})}static convertFlatItem(t,e,i,s){var r,a,l,h;a=(r=s.slice()).shift();if(null==(l=null==(a=wijmo_1.isString(a)?a.trim():a)?i:e[a]))return!1;if(0===r.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,r)||(t[l]=e[i])}return!0}static parseItem(t,e,i,s){var r,a,l,h,o,n={};if(wijmo_1.isArray(s))h=(o=s.slice()).length?o.shift().trim():"";else{o=s;h=s}if(wijmo_1.isArray(i)){a=null==(a=(r=i.slice()).shift())?a:a.trim();n.nameField=null==a?e:a;n.name=null==a?t[e]:t[a];l=t[h];0===r.length?n.value=t[e]:l&&wijmo_1.isArray(l)&&l.length>0?n.items=HierarchicalUtil.parseItems(l,e,r,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,s){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._maxDepth=-1;this._tmItems=[];this._accessibilityItems=[];this._accessibilityAreas=[];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;const i=this.focusMode?this._getAccessibilityFocusStateFromClick(t):null;if(this.maxDepth>0){const i=this.hitTest(t);let s=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;this.tooltip&&this.tooltip.threshold&&(s=this.tooltip.threshold);if(i.distance<=s&&i.pointIndex>=-1&&i.pointIndex<this._areas.length){const t=this._areas[i.pointIndex];if(this._currentItem!=t.item){this._currentItem=t.item;this._refreshChart();e=!1}}}e&&this.isTouching&&this._toogleTooltip(t);this._updateAccessibilityFocusFromState(i)});this.addEventListener(this.hostElement,"contextmenu",t=>{if(this.maxDepth>0){const e=this.hitTest(t);let 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))}_getAccessibleChartTypeName(){return wijmo_chart_1._getAccessibleChartTypeName("treeMapChart")}_createAccessibilityModel(){const t=super._createAccessibilityModel(),e={index:0,name:this._getAccessibleChartTypeName(),points:[]};if(this.focusMode)for(let t=0;t<this._accessibilityItems.length;t++){const i=this._accessibilityItems[t];e.points.push({index:t,category:i&&i.label,value:i&&i.value})}t.series.splice(0,t.series.length,e);return t}_getAccessibilityTooltipContent(t){if(t&&"series"===t.region&&null!=t.pointIndex&&this.tooltip.content){if(!this._getAccessibilityItem(t.pointIndex))return null;const e=new wijmo_chart_1.HitTestInfo(this,new wijmo_1.Point);e._chartElement=wijmo_chart_1.ChartElement.SeriesSymbol;e._setData(null,t.pointIndex);return this._getLabelContent(e,this.tooltip.content)}return super._getAccessibilityTooltipContent(t)}_getAccessibilitySeriesPointShape(t,e){return wijmo_chart_1._getAreaShape(this._accessibilityAreas&&this._accessibilityAreas[e])||wijmo_chart_1._getRectFocusShape(this._rectChart)}_getAccessibilityItem(t){return this._accessibilityItems&&null!=t?this._accessibilityItems[t]:null}_getAccessibilityFocusStateFromClick(t){const e=this.hitTest(t);if(e.chartElement===wijmo_chart_1.ChartElement.Header&&this.header)return{region:"title"};if(e.chartElement===wijmo_chart_1.ChartElement.ChartArea){if(null!=e.pointIndex){const t=this._areas[e.pointIndex],i=this._accessibilityAreas.indexOf(t);if(i>=0)return{region:"series",seriesIndex:0,pointIndex:i}}return{region:"chart"}}return null}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(t){var e=this._tooltip;if(e.content){const i=this.hitTest(t);if(i.distance<=e.threshold){const e=this._getLabelContent(i,this.tooltip.content);this._showToolTip(e,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}_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,s,r){t&&t.length>0&&t.forEach((t,r)=>{let a,l=new _TreeMapItem;l.items=[];l.parent=s;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!=s){t.value>s.maxValue&&(s.maxValue=t.value);t.value<s.minValue&&(s.minValue=t.value)}e.push(l);this._labels.push(a);this._values.push(t.value)})}_calculateColorForItems(t,e,i){var s=i;t.forEach((t,i)=>{var r=e;1===t.depth&&(r=this._getColor(i));t.palette=r;var a=t.palette;if(wijmo_1.isString(a)){const e=a,i=this._getLightColor(e);t.titleFill=e;t.titleStroke=e;t.fill=i;t.stroke=e}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==s&&(s=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue));const e=s._calculateColorByVal(t.value,!0).toString();t.fill=e;t.stroke=e}}if(t.items&&t.items.length>0){const e=new _ColorConverter(a.minColor,t.minValue,a.maxColor,t.maxValue);this._calculateColorForItems(t.items,r,e)}})}_getBindData(t,e,i){var s,r=0;i&&(s=t[i]);wijmo_1.isNumber(s)?r=wijmo_1.asNumber(s):s&&(r=parseFloat(s.toString()));if(!wijmo_1.isNumberNaN(+r)&&wijmo_1.isNumberFinite(+r))e.push(r);else{r=0;e.push(r)}return r}_calculateValueAndDepth(t,e){var i=0,s=this._values;this._depth<e&&(this._depth=e);t.forEach(t=>{var r;if(t.items){r=this._calculateValueAndDepth(t.items,e+1);t.value=r;s.push(r)}else{r=this._getBindData(t,s,"value");t.value=r}i+=r});return i}_prepareRender(){this._areas=[]}_renderChart(t,e,i){var s,r,a,l=this._rectChart.clone();new wijmo_1.Size(l.width,l.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(t));e.width,e.height;this._tmGroup=t.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;wijmo_1.isNumberNaN(+h.left)&&(h.left=TreeMap._MARGIN);wijmo_1.isNumberNaN(+h.right)&&(h.right=TreeMap._MARGIN);wijmo_1.isNumberNaN(+h.top)&&(h.top=TreeMap._MARGIN);wijmo_1.isNumberNaN(+h.bottom)&&(h.bottom=TreeMap._MARGIN);e.top+=h.top;var o=e.height-(h.top+h.bottom);e.height=o>0?o:24;e.left+=h.left;var n=e.width-(h.left+h.right);e.width=n>0?n:24;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1||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,s,a,r);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,s,r,a){this._accessibilityItems=[];this._accessibilityAreas=[];if(r>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(e,s,r,1,a);this._renderHierarchicalTreeMapItems(t,i,e,s,r,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,s,r){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(s===r);else if(s>r&&r>=1);else{t.isTitle=!0;this._calculateItemRects(t.itemsRect,t.items,t.value,s+1,r)}})}_renderHierarchicalTreeMapItems(t,e,i,s,r,a,l){var h,o,n,_,c,m=s.length;this.type;if(0!==m)for(let e=0;e<m;e++){h=t.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[e];n=Math.abs(o.value);_=o.rect;o.draw(t);c=new wijmo_chart_1._RectArea(_);o.items&&this._renderHierarchicalTreeMapItems(t,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._addAccessibilityItem(o,c);this._itemIndex++;t.endGroup()}}_addAccessibilityItem(t,e){const i=e&&e.rect;if(i&&i.width>0&&i.height>0){this._accessibilityItems.push(t);this._accessibilityAreas.push(e)}}_renderLabels(t){var e,i=this._areas.length,s=this.dataLabel,r=s.position,a=s.connectingLine,l=s.border,h=s.offset||0,o=wijmo_chart_1.DataLabelClsNames.labels;t.stroke="null";t.fill="transparent";t.strokeWidth=1;t.startGroup(o);for(let o=0;o<i;o++){const i=this._areas[o];if(i){const n=i.rect,_=new wijmo_chart_1.HitTestInfo(this,e);_._setData(null,o);let c=this._getLabelContent(_,s.content);e=new wijmo_1.Point(n.left+n.width/2,n.top+n.height/2);if(c&&n.width>0&&n.height>0){const o=new wijmo_chart_1.DataLabelRenderEventArgs(t,_,e,c);if(s.onRendering(o)){c=o.text;e=o.point;this._renderLabelAndBorder(t,i,n,c,r,h,e,a,2,l)}}}}t.endGroup()}_renderLabelAndBorder(t,e,i,s,r,a,l,h,o,n){var _,c=wijmo_chart_1.DataLabelClsNames.label,m=wijmo_chart_1.DataLabelClsNames.line,u=wijmo_chart_1.DataLabelClsNames.border;switch(r){case wijmo_chart_1.LabelPosition.Top:h&&t.drawLine(l.x,l.y,l.x,l.y-a,m);l.y-=o+a;_=this._renderText(t,e,i,s,l,1,2,c);break;case wijmo_chart_1.LabelPosition.Bottom:h&&t.drawLine(l.x,l.y,l.x,l.y+a,m);l.y+=o+a;_=this._renderText(t,e,i,s,l,1,0,c);break;case wijmo_chart_1.LabelPosition.Left:h&&t.drawLine(l.x,l.y,l.x-a,l.y,m);l.x-=o+a;_=this._renderText(t,e,i,s,l,2,1,c);break;case wijmo_chart_1.LabelPosition.Right:h&&t.drawLine(l.x,l.y,l.x+a,l.y,m);l.x+=o+a;_=this._renderText(t,e,i,s,l,0,1,c);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(t,e,i,s,l,1,1,c)}n&&_&&t.drawRect(_.left-o,_.top-o,_.width+2*o,_.height+2*o,u);return _}_renderText(t,e,i,s,r,a,l,h){var o,n=s,_=e.item;o=t.measureString(s,h);if(this.type===TreeMapType.Horizontal&&_.isTitle){o.width>i.height&&(n=this._cutText(s,o.width,i.height));wijmo_chart_1.FlexChart._renderRotatedText(t,n,r,a,l,r,-90,h);return null}o.width>i.width&&(n=this._cutText(s,o.width,i.width));return wijmo_chart_1.FlexChart._renderText(t,n,r,a,l,h)}_cutText(t,e,i){var s="",r=t.length,a=Math.floor((1-(e-i)/e)*r);t.length>0&&(s=t[0]+(a>1?t.substring(1,a-1)+"..":""));return s}_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){const s=t.measureString(e,wijmo_chart_1.FlexChart._CSS_LABEL,wijmo_chart_1.FlexChart._CSS_LEGEND);i.width+=s.width;i.height<s.height&&(i.height=s.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,s){var r=new wijmo_1.Size,a=(new wijmo_1.Size(i,s),this._tmItems.length),l=0,h=0;this._colRowLens=[];for(let o=0;o<a;o++){const a=this._measureLegendItem(t,this._tmItems[o].label);if(e){if(h+a.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<a.width&&(l=a.width);h+=a.height}else{if(l+a.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<a.height&&(h=a.height);l+=a.width}}if(e){r.height<h&&(r.height=h);this._colRowLens.push(l);r.width=this._colRowLens.reduce((t,e)=>t+e,0);r.width=this._getLegendSize(i,r.width)}else{r.width<l&&(r.width=l);this._colRowLens.push(h);r.height=this._colRowLens.reduce((t,e)=>t+e,0);r.height=this._getLegendSize(s,r.height)}return r}_renderLegend(t,e,i,s,r,a){var l,h=this._rectLegend,o=this._tmItems.length,n=0,_=e.clone();for(let r=0;r<o;r++){l=this._tmItems[r].label;const a=this._measureLegendItem(t,l);if(s){if(_.y+a.height>h.top+h.height+1){_.x+=this._colRowLens[n];n++;_.y=e.y}}else if(_.x+a.width>h.left+h.width+1){_.y+=this._colRowLens[n];n++;_.x=e.x}const o=new wijmo_1.Rect(_.x,_.y,a.width,a.height);this._drawLegendItem(t,o,r,l);i.push(o);s?_.y+=a.height:_.x+=a.width}}_drawLegendItem(t,e,i,s){t.strokeWidth=1;var r=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+r,o-.5*_,n,_,null);s&&wijmo_chart_1.FlexChart._renderText(t,s,new wijmo_1.Point(e.left+_+2*r,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),s=new wijmo_chart_1.HitTestInfo(this,i),r=null;if(wijmo_chart_1.FlexChart._contains(this._rectHeader,i))s._chartElement=wijmo_chart_1.ChartElement.Header;else if(wijmo_chart_1.FlexChart._contains(this._rectFooter,i))s._chartElement=wijmo_chart_1.ChartElement.Footer;else if(wijmo_chart_1.FlexChart._contains(this._rectLegend,i)){s._chartElement=wijmo_chart_1.ChartElement.Legend;null!==(r=this.legend._hitTest(i))&&r>=0&&r<this._areas.length&&s._setData(null,r)}else if(wijmo_chart_1.FlexChart._contains(this._rectChart,i)){let t,e=this._areas.length,r=NaN;for(let a=0;a<e;a++){const e=i.clone(),l=this._areas[a];if(l.contains(e)){s._setData(null,l.tag);s._dist=0}const h=l.distance(e);if(void 0!==h&&(wijmo_1.isNumberNaN(+r)||h<r)){r=h;t=l}}if(0!==s._dist&&null!=t){s._setData(null,t.tag);s._dist=r}s._chartElement=wijmo_chart_1.ChartElement.ChartArea}else s._chartElement=wijmo_chart_1.ChartElement.None;return s}_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,s=t.height,r=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);s=s>2*e?s-2*e:0}else{s=t.height>20?20:s;s=Math.max(20,s-2*e);i=i>2*e?i-2*e:0}r+=e;a+=e}else{i=i>2*e?i-2*e:0;s=s>2*e?s-2*e:0}return new wijmo_1.Rect(r,a,i,s)}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,s,r,a){this.minColor=new wijmo_1.Color(t);this.minColorValue=e;this.maxColor=new wijmo_1.Color(i);this.maxColorValue=s;this.midColorValue=this.originalMidColorValue=a;this._calculateMidColorValue();this.midColor=this.originalMidColor=new wijmo_1.Color(r);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,s=this.minColor,r=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(s.toString());if(!e){if(t===this.midColorValue)return new wijmo_1.Color(this.midColor.toString());if(t<this.midColorValue){i=this.midColor;r=this.midColorValue}else{s=this.midColor;a=this.midColorValue}}return this._getColor(t,i,r,s,a)}_getColor(t,e,i,s,r){return wijmo_1.Color.fromRgba(this._getValueByRatio(t,e.r,i,s.r,r),this._getValueByRatio(t,e.g,i,s.g,r),this._getValueByRatio(t,e.b,i,s.b,r),this._getValueByRatio(t,e.a,i,s.a,r))}_getValueByRatio(t,e,i,s,r){return Math.abs(s+Math.round((t-r)*(e-s)/(i-r)))}}class _TreeMapUtils{static squarified(t,e,i){var s=t.slice(),r=e.clone(),a=r.width*r.height/i;do{const t=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(e,t,r,r.width>r.height)}while(s.length)}static horizontal(t,e,i){var s=e.clone();t.forEach(t=>{var r=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,r,s,!1)})}static vertical(t,e,i){var s=e.clone();t.forEach(t=>{var r=[{item:t,val:t.value*e.width*e.height/i}];_TreeMapUtils.layoutRowedItems(e,r,s,!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 s=t.shift(),r=[],a=[],l=_TreeMapUtils.getNarrowLen(e),h=_TreeMapUtils.getRowedItem(s,e,i);r.push(h);a.push(h);if(t.length>0)do{a.push(_TreeMapUtils.getRowedItem(t[0],e,i));if(!(_TreeMapUtils.worst(r,l)>_TreeMapUtils.worst(a,l)))break;r=a.slice();t.shift()}while(t.length);return r}static layoutRowedItems(t,e,i,s){var r,a=i.left,l=i.top,h=a+i.width,o=l+i.height,n=_TreeMapUtils.sumRowedArray(e);if(s){r=0===i.height?0:n/i.height;a+r>=h&&(r=h-a);e.forEach((t,i)=>{var s=0===r?0:t.val/r;(l+s>o||i===e.length-1)&&(s=o-l);var h=new wijmo_1.Rect(a,l,r,s);t.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);e.forEach((t,i)=>{var s=0===r?0:t.val/r;(a+s>h||i===e.length-1)&&(s=h-a);var o=new wijmo_1.Rect(a,l,s,r);t.item.rect=o;a+=s});i.top+=r;i.height-=r}}static sumRowedArray(t){var e=0,i=t.length;for(let s=0;s<i;s++)e+=t[s].val;return e}static worst(t,e){var i,s,r=_TreeMapUtils.sumRowedArray(t),a=r*r,l=e*e;i=s=t[0].val;t.forEach((t,e)=>{t.val>i?i=t.val:t.val<s&&(s=t.val)});return Math.max(l*i/a,a/(l*s))}}function _createHierarchicalAccessibilityModel(t,e,i,s){const r=[];s&&_addHierarchicalAccessibilityPoints(i,r);t.series.splice(0,t.series.length,{index:0,name:e,points:r});return t}exports._createHierarchicalAccessibilityModel=_createHierarchicalAccessibilityModel;function _addHierarchicalAccessibilityPoints(t,e){if(t)for(const i of t){i&&i.items&&i.items.length&&_addHierarchicalAccessibilityPoints(i.items,e);e.push({index:e.length,category:i&&(i.label||i.name),value:i&&i.value})}}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()}_getAccessibleChartTypeName(){return wijmo_chart_1._getAccessibleChartTypeName("sunburstChart")}_createAccessibilityModel(){return _createHierarchicalAccessibilityModel(super._createAccessibilityModel(),this._getAccessibleChartTypeName(),this._processedData,this.focusMode)}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,s=this._values[0],r=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;s.push(a);r.push(t.name)}else{a=this._getBindData(t,s,r,"value","name");t.value=a}i+=a});return i}_renderPie(t,e,i,s,r,a){var l=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(t,l.x,l.y,this._processedData,this._sum,i,s,r,2*Math.PI,a,1)}_renderHierarchicalSlices(t,e,i,s,r,a,l,h,o,n,_){var c,m,u,d,p,g,w,f,C,b,v=s.length,I=h,T=1==this.reversed;u=(a-l)/this._level;c=a-(this._level-_)*u;m=l+(_-1)*u;for(let h=0;h<v;h++){f=e;C=i;w=t.startGroup(`${exports.SunburstClsNames.slice} ${exports.SunburstClsNames.sliceLevel}${_}`);if(1===_){t.fill=this._getColorLight(h);t.stroke=this._getColor(h)}p=s[h];g=Math.abs(p.value);d=Math.abs(g-r)<1e-10?o:o*g/r;b=T?I-.5*d:I+.5*d;if(n>0&&d<o){f+=n*Math.cos(b);C+=n*Math.sin(b)}if(p.items){let e=this._sliceIndex;this._renderHierarchicalSlices(t,f,C,p.items,g,a,l,I,d,0,_+1);for(;e<this._sliceIndex;e++)null==this._parentRef[e]&&(this._parentRef[e]=this._sliceIndex)}this._renderSlice(t,f,C,b,0,this._sliceIndex,c,m,I,d,o);this._processedItem.push(p.item);this._sliceIndex++;T?I-=d:I+=d;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),s=this._toControl(t,e);if(wijmo_chart_1.FlexChartBase._contains(this._rectChart,s)){const t=i.pointIndex,e=this._processedItem[t],s=new wijmo_chart_1._DataPoint(null,t,null,null);s.item=e;i._setDataPoint(s)}return i}_getSelectedItemOffset(t,e){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(t==this.selectedIndex)r=this.selectedItemOffset;else{const i=this._getSelectedParentIndex(t);if(null!=i){const t=this._areas[i];this.dataLabel.position;r=this.selectedItemOffset;e=((e=t.langle+this._rotationAngles[0])%360+360)%360;e*=Math.PI/180}}if(r>0){i=Math.cos(e)*r*this._radius;s=Math.sin(e)*r*this._radius}return{x:i,y:s}}_getSelectedParentIndex(t){const 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);
|
package/es2015-esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
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){var i=[];for(let s=0,r=e.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(e.groups[s],t);i.push(r)}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(let s=0,r=e.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(e.groups[s],t);i.items.push(r)}}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 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._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){const i=this.hitTest(e);let 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){const e=this._areas[i.pointIndex];if(this._currentItem!=e.item){this._currentItem=e.item;this._refreshChart();t=!1}}}t&&this.isTouching&&this._toogleTooltip(e)});this.addEventListener(this.hostElement,"contextmenu",e=>{if(this.maxDepth>0){const t=this.hitTest(e);let 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){const i=this.hitTest(e);if(i.distance<=t.threshold){const t=this._getLabelContent(i,this.tooltip.content);this._showToolTip(t,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}_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)=>{let 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)){const t=a,i=this._getLightColor(t);e.titleFill=t;e.titleStroke=t;e.fill=i;e.stroke=t}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));const t=s._calculateColorByVal(e.value,!0).toString();e.fill=t;e.stroke=t}}if(e.items&&e.items.length>0){const t=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue);this._calculateColorForItems(e.items,r,t)}})}_getBindData(e,t,i){var s,r=0;i&&(s=e[i]);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));t.width,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;var o=t.height-(h.top+h.bottom);t.height=o>0?o:24;t.left+=h.left;var n=t.width-(h.left+h.right);t.width=n>0?n:24;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1||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(let t=0;t<m;t++){h=e.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[t];n=Math.abs(o.value);c=o.rect;o.draw(e);_=new _RectArea(c);o.items&&this._renderHierarchicalTreeMapItems(e,h,o.itemsRect,o.items,n,a+1,l);_.tag=this._itemIndex;_.name=o.label;_.value=n;_.item=o;this._areas.push(_);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(let o=0;o<i;o++){const i=this._areas[o];if(i){const n=i.rect,c=new HitTestInfo(this,t);c._setData(null,o);let _=this._getLabelContent(c,s.content);t=new Point(n.left+n.width/2,n.top+n.height/2);if(_&&n.width>0&&n.height>0){const o=new DataLabelRenderEventArgs(e,c,t,_);if(s.onRendering(o)){_=o.text;t=o.point;this._renderLabelAndBorder(e,i,n,_,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;c=this._renderText(e,t,i,s,l,1,2,_);break;case LabelPosition.Bottom:h&&e.drawLine(l.x,l.y,l.x,l.y+a,m);l.y+=o+a;c=this._renderText(e,t,i,s,l,1,0,_);break;case LabelPosition.Left:h&&e.drawLine(l.x,l.y,l.x-a,l.y,m);l.x-=o+a;c=this._renderText(e,t,i,s,l,2,1,_);break;case LabelPosition.Right:h&&e.drawLine(l.x,l.y,l.x+a,l.y,m);l.x+=o+a;c=this._renderText(e,t,i,s,l,0,1,_);break;case LabelPosition.Center:c=this._renderText(e,t,i,s,l,1,1,_)}n&&c&&e.drawRect(c.left-o,c.top-o,c.width+2*o,c.height+2*o,d);return c}_renderText(e,t,i,s,r,a,l,h){var o,n=s,c=t.item;o=e.measureString(s,h);if(this.type===TreeMapType.Horizontal&&c.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){const 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(let o=0;o<a;o++){const a=this._measureLegendItem(e,this._tmItems[o].label);if(t){if(h+a.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<a.width&&(l=a.width);h+=a.height}else{if(l+a.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<a.height&&(h=a.height);l+=a.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){var l,h=this._rectLegend,o=this._tmItems.length,n=0,c=t.clone();for(let r=0;r<o;r++){l=this._tmItems[r].label;const a=this._measureLegendItem(e,l);if(s){if(c.y+a.height>h.top+h.height+1){c.x+=this._colRowLens[n];n++;c.y=t.y}}else if(c.x+a.width>h.left+h.width+1){c.y+=this._colRowLens[n];n++;c.x=t.x}const o=new Rect(c.x,c.y,a.width,a.height);this._drawLegendItem(e,o,r,l);i.push(o);s?c.y+=a.height:c.x+=a.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,c=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+r,o-.5*c,n,c,null);s&&FlexChart._renderText(e,s,new Point(t.left+c+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)){let e,t=this._areas.length,r=NaN;for(let a=0;a<t;a++){const t=i.clone(),l=this._areas[a];if(l.contains(t)){s._setData(null,l.tag);s._dist=0}const h=l.distance(t);if(void 0!==h&&(isNaN(r)||h<r)){r=h;e=l}}if(0!==s._dist&&null!=e){s._setData(null,e.tag);s._dist=r}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{const e=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(t,e,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){var t=0,i=e.length;for(let 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,c){var _,m,d,u,p,g,f,C,v,I,w=s.length,T=h,b=1==this.reversed;d=(a-l)/this._level;_=a-(this._level-c)*d;m=l+(c-1)*d;for(let h=0;h<w;h++){C=t;v=i;f=e.startGroup(`${SunburstClsNames.slice} ${SunburstClsNames.sliceLevel}${c}`);if(1===c){e.fill=this._getColorLight(h);e.stroke=this._getColor(h)}p=s[h];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,c+1);for(;t<this._sliceIndex;t++)null==this._parentRef[t]&&(this._parentRef[t]=this._sliceIndex)}this._renderSlice(e,C,v,I,0,this._sliceIndex,_,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)){const e=i.pointIndex,t=this._processedItem[e],s=new _DataPoint(null,e,null,null);s.item=t;i._setDataPoint(s)}return i}_getSelectedItemOffset(e,t){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)r=this.selectedItemOffset;else{const i=this._getSelectedParentIndex(e);if(null!=i){const 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){const t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null}}_registerModule("wijmo.chart.hierarchical",selfModule);
|
|
14
|
+
import{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,_getAccessibleChartTypeName,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames,_getAreaShape,_getRectFocusShape}from"@grapecity/wijmo.chart";import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,isNumberNaN,isNumberFinite,_registerModule}from"@grapecity/wijmo";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){var i=[];for(let s=0,r=e.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(e.groups[s],t);i.push(r)}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(let s=0,r=e.groups.length;s<r;s++){const r=HierarchicalUtil.parseGroups(e.groups[s],t);i.items.push(r)}}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 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._maxDepth=-1;this._tmItems=[];this._accessibilityItems=[];this._accessibilityAreas=[];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;const i=this.focusMode?this._getAccessibilityFocusStateFromClick(e):null;if(this.maxDepth>0){const i=this.hitTest(e);let 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){const e=this._areas[i.pointIndex];if(this._currentItem!=e.item){this._currentItem=e.item;this._refreshChart();t=!1}}}t&&this.isTouching&&this._toogleTooltip(e);this._updateAccessibilityFocusFromState(i)});this.addEventListener(this.hostElement,"contextmenu",e=>{if(this.maxDepth>0){const t=this.hitTest(e);let 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))}_getAccessibleChartTypeName(){return _getAccessibleChartTypeName("treeMapChart")}_createAccessibilityModel(){const e=super._createAccessibilityModel(),t={index:0,name:this._getAccessibleChartTypeName(),points:[]};if(this.focusMode)for(let e=0;e<this._accessibilityItems.length;e++){const i=this._accessibilityItems[e];t.points.push({index:e,category:i&&i.label,value:i&&i.value})}e.series.splice(0,e.series.length,t);return e}_getAccessibilityTooltipContent(e){if(e&&"series"===e.region&&null!=e.pointIndex&&this.tooltip.content){if(!this._getAccessibilityItem(e.pointIndex))return null;const t=new HitTestInfo(this,new Point);t._chartElement=ChartElement.SeriesSymbol;t._setData(null,e.pointIndex);return this._getLabelContent(t,this.tooltip.content)}return super._getAccessibilityTooltipContent(e)}_getAccessibilitySeriesPointShape(e,t){return _getAreaShape(this._accessibilityAreas&&this._accessibilityAreas[t])||_getRectFocusShape(this._rectChart)}_getAccessibilityItem(e){return this._accessibilityItems&&null!=e?this._accessibilityItems[e]:null}_getAccessibilityFocusStateFromClick(e){const t=this.hitTest(e);if(t.chartElement===ChartElement.Header&&this.header)return{region:"title"};if(t.chartElement===ChartElement.ChartArea){if(null!=t.pointIndex){const e=this._areas[t.pointIndex],i=this._accessibilityAreas.indexOf(e);if(i>=0)return{region:"series",seriesIndex:0,pointIndex:i}}return{region:"chart"}}return null}_rollUp(){this._currentItem=this._currentItem&&this._currentItem.parent?this._currentItem.parent:null;this._refreshChart()}_toogleTooltip(e){var t=this._tooltip;if(t.content){const i=this.hitTest(e);if(i.distance<=t.threshold){const t=this._getLabelContent(i,this.tooltip.content);this._showToolTip(t,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}_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)=>{let 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)){const t=a,i=this._getLightColor(t);e.titleFill=t;e.titleStroke=t;e.fill=i;e.stroke=t}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));const t=s._calculateColorByVal(e.value,!0).toString();e.fill=t;e.stroke=t}}if(e.items&&e.items.length>0){const t=new _ColorConverter(a.minColor,e.minValue,a.maxColor,e.maxValue);this._calculateColorForItems(e.items,r,t)}})}_getBindData(e,t,i){var s,r=0;i&&(s=e[i]);isNumber(s)?r=asNumber(s):s&&(r=parseFloat(s.toString()));if(!isNumberNaN(+r)&&isNumberFinite(+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));t.width,t.height;this._tmGroup=e.startGroup(null,null,!0);var h=this._parseMargin(this.plotMargin);this.dataLabel;isNumberNaN(+h.left)&&(h.left=TreeMap._MARGIN);isNumberNaN(+h.right)&&(h.right=TreeMap._MARGIN);isNumberNaN(+h.top)&&(h.top=TreeMap._MARGIN);isNumberNaN(+h.bottom)&&(h.bottom=TreeMap._MARGIN);t.top+=h.top;var o=t.height-(h.top+h.bottom);t.height=o>0?o:24;t.left+=h.left;var n=t.width-(h.left+h.right);t.width=n>0?n:24;s=this._currentItem?[this._currentItem]:this._tmItems;r=null==this._currentItem||this.maxDepth<1||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){this._accessibilityItems=[];this._accessibilityAreas=[];if(r>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,s,r,1,a);this._renderHierarchicalTreeMapItems(e,i,t,s,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(let t=0;t<m;t++){h=e.startGroup(TreeMap._CSS_ITEMDEPTH+a);o=s[t];n=Math.abs(o.value);c=o.rect;o.draw(e);_=new _RectArea(c);o.items&&this._renderHierarchicalTreeMapItems(e,h,o.itemsRect,o.items,n,a+1,l);_.tag=this._itemIndex;_.name=o.label;_.value=n;_.item=o;this._areas.push(_);this._addAccessibilityItem(o,_);this._itemIndex++;e.endGroup()}}_addAccessibilityItem(e,t){const i=t&&t.rect;if(i&&i.width>0&&i.height>0){this._accessibilityItems.push(e);this._accessibilityAreas.push(t)}}_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(let o=0;o<i;o++){const i=this._areas[o];if(i){const n=i.rect,c=new HitTestInfo(this,t);c._setData(null,o);let _=this._getLabelContent(c,s.content);t=new Point(n.left+n.width/2,n.top+n.height/2);if(_&&n.width>0&&n.height>0){const o=new DataLabelRenderEventArgs(e,c,t,_);if(s.onRendering(o)){_=o.text;t=o.point;this._renderLabelAndBorder(e,i,n,_,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,u=DataLabelClsNames.border;switch(r){case LabelPosition.Top:h&&e.drawLine(l.x,l.y,l.x,l.y-a,m);l.y-=o+a;c=this._renderText(e,t,i,s,l,1,2,_);break;case LabelPosition.Bottom:h&&e.drawLine(l.x,l.y,l.x,l.y+a,m);l.y+=o+a;c=this._renderText(e,t,i,s,l,1,0,_);break;case LabelPosition.Left:h&&e.drawLine(l.x,l.y,l.x-a,l.y,m);l.x-=o+a;c=this._renderText(e,t,i,s,l,2,1,_);break;case LabelPosition.Right:h&&e.drawLine(l.x,l.y,l.x+a,l.y,m);l.x+=o+a;c=this._renderText(e,t,i,s,l,0,1,_);break;case LabelPosition.Center:c=this._renderText(e,t,i,s,l,1,1,_)}n&&c&&e.drawRect(c.left-o,c.top-o,c.width+2*o,c.height+2*o,u);return c}_renderText(e,t,i,s,r,a,l,h){var o,n=s,c=t.item;o=e.measureString(s,h);if(this.type===TreeMapType.Horizontal&&c.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){const 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(let o=0;o<a;o++){const a=this._measureLegendItem(e,this._tmItems[o].label);if(t){if(h+a.height>s){r.height=s;this._colRowLens.push(l);l=0;h=0}l<a.width&&(l=a.width);h+=a.height}else{if(l+a.width>i){r.width=i;this._colRowLens.push(h);h=0;l=0}h<a.height&&(h=a.height);l+=a.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){var l,h=this._rectLegend,o=this._tmItems.length,n=0,c=t.clone();for(let r=0;r<o;r++){l=this._tmItems[r].label;const a=this._measureLegendItem(e,l);if(s){if(c.y+a.height>h.top+h.height+1){c.x+=this._colRowLens[n];n++;c.y=t.y}}else if(c.x+a.width>h.left+h.width+1){c.y+=this._colRowLens[n];n++;c.x=t.x}const o=new Rect(c.x,c.y,a.width,a.height);this._drawLegendItem(e,o,r,l);i.push(o);s?c.y+=a.height:c.x+=a.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,c=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+r,o-.5*c,n,c,null);s&&FlexChart._renderText(e,s,new Point(t.left+c+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)){let e,t=this._areas.length,r=NaN;for(let a=0;a<t;a++){const t=i.clone(),l=this._areas[a];if(l.contains(t)){s._setData(null,l.tag);s._dist=0}const h=l.distance(t);if(void 0!==h&&(isNumberNaN(+r)||h<r)){r=h;e=l}}if(0!==s._dist&&null!=e){s._setData(null,e.tag);s._dist=r}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{const e=_TreeMapUtils.getRowedItems(s,r,a);_TreeMapUtils.layoutRowedItems(t,e,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){var t=0,i=e.length;for(let 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 function _createHierarchicalAccessibilityModel(e,t,i,s){const r=[];s&&_addHierarchicalAccessibilityPoints(i,r);e.series.splice(0,e.series.length,{index:0,name:t,points:r});return e}function _addHierarchicalAccessibilityPoints(e,t){if(e)for(const i of e){i&&i.items&&i.items.length&&_addHierarchicalAccessibilityPoints(i.items,t);t.push({index:t.length,category:i&&(i.label||i.name),value:i&&i.value})}}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()}_getAccessibleChartTypeName(){return _getAccessibleChartTypeName("sunburstChart")}_createAccessibilityModel(){return _createHierarchicalAccessibilityModel(super._createAccessibilityModel(),this._getAccessibleChartTypeName(),this._processedData,this.focusMode)}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,c){var _,m,u,d,p,g,f,C,b,v,I=s.length,T=h,w=1==this.reversed;u=(a-l)/this._level;_=a-(this._level-c)*u;m=l+(c-1)*u;for(let h=0;h<I;h++){C=t;b=i;f=e.startGroup(`${SunburstClsNames.slice} ${SunburstClsNames.sliceLevel}${c}`);if(1===c){e.fill=this._getColorLight(h);e.stroke=this._getColor(h)}p=s[h];g=Math.abs(p.value);d=Math.abs(g-r)<1e-10?o:o*g/r;v=w?T-.5*d:T+.5*d;if(n>0&&d<o){C+=n*Math.cos(v);b+=n*Math.sin(v)}if(p.items){let t=this._sliceIndex;this._renderHierarchicalSlices(e,C,b,p.items,g,a,l,T,d,0,c+1);for(;t<this._sliceIndex;t++)null==this._parentRef[t]&&(this._parentRef[t]=this._sliceIndex)}this._renderSlice(e,C,b,v,0,this._sliceIndex,_,m,T,d,o);this._processedItem.push(p.item);this._sliceIndex++;w?T-=d:T+=d;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)){const e=i.pointIndex,t=this._processedItem[e],s=new _DataPoint(null,e,null,null);s.item=t;i._setDataPoint(s)}return i}_getSelectedItemOffset(e,t){var i=0,s=0,r=0;if(this.selectedItemOffset>0)if(e==this.selectedIndex)r=this.selectedItemOffset;else{const i=this._getSelectedParentIndex(e);if(null!=i){const 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){const t=this._parentRef[e];return null!=t?t===this.selectedIndex?t:this._getSelectedParentIndex(t):null}}_registerModule("wijmo.chart.hierarchical",selfModule);
|
package/es5-esm.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
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=HierarchicalUtil.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=HierarchicalUtil.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.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._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};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]);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));t.width,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;var s=t.height-(n.top+n.bottom);t.height=s>0?s:24;t.left+=n.left;var h=t.width-(n.left+n.right);t.width=h>0?h:24;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1||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=this._areas.length,l=NaN,n=void 0,s=0;s<o;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(l)||c<l)){l=c;n=u}}if(0!==r._dist&&null!=n){r._setData(null,n.tag);r._dist=l}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);
|
|
14
|
+
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{FlexPie,_DataPoint,HitTestInfo,SelectionMode,FlexChartBase,_getAccessibleChartTypeName,DataLabel,_KeyWords,FlexChart,ChartElement,Series,LabelPosition,DataLabelRenderEventArgs,RenderEventArgs,_RectArea,ChartTooltip,_SvgRenderEngine,Legend,Position,DataLabelClsNames,FlexChartClsNames,_getAreaShape,_getRectFocusShape}from"@grapecity/wijmo.chart";import{isString,isArray,CollectionView,Aggregate,assert,asEnum,Rect,Color,asBoolean,isFunction,Point,Size,isNumber,asNumber,asString,asArray,ControlClsNames,isNumberNaN,isNumberFinite,_registerModule}from"@grapecity/wijmo";import*as selfModule from"@grapecity/wijmo.chart.hierarchical";var HierarchicalUtil=function(){function HierarchicalUtil(){}HierarchicalUtil.parseDataToHierarchical=function(e,t,i,r){var a,s=[];if(e instanceof CollectionView&&e.groups.length>0)s=HierarchicalUtil.parseGroupCV(e,t);else if(e.length>0){isString(i)&&i.indexOf(",")>-1&&(i=i.split(","));if(r)s=HierarchicalUtil.parseItems(e,t,i,r);else{a=HierarchicalUtil.convertFlatData(e,t,i);s=HierarchicalUtil.parseItems(a,"value",i,"items")}}return s};HierarchicalUtil.parseGroupCV=function(e,t){for(var i=[],r=0,a=e.groups.length;r<a;r++){var s=HierarchicalUtil.parseGroups(e.groups[r],t);i.push(s)}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 s=HierarchicalUtil.parseGroups(e.groups[r],t);i.items.push(s)}}else e.isBottomLevel&&(i.value=e.getAggregate(Aggregate.Sum,t));return i};HierarchicalUtil.parseItems=function(e,t,i,r){var a,s=[],o=e.length;for(a=0;a<o;a++)s.push(HierarchicalUtil.parseItem(e[a],t,i,r));return s};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,s=[],o={},l=e.length;for(r=0;r<l;r++){a=e[r];HierarchicalUtil.convertFlatItem(o,a,t,isArray(i)?i:[i])}HierarchicalUtil.convertFlatToHierarchical(s,o);return s};HierarchicalUtil.convertFlatToHierarchical=function(e,t){var i=t.flatDataOrder;i&&i.forEach((function(i){var r,a={},s=t[i];a[t.field]=i;if(s.flatDataOrder){r=[];HierarchicalUtil.convertFlatToHierarchical(r,s);a.items=r}else a.value=s;e.push(a)}))};HierarchicalUtil.convertFlatItem=function(e,t,i,r){var a,s,o,l;s=(a=r.slice()).shift();if(null==(o=null==(s=isString(s)?s.trim():s)?i:t[s]))return!1;if(0===a.length){e[o]=t[i]||0;e.flatDataOrder?e.flatDataOrder.push(o):e.flatDataOrder=[o];e.field=s}else{if(null==e[o]){e[o]={};e.flatDataOrder?e.flatDataOrder.push(o):e.flatDataOrder=[o];e.field=s}l=e[o];HierarchicalUtil.convertFlatItem(l,t,i,a)||(e[o]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,s,o,l,n,h={};if(isArray(r))l=(n=r.slice()).length?n.shift().trim():"";else{n=r;l=r}if(isArray(i)){s=null==(s=(a=i.slice()).shift())?s:s.trim();h.nameField=null==s?t:s;h.name=null==s?e[t]:e[s];o=e[l];0===a.length?h.value=e[t]:o&&isArray(o)&&o.length>0?h.items=HierarchicalUtil.parseItems(o,t,a,n):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(o=e[l])&&isArray(o)&&o.length>0?h.items=HierarchicalUtil.parseItems(o,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}();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._maxDepth=-1;r._tmItems=[];r._accessibilityItems=[];r._accessibilityAreas=[];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,i=r.focusMode?r._getAccessibilityFocusStateFromClick(e):null;if(r.maxDepth>0){var a=r.hitTest(e),s=FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(s=r.tooltip.threshold);if(a.distance<=s&&a.pointIndex>=-1&&a.pointIndex<r._areas.length){var o=r._areas[a.pointIndex];if(r._currentItem!=o.item){r._currentItem=o.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e);r._updateAccessibilityFocusFromState(i)}));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._getAccessibleChartTypeName=function(){return _getAccessibleChartTypeName("treeMapChart")};TreeMap.prototype._createAccessibilityModel=function(){var t=e.prototype._createAccessibilityModel.call(this),i={index:0,name:this._getAccessibleChartTypeName(),points:[]};if(this.focusMode)for(var r=0;r<this._accessibilityItems.length;r++){var a=this._accessibilityItems[r];i.points.push({index:r,category:a&&a.label,value:a&&a.value})}t.series.splice(0,t.series.length,i);return t};TreeMap.prototype._getAccessibilityTooltipContent=function(t){if(t&&"series"===t.region&&null!=t.pointIndex&&this.tooltip.content){if(!this._getAccessibilityItem(t.pointIndex))return null;var i=new HitTestInfo(this,new Point);i._chartElement=ChartElement.SeriesSymbol;i._setData(null,t.pointIndex);return this._getLabelContent(i,this.tooltip.content)}return e.prototype._getAccessibilityTooltipContent.call(this,t)};TreeMap.prototype._getAccessibilitySeriesPointShape=function(e,t){return _getAreaShape(this._accessibilityAreas&&this._accessibilityAreas[t])||_getRectFocusShape(this._rectChart)};TreeMap.prototype._getAccessibilityItem=function(e){return this._accessibilityItems&&null!=e?this._accessibilityItems[e]:null};TreeMap.prototype._getAccessibilityFocusStateFromClick=function(e){var t=this.hitTest(e);if(t.chartElement===ChartElement.Header&&this.header)return{region:"title"};if(t.chartElement===ChartElement.ChartArea){if(null!=t.pointIndex){var i=this._areas[t.pointIndex],r=this._accessibilityAreas.indexOf(i);if(r>=0)return{region:"series",seriesIndex:0,pointIndex:r}}return{region:"chart"}}return null};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};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 s=this;e&&e.length>0&&e.forEach((function(e,a){var o,l=new _TreeMapItem;l.items=[];l.parent=r;l.depth=i;e.items&&s._getTMItemsAndLabelsAndValues(e.items,l.items,i+1,l);o=e.name?e.name:e.value.toString();l.label=o;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);s._labels.push(o);s._values.push(e.value)}))};TreeMap.prototype._calculateColorForItems=function(e,t,i){var r=this,a=i;e.forEach((function(e,i){var s=t;1===e.depth&&(s=r._getColor(i));e.palette=s;var o=e.palette;if(isString(o)){var l=o,n=r._getLightColor(l);e.titleFill=l;e.titleStroke=l;e.fill=n;e.stroke=l}else if(o.maxColor&&o.minColor&&o.titleColor){e.titleFill=o.titleColor;e.titleStroke=o.titleColor;if(null==e.parent){e.fill=o.maxColor;e.stroke=o.maxColor}else{null==a&&(a=new _ColorConverter(o.minColor,e.minValue,o.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 c=new _ColorConverter(o.minColor,e.minValue,o.maxColor,e.maxValue);r._calculateColorForItems(e.items,s,c)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);isNumber(r)?a=asNumber(r):r&&(a=parseFloat(r.toString()));if(!isNumberNaN(+a)&&isNumberFinite(+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 s;if(e.items){s=i._calculateValueAndDepth(e.items,t+1);e.value=s;a.push(s)}else{s=i._getBindData(e,a,"value");e.value=s}r+=s}));return r};TreeMap.prototype._prepareRender=function(){this._areas=[]};TreeMap.prototype._renderChart=function(e,t,i){var r,a,s,o=this._rectChart.clone();new Size(o.width,o.height);this.onRendering(new RenderEventArgs(e));t.width,t.height;this._tmGroup=e.startGroup(null,null,!0);var l=this._parseMargin(this.plotMargin);this.dataLabel;isNumberNaN(+l.left)&&(l.left=TreeMap._MARGIN);isNumberNaN(+l.right)&&(l.right=TreeMap._MARGIN);isNumberNaN(+l.top)&&(l.top=TreeMap._MARGIN);isNumberNaN(+l.bottom)&&(l.bottom=TreeMap._MARGIN);t.top+=l.top;var n=t.height-(l.top+l.bottom);t.height=n>0?n:24;t.left+=l.left;var h=t.width-(l.left+l.right);t.width=h>0?h:24;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1||this._currentItem&&this._currentItem.items&&this._currentItem.items.length&&this.maxDepth>1?this.maxDepth:this.maxDepth+1;s=this._currentItem?this._currentItem.value:this._sum;this._renderTreeMap(e,t,this._tmGroup,r,s,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,s){this._accessibilityItems=[];this._accessibilityAreas=[];if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,s);this._renderHierarchicalTreeMapItems(e,i,t,r,a,1,s)}};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 s=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;s._calculateItemRects(e.itemsRect,e.items,e.value,r+1,a)}}))};TreeMap.prototype._renderHierarchicalTreeMapItems=function(e,t,i,r,a,s,o){var l,n,h,c,u,p=r.length;this.type;if(0!==p)for(var _=0;_<p;_++){l=e.startGroup(TreeMap._CSS_ITEMDEPTH+s);n=r[_];h=Math.abs(n.value);c=n.rect;n.draw(e);u=new _RectArea(c);n.items&&this._renderHierarchicalTreeMapItems(e,l,n.itemsRect,n.items,h,s+1,o);u.tag=this._itemIndex;u.name=n.label;u.value=h;u.item=n;this._areas.push(u);this._addAccessibilityItem(n,u);this._itemIndex++;e.endGroup()}};TreeMap.prototype._addAccessibilityItem=function(e,t){var i=t&&t.rect;if(i&&i.width>0&&i.height>0){this._accessibilityItems.push(e);this._accessibilityAreas.push(t)}};TreeMap.prototype._renderLabels=function(e){var t,i=this._areas.length,r=this.dataLabel,a=r.position,s=r.connectingLine,o=r.border,l=r.offset||0,n=DataLabelClsNames.labels;e.stroke="null";e.fill="transparent";e.strokeWidth=1;e.startGroup(n);for(var h=0;h<i;h++){var c=this._areas[h];if(c){var u=c.rect,p=new HitTestInfo(this,t);p._setData(null,h);var _=this._getLabelContent(p,r.content);t=new Point(u.left+u.width/2,u.top+u.height/2);if(_&&u.width>0&&u.height>0){var m=new DataLabelRenderEventArgs(e,p,t,_);if(r.onRendering(m)){_=m.text;t=m.point;this._renderLabelAndBorder(e,c,u,_,a,l,t,s,2,o)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,s,o,l,n,h){var c,u=DataLabelClsNames.label,p=DataLabelClsNames.line,_=DataLabelClsNames.border;switch(a){case LabelPosition.Top:l&&e.drawLine(o.x,o.y,o.x,o.y-s,p);o.y-=n+s;c=this._renderText(e,t,i,r,o,1,2,u);break;case LabelPosition.Bottom:l&&e.drawLine(o.x,o.y,o.x,o.y+s,p);o.y+=n+s;c=this._renderText(e,t,i,r,o,1,0,u);break;case LabelPosition.Left:l&&e.drawLine(o.x,o.y,o.x-s,o.y,p);o.x-=n+s;c=this._renderText(e,t,i,r,o,2,1,u);break;case LabelPosition.Right:l&&e.drawLine(o.x,o.y,o.x+s,o.y,p);o.x+=n+s;c=this._renderText(e,t,i,r,o,0,1,u);break;case LabelPosition.Center:c=this._renderText(e,t,i,r,o,1,1,u)}h&&c&&e.drawRect(c.left-n,c.top-n,c.width+2*n,c.height+2*n,_);return c};TreeMap.prototype._renderText=function(e,t,i,r,a,s,o,l){var n,h=r,c=t.item;n=e.measureString(r,l);if(this.type===TreeMapType.Horizontal&&c.isTitle){n.width>i.height&&(h=this._cutText(r,n.width,i.height));FlexChart._renderRotatedText(e,h,a,s,o,a,-90,l);return null}n.width>i.width&&(h=this._cutText(r,n.width,i.width));return FlexChart._renderText(e,h,a,s,o,l)};TreeMap.prototype._cutText=function(e,t,i){var r="",a=e.length,s=Math.floor((1-(t-i)/t)*a);e.length>0&&(r=e[0]+(s>1?e.substring(1,s-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,s=(new Size(i,r),this._tmItems.length),o=0,l=0;this._colRowLens=[];for(var n=0;n<s;n++){var h=this._measureLegendItem(e,this._tmItems[n].label);if(t){if(l+h.height>r){a.height=r;this._colRowLens.push(o);o=0;l=0}o<h.width&&(o=h.width);l+=h.height}else{if(o+h.width>i){a.width=i;this._colRowLens.push(l);l=0;o=0}l<h.height&&(l=h.height);o+=h.width}}if(t){a.height<l&&(a.height=l);this._colRowLens.push(o);a.width=this._colRowLens.reduce((function(e,t){return e+t}),0);a.width=this._getLegendSize(i,a.width)}else{a.width<o&&(a.width=o);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,s){for(var o,l=this._rectLegend,n=this._tmItems.length,h=0,c=t.clone(),u=0;u<n;u++){o=this._tmItems[u].label;var p=this._measureLegendItem(e,o);if(r){if(c.y+p.height>l.top+l.height+1){c.x+=this._colRowLens[h];h++;c.y=t.y}}else if(c.x+p.width>l.left+l.width+1){c.y+=this._colRowLens[h];h++;c.x=t.x}var _=new Rect(c.x,c.y,p.width,p.height);this._drawLegendItem(e,_,u,o);i.push(_);r?c.y+=p.height:c.x+=p.width}};TreeMap.prototype._drawLegendItem=function(e,t,i,r){e.strokeWidth=1;var a=Series._LEGEND_ITEM_MARGIN,s=this._getColor(i),o=s&&s.maxColor?s.maxColor:s,l=this._getLightColor(o);e.fill=o;e.stroke=l;var n=t.top+.5*t.height,h=Series._LEGEND_ITEM_WIDTH,c=Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,n-.5*c,h,c,null);r&&FlexChart._renderText(e,r,new Point(t.left+c+2*a,n),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 s=this._areas.length,o=NaN,l=void 0,n=0;n<s;n++){var h=i.clone(),c=this._areas[n];if(c.contains(h)){r._setData(null,c.tag);r._dist=0}var u=c.distance(h);if(void 0!==u&&(isNumberNaN(+o)||u<o)){o=u;l=c}}if(0!==r._dist&&null!=l){r._setData(null,l.tag);r._dist=o}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,s=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;s+=t}else{i=i>2*t?i-2*t:0;r=r>2*t?r-2*t:0}return new Rect(a,s,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,s){this.minColor=new Color(e);this.minColorValue=t;this.maxColor=new Color(i);this.maxColorValue=r;this.midColorValue=this.originalMidColorValue=s;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,s=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;s=this.midColorValue}}return this._getColor(e,i,a,r,s)};_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(),s=a.width*a.height/i;do{var o=_TreeMapUtils.getRowedItems(r,a,s);_TreeMapUtils.layoutRowedItems(t,o,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=[],s=[],o=_TreeMapUtils.getNarrowLen(t),l=_TreeMapUtils.getRowedItem(r,t,i);a.push(l);s.push(l);if(e.length>0)do{s.push(_TreeMapUtils.getRowedItem(e[0],t,i));if(!(_TreeMapUtils.worst(a,o)>_TreeMapUtils.worst(s,o)))break;a=s.slice();e.shift()}while(e.length);return a};_TreeMapUtils.layoutRowedItems=function(e,t,i,r){var a,s=i.left,o=i.top,l=s+i.width,n=o+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;s+a>=l&&(a=l-s);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>n||i===t.length-1)&&(r=n-o);var l=new Rect(s,o,a,r);e.item.rect=l;o+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;o+a>=n&&(a=n-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(s+r>l||i===t.length-1)&&(r=l-s);var n=new Rect(s,o,r,a);e.item.rect=n;s+=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),s=a*a,o=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(o*i/s,s/(o*r))};return _TreeMapUtils}();export function _createHierarchicalAccessibilityModel(e,t,i,r){var a=[];r&&_addHierarchicalAccessibilityPoints(i,a);e.series.splice(0,e.series.length,{index:0,name:t,points:a});return e}function _addHierarchicalAccessibilityPoints(e,t){if(e)for(var i=0,r=e;i<r.length;i++){var a=r[i];a&&a.items&&a.items.length&&_addHierarchicalAccessibilityPoints(a.items,t);t.push({index:t.length,category:a&&(a.label||a.name),value:a&&a.value})}}var 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}Sunburst.prototype._getAccessibleChartTypeName=function(){return _getAccessibleChartTypeName("sunburstChart")};Sunburst.prototype._createAccessibilityModel=function(){return _createHierarchicalAccessibilityModel(e.prototype._createAccessibilityModel.call(this),this._getAccessibleChartTypeName(),this._processedData,this.focusMode)};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],s=this._labels;this._level<t&&(this._level=t);e.forEach((function(e){var o;if(e.items){o=i._calculateValueAndLevel(e.items,t+1);e.value=o;a.push(o);s.push(e.name)}else{o=i._getBindData(e,a,s,"value","name");e.value=o}r+=o}));return r};Sunburst.prototype._renderPie=function(e,t,i,r,a,s){var o=this._getCenter();this._sliceIndex=0;this._parentRef={};this._renderHierarchicalSlices(e,o.x,o.y,this._processedData,this._sum,i,r,a,2*Math.PI,s,1)};Sunburst.prototype._renderHierarchicalSlices=function(e,t,i,r,a,s,o,l,n,h,c){var u,p,_,m,d,f,g,b,C,v,y=r.length,T=l,M=1==this.reversed;_=(s-o)/this._level;u=s-(this._level-c)*_;p=o+(c-1)*_;for(var I=0;I<y;I++){b=t;C=i;g=e.startGroup(SunburstClsNames.slice+" "+SunburstClsNames.sliceLevel+c);if(1===c){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?n:n*f/a;v=M?T-.5*m:T+.5*m;if(h>0&&m<n){b+=h*Math.cos(v);C+=h*Math.sin(v)}if(d.items){var w=this._sliceIndex;this._renderHierarchicalSlices(e,b,C,d.items,f,s,o,T,m,0,c+1);for(;w<this._sliceIndex;w++)null==this._parentRef[w]&&(this._parentRef[w]=this._sliceIndex)}this._renderSlice(e,b,C,v,0,this._sliceIndex,u,p,T,m,n);this._processedItem.push(d.item);this._sliceIndex++;M?T-=m:T+=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 s=r.pointIndex,o=this._processedItem[s],l=new _DataPoint(null,s,null,null);l.item=o;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 s=this._getSelectedParentIndex(e);if(null!=s){var o=this._areas[s];this.dataLabel.position;a=this.selectedItemOffset;t=((t=o.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);
|
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -18,8 +18,8 @@
|
|
|
18
18
|
*
|
|
19
19
|
*/
|
|
20
20
|
export declare var ___keepComment: any;
|
|
21
|
+
import { ChartAccessibilityModel, FlexPie, HitTestInfo, SelectionMode, FlexChartBase, IRenderEngine, DataLabel, ChartTooltip, _ChartAccessibilityFocusShape, ChartAccessibilityFocusState } from '@grapecity/wijmo.chart';
|
|
21
22
|
import { Rect, Point, Size } from '@grapecity/wijmo';
|
|
22
|
-
import { FlexPie, HitTestInfo, SelectionMode, FlexChartBase, IRenderEngine, DataLabel, ChartTooltip } from '@grapecity/wijmo.chart';
|
|
23
23
|
export declare class HierarchicalUtil {
|
|
24
24
|
static parseDataToHierarchical(data: any, binding: any, bindingName: any, childItemsPath: any): any[];
|
|
25
25
|
private static parseGroupCV;
|
|
@@ -83,6 +83,8 @@ export declare class TreeMap extends FlexChartBase {
|
|
|
83
83
|
private _type;
|
|
84
84
|
private _maxDepth;
|
|
85
85
|
private _tmItems;
|
|
86
|
+
private _accessibilityItems;
|
|
87
|
+
private _accessibilityAreas;
|
|
86
88
|
private _colRowLens;
|
|
87
89
|
_currentItem: any;
|
|
88
90
|
_defPalette: any;
|
|
@@ -93,6 +95,12 @@ export declare class TreeMap extends FlexChartBase {
|
|
|
93
95
|
* @param options A Javascript object containing initialization data for the control.
|
|
94
96
|
*/
|
|
95
97
|
constructor(element: any, options?: any);
|
|
98
|
+
protected _getAccessibleChartTypeName(): string;
|
|
99
|
+
protected _createAccessibilityModel(): ChartAccessibilityModel;
|
|
100
|
+
protected _getAccessibilityTooltipContent(state: ChartAccessibilityFocusState): string;
|
|
101
|
+
_getAccessibilitySeriesPointShape(_seriesIndex: number, pointIndex: number): _ChartAccessibilityFocusShape;
|
|
102
|
+
private _getAccessibilityItem;
|
|
103
|
+
private _getAccessibilityFocusStateFromClick;
|
|
96
104
|
_rollUp(): void;
|
|
97
105
|
private _toogleTooltip;
|
|
98
106
|
/**
|
|
@@ -189,6 +197,7 @@ export declare class TreeMap extends FlexChartBase {
|
|
|
189
197
|
private _resetItemRects;
|
|
190
198
|
private _calculateItemRects;
|
|
191
199
|
private _renderHierarchicalTreeMapItems;
|
|
200
|
+
private _addAccessibilityItem;
|
|
192
201
|
_renderLabels(engine: IRenderEngine): void;
|
|
193
202
|
private _renderLabelAndBorder;
|
|
194
203
|
private _renderText;
|
|
@@ -210,6 +219,7 @@ export declare class TreeMap extends FlexChartBase {
|
|
|
210
219
|
_getHitTestValue(index: number): number;
|
|
211
220
|
_getHitTestLabel(index: number): string;
|
|
212
221
|
}
|
|
222
|
+
export declare function _createHierarchicalAccessibilityModel(baseModel: ChartAccessibilityModel, chartType: string, items: any[], includeDetails: boolean): ChartAccessibilityModel;
|
|
213
223
|
/**
|
|
214
224
|
* Sunburst chart control.
|
|
215
225
|
*/
|
|
@@ -223,6 +233,8 @@ export declare class Sunburst extends FlexPie {
|
|
|
223
233
|
private _childItemsPath;
|
|
224
234
|
private _processedItem;
|
|
225
235
|
constructor(element: any, options?: any);
|
|
236
|
+
protected _getAccessibleChartTypeName(): string;
|
|
237
|
+
protected _createAccessibilityModel(): ChartAccessibilityModel;
|
|
226
238
|
/**
|
|
227
239
|
* Gets or sets the name of the property containing name of the data item;
|
|
228
240
|
* it should be an array or a string.
|
package/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
*
|
|
3
|
-
* Wijmo Library 5.
|
|
3
|
+
* Wijmo Library 5.20262.60
|
|
4
4
|
* https://developer.mescius.com/wijmo
|
|
5
5
|
*
|
|
6
6
|
* Copyright(c) MESCIUS inc. All rights reserved.
|
|
@@ -11,4 +11,4 @@
|
|
|
11
11
|
*
|
|
12
12
|
*/
|
|
13
13
|
|
|
14
|
-
"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=HierarchicalUtil.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=HierarchicalUtil.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=[],l=e.length;for(a=0;a<l;a++)o.push(HierarchicalUtil.parseItem(e[a],t,i,r));return o};HierarchicalUtil.convertFlatData=function(e,t,i){var r,a,o=[],l={},s=e.length;for(r=0;r<s;r++){a=e[r];HierarchicalUtil.convertFlatItem(l,a,t,wijmo_1.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,s;o=(a=r.slice()).shift();if(null==(l=null==(o=wijmo_1.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}s=e[l];HierarchicalUtil.convertFlatItem(s,t,i,a)||(e[l]=t[i])}return!0};HierarchicalUtil.parseItem=function(e,t,i,r){var a,o,l,s,n,h={};if(wijmo_1.isArray(r))s=(n=r.slice()).length?n.shift().trim():"";else{n=r;s=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];l=e[s];0===a.length?h.value=e[t]:l&&wijmo_1.isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,t,a,n):h.value=e[t]||0}else{h.nameField=null==i?t:i;h.name=null==i?e[t]:e[i];null!=(l=e[s])&&wijmo_1.isArray(l)&&l.length>0?h.items=HierarchicalUtil.parseItems(l,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._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};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,s=new _TreeMapItem;s.items=[];s.parent=r;s.depth=i;e.items&&o._getTMItemsAndLabelsAndValues(e.items,s.items,i+1,s);l=e.name?e.name:e.value.toString();s.label=l;s.value=e.value;if(null!=r){e.value>r.maxValue&&(r.maxValue=e.value);e.value<r.minValue&&(r.minValue=e.value)}t.push(s);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(wijmo_1.isString(l)){var s=l,n=r._getLightColor(s);e.titleFill=s;e.titleStroke=s;e.fill=n;e.stroke=s}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 _=new _ColorConverter(l.minColor,e.minValue,l.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,_)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);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,l=this._rectChart.clone();new wijmo_1.Size(l.width,l.height);this.onRendering(new wijmo_chart_1.RenderEventArgs(e));t.width,t.height;this._tmGroup=e.startGroup(null,null,!0);var s=this._parseMargin(this.plotMargin);this.dataLabel;isNaN(s.left)&&(s.left=TreeMap._MARGIN);isNaN(s.right)&&(s.right=TreeMap._MARGIN);isNaN(s.top)&&(s.top=TreeMap._MARGIN);isNaN(s.bottom)&&(s.bottom=TreeMap._MARGIN);t.top+=s.top;var n=t.height-(s.top+s.bottom);t.height=n>0?n:24;t.left+=s.left;var h=t.width-(s.left+s.right);t.width=h>0?h:24;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1||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,l){var s,n,h,_,c,u=r.length;this.type;if(0!==u)for(var m=0;m<u;m++){s=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,s,n.itemsRect,n.items,h,o+1,l);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,l=r.border,s=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,s,t,o,2,l)}}}}e.endGroup()};TreeMap.prototype._renderLabelAndBorder=function(e,t,i,r,a,o,l,s,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:s&&e.drawLine(l.x,l.y,l.x,l.y-o,u);l.y-=n+o;_=this._renderText(e,t,i,r,l,1,2,c);break;case wijmo_chart_1.LabelPosition.Bottom:s&&e.drawLine(l.x,l.y,l.x,l.y+o,u);l.y+=n+o;_=this._renderText(e,t,i,r,l,1,0,c);break;case wijmo_chart_1.LabelPosition.Left:s&&e.drawLine(l.x,l.y,l.x-o,l.y,u);l.x-=n+o;_=this._renderText(e,t,i,r,l,2,1,c);break;case wijmo_chart_1.LabelPosition.Right:s&&e.drawLine(l.x,l.y,l.x+o,l.y,u);l.x+=n+o;_=this._renderText(e,t,i,r,l,0,1,c);break;case wijmo_chart_1.LabelPosition.Center:_=this._renderText(e,t,i,r,l,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,l,s){var n,h=r,_=t.item;n=e.measureString(r,s);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,l,a,-90,s);return null}n.width>i.width&&(h=this._cutText(r,n.width,i.width));return wijmo_chart_1.FlexChart._renderText(e,h,a,o,l,s)};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),l=0,s=0;this._colRowLens=[];for(var n=0;n<o;n++){var h=this._measureLegendItem(e,this._tmItems[n].label);if(t){if(s+h.height>r){a.height=r;this._colRowLens.push(l);l=0;s=0}l<h.width&&(l=h.width);s+=h.height}else{if(l+h.width>i){a.width=i;this._colRowLens.push(s);s=0;l=0}s<h.height&&(s=h.height);l+=h.width}}if(t){a.height<s&&(a.height=s);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(s);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,s=this._rectLegend,n=this._tmItems.length,h=0,_=t.clone(),c=0;c<n;c++){l=this._tmItems[c].label;var u=this._measureLegendItem(e,l);if(r){if(_.y+u.height>s.top+s.height+1){_.x+=this._colRowLens[h];h++;_.y=t.y}}else if(_.x+u.width>s.left+s.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,l);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),l=o&&o.maxColor?o.maxColor:o,s=this._getLightColor(l);e.fill=l;e.stroke=s;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=this._areas.length,l=NaN,s=void 0,n=0;n<o;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;s=_}}if(0!==r._dist&&null!=s){r._setData(null,s.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 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),s=_TreeMapUtils.getRowedItem(r,t,i);a.push(s);o.push(s);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,s=o+i.width,n=l+i.height,h=_TreeMapUtils.sumRowedArray(t);if(r){a=0===i.height?0:h/i.height;o+a>=s&&(a=s-o);t.forEach((function(e,i){var r=0===a?0:e.val/a;(l+r>n||i===t.length-1)&&(r=n-l);var s=new wijmo_1.Rect(o,l,a,r);e.item.rect=s;l+=r}));i.left+=a;i.width-=a}else{a=0===i.width?0:h/i.width;l+a>=n&&(a=n-l);t.forEach((function(e,i){var r=0===a?0:e.val/a;(o+r>s||i===t.length-1)&&(r=s-o);var n=new wijmo_1.Rect(o,l,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,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(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 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,s,n,h,_){var c,u,m,p,d,f,g,w,v,C,T=r.length,b=s,M=1==this.reversed;m=(o-l)/this._level;c=o-(this._level-_)*m;u=l+(_-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,l,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,l=this._processedItem[o],s=new wijmo_chart_1._DataPoint(null,o,null,null);s.item=l;r._setDataPoint(s)}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}(wijmo_chart_1.FlexPie);exports.Sunburst=Sunburst;wijmo_1._registerModule("wijmo.chart.hierarchical",selfModule);
|
|
14
|
+
"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_chart_1=require("@grapecity/wijmo.chart"),wijmo_1=require("@grapecity/wijmo"),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=HierarchicalUtil.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=HierarchicalUtil.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.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._maxDepth=-1;r._tmItems=[];r._accessibilityItems=[];r._accessibilityAreas=[];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,i=r.focusMode?r._getAccessibilityFocusStateFromClick(e):null;if(r.maxDepth>0){var a=r.hitTest(e),o=wijmo_chart_1.FlexChart._SELECTION_THRESHOLD;r.tooltip&&r.tooltip.threshold&&(o=r.tooltip.threshold);if(a.distance<=o&&a.pointIndex>=-1&&a.pointIndex<r._areas.length){var s=r._areas[a.pointIndex];if(r._currentItem!=s.item){r._currentItem=s.item;r._refreshChart();t=!1}}}t&&r.isTouching&&r._toogleTooltip(e);r._updateAccessibilityFocusFromState(i)}));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._getAccessibleChartTypeName=function(){return wijmo_chart_1._getAccessibleChartTypeName("treeMapChart")};TreeMap.prototype._createAccessibilityModel=function(){var t=e.prototype._createAccessibilityModel.call(this),i={index:0,name:this._getAccessibleChartTypeName(),points:[]};if(this.focusMode)for(var r=0;r<this._accessibilityItems.length;r++){var a=this._accessibilityItems[r];i.points.push({index:r,category:a&&a.label,value:a&&a.value})}t.series.splice(0,t.series.length,i);return t};TreeMap.prototype._getAccessibilityTooltipContent=function(t){if(t&&"series"===t.region&&null!=t.pointIndex&&this.tooltip.content){if(!this._getAccessibilityItem(t.pointIndex))return null;var i=new wijmo_chart_1.HitTestInfo(this,new wijmo_1.Point);i._chartElement=wijmo_chart_1.ChartElement.SeriesSymbol;i._setData(null,t.pointIndex);return this._getLabelContent(i,this.tooltip.content)}return e.prototype._getAccessibilityTooltipContent.call(this,t)};TreeMap.prototype._getAccessibilitySeriesPointShape=function(e,t){return wijmo_chart_1._getAreaShape(this._accessibilityAreas&&this._accessibilityAreas[t])||wijmo_chart_1._getRectFocusShape(this._rectChart)};TreeMap.prototype._getAccessibilityItem=function(e){return this._accessibilityItems&&null!=e?this._accessibilityItems[e]:null};TreeMap.prototype._getAccessibilityFocusStateFromClick=function(e){var t=this.hitTest(e);if(t.chartElement===wijmo_chart_1.ChartElement.Header&&this.header)return{region:"title"};if(t.chartElement===wijmo_chart_1.ChartElement.ChartArea){if(null!=t.pointIndex){var i=this._areas[t.pointIndex],r=this._accessibilityAreas.indexOf(i);if(r>=0)return{region:"series",seriesIndex:0,pointIndex:r}}return{region:"chart"}}return null};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};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 c=new _ColorConverter(s.minColor,e.minValue,s.maxColor,e.maxValue);r._calculateColorForItems(e.items,o,c)}}))};TreeMap.prototype._getBindData=function(e,t,i){var r,a=0;i&&(r=e[i]);wijmo_1.isNumber(r)?a=wijmo_1.asNumber(r):r&&(a=parseFloat(r.toString()));if(!wijmo_1.isNumberNaN(+a)&&wijmo_1.isNumberFinite(+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));t.width,t.height;this._tmGroup=e.startGroup(null,null,!0);var l=this._parseMargin(this.plotMargin);this.dataLabel;wijmo_1.isNumberNaN(+l.left)&&(l.left=TreeMap._MARGIN);wijmo_1.isNumberNaN(+l.right)&&(l.right=TreeMap._MARGIN);wijmo_1.isNumberNaN(+l.top)&&(l.top=TreeMap._MARGIN);wijmo_1.isNumberNaN(+l.bottom)&&(l.bottom=TreeMap._MARGIN);t.top+=l.top;var n=t.height-(l.top+l.bottom);t.height=n>0?n:24;t.left+=l.left;var h=t.width-(l.left+l.right);t.width=h>0?h:24;r=this._currentItem?[this._currentItem]:this._tmItems;a=null==this._currentItem||this.maxDepth<1||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){this._accessibilityItems=[];this._accessibilityAreas=[];if(a>0){this._itemIndex=0;this._resetItemRects(this._tmItems);this._calculateItemRects(t,r,a,1,o);this._renderHierarchicalTreeMapItems(e,i,t,r,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 p=0;p<u;p++){l=e.startGroup(TreeMap._CSS_ITEMDEPTH+o);n=r[p];h=Math.abs(n.value);c=n.rect;n.draw(e);_=new wijmo_chart_1._RectArea(c);n.items&&this._renderHierarchicalTreeMapItems(e,l,n.itemsRect,n.items,h,o+1,s);_.tag=this._itemIndex;_.name=n.label;_.value=h;_.item=n;this._areas.push(_);this._addAccessibilityItem(n,_);this._itemIndex++;e.endGroup()}};TreeMap.prototype._addAccessibilityItem=function(e,t){var i=t&&t.rect;if(i&&i.width>0&&i.height>0){this._accessibilityItems.push(e);this._accessibilityAreas.push(t)}};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 c=this._areas[h];if(c){var _=c.rect,u=new wijmo_chart_1.HitTestInfo(this,t);u._setData(null,h);var p=this._getLabelContent(u,r.content);t=new wijmo_1.Point(_.left+_.width/2,_.top+_.height/2);if(p&&_.width>0&&_.height>0){var m=new wijmo_chart_1.DataLabelRenderEventArgs(e,u,t,p);if(r.onRendering(m)){p=m.text;t=m.point;this._renderLabelAndBorder(e,c,_,p,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,p=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;c=this._renderText(e,t,i,r,s,1,2,_);break;case wijmo_chart_1.LabelPosition.Bottom:l&&e.drawLine(s.x,s.y,s.x,s.y+o,u);s.y+=n+o;c=this._renderText(e,t,i,r,s,1,0,_);break;case wijmo_chart_1.LabelPosition.Left:l&&e.drawLine(s.x,s.y,s.x-o,s.y,u);s.x-=n+o;c=this._renderText(e,t,i,r,s,2,1,_);break;case wijmo_chart_1.LabelPosition.Right:l&&e.drawLine(s.x,s.y,s.x+o,s.y,u);s.x+=n+o;c=this._renderText(e,t,i,r,s,0,1,_);break;case wijmo_chart_1.LabelPosition.Center:c=this._renderText(e,t,i,r,s,1,1,_)}h&&c&&e.drawRect(c.left-n,c.top-n,c.width+2*n,c.height+2*n,p);return c};TreeMap.prototype._renderText=function(e,t,i,r,a,o,s,l){var n,h=r,c=t.item;n=e.measureString(r,l);if(this.type===TreeMapType.Horizontal&&c.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,c=t.clone(),_=0;_<n;_++){s=this._tmItems[_].label;var u=this._measureLegendItem(e,s);if(r){if(c.y+u.height>l.top+l.height+1){c.x+=this._colRowLens[h];h++;c.y=t.y}}else if(c.x+u.width>l.left+l.width+1){c.y+=this._colRowLens[h];h++;c.x=t.x}var p=new wijmo_1.Rect(c.x,c.y,u.width,u.height);this._drawLegendItem(e,p,_,s);i.push(p);r?c.y+=u.height:c.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,c=wijmo_chart_1.Series._LEGEND_ITEM_HEIGHT;e.drawRect(t.left+a,n-.5*c,h,c,null);r&&wijmo_chart_1.FlexChart._renderText(e,r,new wijmo_1.Point(t.left+c+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=this._areas.length,s=NaN,l=void 0,n=0;n<o;n++){var h=i.clone(),c=this._areas[n];if(c.contains(h)){r._setData(null,c.tag);r._dist=0}var _=c.distance(h);if(void 0!==_&&(wijmo_1.isNumberNaN(+s)||_<s)){s=_;l=c}}if(0!==r._dist&&null!=l){r._setData(null,l.tag);r._dist=s}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}();function _createHierarchicalAccessibilityModel(e,t,i,r){var a=[];r&&_addHierarchicalAccessibilityPoints(i,a);e.series.splice(0,e.series.length,{index:0,name:t,points:a});return e}exports._createHierarchicalAccessibilityModel=_createHierarchicalAccessibilityModel;function _addHierarchicalAccessibilityPoints(e,t){if(e)for(var i=0,r=e;i<r.length;i++){var a=r[i];a&&a.items&&a.items.length&&_addHierarchicalAccessibilityPoints(a.items,t);t.push({index:t.length,category:a&&(a.label||a.name),value:a&&a.value})}}var 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}Sunburst.prototype._getAccessibleChartTypeName=function(){return wijmo_chart_1._getAccessibleChartTypeName("sunburstChart")};Sunburst.prototype._createAccessibilityModel=function(){return _createHierarchicalAccessibilityModel(e.prototype._createAccessibilityModel.call(this),this._getAccessibleChartTypeName(),this._processedData,this.focusMode)};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,c){var _,u,p,m,d,f,g,w,b,v,C=r.length,y=l,T=1==this.reversed;p=(o-s)/this._level;_=o-(this._level-c)*p;u=s+(c-1)*p;for(var M=0;M<C;M++){w=t;b=i;g=e.startGroup(exports.SunburstClsNames.slice+" "+exports.SunburstClsNames.sliceLevel+c);if(1===c){e.fill=this._getColorLight(M);e.stroke=this._getColor(M)}d=r[M];f=Math.abs(d.value);m=Math.abs(f-a)<1e-10?n:n*f/a;v=T?y-.5*m:y+.5*m;if(h>0&&m<n){w+=h*Math.cos(v);b+=h*Math.sin(v)}if(d.items){var I=this._sliceIndex;this._renderHierarchicalSlices(e,w,b,d.items,f,o,s,y,m,0,c+1);for(;I<this._sliceIndex;I++)null==this._parentRef[I]&&(this._parentRef[I]=this._sliceIndex)}this._renderSlice(e,w,b,v,0,this._sliceIndex,_,u,y,m,n);this._processedItem.push(d.item);this._sliceIndex++;T?y-=m:y+=m;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);
|
package/package.json
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grapecity/wijmo.chart.hierarchical",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.20262.60",
|
|
4
4
|
"description": "UI library for pure JS, Angular, React, Vue and more...",
|
|
5
5
|
"author": "MESCIUS inc",
|
|
6
6
|
"license": "Commercial",
|
|
7
7
|
"main": "./index.js",
|
|
8
8
|
"types": "./index.d.ts",
|
|
9
9
|
"dependencies": {
|
|
10
|
-
"@grapecity/wijmo": "5.
|
|
11
|
-
"@grapecity/wijmo.chart": "5.
|
|
10
|
+
"@grapecity/wijmo": "5.20262.60",
|
|
11
|
+
"@grapecity/wijmo.chart": "5.20262.60"
|
|
12
12
|
},
|
|
13
13
|
"homepage": "https://developer.mescius.com/wijmo",
|
|
14
14
|
"bugs": {
|