@wavemaker/app-rn-runtime 11.11.6-rc.6189 → 11.11.7-rc.217
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/basic/button/button.component.js +0 -5
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/icon/icon.component.js +5 -5
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/icon/icon.props.js +1 -0
- package/components/basic/icon/icon.props.js.map +1 -1
- package/components/basic/label/label.props.js +1 -1
- package/components/basic/label/label.props.js.map +1 -1
- package/components/basic/picture/picture.component.js +5 -2
- package/components/basic/picture/picture.component.js.map +1 -1
- package/components/basic/picture/picture.props.js +1 -0
- package/components/basic/picture/picture.props.js.map +1 -1
- package/components/chart/basechart.component.js +11 -15
- package/components/chart/basechart.component.js.map +1 -1
- package/components/data/list/list.component.js +22 -4
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +2 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/data/list/list.styles.js +1 -0
- package/components/data/list/list.styles.js.map +1 -1
- package/components/input/switch/switch.component.js +1 -1
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/switch/switch.styles.js +14 -10
- package/components/input/switch/switch.styles.js.map +1 -1
- package/components/page/partial-container/partial-container.component.js +5 -1
- package/components/page/partial-container/partial-container.component.js.map +1 -1
- package/components/page/partial-container/partial-container.props.js +1 -0
- package/components/page/partial-container/partial-container.props.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/accessibility.js +15 -1
- package/core/accessibility.js.map +1 -1
- package/core/partial.service.js.map +1 -1
- package/core/responsive.utils.js +48 -0
- package/core/responsive.utils.js.map +1 -0
- package/core/tappable.component.js +2 -2
- package/core/tappable.component.js.map +1 -1
- package/core/utils.js +13 -0
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +60 -58
- package/package-lock.json +60 -58
- package/package.json +2 -2
- package/runtime/services/partial.service.js +12 -1
- package/runtime/services/partial.service.js.map +1 -1
- package/styles/theme.js +27 -8
- package/styles/theme.js.map +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","length","getTickValueLabel","xtickexpr","yaxislabeldistance","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","showxaxislabels","fill","xTickLabels","fixLabelOverlap","autoadjustlabels","axisLabelComponent","tickLabelComponent","offsetyaxis","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","xaxislabeldistance","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","showyaxislabels","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","tooltips","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","right","tooltipContainer","fontSize","fontWeight","tooltipXText","tooltipXaxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","dataset","xaxis","yaxis","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel, VictoryVoronoiContainer, VictoryTooltip} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp',\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n protected viewRef: React.RefObject<View>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n \n this.handleLayout(e)\n \n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\n\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n const props = this.state.props;\n let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (props.showlegend === 'right' || props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\n }\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n const minIndex = 0;\n const maxIndex = this.state.xaxisDatakeyArr.length - 1;\n const props = this.state.props;\n const getTickValueLabel = props.xtickexpr as any;\n let height = this.styles.root.height || 250;\n let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height as number - 20;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n return <VictoryAxis crossAxis={false} label={(props.xaxislabel || props.xaxisdatakey || \"name\") + (props.xunits ? `(${props.xunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridxaxis ?\n { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),\n tickLabels: props.showxaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel y={yaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel y={props.offsetyaxis ? props.offsetyaxis : height as number - 30} angle={props.labelangle || 0}/>} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);\n } else if (this.state.xaxisDatakeyArr) {\n return this.state.xaxisDatakeyArr[d];\n }\n return '';\n }}\n />; \n} \n\n\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n const props = this.state.props;\n if (props.showyaxis === false) {\n return null;\n }\n const getTickValueLabel = props.ytickexpr as any;\n const ynumberformat = props.ynumberformat;\n let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20\n return <VictoryAxis crossAxis={false} label={(props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridyaxis ? { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),\n tickLabels: props.showyaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={this.isRTL ? (screenWidth - xaxislabeldistance -\n 30) : xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={this.isRTL ? (props.offsetxaxis ? screenWidth - \n props.offsetxaxis - 30 : screenWidth - 80) : (props.offsetxaxis || 50)} />}\n theme={this.state.theme}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n if (ynumberformat) {\n return this.setYAxisFormat(d, ynumberformat);\n }\n return this.abbreviateNumber(d);\n }}\n orientation={this.isRTL?\"right\":\"left\"}\n dependentAxis />;\n }\n \n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n \n renderPointer(){\n return (\n <View \n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n if(!this.state.props.tooltips){\n return;\n }\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number},this.isRTL ? {right: this.state.tooltipXPosition as number} : {left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\n } \n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n const props = this.state.props;\n if (get(props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x valuex\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n if (typeof props.customcolors === 'string' && !isEmpty(props.customcolors)) {\n colorsToUse = props.customcolors.split(',').map(trim);\n }\n let themeToUse;\n if (typeof themeName === 'string') {\n if (!colorsToUse.length) {\n colorsToUse = props.customcolors as string[];\n }\n if(props.customcolors===undefined) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n const props = this.state.props;\n if (this.state.yAxis) {\n let ldata: any;\n if (props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n const props = this.state.props;\n let xaxis = props.xaxisdatakey;\n let yaxis = props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\n }\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (props.bubblesize) {\n set(dataObj, 'size', get(o, props.bubblesize, 5));\n }\n if (props.shape) {\n set(dataObj, 'symbol', shapes[props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (props.type == 'Pie' || props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n const props = this.state.props;\n return (<WmIcon id={this.getTestId('loadericon')} styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n if (isEmpty($new)) {\n return;\n }\n if (typeof $new === 'string') {\n $new = $new.split(',');\n }\n this.updateState({\n colors: $new\n } as S);\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n\n public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,EAAEC,IAAI,EAAEC,IAAI,QAA0B,cAAc;AACvE,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAQC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAEC,IAAI,EAAEC,OAAO,QAAO,WAAW;AAEpG,SAAQC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAgD,gBAAgB;AAEhH,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,YAAY,MAAO,8DAA8D;AAGxF,SAASC,aAAa,QAAiC,oBAAoB;AAE3E,SAASC,mBAAmB,EAAEC,YAAY,QAAQ,cAAc;AAEhE,OAAOC,QAAQ,MAAM,kCAAkC;AAEvD,OAAO,MAAMC,uBAAuB,SAA6CP,kBAAkB,CAAI;EAAAQ,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA,eACzF,EAAE;IAAAA,eAAA,kBACC,IAAI;IAAAA,eAAA,gBACI,EAAE;IAAAA,eAAA,0BACK,EAAE;IAAAA,eAAA,qBACd,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBAGH,EAAE;IAAAA,eAAA,iBACF,EAAE;IAAAA,eAAA,gBACH,CAAC;IAAAA,eAAA,mBACE,CAAC;IAAAA,eAAA,kBACD,IAAI;IAAAA,eAAA,sBACD,CAAC;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA,sBACA,CAAC;IAAAA,eAAA,oBACSC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,2BACtB,CAAC;IAAAA,eAAA,2BACD,CAAC;IAAAA,eAAA,uBACL,CAAC;IAAAA,eAAA,uBACD,CAAC;IAAAA,eAAA,yBACS,EAAE;IAAAA,eAAA,yBACF,EAAE;IAAAA,eAAA,wBACF,KAAK;IAAAA,eAAA,uBACV,CAAC,CAAC;IAAAA,eAAA,mBACH,EAAE;EAAA;AACvB;AAEA,MAAME,WAAW,GAAG9B,UAAU,CAACK,GAAG,CAAC,QAAQ,CAAC,CAAC0B,KAAK;AAElD,MAAMC,MAA4B,GAAG;EACnC,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,SAAS;EACpB,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,OAAO;EAChB,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,MAAM;EACd,eAAe,EAAE,cAAc;EAC/B,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAEpD,OAAO,MAAeC,kBAAkB,SAAsHjB,aAAa,CAAU;EAGnLS,WAAWA,CAACS,KAAQ,EAASC,YAAoB,GAAGf,aAAa,EAAEgB,YAAgB,EAAEC,YAAgB,EAAE;IACrG,KAAK,CAACH,KAAK,EAAEC,YAAY,EAAEC,YAAY,EAAEC,YAAY,CAAC;IAAC,KAD5BF,YAAoB,GAApBA,YAAoB;IAAAR,eAAA,sBAFjBE,WAAW;IAAAF,eAAA;IAAAA,eAAA,6BAmBrBW,CAAoB,IAAK;MAC7C,IAAIC,SAAS,GAAGD,CAAC,CAACE,WAAW,CAACC,MAAM,CAACX,KAAK;MAC1C,IAAIY,UAAU,GAAGJ,CAAC,CAACE,WAAW,CAACC,MAAM,CAACE,MAAM;MAE5C,IAAI,CAACC,YAAY,CAACN,CAAC,CAAC;MAEpB,IAAI,IAAI,aAAJ,IAAI,eAAJ,IAAI,CAAEO,KAAK,IAAIN,SAAS,KAAK,IAAI,CAACM,KAAK,CAACC,UAAU,EAAE;QACtD,IAAI,CAACC,WAAW,CAAC;UACfD,UAAU,EAAEE,MAAM,CAACT,SAAS,CAAC;UAC7BU,WAAW,EAAED,MAAM,CAACN,UAAU;QAChC,CAAQ,CAAC;MACX;IACF,CAAC;IA3BC,IAAI,CAACQ,OAAO,gBAAGpD,KAAK,CAACqD,SAAS,CAAC,CAAC;IAChC,IAAI,CAACjB,KAAK,CAACkB,KAAK,EAAE;MAChB,IAAI,CAACC,UAAU,CAACnB,KAAK,CAAC;IACxB;IACA,IAAI,CAACoB,SAAS,CAAC,aAAa,EAAGC,KAAU,IAAK;MAC5C,IAAI,CAACR,WAAW,CAAC;QACfS,aAAa,EAAE;MACjB,CAAQ,CAAC;IACX,CAAC,CAAC;EACJ;EAEAC,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAC3B;EAiBAC,gBAAgBA,CAACC,MAAW,EAAE;IAC5B,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MAC9B,OAAOA,MAAM;IACf;IACA,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACJ,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAEjD,IAAIC,IAAI,IAAI,CAAC,EAAE;MACb,OAAOD,MAAM;IACf;;IAEA;IACA,MAAMK,MAAM,GAAGhC,SAAS,CAAC4B,IAAI,CAAC;IAC9B,MAAMK,KAAK,GAAGJ,IAAI,CAACK,GAAG,CAAC,EAAE,EAAEN,IAAI,GAAG,CAAC,CAAC;;IAEpC;IACA,IAAIO,MAAM,GAAGR,MAAM,GAAGM,KAAK;;IAE3B;IACA,OAAOE,MAAM,CAACC,OAAO,CAAC,CAAC,CAAC,GAAGJ,MAAM;EACnC;EAEAK,aAAaA,CAACC,UAAgB,EAAE;IAC9B,IAAI,IAAI,CAACzB,KAAK,CAACX,KAAK,CAACqC,UAAU,KAAK,MAAM,EAAE;MAC1C,OAAO,IAAI;IACb;IACA,MAAMrC,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIsC,GAAG,GAAGtC,KAAK,CAACqC,UAAU,KAAK,QAAQ,GAAGE,QAAQ,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAAChC,MAAgB,CAAC,GAAG,CAAC;IACzF,IAAI6B,GAAG,EAAE;MACPA,GAAG,GAAGA,GAAG,GAAI,EAAG,CAAC,CAAC;IACpB;IACA,MAAMI,WAAW,GAAI1C,KAAK,CAACqC,UAAU,KAAK,OAAO,IAAIrC,KAAK,CAACqC,UAAU,KAAK,MAAM,GAAI,UAAU,GAAG,YAAY;IAC7G,oBAAOzE,KAAA,CAAA+E,aAAA,CAAC/D,aAAa;MACnBwD,UAAU,EAAEA,UAAW;MACvBQ,IAAI,EAAE,YAAa;MACnBF,WAAW,EAAEA,WAAY;MACzBG,MAAM,EAAE,EAAG;MACXC,IAAI,EAAE,IAAI,CAACnC,KAAK,CAACoC,UAAW;MAC5BC,KAAK,EAAE;QAAEC,MAAM,EAAE;UAAEC,MAAM,EAAE;QAAO;MAAE,CAAE;MACtCC,aAAa,EAAE;QAACb,GAAG,EAAE,EAAE;QAAEc,IAAI,EAAE;MAAE,CAAE;MACnCC,CAAC,EAAEf;IAAI,CACR,CAAC;EACJ;EAEAgB,iBAAiBA,CAACC,KAAa,EAAE;IAC/B,MAAMC,IAAI,GAAG7B,IAAI,CAAC8B,KAAK,CAACF,KAAK,CAAC;IAC9B,OAAO5B,IAAI,CAACE,GAAG,CAAC0B,KAAK,CAAC,GAAGC,IAAI,GAAG,CAAC,GAAGD,KAAK,GAAG,EAAE,GAAGC,IAAI,GAAG,CAAC;EAC3D;EAEAE,cAAcA,CAACC,IAAS,EAAEC,aAAqB,EAAC;IAC9C,MAAMC,UAAU,GAAGD,aAAa,CAACE,KAAK,CAAC,YAAY,CAAC;IACpD,MAAMC,gBAAgB,GAAGH,aAAa,CAACE,KAAK,CAAC,YAAY,CAAC;IAC1D,IAAID,UAAU,EAAE;MACZ,OAAOF,IAAI,CAACzB,OAAO,CAACK,QAAQ,CAACsB,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACpD,CAAC,MAAM,IAAIE,gBAAgB,EAAE;MACzB,OAAOJ,IAAI,CAACK,aAAa,CAACzB,QAAQ,CAACwB,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAChE;IACA,QAAQH,aAAa;MACnB,KAAK,GAAG;QACJ,OAAO,CAACD,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,SAAS;QACV,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,SAAS;QACV,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,UAAU;QACX,OAAO,CAACyB,IAAI,GAAG,GAAG,EAAEzB,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG;MACxC,KAAK,IAAI;QACL,OAAOyB,IAAI,CAACM,cAAc,CAAC,CAAC;IAClC;EACF;;EAEA;EACAC,QAAQA,CAAA,EAAG;IACT,MAAMC,QAAQ,GAAG,CAAC;IAClB,MAAMC,QAAQ,GAAG,IAAI,CAACzD,KAAK,CAAC0D,eAAe,CAACC,MAAM,GAAG,CAAC;IACtD,MAAMtE,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,MAAMuE,iBAAiB,GAAGvE,KAAK,CAACwE,SAAgB;IAChD,IAAI/D,MAAM,GAAG,IAAI,CAAC+B,MAAM,CAACC,IAAI,CAAChC,MAAM,IAAI,GAAG;IAC3C,IAAIgE,kBAAkB,GAAGzE,KAAK,CAACyE,kBAAkB,GAAGzE,KAAK,CAACyE,kBAAkB,GAAGhE,MAAM,GAAa,EAAE;IACpG,IAAIA,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAG8B,QAAQ,CAAC9B,MAAM,CAAC;IAC3B;IACA,oBAAO7C,KAAA,CAAA+E,aAAA,CAAChE,WAAW;MAAC+F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAAC3E,KAAK,CAAC4E,UAAU,IAAI5E,KAAK,CAAC6E,YAAY,IAAI,MAAM,KAAK7E,KAAK,CAAC8E,MAAM,GAAG,IAAI9E,KAAK,CAAC8E,MAAM,GAAG,GAAG,EAAE,CAAE;MACxH9B,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAAC7D,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAElF,KAAK,CAACmF,aAAa,GACrB;UAAEjC,MAAM,EAAE;QAAK,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAAC4C,KAAK,CAAC;QAClFC,IAAI,EAAErF,KAAK,CAACsF,SAAS,KAAK,KAAK,GAC3B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC+C,KAAK,CAAC;QACpFC,KAAK,EAAE,IAAI,CAACtE,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAACiD,MAAM,CAAC;QACnEC,UAAU,EAAE1F,KAAK,CAAC2F,eAAe,KAAK,KAAK,GAAG;UAACC,IAAI,EAAE;QAAM,CAAC,GAAG,IAAI,CAAC1E,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAACqD,WAAW;MACtI,CAAE;MACFC,eAAe,EAAG9F,KAAK,CAAC+F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEpI,KAAA,CAAA+E,aAAA,CAAC9D,YAAY;QAACwE,CAAC,EAAEoB;MAAmB,CAAC,CAAE;MAC3DwB,kBAAkB,eAAErI,KAAA,CAAA+E,aAAA,CAAC9D,YAAY;QAACwE,CAAC,EAAErD,KAAK,CAACkG,WAAW,GAAGlG,KAAK,CAACkG,WAAW,GAAGzF,MAAM,GAAa,EAAG;QAAC0F,KAAK,EAAEnG,KAAK,CAACoG,UAAU,IAAI;MAAE,CAAC,CAAE;MAAClF,KAAK,EAAE,IAAI,CAACP,KAAK,CAACO,KAAM;MAC7JmF,SAAS,EAAE,IAAI,CAAC1F,KAAK,CAAC0D,eAAe,CAACC,MAAO;MAC7CgC,UAAU,EAAE,IAAI,CAACC,KAAM;MACvBC,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAElB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACnB,OAAOA,iBAAiB,CAAC,IAAI,CAAC5D,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAAC,EAAEC,CAAC,EAAE,CAAClB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACpF,CAAC,MAAM,IAAI,IAAI,CAAC3D,KAAK,CAAC0D,eAAe,EAAE;UACrC,OAAO,IAAI,CAAC1D,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAAC;QACtC;QACA,OAAO,EAAE;MACX;IAAE,CACD,CAAC;EAC1B;;EAGE;EACAE,QAAQA,CAAA,EAAG;IACT,MAAM3G,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIA,KAAK,CAAC4G,SAAS,KAAK,KAAK,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMrC,iBAAiB,GAAGvE,KAAK,CAAC6G,SAAgB;IAChD,MAAMjD,aAAa,GAAG5D,KAAK,CAAC4D,aAAa;IACzC,IAAIkD,kBAAkB,GAAG9G,KAAK,CAAC8G,kBAAkB,GAAG9G,KAAK,CAAC8G,kBAAkB,GAAG,EAAE;IACjF,oBAAOlJ,KAAA,CAAA+E,aAAA,CAAChE,WAAW;MAAC+F,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAAC3E,KAAK,CAAC+G,UAAU,IAAI/G,KAAK,CAACgH,YAAY,KAAKhH,KAAK,CAACiH,MAAM,GAAG,IAAIjH,KAAK,CAACiH,MAAM,GAAG,GAAG,EAAE,CAAE;MAC9GjE,KAAK,EAAE;QACL+B,SAAS,EAAE,IAAI,CAAC7D,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACuC,SAAS,EAAE,IAAI,CAACvC,MAAM,CAACyC,UAAU,CAAC;QAC/EC,IAAI,EAAElF,KAAK,CAACkH,aAAa,GAAG;UAAEhE,MAAM,EAAE;QAAK,CAAC,GAAG,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC0C,IAAI,EAAE,IAAI,CAAC1C,MAAM,CAAC2E,KAAK,CAAC;QACzG9B,IAAI,EAAErF,KAAK,CAACsF,SAAS,KAAK,KAAK,GAC/B;UAAEpC,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAChC,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAAC6C,IAAI,EAAE,IAAI,CAAC7C,MAAM,CAAC4E,KAAK,CAAC;QAChF5B,KAAK,EAAE,IAAI,CAACtE,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACgD,KAAK,EAAE,IAAI,CAAChD,MAAM,CAAC6E,MAAM,CAAC;QACnE3B,UAAU,EAAE1F,KAAK,CAACsH,eAAe,KAAK,KAAK,GAAG;UAAC1B,IAAI,EAAE;QAAM,CAAC,GAAG,IAAI,CAAC1E,KAAK,CAAC8D,UAAU,CAAC,IAAI,CAACxC,MAAM,CAACkD,UAAU,EAAE,IAAI,CAAClD,MAAM,CAAC+E,WAAW;MACtI,CAAE;MACFzB,eAAe,EAAG9F,KAAK,CAAC+F,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEpI,KAAA,CAAA+E,aAAA,CAAC9D,YAAY;QAAC2I,CAAC,EAAE,IAAI,CAACjB,KAAK,GAAI5G,WAAW,GAAGmH,kBAAkB,GACjF,EAAE,GAAIA;MAAmB,CAAC,CAAE;MAC9Bb,kBAAkB,eAAErI,KAAA,CAAA+E,aAAA,CAAC9D,YAAY;QAAC2I,CAAC,EAAE,IAAI,CAACjB,KAAK,GAAIvG,KAAK,CAACyH,WAAW,GAAG9H,WAAW,GACjFK,KAAK,CAACyH,WAAW,GAAG,EAAE,GAAG9H,WAAW,GAAG,EAAE,GAAKK,KAAK,CAACyH,WAAW,IAAI;MAAI,CAAE,CAAE;MAC5EvG,KAAK,EAAE,IAAI,CAACP,KAAK,CAACO,KAAM;MACxBsF,UAAU,EAAGA,CAACC,CAAS,EAAEC,CAAS,EAAElB,KAAU,KAAK;QACjD,IAAIjB,iBAAiB,EAAE;UACrB,OAAOA,iBAAiB,CAACkC,CAAC,EAAEC,CAAC,EAAE,CAAClB,KAAK,IAAI,EAAE,EAAElB,MAAM,CAAC;QACtD;QACA,IAAIV,aAAa,EAAE;UACjB,OAAO,IAAI,CAACF,cAAc,CAAC+C,CAAC,EAAE7C,aAAa,CAAC;QAC9C;QACA,OAAO,IAAI,CAACpC,gBAAgB,CAACiF,CAAC,CAAC;MACjC,CAAE;MACF/D,WAAW,EAAE,IAAI,CAAC6D,KAAK,GAAC,OAAO,GAAC,MAAO;MACvCmB,aAAa;IAAA,CAAE,CAAC;EACtC;EAEAC,kBAAkBA,CAACC,WAAgB,EAAE;IACnC,IAAI,CAAC/G,WAAW,CAAC;MAAEgH,QAAQ,EAAED;IAAW,CAAQ,CAAC;EACnD;EAEAE,uBAAuBA,CAACzG,KAAwB,EAAC;IAC/C,IAAI0G,aAAa,GAAG1G,KAAK,CAACf,WAAW,CAACC,MAAM;IAC5C,IAAI,CAACM,WAAW,CAAC;MACfmH,cAAc,EAAED,aAAa,CAACnI,KAAK,GAAC,CAAC;MACrCqI,cAAc,EAAEF,aAAa,CAACtH;IAChC,CAAQ,CAAC;EACX;EAEAyH,aAAaA,CAAA,EAAE;IACb,oBACEtK,KAAA,CAAA+E,aAAA,CAAC7E,IAAI;MACLkF,KAAK,EAAE,CACL;QACEmF,SAAS,EAAE,CACT;UAAEC,MAAM,EAAE;QAAS,CAAC,CACrB;QACDC,MAAM,EAAE,CAAC,EAAE;QACXjF,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACqH,cAAc,GAAG,IAAI,CAACxF,MAAM,CAAC8F,cAAc,CAACC,iBAAiB,GAAC;MACjF,CAAC,EACD,IAAI,CAAC/F,MAAM,CAAC8F,cAAc;IAC1B,CACH,CAAC;EAEJ;EAEAE,UAAUA,CAAA,EAAG;IACX,IAAG,CAAC,IAAI,CAAC7H,KAAK,CAACX,KAAK,CAACyI,QAAQ,EAAC;MAC5B;IACF;IACA,MAAM7E,aAAa,GAAG,IAAI,CAACjD,KAAK,CAACX,KAAK,CAAC4D,aAAa;IACpD,IAAI8E,SAAS,GAAG9E,aAAa,GAAG,IAAI,CAACF,cAAc,CAAC,IAAI,CAAC/C,KAAK,CAACgI,YAAY,EAAE/E,aAAa,CAAC,GAAG,IAAI,CAACjD,KAAK,CAACgI,YAAY;IACrH,OAAO,IAAI,CAAChI,KAAK,CAACW,aAAa,GAC7B,CAAClD,OAAO,CAAC,IAAI,CAACuC,KAAK,CAACkH,QAAQ,CAAC,IAAI,IAAI,CAAC7H,KAAK,CAAC4I,iBAAiB,gBAC7DhL,KAAA,CAAA+E,aAAA,CAAC7E,IAAI;MAAC+K,QAAQ,EAAE,IAAI,CAACf,uBAAuB,CAACgB,IAAI,CAAC,IAAI,CAAE;MAAC9F,KAAK,EAAE;QAAE+F,QAAQ,EAAE,UAAU;QAAEzG,GAAG,EAAE,IAAI,CAAC3B,KAAK,CAACqI,gBAA0B;QAAE5F,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACsI,gBAA0B;QAAGC,MAAM,EAAE;MAAE;IAAE,GACxL,IAAI,CAAClJ,KAAK,CAAC4I,iBAAiB,CAAC,IAAI,CAACjI,KAAK,CAACwI,YAAY,EAAE,IAAI,CAACxI,KAAK,CAACwI,YAAY,CAACC,KAAK,EAAE,IAAI,CAACzI,KAAK,CAACkH,QAAQ,CAAC,EACzG,IAAI,CAACK,aAAa,CAAC,CACnB,CAAC,gBACPtK,KAAA,CAAA+E,aAAA,CAAC7E,IAAI;MAACkF,KAAK,EAAE,CACX;QAAE+F,QAAQ,EAAE,UAAU;QAAEzG,GAAG,EAAE,IAAI,CAAC3B,KAAK,CAACqI;MAA0B,CAAC,EAAC,IAAI,CAACzC,KAAK,GAAG;QAAC8C,KAAK,EAAE,IAAI,CAAC1I,KAAK,CAACsI;MAA0B,CAAC,GAAG;QAAC7F,IAAI,EAAE,IAAI,CAACzC,KAAK,CAACsI;MAA0B,CAAC,EAC/K,IAAI,CAACzG,MAAM,CAAC8G,gBAAgB;IAC5B,gBACA1L,KAAA,CAAA+E,aAAA,CAAC5E,IAAI;MAACiF,KAAK,EAAE,CAAC;QAAEuG,QAAQ,EAAE,EAAE;QAAEC,UAAU,EAAE;MAAO,CAAC,EAAC,IAAI,CAAChH,MAAM,CAACiH,YAAY;IAAE,GAAE,IAAI,CAAC9I,KAAK,CAAC+I,YAAmB,CAAC,eAC9G9L,KAAA,CAAA+E,aAAA,CAAC5E,IAAI;MAACiF,KAAK,EAAE,IAAI,CAACR,MAAM,CAACiH;IAAa,GAAEf,SAAgB,CAAC,EACxD,IAAI,CAACR,aAAa,CAAC,CAChB,CAAE,GACN,IAAI;EACV;;EAEA;EACAyB,qBAAqBA,CAACC,IAAY,EAAE;IAClC,OAAOA,IAAI,KAAK,QAAQ,IAAGA,IAAI,KAAK,MAAM;EAC5C;;EAEA;EACAC,iBAAiBA,CAACxE,IAAY,EAAE;IAC9B,MAAMrF,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI9B,GAAG,CAAC8B,KAAK,EAAEqF,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,CAACsE,qBAAqB,CAAC3J,KAAK,CAAC4J,IAAI,CAAE,EAAE;MACrF,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEF;EACEE,oBAAoBA,CAACC,MAAW,EAAE;IAChC,IAAIC,QAAQ,CAACD,MAAM,CAACE,GAAG,CAAC,IAAID,QAAQ,CAACD,MAAM,CAACG,GAAG,CAAC,EAAE;MAChD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAIC,aAAa,EAAEC,aAAa;IAChC,IAAI,IAAI,CAAC1J,KAAK,CAACmC,IAAI,CAACwB,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI,IAAI,CAACuF,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAClJ,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC0E,CAAC,KAAK,QAAQ,EAAE;QAC3E4C,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAAC3J,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI,IAAI,CAAC+G,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC/BQ,aAAa,GAAG,IAAI,CAACE,gBAAgB,CAAC,IAAI,CAAC5J,KAAK,CAACmC,IAAI,CAAC;MACxD;MACA,IAAIsH,aAAa,EAAE;QACjB,IAAI,CAACvJ,WAAW,CAAC;UACf2J,SAAS,EAAEH,aAAa,CAACJ,GAAG,CAACzC,CAAC;UAC9BiD,SAAS,EAAEJ,aAAa,CAACH,GAAG,CAAC1C;QAC/B,CAAM,CAAC;MACT;MACA,IAAIkD,IAAI;MACR,IAAIL,aAAa,EAAE;QACjB,IAAI,IAAI,CAACP,oBAAoB,CAAC;UAACI,GAAG,EAAEG,aAAa,CAACH,GAAG,CAAC7G,CAAC;UAAE4G,GAAG,EAAEI,aAAa,CAACJ,GAAG,CAAC5G;QAAC,CAAC,CAAC,EAAE;UACnFqH,IAAI,GAAG,IAAI,CAACpH,iBAAiB,CAAC+G,aAAa,CAACJ,GAAG,CAAC5G,CAAC,CAAC;QACpD;QACA,IAAI,CAACxC,WAAW,CAAC;UACf8J,SAAS,EAAED,IAAI,GAAGA,IAAI,GAAGL,aAAa,CAACJ,GAAG,CAAC5G,CAAC;UAC5CuH,SAAS,EAAEP,aAAa,CAACH,GAAG,CAAC7G;QAC/B,CAAM,CAAC;MACT;IACF;EACF;;EAEA;EACAiH,gBAAgBA,CAACO,KAAiC,EAAE;IAClD,IAAI,CAACA,KAAK,EAAE;MACV;IACF;IACA,MAAMC,OAAY,GAAG,CAAC,CAAC;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIA,OAAO,CAACb,GAAG,GAAG1L,KAAK,CAACsM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACvD,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE9H;IAAS,CAAC;IAC5F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIoL,OAAO,CAACZ,GAAG,GAAG5L,KAAK,CAACuM,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACvD,CAAC,CAAC,IAAG;MAACA,CAAC,EAAE9H;IAAS,CAAC;IAC3F,OAAOoL,OAAO;EAChB;;EAEA;EACAP,gBAAgBA,CAACM,KAAwC,EAAE;IACzD,MAAMG,OAAY,GAAG,CAAC,CAAC;MACrBC,SAAc,GAAG,EAAE;MACnBC,SAAc,GAAG,EAAE;IACrB,IAAI,CAACL,KAAK,EAAE;MACV;IACF;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAGI5M,OAAO,CAAC4M,KAAK,EAAE/H,IAAI,IAAI;MACrB,IAAIA,IAAI,IAAI,CAAC1E,OAAO,CAAC0E,IAAI,CAAC,EAAE;QAC1BmI,SAAS,CAACE,IAAI,CAAC5M,KAAK,CAACuE,IAAI,EAAIiI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC1H,CAAC;QAAC,CAAC,CAAC,CAAC;QACvF6H,SAAS,CAACC,IAAI,CAAC7M,KAAK,CAACwE,IAAI,EAAIiI,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC1H,CAAC;QAAC,CAAC,CAAC,CAAC;MACzF;IACF,CAAC,CAAC;IACF;IACA2H,OAAO,CAACf,GAAG,GAAG1L,KAAK,CAAC0M,SAAS,EAAGF,UAA4B,IAAKA,UAAU,CAAC1H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE3D;IAAS,CAAC;IAChGsL,OAAO,CAACd,GAAG,GAAG5L,KAAK,CAAC4M,SAAS,EAAGH,UAA4B,IAAKA,UAAU,CAAC1H,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE3D;IAAS,CAAC;IAChG,OAAOsL,OAAO;EAChB;EAEAI,qBAAqBA,CAACC,EAAe,EAAE;IACrC,IAAI5K,MAAM,GAAG,IAAI,CAAC+B,MAAM,CAACC,IAAI,CAAChC,MAAM,IAAI,GAAG;IAC3C,IAAIb,KAAK,GAAG,IAAI,CAAC4C,MAAM,CAACC,IAAI,CAAC7C,KAAK,IAAID,WAAW;IACjD,IAAIc,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAG8B,QAAQ,CAAC9B,MAAM,CAAC;IAC3B;IACA,IAAIb,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCA,KAAK,GAAG2C,QAAQ,CAAC3C,KAAK,CAAC;IACzB;IACA,IAAI,CAACiB,WAAW,CAAC;MACfyK,WAAW,EAAE7K,MAAM;MACnBG,UAAU,EAAEhB;IACd,CAAC,EAAOyL,EAAE,CAAC;EACb;EAEAlK,UAAUA,CAACnB,KAA8B,EAAE;IACzC,IAAIuL,SAAS,GAAGvL,KAAK,CAACkB,KAAK,GAAGlB,KAAK,CAACkB,KAAK,GAAIlB,KAAK,CAAC4J,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,aAAc;IAC5F,IAAI4B,WAAW,GAAG,EAAE;IACpB,IAAI,OAAOxL,KAAK,CAACyL,YAAY,KAAK,QAAQ,IAAI,CAACrN,OAAO,CAAC4B,KAAK,CAACyL,YAAY,CAAC,EAAE;MAC1ED,WAAW,GAAGxL,KAAK,CAACyL,YAAY,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAClN,IAAI,CAAC;IACvD;IACA,IAAImN,UAAU;IACd,IAAI,OAAOL,SAAS,KAAK,QAAQ,EAAE;MACjC,IAAI,CAACC,WAAW,CAAClH,MAAM,EAAE;QACvBkH,WAAW,GAAGxL,KAAK,CAACyL,YAAwB;MAC9C;MACA,IAAGzL,KAAK,CAACyL,YAAY,KAAG/L,SAAS,EAAE;QACjC8L,WAAW,GAAGvM,YAAY,CAAC4M,YAAY,CAACN,SAAS,CAAC;MACpD;MACAK,UAAU,GAAG3M,YAAY,CAAC6M,QAAQ,CAACP,SAAS,EAAEvL,KAAK,CAACwC,MAAM,EAAEgJ,WAAW,CAAC;IAC1E,CAAC,MAAM,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACxC;MACAK,UAAU,GAAG5L,KAAK,CAACkB,KAAK;IAC1B;IACA,IAAI,CAACL,WAAW,CAAC;MACfkL,MAAM,EAAEP,WAAW;MACnBtK,KAAK,EAAE0K;IACT,CAAM,CAAC;EACT;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,MAAMhM,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI,IAAI,CAACW,KAAK,CAACyG,KAAK,EAAE;MACpB,IAAI6E,KAAU;MACd,IAAIjM,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM9G,IAAI,GAAGpE,OAAO,CAAC,IAAI,CAACiC,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;QACpDmJ,KAAK,GAAGnJ,IAAI,CAAC6I,GAAG,CAAElF,CAAM,IAAK;UAC3B,OAAO;YACL7D,IAAI,EAAE,IAAI,CAACjC,KAAK,CAAC0D,eAAe,CAACoC,CAAC,CAACe,CAAC;UACtC,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACLyE,KAAK,GAAG,IAAI,CAACtL,KAAK,CAACyG,KAAK,CAACuE,GAAG,CAAElF,CAAS,IAAK;UAC1C,OAAO;YACL7D,IAAI,EAAE6D;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC5F,WAAW,CAAC;QACfkC,UAAU,EAAEkJ;MACd,CAAM,CAAC;IACT;EACF;EAEAC,aAAaA,CAACtJ,IAAY,EAAE;IAC1B,OAAO,IAAI,CAACjC,KAAK,CAACoC,UAAU,CAAC4I,GAAG,CAAC,CAACQ,CAAM,EAAEC,GAAW,KAAK;MACxD,OAAO;QACLC,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrBC,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAEC,MAAM,CAACJ,GAAG,CAAC;QACrBK,aAAa,EAAE;UACbC,OAAO,EAAEA,CAAA,KAAM;YACb,OAAO,CACL;cACEL,SAAS,EAAE,CAACzJ,IAAI,GAAG,GAAG,GAAGwJ,GAAG,CAAC;cAC7BE,MAAM,EAAE,MAAM;cACdC,QAAQ,EAAE,KAAK;cACfI,QAAQ,EAAG3M,KAAU,IAAK;gBACxB,OAAO,IAAI;cACb;YACF,CAAC,CACF;UACH,CAAC;UACD4M,WAAW,EAAEA,CAAA,KAAM,CACnB,CAAC;UACDC,UAAU,EAAEA,CAAA,KAAM,CAClB;QACF;MACF,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;EACAC,WAAWA,CAACC,OAA8B,EAAEC,IAAY,EAAE5D,KAAa,EAAE/E,eAA2B,EAAE;IACpG,MAAMd,KAAU,GAAGrF,GAAG,CAAC6O,OAAO,EAAEC,IAAI,CAAC;IACrC,IAAIhP,MAAM,CAACuF,KAAK,CAAC,CAAC0J,OAAO,CAAC,CAAC,IAAIC,KAAK,CAAC3J,KAAK,CAAC,IAAI,OAAOA,KAAK,KAAK,QAAQ,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACrG,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAC;QAC5Bc,eAAe,CAAC8G,IAAI,CAAC5H,KAAK,CAAC4J,OAAO,CAAC,KAAK,EAAC,IAAI,CAAC,CAAC;MACjD,CAAC,MACG;QACF9I,eAAe,CAAC8G,IAAI,CAAC5H,KAAK,CAAC;MAC7B;MACA,OAAO6F,KAAK;IACd;IACA,OAAO7F,KAAK;EACd;EAEA6J,gBAAgBA,CAACC,OAAY,EAAE;IAC7B,MAAMrN,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIsN,KAAK,GAAGtN,KAAK,CAAC6E,YAAY;IAC9B,IAAI0I,KAAK,GAAGvN,KAAK,CAACgH,YAAY;IAC9B,IAAI3C,eAA2B,GAAG,EAAE;IACpC,IAAImJ,QAAa,GAAG,EAAE;IACtB,IAAIH,OAAO,CAAC/I,MAAM,KAAK,CAAC,EAAE;MAAA,IAAAmJ,MAAA;MACxBJ,OAAO,GAAGlO,mBAAmB,CAACC,YAAY,CAAC,IAAI,CAACY,KAAK,CAAC,GAAAyN,MAAA,GAAEF,KAAK,cAAAE,MAAA,uBAALA,MAAA,CAAO/B,KAAK,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC1L,KAAK,CAAC0N,KAAK,CAAC;MAC5FJ,KAAK,GAAG,GAAG;MACXC,KAAK,GAAG,GAAG;IACb;IACA,IAAID,KAAK,IAAIC,KAAK,EAAE;MAClB,IAAII,IAAI,GAAGJ,KAAK,CAAC7B,KAAK,CAAC,GAAG,CAAC;MAC3BiC,IAAI,CAAC1P,OAAO,CAAEoF,CAAM,IAAK;QACvB,IAAIiK,KAAK,KAAKjK,CAAC,EAAE;UACfmK,QAAQ,CAACrC,IAAI,CAACkC,OAAO,CAAC1B,GAAG,CAAC,CAACiC,CAAwB,EAAEC,MAAc,KAAK;YACtE,MAAMC,IAAI,GAAG,IAAI,CAAChB,WAAW,CAACc,CAAC,EAAEN,KAAK,EAAEO,MAAM,EAAExJ,eAAe,CAAC;YAChE,IAAIV,IAAqB,GAAGzF,GAAG,CAAC0P,CAAC,EAAEvK,CAAC,CAAC;YACrC,IAAI,OAAOM,IAAI,KAAK,QAAQ,EAAE;cAC5BA,IAAI,GAAGoK,UAAU,CAACpK,IAAI,CAAC,IAAIA,IAAI;YACjC;YACA,IAAIoJ,OAAO,GAAG;cACZvF,CAAC,EAAEsG,IAAI;cACPzK,CAAC,EAAEM;YACL,CAAC;YACD,IAAI3D,KAAK,CAACgO,UAAU,EAAE;cACpBxP,GAAG,CAACuO,OAAO,EAAE,MAAM,EAAE7O,GAAG,CAAC0P,CAAC,EAAE5N,KAAK,CAACgO,UAAU,EAAE,CAAC,CAAC,CAAC;YACnD;YACA,IAAIhO,KAAK,CAAC0N,KAAK,EAAE;cACflP,GAAG,CAACuO,OAAO,EAAE,QAAQ,EAAElN,MAAM,CAACG,KAAK,CAAC0N,KAAK,CAAC,CAAC;YAC7C;YACA,OAAOX,OAAO;UAChB,CAAC,CAAC,CAAC;QACL;MACF,CAAC,CAAC;MACF;MACA,IAAI,CAACkB,mBAAmB,CAAC,aAAa,EAAE,CAACvO,SAAS,EAAE,IAAI,CAACwO,KAAK,CAAC,CAAC;MAChE,IAAIlO,KAAK,CAAC4J,IAAI,IAAI,KAAK,IAAI5J,KAAK,CAAC4J,IAAI,KAAK,OAAO,EAAE;QACjD;QACAuE,UAAU,CAAC,MAAM;UACf,IAAI,CAACtN,WAAW,CAAC;YACfuN,QAAQ,EAAE;UACZ,CAAM,CAAC;QACT,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IAAI,CAACC,UAAU,CAACb,QAAQ,EAAEG,IAAI,EAAEtJ,eAAe,CAAC;IAClD;EACF;EAGUiK,iBAAiBA,CAAA,EAAG;IAC5B,MAAMtO,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,oBAAQpC,KAAA,CAAA+E,aAAA,CAAC3D,MAAM;MAACuP,EAAE,EAAE,IAAI,CAACC,SAAS,CAAC,YAAY,CAAE;MAAChM,MAAM,EAAE,IAAI,CAACA,MAAM,CAACiM,WAAY;MAClFC,SAAS,EAAE1O,KAAK,CAAC2O,WAAY;MAC7BC,OAAO,EAAE5O,KAAK,CAAC6O;IAAe,CAAS,CAAC;EAC1C;EAEAR,UAAUA,CAACb,QAAa,EAAEG,IAAS,EAAEtJ,eAA2B,EAAE;IAChE,MAAMrE,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAI,CAACa,WAAW,CAAC;MACfiC,IAAI,EAAE0K,QAAe;MACrBpG,KAAK,EAAEuG,IAAI;MACXtJ,eAAe,EAAEA;IACnB,CAAC,EAAO,MAAM;MACZ,IAAI,CAAC2H,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAAChM,KAAK,CAAC8O,SAAS,IAAI9O,KAAK,CAAC8O,SAAS,KAAK,SAAS,EAAE;QACrD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAACpO,KAAK,CAACmC,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC;MACA,IAAI,IAAI,CAAC6G,qBAAqB,CAAC3J,KAAK,CAAC4J,IAAI,CAAC,KAAK5J,KAAK,CAACgP,OAAO,IAAIhP,KAAK,CAACiP,OAAO,CAAC,EAAE;QAC9E,IAAI,CAAC9E,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAACtJ,WAAW,CAAC;QACfqO,OAAO,EAAE;MACX,CAAM,CAAC;IACT,CAAC,CAAC;EACJ;EAEAH,QAAQA,CAACjM,IAAgC,EAAE;IACzC,IAAIqM,KAAK,GAAG,CAAC;IACbrM,IAAI,CAAC7E,OAAO,CAAEwI,CAAmB,IAAK;MACpC0I,KAAK,IAAI1I,CAAC,CAACpD,CAAW;IACxB,CAAC,CAAC;IACF,IAAI,CAACxC,WAAW,CAAC;MACfsO,KAAK,EAAEA;IACT,CAAM,CAAC;EACT;EAEAC,gBAAgBA,CAACxM,IAAY,EAAEyM,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACF,gBAAgB,CAACxM,IAAI,EAAEyM,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMtP,KAAK,GAAG,IAAI,CAACW,KAAK,CAACX,KAAK;IAC9B,IAAIuP,KAAK,GAAG,EAAE;IACd,QAAO3M,IAAI;MACT,KAAK,cAAc;QACjB,IAAIxE,OAAO,CAACiR,IAAI,CAAC,EAAE;UACjB;QACF;QACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;UAC5BA,IAAI,GAAGA,IAAI,CAAC3D,KAAK,CAAC,GAAG,CAAC;QACxB;QACA,IAAI,CAAC7K,WAAW,CAAC;UACfkL,MAAM,EAAEsD;QACV,CAAM,CAAC;QACP;MACF,KAAK,OAAO;QACV,IAAI,CAAClO,UAAU,CAACnB,KAAK,CAAC;QACtB;MACF,KAAK,SAAS;QACZ,IAAI,CAAC7B,OAAO,CAACkR,IAAI,CAAC,EAAE;UAClB,IAAIhR,QAAQ,CAACgR,IAAI,CAAC,IAAI,CAACjR,OAAO,CAACiR,IAAI,CAAC,EAAE;YACpCA,IAAI,GAAG,CAACA,IAAI,CAAC;UACf,CAAC,MAAM;YACLA,IAAI,GAAG,EAAE;UACX;QACF;QACAA,IAAI,IAAI,IAAI,CAACjC,gBAAgB,CAACiC,IAAI,CAAC;QACnC;MACF,KAAK,YAAY;QACf,IAAIrP,KAAK,CAAC8E,MAAM,EAAE;UAChByK,KAAK,GAAG,IAAI,GAAGvP,KAAK,CAAC8E,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACjE,WAAW,CAAC;UACf2O,MAAM,EAAEH,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;MACF,KAAK,YAAY;QACf,IAAIvP,KAAK,CAACiH,MAAM,EAAE;UAChBsI,KAAK,GAAG,IAAI,GAAGvP,KAAK,CAACiH,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACpG,WAAW,CAAC;UACf4O,MAAM,EAAEJ,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;IACJ;EACF;EAEOG,cAAcA,CAAC1P,KAAQ,EAAmB;IAC/C,IAAGA,KAAK,CAAC2P,yBAAyB,EAAE;MAAA,IAAAC,YAAA,EAAAC,aAAA,EAAAC,aAAA;MAClC,oBAAOlS,KAAA,CAAA+E,aAAA,CAAC7E,IAAI;QAACkF,KAAK,EAAE,CAAC;UAACpD,KAAK,EAAE;QAAM,CAAC,GAAAgQ,YAAA,GAAE,IAAI,CAACpN,MAAM,cAAAoN,YAAA,uBAAXA,YAAA,CAAanN,IAAI;MAAE,gBACzD7E,KAAA,CAAA+E,aAAA,CAACtD,QAAQ;QAACmD,MAAM,EAAE;UAAEuN,OAAO,EAAE;YAAC,KAAAF,aAAA,GAAG,IAAI,CAACrN,MAAM,cAAAqN,aAAA,uBAAXA,aAAA,CAAapN,IAAI;YAAE,KAAAqN,aAAA,GAAG,IAAI,CAACtN,MAAM,cAAAsN,aAAA,gBAAAA,aAAA,GAAXA,aAAA,CAAaE,QAAQ,cAAAF,aAAA,uBAArBA,aAAA,CAAuBrN,IAAI;UAAA;QAAE,CAAE;QAACwN,MAAM,EAAEjQ,KAAK,CAAC2P,yBAA0B;QAACO,IAAI,EAAE,IAAK;QAACC,QAAQ,EAAE,IAAK;QAACC,KAAK,EAAE,IAAI,CAACpQ,KAAK,CAACqQ;MAAuB,CAAC,CAClM,CAAC;IACP;IACA,OAAO,IAAI;EACb;AACF;AACA,SAASC,WAAWA,CAACC,aAAuE,EAAO;EACjG,MAAM,IAAIC,KAAK,CAAC,2BAA2B,CAAC;AAC9C","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","Dimensions","View","Text","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","constructSampleData","getChartType","WmLottie","BaseChartComponentState","constructor","args","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","defaultProps","defaultState","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","updateState","Number","totalHeight","viewRef","createRef","theme","applyTheme","subscribe","event","isTooltipOpen","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","showlegend","top","parseInt","styles","root","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","setYAxisFormat","yVal","ynumberformat","matchFixed","match","matchExponential","toExponential","toLocaleString","getXaxis","minIndex","maxIndex","xaxisDatakeyArr","length","getTickValueLabel","xtickexpr","yaxislabeldistance","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","showxaxislabels","fill","xTickLabels","fixLabelOverlap","autoadjustlabels","axisLabelComponent","tickLabelComponent","offsetyaxis","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","xaxislabeldistance","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","showyaxislabels","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","tooltips","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","right","tooltipContainer","fontSize","fontWeight","tooltipXText","tooltipXaxis","isAxisDomainSupported","type","isAxisDomainValid","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","getXMinMaxValues","getYMinMaxValues","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","themeName","colorsToUse","customcolors","trim","split","map","color","filter","Array","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","isValid","isNaN","replace","prepareDataItems","dataset","xaxis","yaxis","datasets","_yaxis","shape","yPts","o","xindex","xVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","id","getTestId","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","renderSkeleton","skeletonanimationresource","_this$styles","_this$styles2","_this$styles3","content","skeleton","source","loop","autoplay","speed","skeletonanimationspeed","getDataType","widgetContext","Error"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions, View, Text, LayoutChangeEvent} from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel, VictoryVoronoiContainer, VictoryTooltip} from \"victory-native\";\n\nimport { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';\nimport WmIcon from \"@wavemaker/app-rn-runtime/components/basic/icon/icon.component\";\nimport ThemeFactory from \"@wavemaker/app-rn-runtime/components/chart/theme/chart.theme\";\n\nimport BaseChartComponentProps from \"./basechart.props\";\nimport { DEFAULT_CLASS, BaseChartComponentStyles} from \"./basechart.styles\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\nimport { isWebPreviewMode } from \"@wavemaker/app-rn-runtime/core/utils\";\nimport WmLottie from \"../basic/lottie/lottie.component\";\n\nexport class BaseChartComponentState <T extends BaseChartComponentProps> extends BaseComponentState<T> {\n data: any = [];\n content: any = null;\n yAxis: Array<string> = [];\n xaxisDatakeyArr: Array<any> = [];\n legendData: any = [];\n theme: any;\n colors: any;\n xLabel: string = '';\n yLabel: string = '';\n total: number = 0;\n endAngle: number = 0;\n loading: boolean = true;\n chartHeight: number = 0;\n chartWidth: number = 0;\n totalHeight: number = 0;\n chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n tooltipXPosition = 0;\n tooltipYPosition = 0;\n tooltipXaxis = 0;\n tooltipYaxis = 0;\n tooltipoffsetx: number = 50;\n tooltipoffsety: number = 80;\n isTooltipOpen: boolean = false;\n selectedItem: any = {}\n template: string = \"\";\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: any} = {\n 'circle': 'circle',\n 'cross': 'cross',\n 'diamond': 'diamond',\n 'plus': 'plus',\n 'minus': 'minus',\n 'square': 'square',\n 'star': 'star',\n 'triangle-down': 'triangleDown',\n 'triangle-up': 'triangleUp',\n};\n\nconst SI_SYMBOL = [\"\", \"k\", \"M\", \"G\", \"T\", \"P\", \"E\"];\n\nexport abstract class BaseChartComponent<T extends BaseChartComponentProps, S extends BaseChartComponentState<T>, L extends BaseChartComponentStyles> extends BaseComponent<T, S, L> {\n protected screenWidth: number = screenWidth;\n protected viewRef: React.RefObject<View>;\n constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n this.viewRef = React.createRef();\n if (!props.theme) {\n this.applyTheme(props);\n }\n this.subscribe('globaltouch', (event: any) => {\n this.updateState({\n isTooltipOpen: false\n } as any)\n });\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n let viewHeight = e.nativeEvent.layout.height;\n \n this.handleLayout(e)\n \n if (this?.state && viewWidth !== this.state.chartWidth) {\n this.updateState({\n chartWidth: Number(viewWidth),\n totalHeight: Number(viewHeight)\n } as any)\n }\n }\n\n\n abbreviateNumber(number: any) {\n if (typeof number !== 'number') {\n return number;\n }\n const tier = Math.log10(Math.abs(number)) / 3 | 0;\n\n if (tier == 0) {\n return number;\n }\n\n // get suffix and determine scale\n const suffix = SI_SYMBOL[tier];\n const scale = Math.pow(10, tier * 3);\n\n // scale the number\n var scaled = number / scale;\n\n // format number and add suffix\n return scaled.toFixed(1) + suffix;\n }\n\n getLegendView(colorScale?: any) {\n if (this.state.props.showlegend === 'hide') {\n return null;\n }\n const props = this.state.props;\n let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (props.showlegend === 'right' || props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\n colorScale={colorScale}\n name={'legendData'}\n orientation={orientation}\n gutter={20}\n data={this.state.legendData}\n style={{ border: { stroke: 'none' } }}\n borderPadding={{top: 30, left: 50}}\n y={top}\n />\n }\n\n getYScaleMinValue(value: number) {\n const _min = Math.floor(value);\n return Math.abs(value) - _min > 0 ? value - .1 : _min - 1;\n };\n\n setYAxisFormat(yVal: any, ynumberformat: string){\n const matchFixed = ynumberformat.match(/\\.([0-9])f/);\n const matchExponential = ynumberformat.match(/\\.([0-9])g/);\n if (matchFixed) {\n return yVal.toFixed(parseInt(matchFixed[1], 10));\n } else if (matchExponential) {\n return yVal.toExponential(parseInt(matchExponential[1], 10));\n }\n switch (ynumberformat) {\n case '%':\n return (yVal * 100).toFixed(0) + '%';\n case 'Billion':\n return (yVal / 1e9).toFixed(1) + 'B';\n case 'Million':\n return (yVal / 1e6).toFixed(1) + 'M';\n case 'Thousand':\n return (yVal / 1e3).toFixed(1) + 'K';\n case ',r':\n return yVal.toLocaleString();\n }\n }\n\n // x axis with vertical lines having grid stroke colors\n getXaxis() {\n const minIndex = 0;\n const maxIndex = this.state.xaxisDatakeyArr.length - 1;\n const props = this.state.props;\n const getTickValueLabel = props.xtickexpr as any;\n let height = this.styles.root.height || 250;\n let yaxislabeldistance = props.yaxislabeldistance ? props.yaxislabeldistance : height as number - 20;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n return <VictoryAxis crossAxis={false} label={(props.xaxislabel || props.xaxisdatakey || \"name\") + (props.xunits ? `(${props.xunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridxaxis ?\n { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),\n tickLabels: props.showxaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel y={yaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel y={props.offsetyaxis ? props.offsetyaxis : height as number - 30} angle={props.labelangle || 0}/>} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);\n } else if (this.state.xaxisDatakeyArr) {\n return this.state.xaxisDatakeyArr[d];\n }\n return '';\n }}\n />; \n} \n\n\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n const props = this.state.props;\n if (props.showyaxis === false) {\n return null;\n }\n const getTickValueLabel = props.ytickexpr as any;\n const ynumberformat = props.ynumberformat;\n let xaxislabeldistance = props.xaxislabeldistance ? props.xaxislabeldistance : 20\n return <VictoryAxis crossAxis={false} label={(props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : '')}\n style={{\n axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel),\n grid: props.hidegridyaxis ? { stroke: null } : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),\n axis: props.showxaxis === false ?\n { stroke: 'none' } : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),\n ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),\n tickLabels: props.showyaxislabels === false ? {fill: 'none'} : this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={this.isRTL ? (screenWidth - xaxislabeldistance -\n 30) : xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={this.isRTL ? (props.offsetxaxis ? screenWidth - \n props.offsetxaxis - 30 : screenWidth - 80) : (props.offsetxaxis || 50)} />}\n theme={this.state.theme}\n tickFormat= {(d: number, i: number, ticks: any) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n if (ynumberformat) {\n return this.setYAxisFormat(d, ynumberformat);\n }\n return this.abbreviateNumber(d);\n }}\n orientation={this.isRTL?\"right\":\"left\"}\n dependentAxis />;\n }\n \n setTooltipTemplate(partialName: any) {\n this.updateState({ template: partialName} as any);\n }\n\n setTooltipPartialLayout(event: LayoutChangeEvent){\n let tooltipLayout = event.nativeEvent.layout;\n this.updateState({\n tooltipoffsetx: tooltipLayout.width/2,\n tooltipoffsety: tooltipLayout.height\n } as any)\n }\n \n renderPointer(){\n return (\n <View \n style={[\n {\n transform: [\n { rotate: '180deg' }\n ],\n bottom: -10,\n left: this.state.tooltipoffsetx - this.styles.tooltipPointer.borderBottomWidth/2\n },\n this.styles.tooltipPointer\n ]}\n />\n )\n }\n\n getTooltip() {\n if(!this.state.props.tooltips){\n return;\n }\n const ynumberformat = this.state.props.ynumberformat;\n let yAxisData = ynumberformat ? this.setYAxisFormat(this.state.tooltipYaxis, ynumberformat) : this.state.tooltipYaxis;\n return this.state.isTooltipOpen ? (\n !isEmpty(this.state.template) && this.props.renderitempartial ?\n <View onLayout={this.setTooltipPartialLayout.bind(this)} style={{ position: \"absolute\", top: this.state.tooltipYPosition as number, left: this.state.tooltipXPosition as number , zIndex: 99}}>\n {this.props.renderitempartial(this.state.selectedItem, this.state.selectedItem.index, this.state.template)}\n {this.renderPointer()}\n </View> : (\n <View style={[\n { position: \"absolute\", top: this.state.tooltipYPosition as number},this.isRTL ? {right: this.state.tooltipXPosition as number} : {left: this.state.tooltipXPosition as number},\n this.styles.tooltipContainer\n ]}>\n <Text style={[{ fontSize: 16, fontWeight: 'bold' },this.styles.tooltipXText]}>{this.state.tooltipXaxis}</Text>\n <Text style={this.styles.tooltipXText}>{yAxisData}</Text>\n {this.renderPointer()}\n </View>)\n ) : null;\n } \n\n // X/Y Domain properties are supported only for Column and Area charts\n isAxisDomainSupported(type: string) {\n return type === 'Column'|| type === 'Area';\n }\n\n // Check whether X/Y Domain was set to Min and is supported for the present chart\n isAxisDomainValid(axis: string) {\n const props = this.state.props;\n if (get(props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(props.type))) {\n return true;\n }\n return false;\n };\n\n// Check whether min and max values are finite or not\n areMinMaxValuesValid(values: any) {\n if (isFinite(values.min) && isFinite(values.max)) {\n return true;\n }\n return false;\n };\n\n setDomainValues() {\n let xDomainValues, yDomainValues;\n if (this.state.data.length > 0) {\n if (this.isAxisDomainValid('x') && typeof this.state.data[0].x === 'number') {\n xDomainValues = this.getXMinMaxValues(this.state.data[0]);\n }\n if (this.isAxisDomainValid('y')) {\n yDomainValues = this.getYMinMaxValues(this.state.data);\n }\n if (xDomainValues) {\n this.updateState({\n chartMinX: yDomainValues.min.x,\n chartMaxX: yDomainValues.max.x\n } as S)\n }\n let yMin;\n if (yDomainValues) {\n if (this.areMinMaxValuesValid({max: yDomainValues.max.y, min: yDomainValues.min.y})) {\n yMin = this.getYScaleMinValue(yDomainValues.min.y);\n }\n this.updateState({\n chartMinY: yMin ? yMin : yDomainValues.min.y,\n chartMaxY: yDomainValues.max.y\n } as S);\n }\n }\n }\n\n // Getting the min and max values among all the x values\n getXMinMaxValues(datum: Array<{x: number, y: any}>) {\n if (!datum) {\n return;\n }\n const xValues: any = {};\n /*\n compute the min x valuex\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n min x: 1\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n min x: 10\n */\n xValues.min = minBy(datum, (dataObject: {x: any, y: any}) => dataObject.x) || {x: undefined};\n /*\n compute the max x value\n eg: When data has objects\n input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]\n max x: 3\n eg: When data has arrays\n input: [[10, 20], [20, 30], [30, 40]];\n max x: 30\n */\n xValues.max = maxBy(datum, (dataObject: {x: any, y: any}) => dataObject.x)|| {x: undefined};\n return xValues;\n }\n\n // Getting the min and max values among all the y values\n getYMinMaxValues(datum: Array<Array<{x: any, y: number}>>) {\n const yValues: any = {},\n minValues: any = [],\n maxValues: any = [];\n if (!datum) {\n return;\n }\n\n /*\n Getting the min and max y values among all the series of data\n compute the min y value\n eg: When data has objects\n input: [[{x:1, y:2}, {x:2, y:3}, {x:3, y:4}], [{x:2, y:3}, {x:3, y:4}, {x:4, y:5}]]\n min y values : '2'(among first set) & '3'(among second set)\n max y values : '4'(among first set) & '5'(among second set)\n\n eg: When data has arrays\n input: [[[10, 20], [20, 30], [30, 40]], [[20, 30], [30, 40], [40, 50]]]\n min y values : '20'(among first set) & '30'(among second set)\n max y values : '40'(among first set) & '50'(among second set)\n */\n\n forEach(datum, data => {\n if (data && !isEmpty(data)) {\n minValues.push(minBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n maxValues.push(maxBy(data, (dataObject: {x: any, y: any}) => { return dataObject.y }));\n }\n });\n // Gets the least and highest values among all the min and max values of respective series of data\n yValues.min = minBy(minValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n yValues.max = maxBy(maxValues, (dataObject: {x: any, y: any}) => dataObject.y) || {y: undefined};\n return yValues;\n }\n\n setHeightWidthOnChart(cb?: () => void) {\n let height = this.styles.root.height || 250;\n let width = this.styles.root.width || screenWidth;\n if (height && typeof height === 'string') {\n height = parseInt(height);\n }\n if (width && typeof width === 'string') {\n width = parseInt(width);\n }\n this.updateState({\n chartHeight: height,\n chartWidth: width\n } as S, cb);\n }\n\n applyTheme(props: BaseChartComponentProps) {\n let themeName = props.theme ? props.theme : (props.type === 'Pie' ? 'Azure' : 'Terrestrial');\n let colorsToUse = [];\n \n if (props.customcolors) {\n if (typeof props.customcolors === 'string' && props.customcolors.trim() !== '') {\n colorsToUse = props.customcolors.split(',').map(color => color.trim()).filter(color => color !== '');\n } else if (Array.isArray(props.customcolors) && props.customcolors.length > 0) {\n colorsToUse = props.customcolors.filter(color => color && typeof color === 'string');\n }\n }\n \n let themeToUse;\n if (typeof themeName === 'string') {\n if (colorsToUse.length === 0) {\n colorsToUse = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);\n } else if (typeof themeName === 'object') {\n // if theme is passed as an object then use that custom theme.\n themeToUse = props.theme;\n }\n this.updateState({\n colors: colorsToUse,\n theme: themeToUse\n } as S);\n }\n\n prepareLegendData() {\n const props = this.state.props;\n if (this.state.yAxis) {\n let ldata: any;\n if (props.type === 'Stack') {\n const data = orderBy(this.state.data[0], 'y', 'asc');\n ldata = data.map((d: any) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x]\n }\n });\n } else {\n ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\n }\n });\n }\n\n this.updateState({\n legendData: ldata\n } as S);\n }\n }\n\n prepareEvents(name: string) {\n return this.state.legendData.map((_: any, idx: number) => {\n return {\n childName: ['legend'],\n target: 'data',\n eventKey: String(idx),\n eventHandlers: {\n onClick: () => {\n return [\n {\n childName: [name + '_' + idx],\n target: 'data',\n eventKey: 'all',\n mutation: (props: any) => {\n return null;\n }\n }\n ];\n },\n onMouseOver: () => {\n },\n onMouseOut: () => {\n }\n }\n };\n });\n }\n\n // If date string is bound to xaxis then we are pushing the x values as indexes.\n getxAxisVal(dataObj: {[key: string] : any}, xKey: string, index: number, xaxisDatakeyArr: Array<any>) {\n const value: any = get(dataObj, xKey);\n if (moment(value).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\n if (typeof value === \"string\"){\n xaxisDatakeyArr.push(value.replace(\"\\\\n\",\"\\n\"));\n }\n else{\n xaxisDatakeyArr.push(value);\n }\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n const props = this.state.props;\n let xaxis = props.xaxisdatakey;\n let yaxis = props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\n if (dataset.length === 0) {\n dataset = constructSampleData(getChartType(this.props), yaxis?.split(','), this.props.shape);\n xaxis = \"x\";\n yaxis = \"y\";\n }\n if (xaxis && yaxis) {\n let yPts = yaxis.split(',');\n yPts.forEach((y: any) => {\n if (xaxis !== y) {\n datasets.push(dataset.map((o: {[key: string] : any}, xindex: number) => {\n const xVal = this.getxAxisVal(o, xaxis, xindex, xaxisDatakeyArr);\n let yVal: string | number = get(o, y);\n if (typeof yVal === 'string') {\n yVal = parseFloat(yVal) || yVal;\n }\n let dataObj = {\n x: xVal,\n y: yVal,\n };\n if (props.bubblesize) {\n set(dataObj, 'size', get(o, props.bubblesize, 5));\n }\n if (props.shape) {\n set(dataObj, 'symbol', shapes[props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (props.type == 'Pie' || props.type === 'Donut') {\n // for animation effect\n setTimeout(() => {\n this.updateState({\n endAngle: 360,\n } as S);\n }, 500);\n }\n this.updateData(datasets, yPts, xaxisDatakeyArr);\n }\n }\n\n\n protected renderLoadingIcon() {\n const props = this.state.props;\n return (<WmIcon id={this.getTestId('loadericon')} styles={this.styles.loadingIcon}\n iconclass={props.loadingicon}\n caption={props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n const props = this.state.props;\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!props.labeltype || props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {\n this.setDomainValues();\n }\n this.updateState({\n loading: false\n } as S);\n });\n }\n\n setTotal(data: Array<{x: any, y: number}>) {\n let total = 0;\n data.forEach((d: {x: any, y: any}) => {\n total += d.y as number;\n });\n this.updateState({\n total: total\n } as S);\n }\n\n onPropertyChange(name: string, $new: any, $old: any) {\n super.onPropertyChange(name, $new, $old);\n const props = this.state.props;\n let units = '';\n switch(name) {\n case 'customcolors':\n this.applyTheme({...props, customcolors: $new});\n break;\n case 'theme':\n this.applyTheme(props);\n break;\n case 'dataset':\n if (!isArray($new)) {\n if (isObject($new) && !isEmpty($new)) {\n $new = [$new];\n } else {\n $new = [];\n }\n }\n $new && this.prepareDataItems($new);\n break;\n case 'xaxislabel':\n if (props.xunits) {\n units = ' (' + props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (props.yunits) {\n units = ' (' + props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n\n public renderSkeleton(props: T): React.ReactNode {\n if(props.skeletonanimationresource) {\n return <View style={[{width: '100%'}, this.styles?.root]}>\n <WmLottie styles={{ content: {...this.styles?.root, ...this.styles?.skeleton?.root} }} source={props.skeletonanimationresource} loop={true} autoplay={true} speed={this.props.skeletonanimationspeed}/>\n </View>\n }\n return null;\n }\n}\nfunction getDataType(widgetContext: { yaxisdatakey: string | null | undefined; shape: any; }): any {\n throw new Error(\"Function not implemented.\");\n}\n\n"],"mappings":"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","ignoreList":[]}
|
@@ -7,11 +7,13 @@ import { ActivityIndicator, SectionList, Text, View, FlatList } from 'react-nati
|
|
7
7
|
import { isArray, isEmpty, isNil, isNumber, round } from 'lodash-es';
|
8
8
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
9
9
|
import { getGroupedData, getNumberOfEmptyObjects, isDefined } from "@wavemaker/app-rn-runtime/core/utils";
|
10
|
+
import { getNumberOfColumnsFromResponsiveConfig } from '@wavemaker/app-rn-runtime/core/responsive.utils';
|
10
11
|
import { Tappable } from '@wavemaker/app-rn-runtime/core/tappable.component';
|
11
12
|
import { DefaultKeyExtractor } from '@wavemaker/app-rn-runtime/core/key.extractor';
|
12
13
|
import WmLabel from '@wavemaker/app-rn-runtime/components/basic/label/label.component';
|
13
14
|
import WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';
|
14
15
|
import { Swipeable } from 'react-native-gesture-handler';
|
16
|
+
import _viewPort, { EVENTS as ViewPortEvents } from '@wavemaker/app-rn-runtime/core/viewport';
|
15
17
|
import WmListProps from './list.props';
|
16
18
|
import { DEFAULT_CLASS } from './list.styles';
|
17
19
|
import { BackgroundComponent } from '@wavemaker/app-rn-runtime/styles/background.component';
|
@@ -136,6 +138,11 @@ export default class WmList extends BaseComponent {
|
|
136
138
|
this.updateState({
|
137
139
|
maxRecordsToShow: this.state.props.pagesize
|
138
140
|
});
|
141
|
+
|
142
|
+
// Subscribe to viewport changes to re-render when screen size changes
|
143
|
+
this.cleanup.push(_viewPort.subscribe(ViewPortEvents.SIZE_CHANGE, () => {
|
144
|
+
this.forceUpdate();
|
145
|
+
}));
|
139
146
|
}
|
140
147
|
isSelected($item) {
|
141
148
|
const selectedItem = this.state.props.selecteditem;
|
@@ -412,10 +419,15 @@ export default class WmList extends BaseComponent {
|
|
412
419
|
...this.styles.item,
|
413
420
|
...this.styles.skeleton.root
|
414
421
|
} : this.styles.item;
|
415
|
-
|
422
|
+
let containerStyle = cols ? {
|
416
423
|
width: round(100 / cols) + "%",
|
417
424
|
flex: null
|
418
425
|
} : {};
|
426
|
+
if (cols > 1) {
|
427
|
+
containerStyle = {
|
428
|
+
flex: 1
|
429
|
+
};
|
430
|
+
}
|
419
431
|
return index < this.state.maxRecordsToShow || isHorizontal && this.state.props.horizontalondemandenabled === false ? !props.shouldswipe ? /*#__PURE__*/React.createElement(View, {
|
420
432
|
style: containerStyle
|
421
433
|
}, /*#__PURE__*/React.createElement(View, {
|
@@ -525,8 +537,11 @@ export default class WmList extends BaseComponent {
|
|
525
537
|
}
|
526
538
|
getNoOfColumns() {
|
527
539
|
const props = this.state.props;
|
528
|
-
if (props.direction === 'vertical') {
|
529
|
-
|
540
|
+
if (props.direction === 'vertical' && props.responsive) {
|
541
|
+
const columns = getNumberOfColumnsFromResponsiveConfig(props.itemsperrow, undefined, props.fallback);
|
542
|
+
return columns && columns > 0 ? columns : 1;
|
543
|
+
} else if (props.direction === 'vertical' && !props.responsive) {
|
544
|
+
return props.itemsperrow.xs || 1;
|
530
545
|
}
|
531
546
|
return 0;
|
532
547
|
}
|
@@ -548,6 +563,7 @@ export default class WmList extends BaseComponent {
|
|
548
563
|
keyExtractor: (item, i) => this.generateItemKey(item, i, props),
|
549
564
|
scrollEnabled: isHorizontal,
|
550
565
|
horizontal: isHorizontal,
|
566
|
+
contentContainerStyle: this.styles.listContainer,
|
551
567
|
data: this._showSkeleton ? [...getNumberOfEmptyObjects((_ref = this.props.numberofskeletonitems) !== null && _ref !== void 0 ? _ref : 3)] : isEmpty(v.data[0]) ? [] : v.data,
|
552
568
|
ListEmptyComponent: itemInfo => this.renderEmptyMessage(isHorizontal, itemInfo.item, itemInfo.index, props),
|
553
569
|
renderItem: itemInfo => this.renderItem(itemInfo.item, itemInfo.index, props)
|
@@ -555,7 +571,9 @@ export default class WmList extends BaseComponent {
|
|
555
571
|
showsHorizontalScrollIndicator: !props.hidehorizontalscrollbar
|
556
572
|
} : {
|
557
573
|
numColumns: this.getNoOfColumns()
|
558
|
-
}
|
574
|
+
}, this.getNoOfColumns() > 1 ? {
|
575
|
+
columnWrapperStyle: this.styles.columnWrapper
|
576
|
+
} : {})), this.loadDataOnDemand || v.data.length > this.state.maxRecordsToShow && props.navigation !== 'None' ? this.state.loadingData ? this.renderLoadingIcon(props) : /*#__PURE__*/React.createElement(WmLabel, {
|
559
577
|
id: this.getTestId('ondemandmessage'),
|
560
578
|
styles: this.styles.onDemandMessage,
|
561
579
|
caption: this.getCaption(isHorizontal, v.data),
|