UNPKG

stimulsoft-reports-js

Version:

Stimulsoft Reports.JS is a reporting tool for Node.js

8 lines 874 kB
/* Stimulsoft.Reports.JS Version: 2025.3.3 Build date: 2025.07.28 License: https://www.stimulsoft.com/en/licensing/reports */ (t=>{var e;"undefined"!=typeof process&&process.__nwjs||"object"!=typeof exports||"undefined"==typeof module?"function"==typeof define&&define.amd?define(["./stimulsoft.reports.engine"],e=>Object.assign(e,t(e.Stimulsoft))):window.Stimulsoft?window.Stimulsoft.Report?Object.assign(window,t(window.Stimulsoft)):window.Stimulsoft.chartFactory=t:window.Stimulsoft={chartFactory:t}:module.exports=(e=require("./stimulsoft.reports.engine"),Object.assign(e,t(e.Stimulsoft)))})(function(I){function S(e,t){for(var i in t)i in e?S(e[i],t[i]):e[i]=t[i];return e}I&&"2025.3.3"!==I.__engineVersion&&console.warn("Scripts versions mismatch: engine ver. = %s; chart ver. = 2025.3.3",I.__engineVersion);var I=S(I||{},{Report:{Events:{},Chart:{},Components:{Design:{}}},Reflection:{}}),R={},w;R.a=I.Report,R.b=I.Reflection,R.c=R.a.Events,R.d=R.a.Chart,R.e=R.a.Components,R.f=R.e.Design;let y=I.System.EventArgs,b=(R.c.StiGetTitleEventArgs=class extends y{constructor(){super(...arguments),this.series=null}},R.c.StiNewAutoSeriesEventArgs=class extends y{constructor(e,t,i){super(),this.seriesIndex=e,this.series=t,this.color=i}},I.System.Text.StiReportObjectStringConverter),P=I.System.StiMath,C=I.System.StiNumber,O=I.System.StiArray,B=I.System.StiString,F=R.c.StiNewAutoSeriesEventArgs,T=R.c.StiGetTitleEventArgs,v=I.System.Data.DBNull,j=R.c.StiValueEventArgs,Y=R.c.StiGetValueEventArgs,W=R.e.StiFilterMode,h=R.a.Dictionary.StiDataColumn,x=I.System.DateTime,k=I.System.Drawing.Color,J=R.e.StiFilterCondition,Z=R.e.StiFilterDataType,q=R.e.StiFilterItem,$=I.System.Collections.Hashtable,D=I.System.TimeSpan,M=I.System.Drawing.Point,K=R.e.StiText,Q=R.a.Engine.StiParser.StiParser,G=I.System.Collections.List,U=I.System.Exception;{class ot{static fillSeriesData(i,s){i.values=O.create(Number,s.length),i.arguments=O.create(Object,s.length),i.tags=O.create(Object,s.length);for(let t=0;t<s.length;t++){let e=s[t];i.values[t]="number"==typeof e.value?e.value:0,i.arguments[t]=e.argument,i.tags[t]=e.tag,i.is(R.d.IStiRangeSeries)&&(i.valuesEnd[t]="number"==typeof e.valueEnd?e.valueEnd:0),i.is(R.d.IStiFinancialSeries)&&(i.valuesOpen[t]="number"==typeof e.valueOpen?e.valueOpen:0,i.valuesClose[t]="number"==typeof e.valueClose?e.valueClose:0,i.valuesLow[t]="number"==typeof e.valueLow?e.valueLow:0,i.valuesHigh[t]="number"==typeof e.valueHigh?e.valueHigh:0),i.is(R.d.IStiHeatmapSeries)&&(i.xValues[t]=e.xValue,i.yValues[t]=e.yValue)}}static getFilterData(s,r,n){try{if(r.item==q.Expression){let e=n.substr(0,1).toLowerCase()+n.substr(1);if(null!=s[n])return s[n]();if(null!=s[e])return s[e]();let t=new K,i=(t.name="*Chart_Filter*",t.page=s.pages.getByIndex(0),Q.parseTextValue("{"+r.value+"}",t));return i}switch(r.dataType){case Z.String:return r.value;case Z.Numeric:return null!=r.value?r.value[I.System.StiObject.stimulsoft]().toNumber():0;case Z.DateTime:{let e=x.fromString(r.value);if(null!=e)return e;break}case Z.Boolean:return"true"==r.value.toLowerCase()}}catch(e){let t=`Problem when parsing Chart ${r} value `;throw new U(t,e)}return null}static getFilterResult(t,e,i,s,r,n,l,o,a){if(t.item==q.Expression)return a[I.System.StiObject.stimulsoft]().toBoolean();let h=null;switch(t.item){case q.Argument:h=e;break;case q.Value:h=i;break;case q.ValueEnd:h=s;break;case q.ValueOpen:h=r;break;case q.ValueClose:h=n;break;case q.ValueLow:h=l;break;case q.ValueHigh:h=o;break}let u=!1;if(null!=h){if(t.dataType==Z.Numeric){let t=h[I.System.StiObject.stimulsoft]().as(String);if(null!=t){let e=C.tryParse(t);e.successfully&&(h=e.result)}}else if(t.dataType==Z.DateTime){let e=x.fromString(h.toString(),!1);h=null!=e?e:x.fromOADate(h[I.System.StiObject.stimulsoft]().toNumber())}let e=h;if(null!=e&&null!=a){h[I.System.StiObject.stimulsoft]().getType()!=a[I.System.StiObject.stimulsoft]().getType()&&(h=h.toString(),a=a.toString(),e=h);try{switch(t.condition){case J.EqualTo:return 0==e[I.System.StiObject.stimulsoft]().compareTo(a);case J.NotEqualTo:return 0!=e[I.System.StiObject.stimulsoft]().compareTo(a);case J.GreaterThan:return 1==e[I.System.StiObject.stimulsoft]().compareTo(a);case J.GreaterThanOrEqualTo:return 0<=e[I.System.StiObject.stimulsoft]().compareTo(a);case J.LessThan:return-1==e[I.System.StiObject.stimulsoft]().compareTo(a);case J.LessThanOrEqualTo:return e[I.System.StiObject.stimulsoft]().compareTo(a)<=0;case J.Containing:{let e=h.toString(),t=a.toString();return-1!=e.indexOf(t)}case J.NotContaining:{let e=h.toString(),t=a.toString();return-1==e.indexOf(t)}case J.BeginningWith:{let e=h.toString(),t=a.toString();return e.startsWith(t)}case J.EndingWith:{let e=h.toString(),t=a.toString();return e.endsWith(t)}}}catch(e){}}}return u}static convertStringToColor(i){if(!B.isNullOrEmpty(i))try{return b.convertStringToColor(i)}catch(e){let t=`Can't get color from '${i}'`;throw R.a.StiLogService.write(ot,`ConvertStringToColor `+t),new U(t,e)}return null}static createChart(o,A){let L=new $,T=!1,v=0;while(v<A.series.count){let x=A.series.getByIndex(v),e=(this.setTitle(o,v,x),x.valuesStart=[],x.values=this.checkValueNaN(this.getValues(o,x)),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiGanttSeries)),t=(null!=e&&(e.valuesEnd=this.checkValueNaN(this.getValuesEnd(o,e,e.valueDataColumnEnd,e.invokeGetListOfValuesEnd,e.invokeGetValueEnd))),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiRangeSeries)),i=(null!=t&&(t.valuesEnd=this.checkValueNaN(this.getValuesEnd(o,t,t.valueDataColumnEnd,t.invokeGetListOfValuesEnd,t.invokeGetValueEnd))),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiSteppedRangeSeries)),s=(null!=i&&(i.valuesEnd=this.checkValueNaN(this.getValuesEnd(o,i,i.valueDataColumnEnd,i.invokeGetListOfValuesEnd,i.invokeGetValueEnd))),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiRangeBarSeries)),r=(null!=s&&(s.valuesEnd=this.checkValueNaN(this.getValuesEnd(o,s,s.valueDataColumnEnd,s.invokeGetListOfValuesEnd,s.invokeGetValueEnd))),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiSplineRangeSeries)),n=(null!=r&&(r.valuesEnd=this.checkValueNaN(this.getValuesEnd(o,r,r.valueDataColumnEnd,r.invokeGetListOfValuesEnd,r.invokeGetValueEnd))),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiCandlestickSeries)),p=(null!=n&&(n.valuesHigh=this.getValuesHigh(o,n),n.valuesLow=this.getValuesLow(o,n),n.valuesClose=this.getValuesClose(o,n),n.valuesOpen=this.getValuesOpen(o,n)),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiHeatmapSeries)),y=(null!=p&&(p.xValues=this.getXValues(o,p),p.yValues=this.getYValues(o,p)),A.series.getByIndex(v)[I.System.StiObject.stimulsoft]().as(R.d.StiBubbleSeries)),l=(null!=y&&(y.weights=this.getWeights(o,y)),x[I.System.StiObject.stimulsoft]().as(R.d.StiPieSeries));if(null!=l&&this.setCutPieList(o,l),o.cacheValues(!0),x.arguments=this.getArguments(o,x),x.tags=this.getTags(o,x),x.hyperlinks=this.getHyperlinks(o,x),x.toolTips=this.getToolTips(o,x),this.checkParetoValues(x),x.is(R.d.StiHistogramSeries)){let e=x.chart.area.xAxis.labels.formatService;R.d.StiHistogramHelper.checkValuesAndArguments(x,e)}o.cacheValues(!1);let b=this.getAutoSeriesKeysFromAutoSeriesKeyDataColumn(o,x),f=this.getAutoSeriesTitleFromAutoSeriesTitleDataColumn(o,x),C=this.getAutoSeriesColorFromautoSeriesColorDataColumn(o,x);if(x.sortBy!=R.d.StiSeriesSortType.None||0<x.filters.count||0<b.length){let e=(x.values.length>x.arguments.length?x.values:x.arguments).length,w=[];for(let g=0;g<e;g++){let e=x.values.length>g?x.values[g]:0,t=x.arguments.length>g?x.arguments[g]:null,i=b.length>g?b[g]:null,s=f.length>g?f[g]:null,r=C.length>g?C[g]:null,n=x.tags.length>g?x.tags[g]:0,l=null,o=(x.is(R.d.IStiRangeSeries)&&(l=x.valuesEnd.length>g?x.valuesEnd[g]:0),null),a=null,h=null,u=null,d=(x.is(R.d.IStiFinancialSeries)&&(o=x.valuesOpen.length>g?x.valuesOpen[g]:0,a=x.valuesClose.length>g?x.valuesClose[g]:0,h=x.valuesLow.length>g?x.valuesLow[g]:0,u=x.valuesHigh.length>g?x.valuesHigh[g]:0),null),c=(null!=y&&(d=y.weights.length>g?y.weights[g]:0),null),m=null,S=(null!=p&&(c=p.xValues.length>g?p.xValues[g]:g,m=p.yValues.length>g?p.yValues[g]:g),x.toolTips.length>g?x.toolTips[g]:"");w.push(new R.d.StiDataItem(g,t,e,l,c,m,d,o,a,h,u,s,i,r,S,n))}let r=new $,i=0;for(let t of x.filters.list){let e=`${A.name}Filters_${v}_`+i;r.set(t,this.getFilterData(A.report,t,e)),i++}let n=[],l=null,o=null;if(0<x.filters.count){try{l=h.getDataSourceFromDataColumn(A.report.dictionary,x.valueDataColumn)}catch(e){}if(null==l)try{l=h.getDataSourceFromDataColumn(A.report.dictionary,x.argumentDataColumn)}catch(e){}null==l&&(l=A.dataSource);try{o=h.getBusinessObjectFromDataColumn(A.report.dictionary,x.valueDataColumn)}catch(e){}if(null==o)try{o=h.getBusinessObjectFromDataColumn(A.report.dictionary,x.argumentDataColumn)}catch(e){}null==o&&(o=A.businessObject)}null!=l&&(l.saveState("ChartFilter"),l.first()),null!=o&&(o.saveState("ChartFilter"),o.createEnumerator());for(let e of w){let i=O.create(Boolean,x.filters.count),s=0;for(let t of x.filters.list){if(i[s]=this.getFilterResult(t,e.argument,e.value,e.valueEnd,e.valueOpen,e.valueClose,e.valueLow,e.valueHigh,r.get(t)),t.item==q.Expression){let e=`${A.name}Filters_${v}_`+s;try{i[s]=this.getFilterData(A.report,t,e)[I.System.StiObject.stimulsoft]().toBoolean()}catch(e){}}s++}let t=!0;if(x.filterMode==W.And){for(let e of i)if(!e){t=!1;break}}else{t=!1;for(let e of i)if(e){t=!0;break}}t&&n.push(e),null!=l&&l.next(),null!=o&&o.next()}if(null!=l&&l.restoreState("ChartFilter"),null!=o&&o.restoreState("ChartFilter"),w=n,x.sortBy!=R.d.StiSeriesSortType.None){let e=new R.d.StiDataItemComparer(x.sortBy,x.sortDirection);w[I.System.StiObject.stimulsoft]().sort2(e)}if(this.fillSeriesData(x,w),0<b.length){let n=new $,c=null;if(null!=x.arguments&&0<x.arguments.length){let i=[],s=new $({ignoreCase:!1,checkType:!0});for(let t of w){let e=t.argument;s.containsKey(e)||(i.push(e),s.add(e,null))}s.clear(),c=i.slice(),x.sortBy==R.d.StiSeriesSortType.Argument&&(O.sort(c),x.sortDirection==R.d.StiSeriesSortDirection.Descending)&&O.reverse(c)}else{let s=new $;for(let t of w){let e=s.get(t.key);null==e&&(e=[],s.set(t.key,e)),e.push(t)}let r=0;for(let i of s.values){r=Math.max(r,i.count);let t=0;for(let e of i)e.argument=t.toString(),n.set(e,t.toString()),t++}c=[];for(let e=0;e<r;e++)c[e]=e.toString()}let t=new $;for(let e of b)t.set(e,e);let m=t.keys.toArray(),e={ref:m},S=(this.sortArray(e),m=e.ref,O.create2(R.d.StiDataItem,c.length,m.length)),l=new $({ignoreCase:!1,checkType:!0});for(let e=0;e<c.length;e++)l.set(c[e],e);let o=new $;for(let e=0;e<m.length;e++)o.set(m[e],e);let g=new $,p=new $;for(let r of w){let e=this.getKey(r.key),t=r.argument,i=(null!=x.arguments&&0!=x.arguments.length||(t=n.get(r)),o.get(e)),s=l.get(t);if(null!=r.title?g.set(e,r.title):g.set(e,r.key),p.set(e,r.color),null!=S[s][i])S[s][i].push(r);else{let e=[];e.push(r),S[s][i]=e}}let f=null;null!=y&&(f=y.clone());for(let d=0;d<m.length;d++){let e=m[d],r=null,t=(0==d?r=x:(r=x.clone(),A.series.insert(v+d,r)),r.coreTitle=g.get(e),p.get(e)),n=(L.set(r,t),[]),l=[],o=[],a=[],h=[],u=[];if(r.is(R.d.IStiScatterSeries)){let s=new G;for(let t=0;t<c.length;t++){let e=S[t][d];null!=e&&s.addRange(e)}for(let i of s=s.orderBy(e=>e.index).toList()){let e=null,t=r.is(R.d.IStiScatterSeries);if(null!=i&&"number"==typeof i.value&&(e=i.value[I.System.StiObject.stimulsoft]().toNumber(),t=!1),null==i.argument)continue;n.push(e),t||o.push(i.argument),r.is(R.d.IStiRangeSeries)&&l.push(i.valueEnd[I.System.StiObject.stimulsoft]().toNumber()),null!=f&&a.push(i.weight[I.System.StiObject.stimulsoft]().toNumber()),null!=i.toolTip&&h.push(i.toolTip.toString()),null!=i.tag&&u.push(i.tag)}}else for(let s=0;s<c.length;s++){let e=S[s][d];if(null==e){if(r.is(R.d.IStiScatterSeries))continue;n.push(null),a.push(0),h.push(null),u.push(null),r.is(R.d.IStiRangeSeries)&&l.push(null),o.push(c[s])}else for(let i of e){let e=null,t=r.is(R.d.IStiScatterSeries);if(null!=i&&"number"==typeof i.value&&(e=i.value[I.System.StiObject.stimulsoft]().toNumber(),t=!1),r.is(R.d.IStiScatterSeries)&&null==c[s])continue;n.push(e),t||o.push(c[s]),r.is(R.d.IStiRangeSeries)&&l.push(i.valueEnd[I.System.StiObject.stimulsoft]().toNumber()),null!=f&&a.push(i.weight[I.System.StiObject.stimulsoft]().toNumber()),null!=i.toolTip&&h.push(i.toolTip.toString()),null!=i.tag&&u.push(i.tag)}}let i=n.slice(),s=(r.values=i,o.slice());if(r.arguments=s,r.is(R.d.IStiRangeSeries)){let e=l.slice();r.valuesEnd=e}if(r.is(R.d.StiBubbleSeries)){let e=a.slice();r.weights=e}r.toolTips=h,r.tags=u,this.checkArgumentsDateTimeStep(r),this.createTopN(r),r.filters=x.filters,T=!0}v+=m.length-1}else this.createTopN(x)}else this.checkArgumentsDateTimeStep(x),this.createTopN(x);v++}if(R.d.StiBoxAndWhiskerHelper.checkArgument(A),this.checkWaterfallTotals(A),I.StiOptions.Engine.allowInvokeProcessChartEventForTemplateOfChart&&A.invokeEvents(),T&&I.StiOptions.Engine.applyStylesInAutoSeries){A.series.applyStyle(A.style);let s=0;for(let i of A.series.list){let e=this.convertStringToColor(L.get(i)),t=new F(s,i,null);null!=e&&(t.color=e),i.invokeNewAutoSeries(t),t.color instanceof k&&i.core.applyStyle(A.style,t.color),s++}}}static getShorterListPoints(t){let i=[];for(let e=0;e<t.values.length;e++)i[e]=new M(t.values[e],e);let s=[.3,.6,1,5,9,15,20,25,30,40],r=[],n=[];for(let e=0;e<t.values.length;e++){if((r=R.d.StiSimplifyHelper.simplify(i,s[e],!0)).length/i.length<.02&&r.length<900&&null!=n){r=n;break}n=r}return r}static checkParetoValues(r){let e=r.as(R.d.StiParetoSeries);if(null!=e){let i=[],s=[];for(let t=0;t<r.values.length;t++){let e=r.values[t];0<e&&(i.push(e),null!=r.arguments&&t<r.arguments.length?s.push(r.arguments[t]):s.push(t+1))}e.values=i,e.arguments=s,e.valuesStart=[]}}static checkValueNaN(t){for(let e=0;e<t.length;e++)null!=t[e]&&isNaN(t[e])&&(t[e]=null);return t}static checkArgumentsDateTimeStep(f){let w=f.arguments;if(f.chart.area.is(R.d.StiAxisArea)){let S=f.chart.area.xAxis.dateTimeStep,g=S.step,p=S.numberOfValues;if(this.isArgumentsDateTime(w)&&g!=R.d.StiTimeDateStep.None){let o=O.create(x,w.length);for(let e=0;e<w.length;e++)o[e]=x.fromString(w[e].toString());let a=this.maximumDate(o),e=this.minimumDate(o),t=(a=this.ceilDateTimeByStep(a,g),e=this.roundDateTimeByStep(e,g),P.round2(this.getTotalTimeSpans(g,a,e))),h=[],u=[],d=e,i=this.getNextDate(e,g);for(let e=0;e<t;e++){let l=(i.toOADate()-d.toOADate())/p;for(let n=0;n<p;n++){let e=l*n;if(e>a.toOADate())continue;h.push(x.fromOADate(d.toOADate()+e));let t=h[h.length-1],i=t,s=x.fromOADate(t.toOADate()+l),r=this.getValueForDate(i,s,o,f.values,f);u.push(r)}d=i,i=this.getNextDate(i,g)}let s=O.create(Object,h.length),r=O.create(Number,u.length),n=(h[I.System.StiObject.stimulsoft]().copyTo(s),u[I.System.StiObject.stimulsoft]().copyTo(r),0),l=0,c=null,m=null;for(let e=0;e<r.length;e++){if(null!=r[e]&&null==c){n=e,c=r[e];continue}if(null!=r[e]&&null!=c){l=e,c=r[n],m=r[l];let t=(c-m)/(l-n);for(let e=n+1;e<l;e++)S.interpolation?r[e]=r[e-1]-t:r[e]=0;n=0,c=null,e--}}f.arguments=s,f.values=r}}}static ceilDateTimeByStep(e,t){switch(t){case R.d.StiTimeDateStep.Second:return new x(e.year,e.month,e.day,e.hour,e.minute,e.second).addSeconds(1);case R.d.StiTimeDateStep.Minute:return new x(e.year,e.month,e.day,e.hour,e.minute,0).addMinutes(1);case R.d.StiTimeDateStep.Hour:return new x(e.year,e.month,e.day,e.hour,0,0).addHours(1);case R.d.StiTimeDateStep.Day:return new x(e.year,e.month,e.day,0,0,0).addDays(1);case R.d.StiTimeDateStep.Month:return new x(e.year,e.month,1,0,0,0).addMonths(1)}return e}static roundDateTimeByStep(e,t){switch(t){case R.d.StiTimeDateStep.Second:return new x(e.year,e.month,e.day,e.hour,e.minute,e.second);case R.d.StiTimeDateStep.Minute:return new x(e.year,e.month,e.day,e.hour,e.minute,0);case R.d.StiTimeDateStep.Hour:return new x(e.year,e.month,e.day,e.hour,0,0);case R.d.StiTimeDateStep.Day:return new x(e.year,e.month,e.day,0,0,0);case R.d.StiTimeDateStep.Month:return new x(e.year,e.month,1,0,0,0);case R.d.StiTimeDateStep.Year:return new x(e.year,1,1,0,0,0);default:return e}}static checkWaterfallTotals(e){let l=0;for(let t of e.series.toCast()){let e=t[I.System.StiObject.stimulsoft]().as(R.d.StiWaterfallSeries);null!=e&&(l=Math.max(l,e.values.length))}for(let n=0;n<e.series.count;n++){let r=e.series.list[n][I.System.StiObject.stimulsoft]().as(R.d.StiWaterfallSeries);if(null!=r){let t=[],i=[],s=0;for(let e=0;e<l;e++)0==n&&(e<r.arguments.length?t.push(r.arguments[e]):t.push(e)),r.values.length>e?(i.push(r.values[e]),s+=r.values[e]):i.push(null);r.total.visible&&i.push(s),0==n&&t.push(r.total.text),r.values=i,r.arguments=t,r.valuesStart=[]}}}static createTopN(e){if(e.topN.mode==R.d.StiTopNMode.None||e.values.length<=e.topN.count)return;let t=e[I.System.StiObject.stimulsoft]().as(R.d.StiBubbleSeries);null!=t?this.createValuesWeightsTopN(t):this.createValuesTopN(e)}static createValuesTopN(t){let e=t.topN.count,i=t.values.slice(),s=[];for(let e=0;e<t.values.length;e++)s[e]=e;O.sort3(i,s),t.topN.mode==R.d.StiTopNMode.Top&&(O.reverse(i),O.reverse(s));let r=O.create(Number,e),n=O.create(Number,e),l=(O.copy(i,0,r,e),O.copy(s,0,n,e),[]),o=[],a=0;for(let e=0;e<t.values.length;e++)this.findIndex(n,e)?(l.push(t.values[e]),e<t.arguments.length?o.push(t.arguments[e]):o.push(e)):a+=t.values[e];t.topN.showOthers&&(t.is(R.d.StiClusteredBarSeries)?(l[I.System.StiObject.stimulsoft]().insert(0,a),o[I.System.StiObject.stimulsoft]().insert(0,t.topN.othersText)):(l.push(a),o.push(t.topN.othersText)));let h=O.create(Number,l.length),u=(l[I.System.StiObject.stimulsoft]().copyTo(h),O.create(Object,o.length));o[I.System.StiObject.stimulsoft]().copyTo(u),t.values=h,t.arguments=u}static createValuesWeightsTopN(t){let e=t.topN.count,i=t.weights.slice(),s=[];for(let e=0;e<t.weights.length;e++)s[e]=e;O.sort3(i,s),t.topN.mode==R.d.StiTopNMode.Top&&(O.reverse(i),O.reverse(s));let r=O.create(Number,e),n=O.create(Number,e),l=(O.copy(i,0,r,e),O.copy(s,0,n,e),[]),o=[],a=[];for(let e=0;e<t.weights.length;e++)this.findIndex(n,e)&&(l.push(t.weights[e]),e<t.values.length&&o.push(t.values[e]),e<t.arguments.length)&&a.push(t.arguments[e]);let h=O.create(Number,l.length),u=(l[I.System.StiObject.stimulsoft]().copyTo(h),O.create(Number,o.length)),d=(o[I.System.StiObject.stimulsoft]().copyTo(u),O.create(Object,a.length));a[I.System.StiObject.stimulsoft]().copyTo(d),t.weights=h,t.values=u,t.arguments=d}static getNextDate(e,t){switch(t){case R.d.StiTimeDateStep.Second:return e.addSeconds(1);case R.d.StiTimeDateStep.Minute:return e.addMinutes(1);case R.d.StiTimeDateStep.Day:return e.addDays(1);case R.d.StiTimeDateStep.Hour:return e.addHours(1);case R.d.StiTimeDateStep.Month:return e.addMonths(1);case R.d.StiTimeDateStep.Year:return e.addYears(1)}return e}static getKey(e){let t=e[I.System.StiObject.stimulsoft]().toNumber();if(!isNaN(t)&&e.split(",").join(".").split(".").length<=2)return t.toString();return e.toString()}static sortArray(e){let i=e.ref,s=[],r=[];for(let t=0;t<i.length;t++){let e=i[t][I.System.StiObject.stimulsoft]().toNumber();!isNaN(e)&&i[t].split(",").join(".").split(".").length<=2?s.push(e):r.push(i[t])}s.sort(),r.sort();let t=O.create(String,i.length),n=0;for(let e of s)t[n]=e.toString(),n++;for(let e of r)t[n]=e,n++;i=t,e.ref=i}static findIndex(t,i){for(let e=0;e<t.length;e++)if(t[e]==i)return!0;return!1}static getValueForDate(t,i,s,r,e){var n;if(!s||!r||0===s.length)return null;let l=null,o=0,a=0,h=null,u=null;for(let e=0;e<s.length;e++){const d=s[e];if(d.toOADate()>=t.toOADate()&&(e<s.length&&d.toOADate()<i.toOADate()||e===s.length-1&&d.toOADate()<=i.toOADate())&&null!=r[e]){o++;const c=r[e];a+=c,(null===h||c<h)&&(h=c),(null===u||c>u)&&(u=c)}}if(0<o){const m=e.chart.area,S=null==(n=null==m?void 0:m.xAxis)?void 0:n.dateTimeStep;if(null!=S)switch(S.aggregation){case R.d.StiDateTimeStepAggregation.Sum:l=a;break;case R.d.StiDateTimeStepAggregation.Min:l=h;break;case R.d.StiDateTimeStepAggregation.Max:l=u;break;case R.d.StiDateTimeStepAggregation.Count:l=o;break;case R.d.StiDateTimeStepAggregation.Average:default:l=a/o;break}else l=a/o}return P.round2(l,15)}static getTotalTimeSpans(e,t,i){let s=D.fromTicks(t.ticks-i.ticks),r=0;switch(e){case R.d.StiTimeDateStep.Second:r=s.totalSeconds;break;case R.d.StiTimeDateStep.Minute:r=s.totalMinutes;break;case R.d.StiTimeDateStep.Hour:r=s.totalHours;break;case R.d.StiTimeDateStep.Day:r=s.totalDays;break;case R.d.StiTimeDateStep.Month:r=12*(t.year-i.year)+t.month-i.month;break;case R.d.StiTimeDateStep.Year:r=t.year-i.year;break}return r}static isArgumentsDateTime(e){if(0==e.length)return!1;for(let t of e){if(null==t)return!1;let e=t.toString();if(!x.fromString(e,!1))return!1}return!0}static maximumDate(t){let i=null;for(let e of t){if(null==i){i=e;continue}e.toOADate2(!1)>i.toOADate2(!1)&&(i=e)}return i}static minimumDate(t){let i=null;for(let e of t){if(null==i){i=e;continue}e.toOADate2(!1)<i.toOADate2(!1)&&(i=e)}return i}static getAutoSeriesColorFromautoSeriesColorDataColumn(n,l){if(null!=l.autoSeriesColorDataColumn&&0<l.autoSeriesColorDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(n.report.dictionary,l.autoSeriesColorDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(String,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(n.report.dictionary,l.autoSeriesColorDataColumn);e=null==e?"":e.toString(),i[t]=e,s.next()}return s.restoreState("ChartRender_DataColumn"),i}let r=h.getBusinessObjectFromDataColumn(n.report.dictionary,l.autoSeriesColorDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let i=O.create(String,r.count);r.first();for(let t=0;t<r.count;t++){let e=h.getDataFromBusinessObject(n.report.dictionary,l.autoSeriesColorDataColumn);e=null==e?"":e.toString(),i[t]=e,r.next()}return r.restoreState("ChartRender_DataColumn"),i}}return[]}static getAutoSeriesTitleFromAutoSeriesTitleDataColumn(n,l){if(null!=l.autoSeriesTitleDataColumn&&0<l.autoSeriesTitleDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(n.report.dictionary,l.autoSeriesTitleDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(String,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(n.report.dictionary,l.autoSeriesTitleDataColumn);e=null==e?"":e.toString(),i[t]=e,s.next()}return s.restoreState("ChartRender_DataColumn"),i}let r=h.getBusinessObjectFromDataColumn(n.report.dictionary,l.autoSeriesTitleDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let i=O.create(String,r.count);r.first();for(let t=0;t<r.count;t++){let e=h.getDataFromBusinessObject(n.report.dictionary,l.autoSeriesTitleDataColumn);e=null==e?"":e.toString(),i[t]=e,r.next()}return r.restoreState("ChartRender_DataColumn"),i}}return[]}static getAutoSeriesKeysFromAutoSeriesKeyDataColumn(n,l){if(null!=l.autoSeriesKeyDataColumn&&0<l.autoSeriesKeyDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(n.report.dictionary,l.autoSeriesKeyDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(String,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(n.report.dictionary,l.autoSeriesKeyDataColumn);e=null==e?"":e.toString(),i[t]=e,s.next()}return s.restoreState("ChartRender_DataColumn"),i}let r=h.getBusinessObjectFromDataColumn(n.report.dictionary,l.autoSeriesKeyDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let i=O.create(String,r.count);r.first();for(let t=0;t<r.count;t++){let e=h.getDataFromBusinessObject(n.report.dictionary,l.autoSeriesKeyDataColumn);e=null==e?"":e.toString(),i[t]=e,r.next()}return r.restoreState("ChartRender_DataColumn"),i}}return[]}static setTitle(e,t,i){let s=new T;s.series=i,s.index=t,i.invokeGetTitle(e,s),B.isNullOrEmpty(s.value)||(i.coreTitle=s.value)}static setCutPieList(e,t){let i=new Y;t.invokeGetCutPieList(e,i),B.isNullOrEmpty(i.value)||(t.cutPieListValues=R.d.StiSeries.getValuesFromString(i.value))}static getArguments(e,t){let i=this.getArgumentsFromListOfArguments(e,t);if(null!=i)return i;if(null!=(i=this.getArgumentsFromArgumentDataColumn(e,t)))return i;if(null!=(i=this.getArgumentsFromArgumentExpression(e,t)))return i;return[]}static getArgumentsFromArgumentExpression(i,s){let r=O.create(Object,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;s.invokeGetArgument(i,e),r[t]=e.value,i.next()}return r}static getArgumentsFromArgumentDataColumn(s,r){if(null!=r.argumentDataColumn&&0<r.argumentDataColumn.trim().length){let e=h.getDataSourceFromDataColumn(s.report.dictionary,r.argumentDataColumn);if(null!=e){e.saveState("ChartRender_DataColumn");let i=O.create(Object,e.count);e.first();for(let t=0;t<e.count;t++){try{i[t]=h.getDataFromDataColumn(s.report.dictionary,r.argumentDataColumn),null!=i&&i[t]instanceof x&&(r.core.isDateTimeArguments=!0)}catch(e){i[t]=null}e.next()}return e.restoreState("ChartRender_DataColumn"),i}let i=h.getBusinessObjectFromDataColumn(s.report.dictionary,r.argumentDataColumn);if(null!=i){i.saveState("ChartRender_DataColumn");let t=O.create(Object,i.count);i.first();for(let e=0;e<i.count;e++)t[e]=h.getDataFromBusinessObject(s.report.dictionary,r.argumentDataColumn),t[e]instanceof x&&(r.core.isDateTimeArguments=!0),i.next();return i.restoreState("ChartRender_DataColumn"),t}}return null}static getArgumentsFromListOfArguments(e,t){let i=new Y;if(t.invokeGetListOfArguments(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getArgumentsFromString(i.value);return null}static getValues(e,t){let i=this.getValuesFromListOfValues(e,t);if(null!=i)return i;if(null!=(i=this.getValuesFromValueDataColumn(e,t)))return i;if(null!=(i=this.getValuesFromValueExpression(e,t)))return i;return[]}static getValuesFromValueExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetValue(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getValuesFromValueDataColumn(l,o){if(null!=o.valueDataColumn&&0<o.valueDataColumn.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.valueDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.valueDataColumn),t=null;null!=(e=!o.is(R.d.StiGanttSeries)||null==e||e instanceof x||null==x.fromString(e.toString(),!1)?e:x.fromString(e.toString()))&&e instanceof x?(t=e.toOADate2(!1),o.core.isDateTimeValues=!0):null!=e&&e!=v.value&&(t=e[I.System.StiObject.stimulsoft]().toNumber()),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.valueDataColumn);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.valueDataColumn),t=null;(e=e instanceof x||null==x.fromString(e.toString(),!1)?e:x.fromString(e.toString()))instanceof x?(o.core.isDateTimeValues=!0,t=e.toOADate2(!1)):null!=e&&e!=v.value&&(t=e[I.System.StiObject.stimulsoft]().toNumber()),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesFromListOfValues(e,t){let i=new Y;if(t.invokeGetListOfValues(e,i,t),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getValuesEnd(e,t,i,s,r){let n=this.getValuesEndFromListOfValuesEnd(e,t,s);if(null!=n)return n;if(null!=(n=this.getValuesEndFromValueDataColumnEnd(e,t,i)))return n;if(null!=(n=this.getValuesEndFromValueEndExpression(e,r,t)))return n;return[]}static getValuesEndFromValueEndExpression(i,s,r){let n=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s(i,e,r),n[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return n}static getValuesEndFromValueDataColumnEnd(l,o,a){if(null!=a&&0<a.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,a);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,a),t=null;(e=!o.is(R.d.StiGanttSeries)||null==e||e instanceof x||null==x.fromString(e.toString(),!1)?e:x.fromString(e.toString()))instanceof x?(o.core.isDateTimeValues=!0,t=e.toOADate2(!1)):null!=e&&e!=v.value&&(t=e[I.System.StiObject.stimulsoft]().toNumber()),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,a);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,a),t=null;(e=e instanceof x||null==x.fromString(e.toString(),!1)?e:x.fromString(e.toString()))instanceof x?(o.core.isDateTimeValues=!0,t=e.toOADate2(!1)):null!=e&&e!=v.value&&(t=e[I.System.StiObject.stimulsoft]().toNumber()),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesEndFromListOfValuesEnd(e,t,i){let s=new Y;if(i(e,s,t),null!=s.value&&0<s.value.length)return R.d.StiSeries.getNullableValuesFromString(t,s.value);return null}static getValuesOpen(e,t){let i=this.getValuesOpenFromListOfValuesOpen(e,t);if(null!=i)return i;if(null!=(i=this.getValuesOpenFromValueDataColumnOpen(e,t)))return i;if(null!=(i=this.getValuesOpenFromValuesOpenExpression(e,t)))return i;return[]}static getValuesOpenFromValuesOpenExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetValueOpen(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getValuesOpenFromValueDataColumnOpen(l,o){if(null!=o.valueDataColumnOpen&&0<o.valueDataColumnOpen.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.valueDataColumnOpen);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.valueDataColumnOpen),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.valueDataColumnOpen);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.valueDataColumnOpen),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesOpenFromListOfValuesOpen(e,t){let i=new Y;if(t.invokeGetListOfValuesOpen(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getValuesClose(e,t){let i=this.getValuesCloseFromListOfValuesClose(e,t);if(null!=i)return i;if(null!=(i=this.getValuesCloseFromValueDataColumnClose(e,t)))return i;if(null!=(i=this.getValuesCloseFromValuesCloseExpression(e,t)))return i;return[]}static getValuesCloseFromValuesCloseExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetValueClose(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getValuesCloseFromValueDataColumnClose(l,o){if(null!=o.valueDataColumnClose&&0<o.valueDataColumnClose.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.valueDataColumnClose);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.valueDataColumnClose),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.valueDataColumnClose);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.valueDataColumnClose),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesCloseFromListOfValuesClose(e,t){let i=new Y;if(t.invokeGetListOfValuesClose(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getValuesHigh(e,t){let i=this.getValuesHighFromListOfValuesHigh(e,t);if(null!=i)return i;if(null!=(i=this.getValuesHighFromValueDataColumnHigh(e,t)))return i;if(null!=(i=this.getValuesHighFromValuesHighExpression(e,t)))return i;return[]}static getValuesHighFromValuesHighExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetValueHigh(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getValuesHighFromValueDataColumnHigh(l,o){if(null!=o.valueDataColumnHigh&&0<o.valueDataColumnHigh.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.valueDataColumnHigh);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.valueDataColumnHigh),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.valueDataColumnHigh);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.valueDataColumnHigh),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesHighFromListOfValuesHigh(e,t){let i=new Y;if(t.invokeGetListOfValuesHigh(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getValuesLow(e,t){let i=this.getValuesLowFromListOfValuesLow(e,t);if(null!=i)return i;if(null!=(i=this.getValuesLowFromValueDataColumnLow(e,t)))return i;if(null!=(i=this.getValuesLowFromValuesLowExpression(e,t)))return i;return[]}static getValuesLowFromValuesLowExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetValueLow(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getValuesLowFromValueDataColumnLow(l,o){if(null!=o.valueDataColumnLow&&0<o.valueDataColumnLow.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.valueDataColumnLow);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.valueDataColumnLow),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.valueDataColumnLow);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.valueDataColumnLow),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getValuesLowFromListOfValuesLow(e,t){let i=new Y;if(t.invokeGetListOfValuesLow(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getWeights(e,t){let i=this.getWeightsFromListOfWeights(e,t);if(null!=i)return i;if(null!=(i=this.getWeightsFromWeightDataColumn(e,t)))return i;if(null!=(i=this.getWeightsWeightExpression(e,t)))return i;return[]}static getWeightsWeightExpression(i,s){let r=O.create(Number,i.count);i.first();for(let t=0;t<i.count;t++){let e=new Y;e.value="0",s.invokeGetWeight(i,e),r[t]=e.value[I.System.StiObject.stimulsoft]().toNumber(),i.next()}return r}static getWeightsFromWeightDataColumn(l,o){if(null!=o.weightDataColumn&&0<o.weightDataColumn.trim().length){let r=h.getDataSourceFromDataColumn(l.report.dictionary,o.weightDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let s=O.create(Number,r.count);r.first();for(let i=0;i<r.count;i++){let e=h.getDataFromDataColumn(l.report.dictionary,o.weightDataColumn),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,r.next()}return r.restoreState("ChartRender_DataColumn"),s}let n=h.getBusinessObjectFromDataColumn(l.report.dictionary,o.weightDataColumn);if(null!=n){n.saveState("ChartRender_DataColumn");let s=O.create(Number,n.count);n.first();for(let i=0;i<n.count;i++){let e=h.getDataFromBusinessObject(l.report.dictionary,o.weightDataColumn),t=(e instanceof x||null==x.fromString(e.toString(),!1)||(e=x.fromString(e.toString())),0);t=e instanceof x?(o.core.isDateTimeValues=!0,e.toOADate2(!1)):e[I.System.StiObject.stimulsoft]().toNumber(),s[i]=t,n.next()}return n.restoreState("ChartRender_DataColumn"),s}}return null}static getWeightsFromListOfWeights(e,t){let i=new Y;if(t.invokeGetListOfWeights(e,i,t),null!=i.value&&0<i.value.length)return R.d.StiSeries.getNullableValuesFromString(t,i.value);return null}static getXValues(e,t){let i=this.getXValuesFromListOfXValues(e,t);if(null!=i)return i;if(null!=(i=this.getXValuesFromXValueDataColumn(e,t)))return i;if(null!=(i=this.getXValuesFromXvalueExpression(e,t)))return i;return[]}static getXValuesFromXvalueExpression(i,e){let s=O.create(Object,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;s[t]=e.value,i.next()}return s}static getXValuesFromXValueDataColumn(s,r){if(null==r.xValuesDataColumn||r.xValuesDataColumn.trim().length<=0)return null;let n=h.getDataSourceFromDataColumn(s.report.dictionary,r.xValuesDataColumn);if(null!=n){n.saveState("ChartRender_DataColumn");let i=O.create(Object,n.count);n.first();for(let t=0;t<n.count;t++){let e=h.getDataFromDataColumn(s.report.dictionary,r.xValuesDataColumn);i[t]=e,n.next()}return n.restoreState("ChartRender_DataColumn"),i}let i=h.getBusinessObjectFromDataColumn(s.report.dictionary,r.xValuesDataColumn);if(null!=i){i.saveState("ChartRender_DataColumn"),i.createEnumerator(),i.specTotalsCalculation=!0;let t=O.create(Object,i.count);i.first();for(let e=0;e<i.count;e++)t[e]=h.getDataFromBusinessObject(s.report.dictionary,r.xValuesDataColumn),i.next();return i.restoreState("ChartRender_DataColumn"),t}return null}static getXValuesFromListOfXValues(e,t){let i=new Y;if(t.invokeGetListOfXValues(e,i),!B.isNullOrEmpty(i.value))return R.d.StiSeries.getArgumentsFromString(i.value);return null}static getYValues(e,t){let i=this.getYValuesFromListOfYValues(e,t);if(null!=i)return i;if(null!=(i=this.getYValuesFromYValueDataColumn(e,t)))return i;if(null!=(i=this.getYValuesFromXvalueExpression(e,t)))return i;return[]}static getYValuesFromXvalueExpression(i,e){let s=O.create(Object,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;s[t]=e.value,i.next()}return s}static getYValuesFromYValueDataColumn(s,r){if(null==r.yValuesDataColumn||r.yValuesDataColumn.trim().length<=0)return null;let n=h.getDataSourceFromDataColumn(s.report.dictionary,r.yValuesDataColumn);if(null!=n){n.saveState("ChartRender_DataColumn");let i=O.create(Object,n.count);n.first();for(let t=0;t<n.count;t++){let e=h.getDataFromDataColumn(s.report.dictionary,r.yValuesDataColumn);i[t]=e,n.next()}return n.restoreState("ChartRender_DataColumn"),i}let i=h.getBusinessObjectFromDataColumn(s.report.dictionary,r.yValuesDataColumn);if(null!=i){i.saveState("ChartRender_DataColumn"),i.createEnumerator(),i.specTotalsCalculation=!0;let t=O.create(Object,i.count);i.first();for(let e=0;e<i.count;e++)t[e]=h.getDataFromBusinessObject(s.report.dictionary,r.yValuesDataColumn),i.next();return i.restoreState("ChartRender_DataColumn"),t}return null}static getYValuesFromListOfYValues(e,t){let i=new Y;if(t.invokeGetListOfYValues(e,i),!B.isNullOrEmpty(i.value))return R.d.StiSeries.getArgumentsFromString(i.value);return null}static getHyperlinks(e,t){let i=this.getHyperlinksFromListOfHyperlinks(e,t);if(null!=i)return i;if(null!=(i=this.getHyperlinksFromHyperlinkDataColumn(e,t)))return i;if(null!=(i=this.getHyperlinksFromHyperlinkExpression(e,t)))return i;return[]}static getHyperlinksFromHyperlinkExpression(i,s){let r=O.create(String,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;e.value=null,s.invokeGetHyperlink(i,e),null!=e.value&&(r[t]=e.value.toString()),i.next()}return r}static getHyperlinksFromHyperlinkDataColumn(n,l){if(null!=l.hyperlinkDataColumn&&0<l.hyperlinkDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(n.report.dictionary,l.hyperlinkDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(String,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(n.report.dictionary,l.hyperlinkDataColumn);null!=e&&(i[t]=e.toString()),s.next()}return s.restoreState("ChartRender_DataColumn"),i}let r=h.getBusinessObjectFromDataColumn(n.report.dictionary,l.hyperlinkDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let i=O.create(String,r.count);r.first();for(let t=0;t<r.count;t++){let e=h.getDataFromBusinessObject(n.report.dictionary,l.hyperlinkDataColumn);null!=e&&(i[t]=e.toString()),r.next()}return r.restoreState("ChartRender_DataColumn"),i}}return null}static getHyperlinksFromListOfHyperlinks(e,t){let i=new Y;if(t.invokeGetListOfHyperlinks(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getStringsFromString(i.value);return null}static getTags(e,t){let i=this.getTagsFromListOfTags(e,t);if(null!=i)return i;if(null!=(i=this.getTagsFromTagDataColumn(e,t)))return i;if(null!=(i=this.getTagsFromTagExpression(e,t)))return i;return[]}static getTagsFromTagExpression(i,s){let r=O.create(Object,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;e.value=null,s.invokeGetTag(i,e),r[t]=e.value,i.next()}return r}static getTagsFromTagDataColumn(r,n){if(null!=n.tagDataColumn&&0<n.tagDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(r.report.dictionary,n.tagDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(Object,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(r.report.dictionary,n.tagDataColumn);i[t]=e,s.next()}return s.restoreState("ChartRender_DataColumn"),i}let i=h.getBusinessObjectFromDataColumn(r.report.dictionary,n.tagDataColumn);if(null!=i){i.saveState("ChartRender_DataColumn");let t=O.create(Object,i.count);i.first();for(let e=0;e<i.count;e++)t[e]=h.getDataFromBusinessObject(r.report.dictionary,n.tagDataColumn),i.next();return i.restoreState("ChartRender_DataColumn"),t}}return null}static getTagsFromListOfTags(e,t){let i=new Y;if(t.invokeGetListOfTags(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getStringsFromString(i.value);return null}static getToolTips(e,t){let i=this.getToolTipsFromListOfToolTips(e,t);if(null!=i)return i;if(null!=(i=this.getToolTipsFromToolTipDataColumn(e,t)))return i;if(null!=(i=this.getToolTipsFromToolTipExpression(e,t)))return i;return[]}static getToolTipsFromToolTipExpression(i,s){let r=O.create(String,i.count);i.first();for(let t=0;t<i.count;t++){let e=new j;e.value=null,s.invokeGetToolTip(i,e),null!=e.value&&(r[t]=e.value.toString()),i.next()}return r}static getToolTipsFromToolTipDataColumn(n,l){if(null!=l.toolTipDataColumn&&0<l.toolTipDataColumn.trim().length){let s=h.getDataSourceFromDataColumn(n.report.dictionary,l.toolTipDataColumn);if(null!=s){s.saveState("ChartRender_DataColumn");let i=O.create(String,s.count);s.first();for(let t=0;t<s.count;t++){let e=h.getDataFromDataColumn(n.report.dictionary,l.toolTipDataColumn);null!=e&&(i[t]=e.toString()),s.next()}return s.restoreState("ChartRender_DataColumn"),i}let r=h.getBusinessObjectFromDataColumn(n.report.dictionary,l.toolTipDataColumn);if(null!=r){r.saveState("ChartRender_DataColumn");let i=O.create(String,r.count);r.first();for(let t=0;t<r.count;t++){let e=h.getDataFromBusinessObject(n.report.dictionary,l.toolTipDataColumn);null!=e&&(i[t]=e.toString()),r.next()}return r.restoreState("ChartRender_DataColumn"),i}}return null}static getToolTipsFromListOfToolTips(e,t){let i=new Y;if(t.invokeGetListOfToolTips(e,i),null!=i.value&&0<i.value.length)return R.d.StiSeries.getStringsFromString(i.value);return null}static getAnimationCompatibilitySeries(e,t){let i=ot.getAnimationSeriesType(e),s=ot.getAnimationSeriesType(t);if(i==R.d.StiSeriesAnimationType.None||s==R.d.StiSeriesAnimationType.None)return!1;return i==s}static getAnimationSeriesType(e){let t=e[I.System.StiObject.stimulsoft]().getType();if(t==R.d.StiClusteredColumnSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiStackedColumnSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiFullStackedColumnSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiRangeBarSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiHistogramSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiWaterfallSeries)return R.d.StiSeriesAnimationType.Column;if(t==R.d.StiLineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiStackedLineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiFullStackedLineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiSplineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiStackedSplineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiFullStackedSplineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiSteppedLineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiScatterLineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiScatterSplineSeries)return R.d.StiSeriesAnimationType.Line;if(t==R.d.StiClusteredBarSeries)return R.d.StiSeriesAnimationType.Bar;if(t==R.d.StiStackedBarSeries)return R.d.StiSeriesAnimationType.Bar;if(t==R.d.StiFullStackedBarSeries)return R.d.StiSeriesAnimationType.Bar;if(t==R.d.StiGanttSeries)return R.d.StiSeriesAnimationType.Bar;if(t==R.d.StiAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiStackedAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiFullStackedAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiSplineAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiStackedSplineAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiFullStackedSplineAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiSteppedAreaSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiRangeSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiSplineRangeSeries)return R.d.StiSeriesAnimationType.Range;if(t==R.d.StiSteppedRangeSeries)return R.d.StiSeriesAnimationType.Range;return R.d.StiSeriesAnimationType.None}}ot.globalDurationElement=new D(0,0,1),ot.globalBeginTimeElement=new D(0,0,1),R.d.StiChartHelper=ot}let ee=I.Base.Meta.StiStringMeta,t=I.Base.Meta.StiMetaHelper,te=I.Base.Meta.StiBrushMeta,e=I.Base.Meta.StiColorMeta,i=I.Base.Meta.StiBoolMeta,s=I.Base.JsonReportObject.IStiJsonReportObject,r=I.System.ICloneable,V=I.Base.Drawing.StiSolidBrush,ie=I.Base.Services.StiService,n=I.Base.Meta.StiNumberMeta,se=I.Base.StiActivator;{class ze extends ie{constructor(){super(...arguments),this.chart=null,this._allowApplyStyle=!0,this.colorEach=!1,this.showShadow=!1,this.borderColor=k.gray,this.borderThickness=1,this.brush=new V(k.white)}implements(){let e=super.implements().concat([s,R.d.IStiArea,r]);return(this.implements=()=>e)()}meta(){return[...super.meta(),new ee("Ident").get(()=>this[I.System.StiObject.stimulsoft]().getType()[I.System.StiObject.stimulsoft]().getTypeName()),new i("AllowApplyStyle","",!0),new i("ColorEach"),new i("ShowShadow"),new e("BorderColor","",k.gray),new n("BorderThickness","",1),new te(["Brush","br"])]}saveToJsonObject(e){return t.saveToJsonObject(e,this)}loadFromJsonObject(e){t.loadFromJsonObject(e,this)}loadFromXml(e){t.loadFromXml(e,this)}static loadFromJsonObjectInternal(e){let t=e.properties().firstOrDefault(e=>"Ident"==e.name).value.toString(),i=I.StiOptions.Services.chartAreas.find(e=>e[I.System.StiObject.stimulsoft]().getType()[I.System.StiObject.stimulsoft]().getTypeName()==t);if(null==i)throw B.format("Type {0} is not found!",t);let s=se.createObject(i[I.System.StiObject.stimulsoft]().getType());return s.loadFromJsonObject(e),s}static loadAreaFromXml(e,t){let i=e.attributes.getNamedItem("type").value,s=i.split(".").pop(),r=new R.d[s];return r.chart=t,r.loadFromXml(e),r}get propName(){return""}clone(){let e=super.clone();return e.brush=this.brush.clone(),null!=this.core&&(e.core=this.core.clone(),e.core.area=e),e}toString(){return this.servic