@wavemaker/app-rn-runtime 11.10.4-next.27838 → 11.10.4-next.27842
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/advanced/carousel/carousel.component.js +2 -1
- package/components/advanced/carousel/carousel.component.js.map +1 -1
- package/components/advanced/login/login.component.js +2 -1
- package/components/advanced/login/login.component.js.map +1 -1
- package/components/advanced/webview/webview.component.js +2 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/anchor/anchor.component.js +2 -1
- package/components/basic/anchor/anchor.component.js.map +1 -1
- package/components/basic/animatedview.component.js +5 -2
- package/components/basic/animatedview.component.js.map +1 -1
- package/components/basic/audio/audio.component.js +2 -1
- package/components/basic/audio/audio.component.js.map +1 -1
- package/components/basic/button/button.component.js +1 -0
- package/components/basic/button/button.component.js.map +1 -1
- package/components/basic/buttongroup/buttongroup.component.js +2 -1
- package/components/basic/buttongroup/buttongroup.component.js.map +1 -1
- package/components/basic/custom/custom.component.js +2 -1
- package/components/basic/custom/custom.component.js.map +1 -1
- package/components/basic/icon/icon.component.js +2 -1
- package/components/basic/icon/icon.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -1
- package/components/basic/label/label.component.js.map +1 -1
- package/components/basic/lottie/lottie.component.js +2 -1
- package/components/basic/lottie/lottie.component.js.map +1 -1
- package/components/basic/message/message.component.js +2 -1
- package/components/basic/message/message.component.js.map +1 -1
- package/components/basic/modal/modal.component.js +4 -2
- package/components/basic/modal/modal.component.js.map +1 -1
- package/components/basic/picture/picture.component.js +93 -8
- 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/basic/progress-bar/progress-bar.component.js +2 -1
- package/components/basic/progress-bar/progress-bar.component.js.map +1 -1
- package/components/basic/progress-circle/progress-circle.component.js +1 -0
- package/components/basic/progress-circle/progress-circle.component.js.map +1 -1
- package/components/basic/search/search.component.js +3 -1
- package/components/basic/search/search.component.js.map +1 -1
- package/components/basic/spinner/spinner.component.js +2 -1
- package/components/basic/spinner/spinner.component.js.map +1 -1
- package/components/basic/tooltip/tooltip.component.js +2 -1
- package/components/basic/tooltip/tooltip.component.js.map +1 -1
- package/components/basic/video/video.component.js +36 -5
- package/components/basic/video/video.component.js.map +1 -1
- package/components/basic/video/video.props.js +1 -0
- package/components/basic/video/video.props.js.map +1 -1
- package/components/basic/video/video.styles.js +13 -0
- package/components/basic/video/video.styles.js.map +1 -1
- package/components/chart/area-chart/area-chart.component.js +1 -0
- package/components/chart/area-chart/area-chart.component.js.map +1 -1
- package/components/chart/basechart.component.js +1 -0
- package/components/chart/basechart.component.js.map +1 -1
- package/components/chart/pie-chart/pie-chart.component.js +1 -0
- package/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- package/components/chart/stack-chart/stack-chart.component.js +1 -0
- package/components/chart/stack-chart/stack-chart.component.js.map +1 -1
- package/components/container/accordion/accordion.component.js +2 -1
- package/components/container/accordion/accordion.component.js.map +1 -1
- package/components/container/container.component.js +2 -1
- package/components/container/container.component.js.map +1 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js +2 -1
- package/components/container/layoutgrid/gridcolumn/gridcolumn.component.js.map +1 -1
- package/components/container/layoutgrid/gridrow/gridrow.component.js +2 -1
- package/components/container/layoutgrid/gridrow/gridrow.component.js.map +1 -1
- package/components/container/layoutgrid/layoutgrid.component.js +1 -0
- package/components/container/layoutgrid/layoutgrid.component.js.map +1 -1
- package/components/container/linearlayout/linearlayout.component.js +2 -1
- package/components/container/linearlayout/linearlayout.component.js.map +1 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js +2 -1
- package/components/container/linearlayout/linearlayoutitem/linearlayoutitem.component.js.map +1 -1
- package/components/container/panel/panel.component.js +2 -1
- package/components/container/panel/panel.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +3 -1
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/container/tabs/tabpane/tabpane.component.js +2 -1
- package/components/container/tabs/tabpane/tabpane.component.js.map +1 -1
- package/components/container/tabs/tabs.component.js +2 -1
- package/components/container/tabs/tabs.component.js.map +1 -1
- package/components/container/tile/tile.component.js +2 -1
- package/components/container/tile/tile.component.js.map +1 -1
- package/components/container/wizard/wizard.component.js +2 -1
- package/components/container/wizard/wizard.component.js.map +1 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js +2 -1
- package/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- package/components/data/card/card-content/card-content.component.js +2 -1
- package/components/data/card/card-content/card-content.component.js.map +1 -1
- package/components/data/card/card-footer/card-footer.component.js +2 -1
- package/components/data/card/card-footer/card-footer.component.js.map +1 -1
- package/components/data/card/card.component.js +2 -1
- package/components/data/card/card.component.js.map +1 -1
- package/components/data/form/form-body/form-body.component.js +2 -1
- package/components/data/form/form-body/form-body.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +2 -1
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form-footer/form-footer.component.js +2 -1
- package/components/data/form/form-footer/form-footer.component.js.map +1 -1
- package/components/data/form/form.component.js +2 -1
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list-template/list-template.component.js +2 -1
- package/components/data/list/list-template/list-template.component.js.map +1 -1
- package/components/data/list/list.component.js +6 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/data/list/list.props.js +1 -0
- package/components/data/list/list.props.js.map +1 -1
- package/components/device/barcodescanner/barcodescanner.component.js +2 -1
- package/components/device/barcodescanner/barcodescanner.component.js.map +1 -1
- package/components/device/camera/camera.component.js +2 -1
- package/components/device/camera/camera.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +2 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/dialogs/dialogactions/dialogactions.component.js +2 -1
- package/components/dialogs/dialogactions/dialogactions.component.js.map +1 -1
- package/components/dialogs/dialogcontent/dialogcontent.component.js +1 -0
- package/components/dialogs/dialogcontent/dialogcontent.component.js.map +1 -1
- package/components/input/calendar/calendar.component.js +2 -1
- package/components/input/calendar/calendar.component.js.map +1 -1
- package/components/input/checkbox/checkbox.component.js +2 -1
- package/components/input/checkbox/checkbox.component.js.map +1 -1
- package/components/input/checkboxset/checkboxset.component.js +2 -1
- package/components/input/checkboxset/checkboxset.component.js.map +1 -1
- package/components/input/chips/chips.component.js +2 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/composite/composite.component.js +2 -1
- package/components/input/composite/composite.component.js.map +1 -1
- package/components/input/currency/currency.component.js +2 -1
- package/components/input/currency/currency.component.js.map +1 -1
- package/components/input/epoch/base-datetime.component.js +3 -2
- package/components/input/epoch/base-datetime.component.js.map +1 -1
- package/components/input/epoch/wheel-date-picker.component.js +91 -84
- package/components/input/epoch/wheel-date-picker.component.js.map +1 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js +2 -1
- package/components/input/epoch/wheelpicker/wheelpicker.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js +2 -1
- package/components/input/epoch/wheelpickermodal/date/date-picker-modal.component.js.map +1 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js +2 -1
- package/components/input/epoch/wheelpickermodal/time/time-picker-modal.component.js.map +1 -1
- package/components/input/fileupload/fileupload.component.js +2 -1
- package/components/input/fileupload/fileupload.component.js.map +1 -1
- package/components/input/number/number.component.js +2 -1
- package/components/input/number/number.component.js.map +1 -1
- package/components/input/radioset/radioset.component.js +4 -2
- package/components/input/radioset/radioset.component.js.map +1 -1
- package/components/input/rating/rating.component.js +2 -1
- package/components/input/rating/rating.component.js.map +1 -1
- package/components/input/select/select.component.js +4 -1
- package/components/input/select/select.component.js.map +1 -1
- package/components/input/slider/slider.component.js +2 -1
- package/components/input/slider/slider.component.js.map +1 -1
- package/components/input/switch/switch.component.js +2 -1
- package/components/input/switch/switch.component.js.map +1 -1
- package/components/input/text/text.component.js +2 -1
- package/components/input/text/text.component.js.map +1 -1
- package/components/input/textarea/textarea.component.js +2 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/input/toggle/toggle.component.js +1 -0
- package/components/input/toggle/toggle.component.js.map +1 -1
- package/components/navigation/appnavbar/appnavbar.component.js +2 -1
- package/components/navigation/appnavbar/appnavbar.component.js.map +1 -1
- package/components/navigation/navbar/navbar.component.js +2 -1
- package/components/navigation/navbar/navbar.component.js.map +1 -1
- package/components/navigation/navitem/navitem.component.js +2 -1
- package/components/navigation/navitem/navitem.component.js.map +1 -1
- package/components/navigation/popover/popover.component.js +1 -0
- package/components/navigation/popover/popover.component.js.map +1 -1
- package/components/page/page.component.js.map +1 -1
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +15 -21
- package/core/base.component.js.map +1 -1
- package/core/components/textinput.component.js +2 -1
- package/core/components/textinput.component.js.map +1 -1
- package/core/tappable.component.js +7 -3
- package/core/tappable.component.js.map +1 -1
- package/core/utils.js +13 -11
- package/core/utils.js.map +1 -1
- package/npm-shrinkwrap.json +11 -11
- package/package-lock.json +11 -11
- package/package.json +2 -2
- package/runtime/App.js +18 -7
- package/runtime/App.js.map +1 -1
- package/runtime/base-page.component.js +2 -3
- package/runtime/base-page.component.js.map +1 -1
- package/styles/style-props.js +1 -0
- package/styles/style-props.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","viewRef","createRef","theme","applyTheme","subscribe","event","updateState","isTooltipOpen","componentDidMount","onViewLayoutChange","e","viewWidth","nativeEvent","layout","viewHeight","height","state","chartWidth","Number","totalHeight","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","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","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","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 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: 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: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? 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 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, 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":"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","ignoreList":[]}
|
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","viewRef","createRef","theme","applyTheme","subscribe","event","updateState","isTooltipOpen","componentDidMount","onViewLayoutChange","e","viewWidth","nativeEvent","layout","viewHeight","height","handleLayout","state","chartWidth","Number","totalHeight","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","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","yTickLabels","x","offsetxaxis","dependentAxis","setTooltipTemplate","partialName","template","setTooltipPartialLayout","tooltipLayout","tooltipoffsetx","tooltipoffsety","renderPointer","transform","rotate","bottom","tooltipPointer","borderBottomWidth","getTooltip","yAxisData","tooltipYaxis","renderitempartial","onLayout","bind","position","tooltipYPosition","tooltipXPosition","zIndex","selectedItem","index","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: 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: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)\n }}\n fixLabelOverlap= {props.autoadjustlabels?true:false}\n axisLabelComponent={<VictoryLabel x={xaxislabeldistance}/>}\n tickLabelComponent={<VictoryLabel x={props.offsetxaxis ? 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 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, 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":"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","ignoreList":[]}
|
@@ -31,6 +31,7 @@ export default class WmPieChart extends BaseChartComponent {
|
|
31
31
|
_defineProperty(this, "onViewLayoutChange", e => {
|
32
32
|
var _e$nativeEvent;
|
33
33
|
let viewWidth = e.nativeEvent.layout.width;
|
34
|
+
this.handleLayout(e);
|
34
35
|
this.updateState({
|
35
36
|
chartWidth: viewWidth,
|
36
37
|
totalHeight: (_e$nativeEvent = e.nativeEvent) === null || _e$nativeEvent === void 0 ? void 0 : _e$nativeEvent.layout.height
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Text","Platform","Svg","AccessibilityWidgetType","getAccessibilityProps","VictoryLabel","VictoryPie","WmPieChartProps","DEFAULT_CLASS","formatCompactNumber","WmIcon","BaseChartComponent","BaseChartComponentState","WmDonutChartProps","Legend","WmPieChartState","constructor","args","_defineProperty","WmPieChart","props","type","e","_e$nativeEvent","viewWidth","nativeEvent","layout","width","updateState","chartWidth","totalHeight","height","_e$nativeEvent2","infoHeight","opacity","_e$nativeEvent3","_e$nativeEvent4","legendWidth","legendHeight","componentDidMount","getLabel","d","labeltype","Math","round","y","state","total","xaxisDatakeyArr","x","onSelect","event","data","viewRef","current","measureInWindow","chartX","chartY","value","slice","label","datum","selectedItem","dataset","index","selectedChartItem","color","style","fill","_dataObj","tooltipX","pageX","tooltipY","pageY","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","length","pieData","showlegend","chartHeight","styles","root","radius","min","innerRadius","donutratio","styleProp","labelRadius","showlabels","labels","display","origin","orientation","legendData","map","name","colors","createElement","_extends","LINECHART","onLayout","onViewLayoutChange","key","title","onInfoViewLayoutChange","flexDirection","alignItems","iconclass","icon","subHeading","subheading","onLegendViewLayoutChange","testStyle","legendText","dotStyle","legenedDot","justifyContent","getTooltip","flex","ref","standalone","colorScale","endAngle","theme","isRTL","toReversed","labelPlacement","labelplacement","events","target","eventHandlers","OS","onClick","bind","onPress","textAnchor","centerLabel","text","centerlabel","maxWidth"],"sources":["pie-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport { VictoryLabel, VictoryPie } from 'victory-native';\n\nimport WmPieChartProps from './pie-chart.props';\nimport { DEFAULT_CLASS, WmPieChartStyles } from './pie-chart.styles';\n\nimport { formatCompactNumber, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\nimport WmDonutChartProps from '@wavemaker/app-rn-runtime/components/chart/donut-chart/donut-chart.props';\nimport { Legend } from '../legend/legend.component';\n\n\nexport class WmPieChartState extends BaseChartComponentState<WmPieChartProps> {\n chartWidth = 0;\n totalHeight = 0;\n infoHeight = 10;\n legendWidth = 0;\n legendHeight = 0;\n opacity = 0;\n}\n\nexport default class WmPieChart extends BaseChartComponent<WmPieChartProps, WmPieChartState, WmPieChartStyles> {\n\n constructor(props: WmPieChartProps) {\n super(props, DEFAULT_CLASS, props.type === 'Donut' ? new WmDonutChartProps() : new WmPieChartProps(), new WmPieChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth,\n totalHeight: e.nativeEvent?.layout.height\n } as WmPieChartState)\n }\n\n onInfoViewLayoutChange = (e: LayoutChangeEvent) => {\n this.updateState({\n infoHeight: e.nativeEvent?.layout.height,\n opacity: 1\n } as WmPieChartState);\n }\n\n onLegendViewLayoutChange = (e: LayoutChangeEvent) => {\n this.updateState({\n legendWidth: e.nativeEvent?.layout.width,\n legendHeight: e.nativeEvent?.layout.height\n } as WmPieChartState);\n }\n\n getLabel(d: {x: any, y: any}, props: WmPieChartProps): string {\n switch(props.labeltype) {\n case 'percent': {\n return Math.round(d.y * 100 /this.state.total) + '%';\n }\n case 'key': {\n return this.state.xaxisDatakeyArr[d.x];\n }\n case 'value': {\n return formatCompactNumber(d.y);\n }\n case 'key-value': {\n return this.state.xaxisDatakeyArr[d.x] + ' ' + d.y;\n }\n }\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let value = data.slice.value;\n let label = this.state.xaxisDatakeyArr[data.datum.x];\n let selectedItem = this.props.dataset[data.index];\n let selectedChartItem = data.slice;\n selectedChartItem[\"data\"] = {x: label, y: value, color: data.style.fill, _dataObj: selectedItem}\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: data.index },\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as any);\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmPieChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n } \n const pieData = this.state.data[0];\n const chartWidth = this.state.chartWidth \n - (props.showlegend === 'right' ? this.state.legendWidth : 0);\n const chartHeight = (this.styles.root.height ? this.state.totalHeight : chartWidth) \n - this.state.infoHeight \n - (props.showlegend === 'right' ? 0 : this.state.legendHeight);\n let radius = (Math.min(chartWidth, chartHeight) - 40)/ 2;\n let innerRadius = props.donutratio * radius;\n let styleProp = {};\n let labelRadius;\n if (props.showlabels === 'hide') {\n styleProp={labels: { display: \"none\" }};\n } else if (props.showlabels === 'inside') {\n labelRadius = radius/2;\n } else {\n labelRadius = radius + 8;\n }\n const origin = {x: (chartWidth/2), y: (chartHeight/2)};\n const orientation = props.showlegend === 'right' ? 'vertical' : 'horizontal';\n let legendData = pieData.map((d: {x: any, y: any}, index: number) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x],\n color: this.state.colors[index % (this.state.colors.length)]\n };\n });\n return (\n <View style={[{opacity: this.state.opacity}, this.styles.root]}\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n onLayout={this.onViewLayoutChange}\n key={`${props.title}_pie_chart`}\n >\n <View onLayout={this.onInfoViewLayoutChange}>\n <View style={{flexDirection: 'row', alignItems: 'center'}}>\n {props.iconclass ? (<WmIcon iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>) : null }\n <Text style={this.styles.title}>{props.title}</Text>\n </View>\n <Text style={this.styles.subHeading}>{props.subheading}</Text>\n </View>\n {props.showlegend === 'top' ? \n (<View onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}></Legend>\n </View>) : null }\n <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>\n {this.getTooltip()}\n <View style={{flex: 1}} ref={this.viewRef}>\n {chartWidth ? (\n <Svg\n width={chartWidth}\n height={chartHeight}\n >\n <VictoryPie\n style={styleProp}\n standalone={false}\n colorScale={this.state.colors}\n labels={({datum}) => this.getLabel(datum, props)}\n endAngle={this.state.endAngle || 0}\n radius={radius}\n innerRadius={innerRadius}\n theme={this.state.theme}\n key={props.name}\n name={props.name}\n data={this.isRTL?pieData.toReversed():pieData}\n origin={origin}\n labelPlacement={props.labelplacement}\n labelRadius={labelRadius}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n />\n <VictoryLabel\n textAnchor=\"middle\"\n style={{ ...this.styles.centerLabel, fill: this.styles.centerLabel.color }}\n x={origin.x} y={origin.y}\n text={props.centerlabel}\n />\n </Svg>) : null}\n </View>\n {props.showlegend === 'right' ? \n (<View style={{maxWidth: '50%'}} onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}\n orientation='vertical'></Legend>\n </View>) : null }\n </View>\n {props.showlegend === 'bottom' ? \n (<View onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}></Legend>\n </View>) : null }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Text","Platform","Svg","AccessibilityWidgetType","getAccessibilityProps","VictoryLabel","VictoryPie","WmPieChartProps","DEFAULT_CLASS","formatCompactNumber","WmIcon","BaseChartComponent","BaseChartComponentState","WmDonutChartProps","Legend","WmPieChartState","constructor","args","_defineProperty","WmPieChart","props","type","e","_e$nativeEvent","viewWidth","nativeEvent","layout","width","handleLayout","updateState","chartWidth","totalHeight","height","_e$nativeEvent2","infoHeight","opacity","_e$nativeEvent3","_e$nativeEvent4","legendWidth","legendHeight","componentDidMount","getLabel","d","labeltype","Math","round","y","state","total","xaxisDatakeyArr","x","onSelect","event","data","viewRef","current","measureInWindow","chartX","chartY","value","slice","label","datum","selectedItem","dataset","index","selectedChartItem","color","style","fill","_dataObj","tooltipX","pageX","tooltipY","pageY","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","length","pieData","showlegend","chartHeight","styles","root","radius","min","innerRadius","donutratio","styleProp","labelRadius","showlabels","labels","display","origin","orientation","legendData","map","name","colors","createElement","_extends","LINECHART","onLayout","onViewLayoutChange","key","title","onInfoViewLayoutChange","flexDirection","alignItems","iconclass","icon","subHeading","subheading","onLegendViewLayoutChange","testStyle","legendText","dotStyle","legenedDot","justifyContent","getTooltip","flex","ref","standalone","colorScale","endAngle","theme","isRTL","toReversed","labelPlacement","labelplacement","events","target","eventHandlers","OS","onClick","bind","onPress","textAnchor","centerLabel","text","centerlabel","maxWidth"],"sources":["pie-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Text, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility'; \n\nimport { VictoryLabel, VictoryPie } from 'victory-native';\n\nimport WmPieChartProps from './pie-chart.props';\nimport { DEFAULT_CLASS, WmPieChartStyles } from './pie-chart.styles';\n\nimport { formatCompactNumber, isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\nimport WmIcon from '@wavemaker/app-rn-runtime/components/basic/icon/icon.component';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\nimport WmDonutChartProps from '@wavemaker/app-rn-runtime/components/chart/donut-chart/donut-chart.props';\nimport { Legend } from '../legend/legend.component';\n\n\nexport class WmPieChartState extends BaseChartComponentState<WmPieChartProps> {\n chartWidth = 0;\n totalHeight = 0;\n infoHeight = 10;\n legendWidth = 0;\n legendHeight = 0;\n opacity = 0;\n}\n\nexport default class WmPieChart extends BaseChartComponent<WmPieChartProps, WmPieChartState, WmPieChartStyles> {\n\n constructor(props: WmPieChartProps) {\n super(props, DEFAULT_CLASS, props.type === 'Donut' ? new WmDonutChartProps() : new WmPieChartProps(), new WmPieChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n\n this.handleLayout(e)\n\n this.updateState({\n chartWidth: viewWidth,\n totalHeight: e.nativeEvent?.layout.height\n } as WmPieChartState)\n }\n\n onInfoViewLayoutChange = (e: LayoutChangeEvent) => {\n this.updateState({\n infoHeight: e.nativeEvent?.layout.height,\n opacity: 1\n } as WmPieChartState);\n }\n\n onLegendViewLayoutChange = (e: LayoutChangeEvent) => {\n this.updateState({\n legendWidth: e.nativeEvent?.layout.width,\n legendHeight: e.nativeEvent?.layout.height\n } as WmPieChartState);\n }\n\n getLabel(d: {x: any, y: any}, props: WmPieChartProps): string {\n switch(props.labeltype) {\n case 'percent': {\n return Math.round(d.y * 100 /this.state.total) + '%';\n }\n case 'key': {\n return this.state.xaxisDatakeyArr[d.x];\n }\n case 'value': {\n return formatCompactNumber(d.y);\n }\n case 'key-value': {\n return this.state.xaxisDatakeyArr[d.x] + ' ' + d.y;\n }\n }\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let value = data.slice.value;\n let label = this.state.xaxisDatakeyArr[data.datum.x];\n let selectedItem = this.props.dataset[data.index];\n let selectedChartItem = data.slice;\n selectedChartItem[\"data\"] = {x: label, y: value, color: data.style.fill, _dataObj: selectedItem}\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: data.index },\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as any);\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmPieChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n } \n const pieData = this.state.data[0];\n const chartWidth = this.state.chartWidth \n - (props.showlegend === 'right' ? this.state.legendWidth : 0);\n const chartHeight = (this.styles.root.height ? this.state.totalHeight : chartWidth) \n - this.state.infoHeight \n - (props.showlegend === 'right' ? 0 : this.state.legendHeight);\n let radius = (Math.min(chartWidth, chartHeight) - 40)/ 2;\n let innerRadius = props.donutratio * radius;\n let styleProp = {};\n let labelRadius;\n if (props.showlabels === 'hide') {\n styleProp={labels: { display: \"none\" }};\n } else if (props.showlabels === 'inside') {\n labelRadius = radius/2;\n } else {\n labelRadius = radius + 8;\n }\n const origin = {x: (chartWidth/2), y: (chartHeight/2)};\n const orientation = props.showlegend === 'right' ? 'vertical' : 'horizontal';\n let legendData = pieData.map((d: {x: any, y: any}, index: number) => {\n return {\n name: this.state.xaxisDatakeyArr[d.x],\n color: this.state.colors[index % (this.state.colors.length)]\n };\n });\n return (\n <View style={[{opacity: this.state.opacity}, this.styles.root]}\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n onLayout={this.onViewLayoutChange}\n key={`${props.title}_pie_chart`}\n >\n <View onLayout={this.onInfoViewLayoutChange}>\n <View style={{flexDirection: 'row', alignItems: 'center'}}>\n {props.iconclass ? (<WmIcon iconclass={props.iconclass} styles={this.styles.icon}></WmIcon>) : null }\n <Text style={this.styles.title}>{props.title}</Text>\n </View>\n <Text style={this.styles.subHeading}>{props.subheading}</Text>\n </View>\n {props.showlegend === 'top' ? \n (<View onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}></Legend>\n </View>) : null }\n <View style={{flexDirection: 'row', justifyContent: 'center', alignItems: 'center'}}>\n {this.getTooltip()}\n <View style={{flex: 1}} ref={this.viewRef}>\n {chartWidth ? (\n <Svg\n width={chartWidth}\n height={chartHeight}\n >\n <VictoryPie\n style={styleProp}\n standalone={false}\n colorScale={this.state.colors}\n labels={({datum}) => this.getLabel(datum, props)}\n endAngle={this.state.endAngle || 0}\n radius={radius}\n innerRadius={innerRadius}\n theme={this.state.theme}\n key={props.name}\n name={props.name}\n data={this.isRTL?pieData.toReversed():pieData}\n origin={origin}\n labelPlacement={props.labelplacement}\n labelRadius={labelRadius}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n />\n <VictoryLabel\n textAnchor=\"middle\"\n style={{ ...this.styles.centerLabel, fill: this.styles.centerLabel.color }}\n x={origin.x} y={origin.y}\n text={props.centerlabel}\n />\n </Svg>) : null}\n </View>\n {props.showlegend === 'right' ? \n (<View style={{maxWidth: '50%'}} onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}\n orientation='vertical'></Legend>\n </View>) : null }\n </View>\n {props.showlegend === 'bottom' ? \n (<View onLayout={this.onLegendViewLayoutChange}>\n <Legend data={legendData}\n testStyle={this.styles.legendText}\n dotStyle={this.styles.legenedDot}></Legend>\n </View>) : null }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -23,6 +23,7 @@ export default class WmStackChart extends BaseChartComponent {
|
|
23
23
|
super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());
|
24
24
|
_defineProperty(this, "onViewLayoutChange", e => {
|
25
25
|
let viewWidth = e.nativeEvent.layout.width;
|
26
|
+
this.handleLayout(e);
|
26
27
|
this.updateState({
|
27
28
|
chartWidth: viewWidth
|
28
29
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"names":["React","View","Platform","Svg","VictoryStack","VictoryBar","VictoryChart","VictoryPie","VictoryLegend","VictoryAxis","Axis","Scale","orderBy","cloneDeep","findIndex","isString","AccessibilityWidgetType","getAccessibilityProps","WmStackChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmStackChartState","constructor","args","_defineProperty","WmStackChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","componentDidMount","setHeightWidthOnChart","getNegativeValuesArray","negativeValuesArray","state","data","filter","d","y","getPositiveValuesArray","positiveValuesArray","getData","negativeValues","concat","updateColors","colors","length","colorCodes","orderedData","map","i","index","getLegendColors","getBarChart","currentValue","yValues","minValue","Math","min","maxValue","max","cornerRadius","bottom","top","d1","x","push","createElement","key","name","barWidth","thickness","events","target","eventHandlers","OS","onClick","onSelect","bind","onPress","getColorCodes","reverse","getArcChart","prevValue","abs","portionToReverse","slice","reversedPortion","radius","chartHeight","angles","total","reduce","sum","item","round","startAngle","colorScale","endAngle","standalone","origin","innerRadius","labels","getArcAxis","ticks","getTickValues","axisData","forEach","yunits","style","fontSize","paddingLeft","paddingRight","labelRadius","o","scale","getBaseScale","domain","getTicks","unshift","minvalue","event","viewRef","current","measureInWindow","chartX","chartY","datum","yaxisKey","yaxisdatakey","label","xaxisDatakeyArr","value","dataset","selectedItem","selectedChartItem","series","_dataObj","tooltipX","pageX","tooltipY","pageY","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","_extends","LINECHART","styles","root","onLayout","onViewLayoutChange","getTooltip","viewtype","ref","theme","minDomain","height","padding","offsettop","offsetbottom","left","offsetleft","right","offsetright","containerComponent","title","fontFamily","subheading","orientation","gutter","getLegendView","crossAxis","tickLabels","fill","showyaxis","axisLabel","grid","stroke","axis","tickValues","tickFormat","t","abbreviateNumber","dependentAxis","horizontal"],"sources":["stack-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { VictoryStack, VictoryBar, VictoryChart, VictoryPie, VictoryLegend, VictoryAxis } from 'victory-native';\nimport { Axis, Scale } from 'victory-core';\nimport { orderBy, cloneDeep, findIndex, isString} from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport WmStackChartProps from './stack-chart.props';\nimport { DEFAULT_CLASS, WmStackChartStyles } from './stack-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmStackChartState extends BaseChartComponentState<WmStackChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmStackChart extends BaseChartComponent<WmStackChartProps, WmStackChartState, WmStackChartStyles> {\n constructor(props: WmStackChartProps) {\n super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setHeightWidthOnChart();\n }\n\n getNegativeValuesArray() {\n let negativeValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y < 0);\n negativeValuesArray = orderBy(negativeValuesArray, 'y', 'desc');\n return negativeValuesArray;\n }\n\n getPositiveValuesArray() {\n let positiveValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y > 0);\n positiveValuesArray = orderBy(positiveValuesArray, 'y', 'asc');\n return positiveValuesArray;\n }\n\n getData() {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n return negativeValues.concat(cloneDeep(this.getPositiveValuesArray()));\n }\n\n updateColors() {\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = this.getData();\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getLegendColors(){\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = orderBy(this.state.data[0], 'y', 'asc');;\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getBarChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n const data = this.getData();\n let currentValue = 0;\n const yValues = data.map((d: any) => d.y);\n const minValue = Math.min(...yValues);\n const maxValue = Math.max(...yValues);\n\n return data.map((d: any, i: number) => {\n let cornerRadius: any;\n if (d.y === minValue) {\n cornerRadius = d.y > 0 ? { bottom: 10 } : { top: 10 };\n } else if (d.y === maxValue) {\n cornerRadius = d.y > 0 ? { top: 10 } : { bottom: 10 };\n } else {\n cornerRadius = 0;\n } \n let d1: any = [];\n d.index = d.x;\n d.x = 0;\n d.y = d.y - currentValue;\n d1.push(d);\n currentValue = d.y < 0 && i === negativeValues.length -1 ? 0 : d.y + currentValue;\n return <VictoryBar key={props.name + '_' + i}\n cornerRadius={cornerRadius}\n barWidth={this.state.props.thickness}\n data={d1}\n events={[\n {\n target: 'data',\n eventHandlers: Platform.OS === 'web'\n ? { onClick: this.onSelect.bind(this) }\n : { onPress: this.onSelect.bind(this) }\n }\n ]}/>\n });\n }\n }\n\n private getColorCodes() {\n const colors = cloneDeep(this.updateColors());\n return isString(colors) ? [colors] : colors.reverse();\n }\n\n getArcChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n let data = this.getData()\n let negativeValues = cloneDeep(this.getNegativeValuesArray());\n let currentValue = 0;\n let prevValue = 0\n data = data.map((d: any, i: number) => {\n d.y = d.y - currentValue\n prevValue = d.y\n d.y = Math.abs(d.y)\n d.index = d.x\n currentValue = prevValue < 0 && i === negativeValues.length -1 ? 0 : prevValue + currentValue;\n return d\n })\n data.reverse()\n if(negativeValues.length > 1){\n const portionToReverse = data.slice(-(negativeValues.length));\n const reversedPortion = portionToReverse.reverse();\n data = [...data.slice(0, -(negativeValues.length)), ...reversedPortion];\n }\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight - 50);\n const angles = data.map((d: any, i: number) => {\n let total = data.reduce((sum: number, item: any) => sum + item.y, 0);\n return Math.round((d.y / total) * 160);\n });\n let startAngle = 80\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d1.push(d);\n if (i != 0) {\n startAngle = startAngle - angles[i - 1] + (angles[i - 1] / 10)\n }\n return <VictoryPie key={props.name + '_' + i}\n radius={radius}\n colorScale={[this.state.colors[d.index], '#fff0']}\n startAngle={angles ? startAngle : -80}\n endAngle={-80}\n cornerRadius={100}\n standalone={false}\n origin={{x: (this.state.chartWidth/2), y: (this.state.chartHeight - 50)}}\n innerRadius={radius - this.state.props.thickness}\n labels={[]}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n data={d1}/>\n });\n }\n }\n\n getArcAxis() {\n const ticks = this.getTickValues();\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight-50);\n const axisData: any = [];\n ticks.forEach((d: any, i: any) => {\n axisData.push({x: `${this.state.props.yunits}${d}`, y: 1})\n });\n return <VictoryPie\n style={{\n labels: {\n fontSize: 12, paddingLeft: 50, paddingRight: 80\n }}\n }\n startAngle={-90}\n endAngle={90}\n standalone={false}\n colorScale={['#fff0']}\n origin={{x: (this.state.chartWidth/2 - 5), y: (this.state.chartHeight - 50)}}\n labelRadius={radius - this.state.props.thickness - 20}\n data={axisData}\n />\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n this.updateState({\n chartWidth: viewWidth\n } as WmStackChartState);\n }\n\n getTickValues() {\n let ticks: any = [];\n if (this.state.data[0].length) {\n let data = cloneDeep(this.state.data[0]);\n const maxValue = Math.max(...data.map((o: any) => o.y ? o.y : 0));\n const minValue = Math.min(...data.map((o: any) => o.y ? o.y : 0));\n const scale = Scale.getBaseScale({}, 'x');\n scale.domain([minValue > 0 ? 0 : minValue, maxValue]);\n ticks = Axis.getTicks({}, scale);\n ticks[ticks.length -1] = maxValue;\n if ( minValue < 0 ) {\n if (ticks[0] === 0) {\n ticks.unshift(minValue);\n } else {\n ticks[0] = minValue;\n }\n } else {\n ticks[0] = this.state.props.minvalue;\n }\n }\n return ticks;\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let props = this.state.props\n let index = data.datum.index\n let yaxisKey = props.yaxisdatakey;\n let label = this.state.xaxisDatakeyArr[index];\n let value = props.dataset[index][yaxisKey];\n let selectedItem = props.dataset[index];\n let selectedChartItem = [{series: 0, x: index, y: value,_dataObj: selectedItem}, index];\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: index},\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as WmStackChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmStackChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n }\n let mindomain={x: this.props.xdomain === 'Min' ? this.state.chartMinX: undefined, y: this.props.ydomain === 'Min' ? this.state.chartMinY: undefined};\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={this.styles.root} onLayout={this.onViewLayoutChange}\n >\n {this.getTooltip()}{\n props.viewtype === 'Bar' ?\n <View ref={this.viewRef}>\n <VictoryChart\n theme={this.state.theme}\n minDomain={mindomain}\n height={this.styles.root.height as number}\n width={this.styles.root.width as number || this.state.chartWidth || 200}\n padding={{\n top: props.offsettop,\n bottom: props.offsetbottom,\n left: props.offsetleft,\n right: props.offsetright\n }}\n >\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n style={{title: {\n fontFamily: \"'Helvetica Neue', 'Helvetica', sans-serif\",\n fontSize: 18\n }\n }}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView(this.getLegendColors())}\n <VictoryAxis crossAxis\n style={{\n tickLabels: { fill: this.state.props.showyaxis === false ? 'transparent' : '#000000', fontSize: 12, padding: this.state.props.thickness/2 + 5},\n axisLabel: { padding: (15 + this.state.props.thickness/2) },\n grid: {stroke: 'none'},\n axis: {stroke: 'none'},\n ticks: {stroke: 'none'}\n }}\n theme={this.state.theme}\n tickValues={this.getTickValues()}\n tickFormat={(t: any) => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`} dependentAxis />\n <VictoryStack\n colorScale={this.updateColors()}\n horizontal={true}\n >\n {\n this.getBarChart(props)\n }\n </VictoryStack>\n </VictoryChart>\n </View>:\n <View ref={this.viewRef}>\n <Svg width={this.state.chartWidth} height={this.state.chartHeight}>\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getArcChart(props)}\n {this.getArcAxis()}\n </Svg>\n </View>\n }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
1
|
+
{"version":3,"names":["React","View","Platform","Svg","VictoryStack","VictoryBar","VictoryChart","VictoryPie","VictoryLegend","VictoryAxis","Axis","Scale","orderBy","cloneDeep","findIndex","isString","AccessibilityWidgetType","getAccessibilityProps","WmStackChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmStackChartState","constructor","args","_defineProperty","WmStackChart","props","e","viewWidth","nativeEvent","layout","width","handleLayout","updateState","chartWidth","componentDidMount","setHeightWidthOnChart","getNegativeValuesArray","negativeValuesArray","state","data","filter","d","y","getPositiveValuesArray","positiveValuesArray","getData","negativeValues","concat","updateColors","colors","length","colorCodes","orderedData","map","i","index","getLegendColors","getBarChart","currentValue","yValues","minValue","Math","min","maxValue","max","cornerRadius","bottom","top","d1","x","push","createElement","key","name","barWidth","thickness","events","target","eventHandlers","OS","onClick","onSelect","bind","onPress","getColorCodes","reverse","getArcChart","prevValue","abs","portionToReverse","slice","reversedPortion","radius","chartHeight","angles","total","reduce","sum","item","round","startAngle","colorScale","endAngle","standalone","origin","innerRadius","labels","getArcAxis","ticks","getTickValues","axisData","forEach","yunits","style","fontSize","paddingLeft","paddingRight","labelRadius","o","scale","getBaseScale","domain","getTicks","unshift","minvalue","event","viewRef","current","measureInWindow","chartX","chartY","datum","yaxisKey","yaxisdatakey","label","xaxisDatakeyArr","value","dataset","selectedItem","selectedChartItem","series","_dataObj","tooltipX","pageX","tooltipY","pageY","tooltipXaxis","tooltipYaxis","isTooltipOpen","tooltipXPosition","tooltipoffsetx","tooltipYPosition","tooltipoffsety","invokeEventCallback","proxy","renderWidget","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","_extends","LINECHART","styles","root","onLayout","onViewLayoutChange","getTooltip","viewtype","ref","theme","minDomain","height","padding","offsettop","offsetbottom","left","offsetleft","right","offsetright","containerComponent","title","fontFamily","subheading","orientation","gutter","getLegendView","crossAxis","tickLabels","fill","showyaxis","axisLabel","grid","stroke","axis","tickValues","tickFormat","t","abbreviateNumber","dependentAxis","horizontal"],"sources":["stack-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View, Platform } from 'react-native';\nimport { Svg } from 'react-native-svg';\nimport { VictoryStack, VictoryBar, VictoryChart, VictoryPie, VictoryLegend, VictoryAxis } from 'victory-native';\nimport { Axis, Scale } from 'victory-core';\nimport { orderBy, cloneDeep, findIndex, isString} from 'lodash';\nimport { AccessibilityWidgetType, getAccessibilityProps } from '@wavemaker/app-rn-runtime/core/accessibility';\nimport WmStackChartProps from './stack-chart.props';\nimport { DEFAULT_CLASS, WmStackChartStyles } from './stack-chart.styles';\nimport {\n BaseChartComponent,\n BaseChartComponentState\n} from '@wavemaker/app-rn-runtime/components/chart/basechart.component';\nimport { isWebPreviewMode } from '@wavemaker/app-rn-runtime/core/utils';\n\nexport class WmStackChartState extends BaseChartComponentState<WmStackChartProps> {\n chartWidth = 0;\n}\n\nexport default class WmStackChart extends BaseChartComponent<WmStackChartProps, WmStackChartState, WmStackChartStyles> {\n constructor(props: WmStackChartProps) {\n super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());\n }\n\n componentDidMount() {\n super.componentDidMount();\n this.setHeightWidthOnChart();\n }\n\n getNegativeValuesArray() {\n let negativeValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y < 0);\n negativeValuesArray = orderBy(negativeValuesArray, 'y', 'desc');\n return negativeValuesArray;\n }\n\n getPositiveValuesArray() {\n let positiveValuesArray = cloneDeep(this.state.data[0]).filter((d: any) => d.y > 0);\n positiveValuesArray = orderBy(positiveValuesArray, 'y', 'asc');\n return positiveValuesArray;\n }\n\n getData() {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n return negativeValues.concat(cloneDeep(this.getPositiveValuesArray()));\n }\n\n updateColors() {\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = this.getData();\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getLegendColors(){\n if (this.state.colors.length === 1 ) {\n return this.state.colors[0];\n } else {\n let colorCodes = cloneDeep(this.state.colors);\n if ( this.state.data.length > 0 ) {\n const orderedData = orderBy(this.state.data[0], 'y', 'asc');;\n this.state.data[0].map((d: any, i: number) => {\n let index = findIndex(orderedData, d);\n colorCodes[index] = this.state.colors[i];\n })\n return colorCodes;\n }\n }\n }\n\n getBarChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n const negativeValues = cloneDeep(this.getNegativeValuesArray());\n const data = this.getData();\n let currentValue = 0;\n const yValues = data.map((d: any) => d.y);\n const minValue = Math.min(...yValues);\n const maxValue = Math.max(...yValues);\n\n return data.map((d: any, i: number) => {\n let cornerRadius: any;\n if (d.y === minValue) {\n cornerRadius = d.y > 0 ? { bottom: 10 } : { top: 10 };\n } else if (d.y === maxValue) {\n cornerRadius = d.y > 0 ? { top: 10 } : { bottom: 10 };\n } else {\n cornerRadius = 0;\n } \n let d1: any = [];\n d.index = d.x;\n d.x = 0;\n d.y = d.y - currentValue;\n d1.push(d);\n currentValue = d.y < 0 && i === negativeValues.length -1 ? 0 : d.y + currentValue;\n return <VictoryBar key={props.name + '_' + i}\n cornerRadius={cornerRadius}\n barWidth={this.state.props.thickness}\n data={d1}\n events={[\n {\n target: 'data',\n eventHandlers: Platform.OS === 'web'\n ? { onClick: this.onSelect.bind(this) }\n : { onPress: this.onSelect.bind(this) }\n }\n ]}/>\n });\n }\n }\n\n private getColorCodes() {\n const colors = cloneDeep(this.updateColors());\n return isString(colors) ? [colors] : colors.reverse();\n }\n\n getArcChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n let data = this.getData()\n let negativeValues = cloneDeep(this.getNegativeValuesArray());\n let currentValue = 0;\n let prevValue = 0\n data = data.map((d: any, i: number) => {\n d.y = d.y - currentValue\n prevValue = d.y\n d.y = Math.abs(d.y)\n d.index = d.x\n currentValue = prevValue < 0 && i === negativeValues.length -1 ? 0 : prevValue + currentValue;\n return d\n })\n data.reverse()\n if(negativeValues.length > 1){\n const portionToReverse = data.slice(-(negativeValues.length));\n const reversedPortion = portionToReverse.reverse();\n data = [...data.slice(0, -(negativeValues.length)), ...reversedPortion];\n }\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight - 50);\n const angles = data.map((d: any, i: number) => {\n let total = data.reduce((sum: number, item: any) => sum + item.y, 0);\n return Math.round((d.y / total) * 160);\n });\n let startAngle = 80\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d1.push(d);\n if (i != 0) {\n startAngle = startAngle - angles[i - 1] + (angles[i - 1] / 10)\n }\n return <VictoryPie key={props.name + '_' + i}\n radius={radius}\n colorScale={[this.state.colors[d.index], '#fff0']}\n startAngle={angles ? startAngle : -80}\n endAngle={-80}\n cornerRadius={100}\n standalone={false}\n origin={{x: (this.state.chartWidth/2), y: (this.state.chartHeight - 50)}}\n innerRadius={radius - this.state.props.thickness}\n labels={[]}\n events={[{\n target: 'data',\n eventHandlers: Platform.OS == \"web\" ? {\n onClick: this.onSelect.bind(this)\n }:{\n onPress: this.onSelect.bind(this)\n }\n }]}\n data={d1}/>\n });\n }\n }\n\n getArcAxis() {\n const ticks = this.getTickValues();\n const radius = Math.min(this.state.chartWidth/2, this.state.chartHeight-50);\n const axisData: any = [];\n ticks.forEach((d: any, i: any) => {\n axisData.push({x: `${this.state.props.yunits}${d}`, y: 1})\n });\n return <VictoryPie\n style={{\n labels: {\n fontSize: 12, paddingLeft: 50, paddingRight: 80\n }}\n }\n startAngle={-90}\n endAngle={90}\n standalone={false}\n colorScale={['#fff0']}\n origin={{x: (this.state.chartWidth/2 - 5), y: (this.state.chartHeight - 50)}}\n labelRadius={radius - this.state.props.thickness - 20}\n data={axisData}\n />\n }\n\n onViewLayoutChange = (e: LayoutChangeEvent) => {\n let viewWidth = e.nativeEvent.layout.width;\n\n this.handleLayout(e)\n\n this.updateState({\n chartWidth: viewWidth\n } as WmStackChartState);\n }\n\n getTickValues() {\n let ticks: any = [];\n if (this.state.data[0].length) {\n let data = cloneDeep(this.state.data[0]);\n const maxValue = Math.max(...data.map((o: any) => o.y ? o.y : 0));\n const minValue = Math.min(...data.map((o: any) => o.y ? o.y : 0));\n const scale = Scale.getBaseScale({}, 'x');\n scale.domain([minValue > 0 ? 0 : minValue, maxValue]);\n ticks = Axis.getTicks({}, scale);\n ticks[ticks.length -1] = maxValue;\n if ( minValue < 0 ) {\n if (ticks[0] === 0) {\n ticks.unshift(minValue);\n } else {\n ticks[0] = minValue;\n }\n } else {\n ticks[0] = this.state.props.minvalue;\n }\n }\n return ticks;\n }\n\n onSelect(event: any, data: any){\n if (!this.viewRef.current) return;\n this.viewRef.current.measureInWindow((chartX: number, chartY: number) => {\n let props = this.state.props\n let index = data.datum.index\n let yaxisKey = props.yaxisdatakey;\n let label = this.state.xaxisDatakeyArr[index];\n let value = props.dataset[index][yaxisKey];\n let selectedItem = props.dataset[index];\n let selectedChartItem = [{series: 0, x: index, y: value,_dataObj: selectedItem}, index];\n const nativeEvent = event.nativeEvent;\n let tooltipX = nativeEvent.pageX - chartX;\n let tooltipY = nativeEvent.pageY - chartY;\n this.updateState({\n tooltipXaxis: label,\n tooltipYaxis: value,\n isTooltipOpen: true,\n selectedItem: {...selectedItem, index: index},\n tooltipXPosition: tooltipX - this.state.tooltipoffsetx, \n tooltipYPosition: tooltipY - this.state.tooltipoffsety\n } as WmStackChartState)\n this.invokeEventCallback('onSelect', [event.nativeEvent, this.proxy, selectedItem, selectedChartItem ]);\n });\n }\n\n renderWidget(props: WmStackChartProps) {\n this.invokeEventCallback('onBeforerender', [this.proxy, null]);\n if (!this.state.data.length) {\n return null;\n }\n let mindomain={x: this.props.xdomain === 'Min' ? this.state.chartMinX: undefined, y: this.props.ydomain === 'Min' ? this.state.chartMinY: undefined};\n return (\n <View\n {...getAccessibilityProps(AccessibilityWidgetType.LINECHART, props)}\n style={this.styles.root} onLayout={this.onViewLayoutChange}\n >\n {this.getTooltip()}{\n props.viewtype === 'Bar' ?\n <View ref={this.viewRef}>\n <VictoryChart\n theme={this.state.theme}\n minDomain={mindomain}\n height={this.styles.root.height as number}\n width={this.styles.root.width as number || this.state.chartWidth || 200}\n padding={{\n top: props.offsettop,\n bottom: props.offsetbottom,\n left: props.offsetleft,\n right: props.offsetright\n }}\n >\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n style={{title: {\n fontFamily: \"'Helvetica Neue', 'Helvetica', sans-serif\",\n fontSize: 18\n }\n }}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getLegendView(this.getLegendColors())}\n <VictoryAxis crossAxis\n style={{\n tickLabels: { fill: this.state.props.showyaxis === false ? 'transparent' : '#000000', fontSize: 12, padding: this.state.props.thickness/2 + 5},\n axisLabel: { padding: (15 + this.state.props.thickness/2) },\n grid: {stroke: 'none'},\n axis: {stroke: 'none'},\n ticks: {stroke: 'none'}\n }}\n theme={this.state.theme}\n tickValues={this.getTickValues()}\n tickFormat={(t: any) => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`} dependentAxis />\n <VictoryStack\n colorScale={this.updateColors()}\n horizontal={true}\n >\n {\n this.getBarChart(props)\n }\n </VictoryStack>\n </VictoryChart>\n </View>:\n <View ref={this.viewRef}>\n <Svg width={this.state.chartWidth} height={this.state.chartHeight}>\n <VictoryLegend\n name={'legend'}\n containerComponent={<Svg />}\n title={[props.title, props.subheading]}\n orientation=\"horizontal\"\n gutter={20}\n data={[]}\n theme={this.state.theme}\n />\n {this.getArcChart(props)}\n {this.getArcAxis()}\n </Svg>\n </View>\n }\n </View>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
|
@@ -82,7 +82,8 @@ export default class WmAccordion extends BaseComponent {
|
|
82
82
|
const titleIconStyles = this.theme.mergeStyle(this.styles.icon, this.styles.titleIcon);
|
83
83
|
return item.props.show != false ? /*#__PURE__*/React.createElement(View, {
|
84
84
|
style: this.styles.pane,
|
85
|
-
key: item.props.title
|
85
|
+
key: item.props.title,
|
86
|
+
onLayout: event => this.handleLayout(event)
|
86
87
|
}, /*#__PURE__*/React.createElement(TouchableOpacity, _extends({
|
87
88
|
key: 'accordionpane_' + (index + 1)
|
88
89
|
}, this.getTestPropsForAction(`header${index}`), {
|