stimulsoft-dashboards-js-react
Version:
Stimulsoft Dashboards.JS is a dashboards tool for React
7 lines • 995 kB
JavaScript
/*
Stimulsoft.Dashboards.JS
Version: 2025.4.1
Build date: 2025.10.06
License: https://www.stimulsoft.com/en/licensing/reports
*/
import{Stimulsoft}from"./stimulsoft.reports.engine.mjs";function defaultsDeep(t,e){for(var i in e)i in t?defaultsDeep(t[i],e[i]):t[i]=e[i];return t}defaultsDeep(Stimulsoft||{},{Dashboard:{Components:{Panel:{},Button:{},Cards:{},Helpers:{},Chart:{Design:{}},TreeViewBox:{},TreeView:{},Table:{Design:{}},RegionMap:{},Progress:{},PivotTable:{Design:{}},OnlineMap:{},ListBox:{},DatePicker:{},NumberBox:{},ComboBox:{},Gauge:{Design:{}},Indicator:{},Text:{Design:{}},Design:{},Image:{Design:{}},WebContent:{},Shape:{}},Export:{Settings:{},Tools:{},Helpers:{},Painters:{Table:{}}},Interactions:{Design:{}},Helpers:{},Render:{},Visuals:{Gauge:{},Cards:{},Indicator:{},Progress:{Helpers:{}}},Design:{Helpers:{}},Images:{},Options:{},Visualizers:{},Drawing:{Helpers:{},Painters:{}}},Designer:{Dashboards:{}},Reflection:{}});var __={};__.a=Stimulsoft.Dashboard,__.b=Stimulsoft.Designer,__.c=Stimulsoft.Reflection,__.d=__.b.Dashboards,__.e=__.a.Components,__.f=__.a.Export,__.g=__.a.Interactions,__.h=__.a.Helpers,__.i=__.a.Render,__.j=__.a.Visuals,__.k=__.a.Design,__.l=__.a.Images,__.m=__.a.Options,__.n=__.a.Visualizers,__.o=__.a.Drawing,__.p=__.o.Helpers,__.q=__.o.Painters,__.r=__.k.Helpers,__.s=__.j.Gauge,__.t=__.j.Cards,__.u=__.j.Indicator,__.v=__.j.Progress,__.w=__.v.Helpers,__.x=__.g.Design,__.y=__.f.Settings,__.z=__.f.Tools,__.A=__.f.Helpers,__.B=__.f.Painters,__.C=__.B.Table,__.D=__.e.Panel,__.E=__.e.Button,__.F=__.e.Cards,__.G=__.e.Helpers,__.H=__.e.Chart,__.I=__.e.TreeViewBox,__.J=__.e.TreeView,__.K=__.e.Table,__.L=__.e.RegionMap,__.M=__.e.Progress,__.N=__.e.PivotTable,__.O=__.e.OnlineMap,__.P=__.e.ListBox,__.Q=__.e.DatePicker,__.R=__.e.NumberBox,__.S=__.e.ComboBox,__.T=__.e.Gauge,__.U=__.e.Indicator,__.V=__.e.Text,__.W=__.e.Design,__.X=__.e.Image,__.Y=__.e.WebContent,__.Z=__.e.Shape,__._=__.X.Design,__.aa=__.V.Design,__.ab=__.T.Design,__.ac=__.N.Design,__.ad=__.K.Design,__.ae=__.H.Design;{let t;(t=>{t[t["None"]=0]="None",t[t["DecimalDigits"]=1]="DecimalDigits",t[t["DecimalSeparator"]=2]="DecimalSeparator",t[t["GroupSeparator"]=4]="GroupSeparator",t[t["GroupSize"]=8]="GroupSize",t[t["PositivePattern"]=16]="PositivePattern",t[t["NegativePattern"]=32]="NegativePattern",t[t["CurrencySymbol"]=64]="CurrencySymbol",t[t["PercentageSymbol"]=128]="PercentageSymbol",t[t["Abbreviation"]=256]="Abbreviation",t[t["NegativeInRed"]=512]="NegativeInRed"})(t=__.a.StiTextFormatState||(__.a.StiTextFormatState={}));let e;(t=>{t[t["EqualTo"]=0]="EqualTo",t[t["NotEqualTo"]=1]="NotEqualTo",t[t["GreaterThan"]=2]="GreaterThan",t[t["GreaterThanOrEqualTo"]=3]="GreaterThanOrEqualTo",t[t["LessThan"]=4]="LessThan",t[t["LessThanOrEqualTo"]=5]="LessThanOrEqualTo",t[t["Between"]=6]="Between",t[t["NotBetween"]=7]="NotBetween",t[t["Containing"]=8]="Containing",t[t["NotContaining"]=9]="NotContaining",t[t["BeginningWith"]=10]="BeginningWith",t[t["EndingWith"]=11]="EndingWith",t[t["IsNull"]=12]="IsNull",t[t["IsNotNull"]=13]="IsNotNull"})(e=__.a.StiFilterCondition||(__.a.StiFilterCondition={}));let i;(t=>{t[t["Argument"]=0]="Argument",t[t["Value"]=1]="Value",t[t["ValueEnd"]=2]="ValueEnd",t[t["Expression"]=3]="Expression",t[t["ValueOpen"]=4]="ValueOpen",t[t["ValueClose"]=5]="ValueClose",t[t["ValueLow"]=6]="ValueLow",t[t["ValueHigh"]=7]="ValueHigh"})(i=__.a.StiFilterItem||(__.a.StiFilterItem={}));let r;(t=>{t[t["String"]=0]="String",t[t["Numeric"]=1]="Numeric",t[t["DateTime"]=2]="DateTime",t[t["Boolean"]=3]="Boolean",t[t["Expression"]=4]="Expression"})(r=__.a.StiFilterDataType||(__.a.StiFilterDataType={}))}{let t;(t=>{t[t["ArgumentChartMeter"]=1]="ArgumentChartMeter",t[t["SeriesChartMeter"]=2]="SeriesChartMeter",t[t["SortByChartMeter"]=3]="SortByChartMeter",t[t["ValueChartMeter"]=4]="ValueChartMeter",t[t["StartValueChartMeter"]=5]="StartValueChartMeter",t[t["EndValueChartMeter"]=6]="EndValueChartMeter",t[t["OpenValueChartMeter"]=7]="OpenValueChartMeter",t[t["CloseValueChartMeter"]=8]="CloseValueChartMeter",t[t["LowValueChartMeter"]=9]="LowValueChartMeter",t[t["HighValueChartMeter"]=10]="HighValueChartMeter",t[t["WeightChartMeter"]=11]="WeightChartMeter",t[t["XChartMeter"]=12]="XChartMeter",t[t["YChartMeter"]=13]="YChartMeter",t[t["IndicatorValueChartMeter"]=14]="IndicatorValueChartMeter",t[t["MaxGaugeMeter"]=15]="MaxGaugeMeter",t[t["MinGaugeMeter"]=16]="MinGaugeMeter",t[t["SeriesGaugeMeter"]=17]="SeriesGaugeMeter",t[t["ValueGaugeMeter"]=18]="ValueGaugeMeter",t[t["TargetGaugeMeter"]=19]="TargetGaugeMeter",t[t["SeriesIndicatorMeter"]=20]="SeriesIndicatorMeter",t[t["TargetIndicatorMeter"]=21]="TargetIndicatorMeter",t[t["ValueIndicatorMeter"]=22]="ValueIndicatorMeter",t[t["SeriesProgressMeter"]=23]="SeriesProgressMeter",t[t["TargetProgressMeter"]=24]="TargetProgressMeter",t[t["ValueProgressMeter"]=25]="ValueProgressMeter",t[t["LatitudeMapMeter"]=26]="LatitudeMapMeter",t[t["LongitudeMapMeter"]=27]="LongitudeMapMeter",t[t["LocationMapMeter"]=28]="LocationMapMeter",t[t["LocationValueMapMeter"]=29]="LocationValueMapMeter",t[t["LocationColorMapMeter"]=30]="LocationColorMapMeter",t[t["LocationArgumentMapMeter"]=31]="LocationArgumentMapMeter",t[t["KeyMapMeter"]=32]="KeyMapMeter",t[t["NameMapMeter"]=33]="NameMapMeter",t[t["ValueMapMeter"]=34]="ValueMapMeter",t[t["GroupMapMeter"]=35]="GroupMapMeter",t[t["ColorMapMeter"]=36]="ColorMapMeter",t[t["ColorScaleColumn"]=37]="ColorScaleColumn",t[t["DataBarsColumn"]=38]="DataBarsColumn",t[t["DimensionColumn"]=39]="DimensionColumn",t[t["IndicatorColumn"]=40]="IndicatorColumn",t[t["MeasureColumn"]=41]="MeasureColumn",t[t["SparklinesColumn"]=42]="SparklinesColumn",t[t["BubbleColumn"]=43]="BubbleColumn",t[t["ColorScaleCardsColumn"]=44]="ColorScaleCardsColumn",t[t["DataBarsCardsColumn"]=45]="DataBarsCardsColumn",t[t["DimensionCardsColumn"]=46]="DimensionCardsColumn",t[t["IndicatorCardsColumn"]=47]="IndicatorCardsColumn",t[t["MeasureCardsColumn"]=48]="MeasureCardsColumn",t[t["SparklinesCardsColumn"]=49]="SparklinesCardsColumn",t[t["BubbleCardsColumn"]=50]="BubbleCardsColumn",t[t["PivotColumn"]=51]="PivotColumn",t[t["PivotRow"]=52]="PivotRow",t[t["PivotSummary"]=53]="PivotSummary",t[t["NameListBoxMeter"]=54]="NameListBoxMeter",t[t["KeyListBoxMeter"]=55]="KeyListBoxMeter",t[t["KeyTreeViewMeter"]=56]="KeyTreeViewMeter",t[t["KeyTreeViewBoxMeter"]=57]="KeyTreeViewBoxMeter",t[t["NameComboBoxMeter"]=58]="NameComboBoxMeter",t[t["KeyComboBoxMeter"]=59]="KeyComboBoxMeter",t[t["ValueDatePickerMeter"]=60]="ValueDatePickerMeter",t[t["ValueNumberBoxMeter"]=61]="ValueNumberBoxMeter",t[t["TextMeter"]=62]="TextMeter",t[t["TextMeasureMeter"]=63]="TextMeasureMeter",t[t["ImageMeter"]=64]="ImageMeter",t[t["WebContentMeter"]=65]="WebContentMeter"})(t=__.e.StiMeterIdent||(__.e.StiMeterIdent={}))}let StiEventHandler=Stimulsoft.Report.Events.StiEventHandler,StiFilterInclusionMode=Stimulsoft.Report.Dashboard.StiFilterInclusionMode,StiEventMeta=Stimulsoft.Base.Meta.StiEventMeta,StiBlocklyHelper=Stimulsoft.Report.Helpers.StiBlocklyHelper,StiContainer=Stimulsoft.Report.Components.StiContainer,StiBorder=Stimulsoft.Base.Drawing.StiBorder,StiColorMeta=Stimulsoft.Base.Meta.StiColorMeta,StiEnumMeta=Stimulsoft.Base.Meta.StiEnumMeta,StiNumberMeta=Stimulsoft.Base.Meta.StiNumberMeta,StiObjectMeta=Stimulsoft.Base.Meta.StiObjectMeta,StiStringMeta=Stimulsoft.Base.Meta.StiStringMeta,StiRemoveMeta=Stimulsoft.Base.Meta.StiRemoveMeta,StiStringNullOrEmptyMeta=Stimulsoft.Base.Meta.StiStringNullOrEmptyMeta,StiMath=Stimulsoft.System.StiMath,ImplementsIStiDashboardWatermark=Stimulsoft.Report.Dashboard.ImplementsIStiDashboardWatermark,IStiDashboardWatermark=Stimulsoft.Report.Dashboard.IStiDashboardWatermark,StiAdvancedWatermark=Stimulsoft.Base.Drawing.StiAdvancedWatermark,StiSurfaceViewMode=Stimulsoft.Report.Components.StiSurfaceViewMode,StiAppExpressionParser=Stimulsoft.Report.Helpers.StiAppExpressionParser,StiAppExpressionHelper=Stimulsoft.Base.StiAppExpressionHelper,StiString=Stimulsoft.System.StiString,IStiJsonReportObject=Stimulsoft.Base.JsonReportObject.IStiJsonReportObject,ImplementsIStiDashboard=Stimulsoft.Report.Dashboard.ImplementsIStiDashboard,StiJsonReportObjectHelper=Stimulsoft.Base.StiJsonReportObjectHelper,StiKeyHelper=Stimulsoft.Base.StiKeyHelper,StiSolidBrush=Stimulsoft.Base.Drawing.StiSolidBrush,StiBrush=Stimulsoft.Base.Drawing.StiBrush,StiUnit=Stimulsoft.Report.Units.StiUnit,StiMargins=Stimulsoft.Report.Components.StiMargins,StiDataSourcePicker=Stimulsoft.Data.Engine.StiDataSourcePicker,Color=Stimulsoft.System.Drawing.Color,IStiSkipOwnFilter=Stimulsoft.Report.Dashboard.IStiSkipOwnFilter,IStiUserFilters=Stimulsoft.Data.Engine.IStiUserFilters,StiCrossLinkedFilterHelper=Stimulsoft.Report.Dashboard.Helpers.StiCrossLinkedFilterHelper,IStiFilterElement=Stimulsoft.Report.Dashboard.IStiFilterElement,StiGroupElementHelper=Stimulsoft.Report.Dashboard.StiGroupElementHelper,IStiElement=Stimulsoft.Report.Dashboard.IStiElement,List=Stimulsoft.System.Collections.Generic.List,StiElementStyleIdent=Stimulsoft.Report.Dashboard.StiElementStyleIdent,Enum=Stimulsoft.System.Enum,IStiDashboard=Stimulsoft.Report.Dashboard.IStiDashboard,StiPage=Stimulsoft.Report.Components.StiPage,Loc=Stimulsoft.Base.Localization.StiLocalization,SizeD=Stimulsoft.System.Drawing.Size,StiDashboardViewMode=Stimulsoft.Report.Components.StiDashboardViewMode,IStiAltProperties=Stimulsoft.Report.Dashboard.IStiAltProperties,IStiTitleElement=Stimulsoft.Report.Dashboard.IStiTitleElement,RectangleD=Stimulsoft.System.Drawing.Rectangle,StiDashboardContentAlignment=Stimulsoft.Report.Dashboard.StiDashboardContentAlignment,IStiGlobalizationProvider=Stimulsoft.Report.IStiGlobalizationProvider,StiScriptHelper=Stimulsoft.Report.StiScriptHelper,StiMetaHelper=(__.e.StiDashboard=class extends StiPage{implements(){let t=super.implements().concat([IStiDashboard,IStiDashboardWatermark,IStiGlobalizationProvider,...ImplementsIStiDashboard,...ImplementsIStiDashboardWatermark,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(){let t,e,i,r=super.clone();return r.dashboardWatermark=null==(t=this.dashboardWatermark)?void 0:t.clone(),r.beginRenderEvent=null==(e=this.beginRenderEvent)?void 0:e.clone(),r.refreshingEvent=null==(i=this.refreshingEvent)?void 0:i.clone(),r}meta(){return[...super.meta(),new StiRemoveMeta(["Margins","MirrorMargins","PrintHeadersFootersFromPreviousPage","PrintOnPreviousPage","StopBeforePrint","LargeHeight","LargeHeightFactor","ResetPageNumber","Watermark","ExcelSheet","CanBreak","Interaction","PaperSourceFirstPage","PaperSourceOfFirstPage","PaperSourceOtherPages","PaperSourceOfOtherPages","ShrinkToFit","UseParentStyles","Conditions","PaperSize","NumberOfCopies","BeginRenderEvent","RenderingEvent","EndRenderEvent","GetToolTipEvent","GetTagEvent","GetBookmarkEvent","GetHyperlinkEvent","BeforePrintEvent","AfterPrintEvent","MouseEnterEvent","MouseLeaveEvent","ClickEvent","DoubleEvent","ColumnBeginRenderEvent","ColumnEndRenderEvent","GetExcelSheetEvent","GetDrillDownReportEvent"]),new StiNumberMeta("Width","",1200),new StiNumberMeta("Height","",600),new StiNumberMeta("DeviceWidth","",480),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Blue),new StiStringNullOrEmptyMeta("Border").get(()=>StiJsonReportObjectHelper.Serialize.jBorder(this.border)).set(t=>this.border=StiJsonReportObjectHelper.Deserialize.border(t.value)).setXml(t=>this.border=StiBorder.loadFromXml(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiEnumMeta("DashboardViewMode","",StiDashboardViewMode,StiDashboardViewMode.Desktop),new StiStringMeta("AltSize","",StiJsonReportObjectHelper.Serialize.sizeD(SizeD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.sizeD(this.altSize)).set(t=>this.altSize=StiJsonReportObjectHelper.Deserialize.sizeD(t.value.toString())).setXml(t=>this.altSize=Stimulsoft.System.Drawing.Size.convertFromXml(t.textContent)),new StiEnumMeta("ContentAlignment","",StiDashboardContentAlignment,StiDashboardContentAlignment.StretchXY),new StiEnumMeta("AltContentAlignment","",StiDashboardContentAlignment,StiDashboardContentAlignment.StretchXY),new StiObjectMeta("DashboardWatermark"),new StiEventMeta("BeginRenderEvent"),new StiEventMeta("RefreshingEvent")]}getMeters(t=!0,e=null){return this.getElements(t,e).selectMany(t=>t.getMeters())}getElements(e=!0,i=null){return null==i?(e?this.getComponentsList():this.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.is(IStiElement)).cast():StiString.isNullOrWhiteSpace(i)?(e?this.getComponentsList():this.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList().where(t=>t.is(IStiElement)).cast().where(t=>StiString.isNullOrWhiteSpace(StiGroupElementHelper.getGroup(t))).toList():this.report.pages.toList().where(t=>t.isDashboard).selectMany(t=>(e?t.getComponentsList():t.components.list)[Stimulsoft.System.StiObject.stimulsoft]().toList()).where(t=>t.is(IStiElement)).cast().where(t=>StiGroupElementHelper.getGroup(t)==i)}getUserFilters(e){if(null==e)return null;let t=StiGroupElementHelper.getGroup(e),r=this.getElements(!0,t),l=e.as(IStiFilterElement);if(null!=l){if(StiCrossLinkedFilterHelper.isCrossLinkedFilter(l))return null;let t=r.where(t=>t.is(IStiFilterElement)).cast().firstOrDefault(t=>t.getKey()==l.getParentKey());if(null==t)return null;let e=new List,i=t.is(IStiUserFilters)?t.userFilters:null;return null!=i&&e.addRange(i),null!=(i=this.as(IStiDashboard).getUserFilters(t.as(IStiElement)))&&e.addRange(i),e}return r.where(t=>t.is(IStiUserFilters)&&(t!=e||!(t.is(IStiSkipOwnFilter)&&t.allowSkipOwnFilter))).cast().selectMany(this.getUserFilters3)}getUserFilters3(e){if(e.is(IStiFilterElement)&&e.inclusionMode==StiFilterInclusionMode.Always&&(null==e.userFilters||!e.userFilters.any())){let t=e.getIdentityFilters();if(null!=t)return t}return e.userFilters.forEach(t=>t.elementKey=e.as(IStiElement).key),e.userFilters}getUnplacedElements(){return this.getComponents().toList().where(t=>0==t.width||0==t.height).cast()}switchSurfaceViewMode(t){let o,e=t==StiSurfaceViewMode.Desktop?StiDashboardViewMode.Desktop:StiDashboardViewMode.Mobile;if(this.dashboardViewMode==e)return;this.dashboardViewMode=e;let s=!1,a=(this.altSize.isEmpty&&t==StiSurfaceViewMode.Mobile&&(this.altSize=new SizeD(480,800),s=!0,this.altContentAlignment=this.contentAlignment),this.getComponents());for(let n of a.list){let l=n.as(IStiAltProperties);if(null!=l){let t=n.parent,e=(n.parent.components.remove(n),a.getComponentByGuid(l.altParentKey,this)||this),i=(null!=(o=e.as(StiContainer))&&o.components.add(n),l.altParentKey=t.guid,n.clientRectangle.clone()),r=(n.clientRectangle=l.altClientRectangle.clone(),l.altClientRectangle=i,n.as(IStiTitleElement));if(null!=(null==r?void 0:r.title)){let t=r.title.visible;s||(r.title.visible=l.altTitleVisible),l.altTitleVisible=t}}}let i=new SizeD(this.width,this.height),r=(this.width=this.altSize.width,this.height=this.altSize.height,this.altSize=i,this.contentAlignment);this.contentAlignment=this.altContentAlignment,this.altContentAlignment=r}removeMobileSurface(){this.altSize=SizeD.empty;let t=this.getComponents();for(let e of t.list){let t=e.as(IStiAltProperties);null!=t&&(t.altClientRectangle=RectangleD.empty)}this.altContentAlignment=StiDashboardContentAlignment.StretchXY}get isMobileSurfaceSelected(){return this.dashboardViewMode==StiDashboardViewMode.Mobile}get isDesktopSurfaceSelected(){return this.dashboardViewMode==StiDashboardViewMode.Desktop}fetchAllMeters(){return new List}getNestedPages(){return new List}get isEnabled(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpression(this,"enabled",!0):this.enabled}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get isDefined(){return 0<this.components.count}get isQuerable(){return!0}retrieveUsedDataNames(e){return this.getElements(!0,e).selectMany(t=>t.retrieveUsedDataNames(e)).distinct()}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){return StiDataSourcePicker.fetch(this,null,t,null!=this.report?this.getDictionary().fetchDataSources():null)}setString(t,e){switch(t){case"Alias":this.alias=e;break}}getString(t){switch(t){case"Alias":return this.alias}throw new Error(`Property with name `+t)}getAllStrings(){return["Alias"]}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}get localizedName(){return Loc.get("Components","StiDashboard")}get gridSize(){return this.report.info.gridSizePoints}get unit(){return StiUnit.HundredthsOfInch}get brush(){return new StiSolidBrush(this.backColor)}set brush(t){this.backColor=StiBrush.toColor(t)}get skip(){return!0}set skip(t){}convert(t,e,i=!1){}getKey(){return this.key}get key(){return this.guid}set key(t){this.guid=t}get style(){return this._style}set style(t){if(this._style==t)return;t==StiElementStyleIdent.Auto&&(t=Enum.getValues(typeof StiElementStyleIdent).find(t=>t!=StiElementStyleIdent.Auto)),this._style=t}getApp(){return this.report}invokeRefreshing(){var t;null!=(t=null==this?void 0:this.onRefreshing)&&t.call(this),StiEventHandler.run(this.refreshingEvent,this.report),StiScriptHelper.invokeEventScript(this.report,this,this.refreshingEvent),StiBlocklyHelper.invokeBlockly(this.report,this,this.refreshingEvent)}get width(){return this._width2}set width(t){this._width2=StiMath.round2(t,2)}get height(){return this._height2}set height(t){this._height2=StiMath.round2(t,2)}get altSize(){return this._altSize}set altSize(t){this._altSize=t}get dashboardViewMode(){return this._dashboardViewMode}set dashboardViewMode(t){this._dashboardViewMode=t}get contentAlignment(){return this._contentAlignment}set contentAlignment(t){this._contentAlignment=t}get altContentAlignment(){return this._altContentAlignment}set altContentAlignment(t){this._altContentAlignment=t}get deviceWidth(){return this._deviceWidth}set deviceWidth(t){this._deviceWidth=t}get isMobileSurfacePresent(){return!this.altSize.isEmpty}constructor(t=null){super(t),this.backColor=Color.transparent,this.margins=new StiMargins(10,10,10,10),this._style=StiElementStyleIdent.Blue,this.customStyleName="",this.dashboardWatermark=new StiAdvancedWatermark,this.refreshingEvent=null,this._width2=1200,this._height2=600,this._altSize=SizeD.empty,this._dashboardViewMode=StiDashboardViewMode.Desktop,this._contentAlignment=StiDashboardContentAlignment.StretchXY,this._altContentAlignment=StiDashboardContentAlignment.StretchXY,this._deviceWidth=480,this.key=StiKeyHelper.generateKey(),this.width=1200,this.height=600}},Stimulsoft.Base.Meta.StiMetaHelper),Type=Stimulsoft.System.Type,IStiLocalizedMeter=Stimulsoft.Base.Meters.IStiLocalizedMeter,IStiMeter=Stimulsoft.Base.Meters.IStiMeter,StiJsonSaveMode=Stimulsoft.Base.StiJsonSaveMode,StiJson=Stimulsoft.Base.StiJson,IStiDimensionMeter=(__.e.StiMeter=class{is(t){if(t instanceof Stimulsoft.System.Interface)return-1!=this.implements().indexOf(t);if("function"==typeof t)return this instanceof t;if(null==t)throw new Error("Type for comparison is 'undefined'");return!1}is2(t){return this.is(t)}as(t){if(this.is(t))return this;return null}implements(){let t=[IStiMeter,IStiLocalizedMeter,IStiJsonReportObject];return(this.implements=()=>t)()}clone(t=!0,e=!0){let i=this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone();return i.key=StiKeyHelper.generateKey(),i}saveToString(){return this.saveToJsonObject(StiJsonSaveMode.Report).serialize()}loadFromString(t){let e=new StiJson;e.deserialize(t),this.loadFromJsonObject(e)}meta(){return[new StiEnumMeta("Ident","",__.e.StiMeterIdent).set(()=>{}).setXml(()=>{}),new StiStringNullOrEmptyMeta("Key"),new StiStringNullOrEmptyMeta("Expression"),new StiStringNullOrEmptyMeta("Label")]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}getUniqueCode(){let t=null!=this.expression?this.expression[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0;return t=397*(t=397*(t=397*t^Type.getTypeName(this)[Stimulsoft.System.StiObject.stimulsoft]().getHashCode())^(null!=this.label?this.label[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0))^(null!=this.key?this.key[Stimulsoft.System.StiObject.stimulsoft]().getHashCode():0),Math.abs(t)}get localizedName(){return""}isDefault(){return null==this.key&&null!=this.expression&&0==this.expression.length&&null!=this.label&&0==this.label.length}toString(){let t=this[Stimulsoft.System.StiObject.stimulsoft]().getType()[Stimulsoft.System.StiObject.stimulsoft]().getTypeName();return StiString.isNullOrWhiteSpace(this.expression)?t:`${t}-"${this.expression}"`}constructor(t,e,i){this.expression="",this.label="",null==t&&(t=StiKeyHelper.generateKey()),this.key=t,null!=e&&(this.expression=e),null!=i&&(this.label=i)}},Stimulsoft.Base.Meters.IStiDimensionMeter),Dictionary=(__.e.StiDimensionMeter=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiDimensionMeter]);return(this.implements=()=>t)()}constructor(t,e,i){super(t,e,i)}},Stimulsoft.System.Collections.Dictionary),Attribute=Stimulsoft.System.Attribute;{class StiExportToolAttribute extends Attribute{constructor(t){super(),this.exportToolTypeName=t}static add(t,e){this.attributes.add(t,new StiExportToolAttribute(e))}}StiExportToolAttribute.attributes=new Dictionary,__.f.StiExportToolAttribute=StiExportToolAttribute}let ImplementsIStiPanelElement=Stimulsoft.Report.Dashboard.ImplementsIStiPanelElement,IStiPanelElement=Stimulsoft.Report.Dashboard.IStiPanelElement,StiBoolMeta=Stimulsoft.Base.Meta.StiBoolMeta,ImplementsIStiCornerRadius=Stimulsoft.Report.Components.ImplementsIStiCornerRadius,IStiCornerRadius=Stimulsoft.Report.Components.IStiCornerRadius,StiCornerRadius=Stimulsoft.Base.Drawing.StiCornerRadius,StiSimpleShadow=Stimulsoft.Base.Drawing.StiSimpleShadow,IStiSimpleShadow=Stimulsoft.Report.Components.IStiSimpleShadow,ImplementsIStiSimpleShadow=Stimulsoft.Report.Components.ImplementsIStiSimpleShadow,Rectangle=Stimulsoft.System.Drawing.Rectangle,ImplementsIStiMargin=Stimulsoft.Report.Dashboard.ImplementsIStiMargin,ImplementsIStiPadding=Stimulsoft.Report.Dashboard.ImplementsIStiPadding,ImplementsIStiPanel=Stimulsoft.Report.Dashboard.ImplementsIStiPanel,ImplementsIStiAltProperties=Stimulsoft.Report.Dashboard.ImplementsIStiAltProperties,StiComponentToolboxPosition=Stimulsoft.Report.Components.StiComponentToolboxPosition,StiEmptyBrush=Stimulsoft.Base.Drawing.StiEmptyBrush,StiToolboxCategory=Stimulsoft.Report.Components.StiToolboxCategory,StiLocalization=Stimulsoft.Base.Localization.StiLocalization,StiSimpleBorder=Stimulsoft.Base.Drawing.StiSimpleBorder,StiPadding=Stimulsoft.Report.Dashboard.StiPadding,StiMargin=Stimulsoft.Report.Dashboard.StiMargin,IStiGroupElement=Stimulsoft.Report.Dashboard.IStiGroupElement,IStiMargin=Stimulsoft.Report.Dashboard.IStiMargin,IStiPadding=Stimulsoft.Report.Dashboard.IStiPadding,IStiPanel=Stimulsoft.Report.Dashboard.IStiPanel,IStiSimpleBorder=Stimulsoft.Report.Components.IStiSimpleBorder,StiPanel=Stimulsoft.Report.Components.StiPanel,StiExportToolAttribute=__.f.StiExportToolAttribute,ImplementsIStiElement=(StiExportToolAttribute.add("StiPanelElement","Stimulsoft.Dashboard.Export.Tools.StiPanelElementExportTool"),__.D.StiPanelElement=class extends StiPanel{implements(){let t=super.implements().concat([IStiSimpleBorder,IStiCornerRadius,IStiSimpleShadow,IStiPanel,IStiPanelElement,IStiPadding,IStiMargin,IStiAltProperties,IStiDashboardWatermark,...ImplementsIStiPanel,...ImplementsIStiCornerRadius,...ImplementsIStiSimpleShadow,...ImplementsIStiPadding,...ImplementsIStiMargin,...ImplementsIStiAltProperties,...ImplementsIStiDashboardWatermark,...ImplementsIStiPanelElement,IStiJsonReportObject]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n=super.clone(t);return n.margin=null==(e=this.margin)?void 0:e.clone(),n.padding=null==(i=this.padding)?void 0:i.clone(),n.border2=null==(r=this.border2)?void 0:r.clone(),n.dashboardWatermark=null==(l=this.dashboardWatermark)?void 0:l.clone()[Stimulsoft.System.StiObject.stimulsoft]().as(StiAdvancedWatermark),n}meta(){return[...super.meta(),new StiRemoveMeta(["Border","UseParentStyles","MinSize","MaxSize","Interaction","PrintOn","GrowToHeight","ShiftMode","CanShrink","CanGrow","Printable","Bookmark","Hyperlink","Conditions","GetBookmarkEvent","GetHyperlinkEvent","GetTagEvent","GetToolTipEvent","BeforePrintEvent","AfterPrintEvent","ClickEvent","DoubleEvent","MouseEnterEvent","MouseLeaveEvent","GetDrillDownReportEvent"]),new StiObjectMeta("Margin").get(t=>this.margin.saveToJsonObject(3,3,3,3)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0)),new StiStringNullOrEmptyMeta("Border","border2").get(()=>StiJsonReportObjectHelper.Serialize.jBorder2(this.border2)).set(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.value)).setXml(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiStringMeta("AltClientRectangle","",StiJsonReportObjectHelper.Serialize.rectangleD(RectangleD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.rectangleD(this.altClientRectangle)).set(t=>this.altClientRectangle=StiJsonReportObjectHelper.Deserialize.rectangleD(t.value)).setXml(t=>this.altClientRectangle=this.loadRectangleDFromXml(t.textContent)),new StiBoolMeta("AltTitleVisible","",!0),new StiStringNullOrEmptyMeta("AltParentKey"),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiObjectMeta("DashboardWatermark"),new StiStringNullOrEmptyMeta("Style"),new StiStringNullOrEmptyMeta("WatermarkStyle")]}getMeters(t=!0,e=null){return this.getElements(t,e).selectMany(t=>t.getMeters())}getElements(t=!0,e=null){let i=(t?this.getComponents():this.components).toList().where(t=>t.is(IStiElement)).cast();return(null==e?i.where(t=>!t.is(IStiGroupElement)||null==StiGroupElementHelper.getGroup(t)):i.where(t=>StiGroupElementHelper.getGroup(t)==e)).toList()}fetchAllMeters(){return new List}getMeters2(){return new List}getFilterRules(){return new List}getNestedPages(){return new List}get dashboard(){return this.page.as(IStiDashboard)}get isDefined(){return!0}get isQuerable(){return!1}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get zoom(){return null==this.report||null==this.report.info?1:this.report.info.zoom}retrieveUsedDataNames(t){return new List}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){var e;return StiDataSourcePicker.fetch(this,null,t,null==(e=this.getDictionary())?void 0:e.fetchDataSources())}get watermarkStyle(){return this._watermarkStyle}set watermarkStyle(e){if(this._watermarkStyle!=e&&(this._watermarkStyle=e,null!=(null==this?void 0:this.report))&&null!=e){let t=this.report.styles.getByName(e);null!=t&&t.setStyleToComponent(this)}}getApp(){return this.report}get toolboxPosition(){return StiComponentToolboxPosition.TextElement}get localizedName(){return StiLocalization.get("Components","StiPanel")}get brush(){return new StiSolidBrush(this.backColor)}set brush(t){this.backColor=StiBrush.toColor(t)}get style(){return this.componentStyle}set style(t){this.componentStyle=t}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}get localizedCategory(){return this.serviceCategory}get toolboxCategory(){return StiToolboxCategory.Dashboards}canContainIn(t){return t.is(__.e.StiDashboard)}get key(){return this.guid}set key(t){this.guid=t}constructor(t=Rectangle.empty){super(t),this.margin=StiMargin.create(3),this.padding=StiPadding.create(0),this.border2=new StiSimpleBorder,this.backColor=Color.transparent,this.dashboardWatermark=new StiAdvancedWatermark,this._watermarkStyle="",this.shadow=new StiSimpleShadow,this.cornerRadius=new StiCornerRadius(0),this.altTitleVisible=!0,this.altClientRectangle=RectangleD.empty,this.defaultClientRectangle=new Rectangle(0,0,300,300),this.helpUrl="user-manual/dashboards_panel.htm",this.key=StiKeyHelper.generateKey(),this.brush=new StiEmptyBrush,this.placeOnToolbox=!0}},Stimulsoft.Report.Dashboard.ImplementsIStiElement),ImplementsIStiBackColor=Stimulsoft.Report.Components.ImplementsIStiBackColor,StiPanelElement=__.D.StiPanelElement,IStiBackColor=Stimulsoft.Report.Components.IStiBackColor,StiComponent=Stimulsoft.Report.Components.StiComponent,StiDataSorter=(__.e.StiElement=class extends StiComponent{implements(){let t=super.implements().concat([IStiElement,IStiSimpleBorder,IStiBackColor,IStiPadding,IStiMargin,IStiAltProperties,...ImplementsIStiElement,...ImplementsIStiBackColor,...ImplementsIStiPadding,...ImplementsIStiMargin,...ImplementsIStiAltProperties,IStiJsonReportObject]);return(this.implements=()=>t)()}meta(){return[...super.meta(),new StiRemoveMeta(["UseParentStyles","MinSize","MaxSize","Interaction","PrintOn","GrowToHeight","ShiftMode","CanShrink","CanGrow","Printable","Bookmark","Hyperlink","Conditions","GetBookmarkEvent","GetHyperlinkEvent","GetTagEvent","GetToolTipEvent","BeforePrintEvent","AfterPrintEvent","ClickEvent","DoubleEvent","MouseEnterEvent","MouseLeaveEvent","GetDrillDownReportEvent"]),new StiObjectMeta("Margin").get(t=>this.margin.saveToJsonObject(3,3,3,3)),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(5,5,5,5)),new StiStringNullOrEmptyMeta("Border","border2").get(()=>StiJsonReportObjectHelper.Serialize.jBorder2(this.border2)).set(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.value)).setXml(t=>this.border2=StiJsonReportObjectHelper.Deserialize.simpleBorder(t.textContent)),new StiColorMeta("BackColor","",Color.transparent),new StiStringMeta("AltClientRectangle","",StiJsonReportObjectHelper.Serialize.rectangleD(RectangleD.empty)).get(()=>StiJsonReportObjectHelper.Serialize.rectangleD(this.altClientRectangle)).set(t=>this.altClientRectangle=StiJsonReportObjectHelper.Deserialize.rectangleD(t.value)).setXml(t=>this.altClientRectangle=this.loadRectangleDFromXml(t.textContent)),new StiBoolMeta("AltTitleVisible","",!0),new StiStringNullOrEmptyMeta("AltParentKey","")]}convert(t,e,i=!1){}fetchAllMeters(){return new List}getMeters(){return new List}get dashboard(){return this.page.as(IStiDashboard)}get isDefined(){return!0}get isQuerable(){return!0}async isEnabledAsync(){return StiAppExpressionHelper.isExpressionSpecified(this,"enabled")?StiAppExpressionParser.parseBoolExpressionAsync(this,"enabled",!0):this.enabled}get zoom(){return null!=this.page?this.page.zoom:1}retrieveUsedDataNames2(t){return this.retrieveUsedDataNames()}retrieveUsedDataNames(){return new List}getDictionary(){return null!=this.report?this.report.dictionary:null}getDataSources(t){var e;return StiDataSourcePicker.fetch(this,null,t,null==(e=this.getDictionary())?void 0:e.fetchDataSources())}clone(t){let e,i,r,l=super.clone(t);return l.border2=null==(e=this.border2)?void 0:e.clone(),l.margin=null==(i=this.margin)?void 0:i.clone(),l.padding=null==(r=this.padding)?void 0:r.clone(),l}get backColor(){return this._backColor}set backColor(t){this._backColor=t}get serviceCategory(){return Loc.get("Permissions","ItemDashboards")}canContainIn(t){return t.is(__.e.StiDashboard)||t.is(StiPanelElement)}get localizedCategory(){return this.serviceCategory}get localizedName(){return Loc.get("Components","StiDashboard")}get key(){return this.guid}set key(t){this.guid=t}getNestedPages(){return null}constructor(t=Rectangle.empty){super(t),this.border2=new StiSimpleBorder,this._backColor=Color.transparent,this.margin=StiMargin.create(3),this.padding=StiPadding.create(5),this.altTitleVisible=!0,this.altClientRectangle=RectangleD.empty,this.toolboxCategory=StiToolboxCategory.Dashboards,this.defaultClientRectangle=new Rectangle(0,0,280,280),this.key=StiKeyHelper.generateKey(),this.placeOnToolbox=!0}},Stimulsoft.Data.Engine.StiDataSorter),DataColumn=Stimulsoft.System.Data.DataColumn,StiEmptyCellsAs=Stimulsoft.Report.Dashboard.StiEmptyCellsAs,StiReportParser=Stimulsoft.Report.Dashboard.StiReportParser,StiValueHelper=Stimulsoft.Base.Helpers.StiValueHelper,StiDataGrouper=Stimulsoft.Data.Engine.StiDataGrouper,DataTable=Stimulsoft.System.Data.DataTable,StiDataTable=Stimulsoft.Data.Engine.StiDataTable,StiStringsTableHelper=Stimulsoft.Report.Helpers.StiStringsTableHelper;{class ib{static getIndicatorDataTable(t,e){let i=StiStringsTableHelper.loadStringRowsFromCache(e),r=(null==i&&(i=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(r.add(new __.U.StiValueIndicatorMeter(null,null,StiLocalization.get("PropertyMain","Value"))),r.add(new __.U.StiTargetIndicatorMeter(null,null,StiLocalization.get("PropertyMain","Target"))),r.add(new __.U.StiSeriesIndicatorMeter(null,null,StiLocalization.get("Chart","Series"))),null==i)return new StiDataTable(r,new List);let l=i[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],e)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],e)).toList()),this.parseString(t.key,e)]);return new StiDataTable(r,l.toList())}static getProgressDataTable(t,e){let i=StiStringsTableHelper.loadStringRowsFromCache(e),r=(null==i&&(i=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(r.add(new __.M.StiValueProgressMeter(null,null,StiLocalization.get("PropertyMain","Value"))),r.add(new __.M.StiTargetProgressMeter(null,null,StiLocalization.get("PropertyMain","Target"))),r.add(new __.M.StiSeriesProgressMeter(null,null,StiLocalization.get("Chart","Series"))),null==i)return new StiDataTable(r,new List);let l=i[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],e)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],e)).toList()),this.parseString(t.key,e)]);return new StiDataTable(r,l.toList())}static getGaugeDataTable(t,e,i){let r=StiStringsTableHelper.loadStringRowsFromCache(i),l=(null==r&&(r=StiStringsTableHelper.loadStringRowsFromPackedString(t,[this.columnValue,this.columnTarget,this.columnSeries])),new List);if(l.add(new __.T.StiValueGaugeMeter(null,null,StiLocalization.get("PropertyMain","Value"))),l.add(new __.T.StiTargetGaugeMeter(null,null,StiLocalization.get("PropertyMain","Target"))),l.add(new __.T.StiSeriesGaugeMeter(null,null,StiLocalization.get("Chart","Series"))),null==r)return new StiDataTable(l,new List);let n;if(e){n=new List;let t=r.find(t=>!0);null!=t&&n.add([this.parseDateTime(t[0],i),this.parseDateTime(t[1],i),this.parseDateTime(t[2],i)])}else n=r[Stimulsoft.System.StiObject.stimulsoft]().toList().groupBy(t=>t[2]).select(t=>[t.sum(t=>this.parseDecimal(t[0],i)),this.sumNullable(t.select(t=>this.parseNullableDecimal(t[1],i)).toList()),this.parseString(t.key,i)]);return new StiDataTable(l,n.toList())}static getChartDataTable(t,o){let e=o.as(__.H.StiChartElement),s={ref:[]},i=StiStringsTableHelper.loadColumnsAndStringRowsFromCache(o,s),a=(null==i&&(i=StiStringsTableHelper.loadColumnsAndStringRowsFromPackedString(t,s)),e.isBubbleChart),r=e.isScatterChart,l=e.isRange,n=e.isFinancial,u=e.isHeatmapChart,S=e.manuallyEnteredChartMeter,m=new List,h=new List;for(let e of s.ref){let t=h.length;switch(e){case this.columnValue:if(a)h.add(new __.H.StiYChartMeter("Value","T.Value","Y"));else if(u)h.add(new __.H.StiValueChartMeter("Value","T.Value",StiLocalization.get("PropertyMain","Values"),S.seriesType));else if(l)h.add(new __.H.StiStartValueChartMeter("Value","Sum(T.Value)",StiLocalization.get("PropertyMain","Values"),S.seriesType));else if(n)h.add(new __.H.StiOpenValueChartMeter("Value","Sum(T.Value)",StiLocalization.get("PropertyMain","OpenValues"),S.seriesType));else{let t=S.clone().as(__.H.StiValueChartMeter);t.expression="Sum(T.Value)",t.label=StiLocalization.get("PropertyMain","Values"),t.key="Value",t.showNulls=StiEmptyCellsAs.ConnectPointsWithLine,t.showZeros=StiEmptyCellsAs.ConnectPointsWithLine,h.add(t)}break;case this.columnEndValue:l&&h.add(new __.H.StiEndValueChartMeter("EndValue","Sum(T.EndValue)",StiLocalization.get("PropertyMain","EndValues")));break;case this.columnCloseValue:n&&h.add(new __.H.StiCloseValueChartMeter("CloseValue","Sum(T.CloseValue)",StiLocalization.get("PropertyMain","CloseValues")));break;case this.columnLowValue:n&&h.add(new __.H.StiLowValueChartMeter("LowValue","Sum(T.LowValue)",StiLocalization.get("PropertyMain","LowValues")));break;case this.columnHighValue:n&&h.add(new __.H.StiHighValueChartMeter("HighValue","Sum(T.HighValue)",StiLocalization.get("PropertyMain","HighValues")));break;case this.columnArgument:a?h.add(new __.H.StiXChartMeter("Argument","T.Argument","X")):u||h.add(new __.H.StiArgumentChartMeter("Argument","T.Argument",StiLocalization.get("PropertyMain","Arguments")));break;case this.columnWeight:a&&h.add(new __.H.StiWeightChartMeter("Weight","Sum(T.Weight)",StiLocalization.get("PropertyMain","Weights")));break;case this.columnSeries:u||h.add(new __.H.StiSeriesChartMeter("Series","T.Series",StiLocalization.get("PropertyMain","Series")));break;case this.columnX:u&&h.add(new __.H.StiXChartMeter("X","T.X","X"));break;case this.columnY:u&&h.add(new __.H.StiYChartMeter("Y","T.Y","Y"));break}h.length!=t&&m.add(e)}if(null==i||!i.some(t=>!0))return new StiDataTable(h,new List);let c=new DataTable;c.tableName="T";for(let n of i){let r=c.newRow(),l=0;for(let i of s.ref){let e=null;switch(i){case this.columnValue:e=this.parseDecimal(n[l],o);break;case this.columnEndValue:e=this.parseDecimal(n[l],o);break;case this.columnCloseValue:e=this.parseDecimal(n[l],o);break;case this.columnLowValue:e=this.parseDecimal(n[l],o);break;case this.columnHighValue:e=this.parseDecimal(n[l],o);break;case this.columnArgument:e=a?this.parseDecimal(n[l],o):this.parseString(n[l],o);break;case this.columnWeight:e=this.parseDecimal(n[l],o);break;case this.columnSeries:e=this.parseString(n[l],o);break;case this.columnX:e=this.parseString(n[l],o);break;case this.columnY:e=this.parseString(n[l],o);break}let t=m.indexOf(i);if(-1!=t){if(!c.columns.contains("T."+i)){let t=new DataColumn("T."+i,"string"==typeof e?String:Number);c.columns.add(t)}r.sett(t,e)}l++}c.rows.add(r)}if(a||r||u){let t=c.rows.toList().select(t=>t.itemArray);return new StiDataTable(h,t)}{let t=StiDataGrouper.group(o.getDictionary(),c,h.toList());return StiDataSorter.sort(t,e.userSorts,e.report,0)}}static sumNullable(t){if(null==t)return null;if(!(t=null==t?void 0:t.where(t=>null!=t)).any())return null;return t.sum()}static parseDateTime(t,e){return null!=t&&t.includes("{")?StiValueHelper.tryToDateTime(StiReportParser.parse2(t,e.report)):StiValueHelper.tryToDateTime(t)}static parseDecimal(t,e){return null!=t&&0<=t.indexOf("{")?StiValueHelper.tryToNumber(StiReportParser.parse2(t,e.report)):StiValueHelper.tryToNumber(t)}static parseNullableDecimal(t,e){return null!=t&&0<=t.indexOf("{")&&(t=StiReportParser.parse2(t,e.report)),StiString.isNullOrWhiteSpace(t)?null:StiValueHelper.tryToNumber(t)}static parseString(t,e){if(null==t)return"";let i="string"==typeof t?t:null==t?void 0:t[Stimulsoft.System.StiObject.stimulsoft]().toString();return null!=i&&0<=i.indexOf("{")?StiReportParser.parse2(i,e.report):i}}ib.columnValue="Value",ib.columnEndValue="EndValue",ib.columnTarget="Target",ib.columnCloseValue="CloseValue",ib.columnLowValue="LowValue",ib.columnHighValue="HighValue",ib.columnArgument="Argument",ib.columnX="X",ib.columnY="Y",ib.columnWeight="Weight",ib.columnSeries="Series",__.e.StiManuallyEnteredDataParser=ib}let IStiMeasureMeter=Stimulsoft.Base.Meters.IStiMeasureMeter,StiTitlePadding=(__.e.StiMeasureMeter=class extends __.e.StiMeter{implements(){let t=super.implements().concat([IStiMeasureMeter]);return(this.implements=()=>t)()}constructor(t,e,i){super(t,e,i)}},Stimulsoft.Report.Dashboard.StiTitlePadding),IStiTitlePadding=Stimulsoft.Report.Dashboard.IStiTitlePadding,StiTextSizeMode=Stimulsoft.Report.Dashboard.StiTextSizeMode,StiFontMeta=Stimulsoft.Base.Meta.StiFontMeta,ImplementsIStiTitle=Stimulsoft.Report.Dashboard.ImplementsIStiTitle,IStiTitle=Stimulsoft.Report.Dashboard.IStiTitle,ICloneable=Stimulsoft.System.ICloneable,Font=Stimulsoft.System.Drawing.Font,StiHorAlignment=Stimulsoft.Base.Drawing.StiHorAlignment;{class StiTitle{implements(){let t=[ICloneable,IStiJsonReportObject,IStiTitle,IStiTitlePadding,...ImplementsIStiTitle];return(this.implements=()=>t)()}meta(){return[new StiStringMeta("Text"),new StiColorMeta("ForeColor","",Color.transparent),new StiColorMeta("BackColor","",Color.transparent),new StiBoolMeta("Visible","",!0),new StiFontMeta("Font","","Arial",11),new StiEnumMeta("HorAlignment","",StiHorAlignment,StiHorAlignment.Left),new StiEnumMeta("SizeMode","",StiTextSizeMode,StiTextSizeMode.Fit),new StiObjectMeta("Padding").get(t=>this.padding.saveToJsonObject(0,0,0,0))]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiTitle;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiTitle;return e.loadFromXml(t),e}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}constructor(t,e,i,r,l,n,o,s){this.padding=StiTitlePadding.create(0),this.horAlignment=StiHorAlignment.Left,this.font=new Font("Arial",11),this.backColor=Color.transparent,this.foreColor=Color.transparent,this.text="",this.visible=!0,this.sizeMode=StiTextSizeMode.Fit,null!=t&&(this.text=t),null!=e&&(this.foreColor=e),null!=i&&(this.backColor=i),null!=r&&(this.font=r),null!=l&&(this.horAlignment=l),null!=n&&(this.visible=n),null!=o&&(this.sizeMode=o),null!=s&&(this.padding=s)}}__.e.StiTitle=StiTitle}let StiFontIcons=Stimulsoft.Report.Helpers.StiFontIcons,IStiButtonElementIconSet=Stimulsoft.Report.Dashboard.IStiButtonElementIconSet;{class StiButtonElementIconSet{implements(){let t=[IStiButtonElementIconSet,ICloneable];return(this.implements=()=>t)()}meta(){return[new StiEnumMeta("Icon","",StiFontIcons).check(()=>null!=this.icon),new StiEnumMeta("CheckedIcon","",StiFontIcons).check(()=>null!=this.checkedIcon),new StiEnumMeta("UncheckedIcon","",StiFontIcons).check(()=>null!=this.uncheckedIcon)]}saveToJsonObject(t){return StiMetaHelper.saveToJsonObject(t,this)}loadFromJsonObject(t){StiMetaHelper.loadFromJsonObject(t,this)}loadFromXml(t){StiMetaHelper.loadFromXml(t,this)}static createFromJsonObject(t){let e=new StiButtonElementIconSet;return e.loadFromJsonObject(t),e}static createFromXml(t){let e=new StiButtonElementIconSet;return e.loadFromXml(t),e}clone(){return this[Stimulsoft.System.StiObject.stimulsoft]().memberwiseClone()}isDefault(){return null==this.icon&&null==this.checkedIcon&&null==this.uncheckedIcon}constructor(t,e){this.icon=null,this.checkedIcon=null,this.uncheckedIcon=null,null!=t&&(this.checkedIcon=t),null!=e&&(this.uncheckedIcon=e)}}__.E.StiButtonElementIconSet=StiButtonElementIconSet}let StiFont=Stimulsoft.Base.StiFont,StiDataFilterCondition=Stimulsoft.Data.Engine.StiDataFilterCondition,StiBrushMeta=Stimulsoft.Base.Meta.StiBrushMeta,StiButtonElementIconSet=__.E.StiButtonElementIconSet,StiIconAlignment=Stimulsoft.Report.Dashboard.StiIconAlignment,StiAlignValue=Stimulsoft.Base.StiAlignValue,StiCopyStyleExtHub=Stimulsoft.Report.Design.StiCopyStyleExtHub,StiStyleBrush=Stimulsoft.Base.Drawing.StiStyleBrush,StiVertAlignment=Stimulsoft.Base.Drawing.StiVertAlignment,StiBorderSides=Stimulsoft.Base.Drawing.StiBorderSides,StiTextHorAlignment=Stimulsoft.Base.Drawing.StiTextHorAlignment,StiGeneralFormatService=Stimulsoft.Report.Components.TextFormats.StiGeneralFormatService,StiDataFilterRule=Stimulsoft.Data.Engine.StiDataFilterRule,StiButtonType=Stimulsoft.Report.Dashboard.StiButtonType,StiNumber=Stimulsoft.System.StiNumber,StiButtonShapeType=Stimulsoft.Base.Drawing.StiButtonShapeType,StiButtonStretch=Stimulsoft.Report.Dashboard.StiButtonStretch,ImplementsIStiButtonElement=Stimulsoft.Report.Dashboard.ImplementsIStiButtonElement,IStiCopyStyleExt=Stimulsoft.Report.Design.IStiCopyStyleExt,IStiWordWrap=Stimulsoft.Report.Components.IStiWordWrap,IStiTextBrush=Stimulsoft.Report.Components.IStiTextBrush,IStiButtonElement=Stimulsoft.Report.Dashboard.IStiButtonElement,ImplementsIStiFixedHeightElement=Stimulsoft.Report.Dashboard.ImplementsIStiFixedHeightElement,ImplementsIStiFont=Stimulsoft.Report.Components.ImplementsIStiFont,ImplementsIStiVertAlignment=Stimulsoft.Report.Components.ImplementsIStiVertAlignment,ImplementsIStiTextHorAlignment=Stimulsoft.Report.Components.ImplementsIStiTextHorAlignment,IStiBrush=Stimulsoft.Report.Components.IStiBrush,IStiFixedHeightElement=Stimulsoft.Report.Dashboard.IStiFixedHeightElement,IStiFont=Stimulsoft.Report.Components.IStiFont,IStiVertAlignment=Stimulsoft.Report.Components.IStiVertAlignment,IStiTextHorAlignment=Stimulsoft.Report.Components.IStiTextHorAlignment;{let e=Stimulsoft.Base.Drawing.SizeD,i=Stimulsoft.Base.Drawing.RectangleD;__.E.StiButtonElement=class extends __.e.StiElement{implements(){let t=super.implements().concat([IStiButtonElement,IStiCopyStyleExt,IStiTextHorAlignment,IStiVertAlignment,IStiWordWrap,IStiFont,IStiFixedHeightElement,IStiBrush,IStiTextBrush,IStiJsonReportObject,...ImplementsIStiButtonElement,...ImplementsIStiTextHorAlignment,...ImplementsIStiVertAlignment,...ImplementsIStiFont,...ImplementsIStiFixedHeightElement]);return(this.implements=()=>t)()}clone(t){let e,i,r,l,n,o,s,a,u,S=super.clone(t);return S.brush=null==(e=this.brush)?void 0:e.clone(),S.textBrush=null==(i=this.textBrush)?void 0:i.clone(),S.iconBrush=null==(r=this.iconBrush)?void 0:r.clone(),S.iconSet=null==(l=this.iconSet)?void 0:l.clone(),S.shadow=null==(n=this.shadow)?void 0:n.clone(),S.font=null==(o=this.font)?void 0:o.clone(),S.cornerRadius=null==(s=this.cornerRadius)?void 0:s.clone(),S.visualStates=this.visualStates.clone(),S.clickEvent=null==(a=this.clickEvent)?void 0:a.clone(),S.checkedChangedEvent=null==(u=this.checkedChangedEvent)?void 0:u.clone(),S}meta(){return[...super.meta(),new StiObjectMeta("UserFilters").get(t=>StiJsonReportObjectHelper.Serialize.objectArray(this.userFilters,t)).set(t=>this.userFilters.addRange(t.value.properties().select(t=>StiDataFilterRule.loadFromJson(t.value)))).setXml(t=>this.userFilters.addRange(t.childNodes.map(t=>StiDataFilterRule.loadFromXml(t)))),new StiStringMeta("Text","","Button"),new StiEnumMeta("Style","",StiElementStyleIdent,StiElementStyleIdent.Auto),new StiEnumMeta("Type","",StiButtonType,StiButtonType.Button),new StiEnumMeta("ShapeType","",StiButtonShapeType,StiButtonShapeType.Rectangle),new StiEnumMeta("Stretch","",StiButtonStretch,StiButtonStretch.StretchXY),new StiStringNullOrEmptyMeta("CustomStyleName"),new StiStringNullOrEmptyMeta("Group"),new StiEnumMeta("HorAlignment","",StiTextHorAlignment,StiTextHorAlignment.Center),new StiEnumMeta("VertAlignment","",StiVertAlignment,StiVertAlignment.Center),new StiEnumMeta("IconAlignment","",StiIconAlignment,StiIconAlignment.Left),new StiBoolMeta("WordWrap","",!0),new StiStringNullOrEmptyMeta("CornerRadius").get(()=>this.cornerRadius.toString()).set(t=>this.cornerRadius=StiCornerRadius.tryParse(t.value.toString())).setXml(t=>this.cornerRadius=StiCornerRadius.tryParse(t.textContent)),new StiStringNullOrEmptyMeta("Shadow").get(()=>StiJsonReportObjectHelper.Serialize.jShadow(this.shadow)).set(t=>this.shadow=StiJsonReportObjectHelper.Deserialize.simpleSahdow(t.value)).setXml(t=>this.shadow=StiSimpleShadow.loadFromXml(t.textContent)),new StiBrushMeta("Brush"),new StiBrushMeta("TextBrush"),new StiBrushMeta("IconBrush"),new StiFontMeta("Font","","Arial",10),new StiBoolMeta("Checked"),new StiObjectMeta("IconSet").check(()=>null!=this.iconSet&&!this.iconSet.isDefault()).get(()=>this.iconSet.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.iconSet=StiButtonElementIconSet.createFromJsonObject(t.value)).setXml(t=>this.iconSet=StiButtonElementIconSet.createFromXml(t)),new StiObjectMeta("VisualStates").check(()=>null!=this.visualStates).get(()=>this.visualStates.saveToJsonObject(StiJsonSaveMode.Report)).set(t=>this.visualStates=__.E.StiButtonVisualStates.createFromJsonObject(t.value)).setXml(t=>this.visualStates=__.E.StiButtonVisualStates.createFromXml(t)),new StiEventMeta("ClickEvent"),new StiEventMeta("CheckedChangedEvent"),new StiEnumMeta("InclusionMode","",StiFilterInclusionMode,StiFilterInclusionMode.SelectionOnly)]}get isFixedHeight(){return this.stretch==StiButtonStretch.StretchX}get checked(){return this.checkedValue}set checked(t){this.checkedValue!=t&&(this.checkedValue=t)}get stretch(){return this._stretch}set stretch(t){if(this._stretch!=t&&(this._stretch=t)==StiButtonStretch.StretchX&&this.isDesigning){let t=this.getFixedHeight();null!=t&&(this.height=StiNumber.getValueOrDefault(t))}}getIconSet(){return this.iconSet}getVisualStates(){return this.visualStates}get style(){return this._style}set style(t){this._style!=t&&(this._style=t)!=StiElementStyleIdent.Custom&&(this.customStyleName="")}get customStyleName(){return this._customStyleName}set customStyleName(t){this._customStyleName!=t&&(this._customStyleName=t,StiString.isNullOrWhiteSpace(t)||(this._style=StiElementStyleIdent.Custom))}convertFrom(t){}getParentKey(){return""}setParentKey(t){}async applyDefaultFilters(){}getIdentityFilters(){let t=new StiDataFilterRule;return t.condition=StiDataFilterCondition.Any,t.elementKey=this.key,t.toList()}getFonts(){return StiFo