@wavemaker/app-rn-runtime 11.4.1-rc.122 → 11.4.2-next.25743
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.
- app-rn-runtime/components/chart/basechart.component.js +19 -8
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js +213 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.component.js.map +1 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js +15 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.props.js.map +1 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js +7 -0
- app-rn-runtime/components/chart/stack-chart/stack-chart.styles.js.map +1 -0
- app-rn-runtime/package.json +3 -3
|
@@ -4,7 +4,7 @@ function _toPrimitive(input, hint) { if (typeof input !== "object" || input ===
|
|
|
4
4
|
import React from "react";
|
|
5
5
|
import { Dimensions } from 'react-native';
|
|
6
6
|
import moment from "moment";
|
|
7
|
-
import { forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim } from "lodash-es";
|
|
7
|
+
import { forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim, orderBy } from "lodash-es";
|
|
8
8
|
import { VictoryAxis, VictoryLegend, VictoryLabel } from "victory-native";
|
|
9
9
|
import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
10
10
|
import WmIcon from "@wavemaker/app-rn-runtime/components/basic/icon/icon.component";
|
|
@@ -80,8 +80,8 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
80
80
|
// format number and add suffix
|
|
81
81
|
return scaled.toFixed(1) + suffix;
|
|
82
82
|
}
|
|
83
|
-
getLegendView() {
|
|
84
|
-
if (this.props.showlegend === 'hide') {
|
|
83
|
+
getLegendView(colorScale) {
|
|
84
|
+
if (this.state.props.showlegend === 'hide') {
|
|
85
85
|
return null;
|
|
86
86
|
}
|
|
87
87
|
let top = this.props.showlegend === 'bottom' ? parseInt(this.styles.root.height) : 0;
|
|
@@ -91,6 +91,7 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
91
91
|
|
|
92
92
|
const orientation = this.props.showlegend === 'right' || this.props.showlegend === 'left' ? 'vertical' : 'horizontal';
|
|
93
93
|
return /*#__PURE__*/React.createElement(VictoryLegend, {
|
|
94
|
+
colorScale: colorScale,
|
|
94
95
|
name: 'legendData',
|
|
95
96
|
orientation: orientation,
|
|
96
97
|
gutter: 20,
|
|
@@ -311,11 +312,21 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
311
312
|
}
|
|
312
313
|
prepareLegendData() {
|
|
313
314
|
if (this.state.yAxis) {
|
|
314
|
-
let ldata
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
315
|
+
let ldata;
|
|
316
|
+
if (this.props.type === 'Stack') {
|
|
317
|
+
const data = orderBy(this.state.data[0], 'y', 'asc');
|
|
318
|
+
ldata = data.map(d => {
|
|
319
|
+
return {
|
|
320
|
+
name: this.state.xaxisDatakeyArr[d.x]
|
|
321
|
+
};
|
|
322
|
+
});
|
|
323
|
+
} else {
|
|
324
|
+
ldata = this.state.yAxis.map(d => {
|
|
325
|
+
return {
|
|
326
|
+
name: d
|
|
327
|
+
};
|
|
328
|
+
});
|
|
329
|
+
}
|
|
319
330
|
this.updateState({
|
|
320
331
|
legendData: ldata
|
|
321
332
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","Dimensions","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","BaseChartComponentState","constructor","arguments","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","length","defaultProps","defaultState","theme","applyTheme","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","showlegend","top","parseInt","styles","root","height","orientation","createElement","name","gutter","data","state","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","getXaxis","showxaxis","crossAxis","label","xaxislabel","xaxisdatakey","xunits","grid","fixLabelOverlap","tickLabelComponent","angle","labelangle","tickFormat","d","xaxisDatakeyArr","getYAxis","showyaxis","yaxislabel","yaxisdatakey","yunits","axisLabel","padding","yaxislabeldistance","t","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","axis","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","x","getXMinMaxValues","getYMinMaxValues","updateState","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","chartWidth","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","yAxis","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","index","isValid","isNaN","prepareDataItems","dataset","xaxis","yaxis","datasets","yPts","o","xindex","xVal","yVal","parseFloat","bubblesize","shape","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions } from 'react-native';\nimport moment from \"moment\";\nimport {forEach, get, isArray, isEmpty, isObject, maxBy, minBy, set, trim} from \"lodash-es\";\nimport { ScatterSymbolType } from \"victory-core\";\nimport {VictoryAxis, VictoryLegend, VictoryLabel} 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\";\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 chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: ScatterSymbolType} = {\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 constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\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() {\n if (this.props.showlegend === 'hide') {\n return null;\n }\n let top = this.props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (this.props.showlegend === 'right' || this.props.showlegend === 'left') ? 'vertical' : 'horizontal';\n return <VictoryLegend\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 // x axis with vertical lines having grid stroke colors\n getXaxis() {\n if (this.props.showxaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.xaxislabel || this.props.xaxisdatakey) + (this.props.xunits ? `(${this.props.xunits})` : '')}\n style={{\n grid: this.styles.grid\n }}\n fixLabelOverlap={true}\n tickLabelComponent={<VictoryLabel angle={this.props.labelangle || 0} />} theme={this.state.theme}\n tickFormat={(d) => `${this.state.xaxisDatakeyArr.length ? this.state.xaxisDatakeyArr[d] : d}`}/>;\n }\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n if (this.props.showyaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.yaxislabel || this.props.yaxisdatakey) + (this.props.yunits ? `(${this.props.yunits})` : '')}\n style={{\n axisLabel: {padding: this.props.yaxislabeldistance},\n grid: this.styles.grid\n }}\n theme={this.state.theme}\n tickFormat={(t) => `${this.abbreviateNumber(t)}`} dependentAxis />;\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 if (get(this.props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(this.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 value\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 = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, this.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 if (this.state.yAxis) {\n let ldata = this.state.yAxis.map((d: string) => {\n return {\n name: d\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, true).isValid() || isNaN(value)) {\n xaxisDatakeyArr.push(value);\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n let xaxis = this.props.xaxisdatakey;\n let yaxis = this.props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\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 (this.props.bubblesize) {\n set(dataObj, 'size', get(o, this.props.bubblesize, 5));\n }\n if (this.props.shape) {\n set(dataObj, 'symbol', shapes[this.props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (this.props.type == 'Pie' || this.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 return (<WmIcon styles={this.styles.loadingIcon}\n iconclass={this.props.loadingicon}\n caption={this.props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!this.props.labeltype || this.props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(this.props.type) && (this.props.ydomain || this.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 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(this.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 (this.props.xunits) {\n units = ' (' + this.props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (this.props.yunits) {\n units = ' (' + this.props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["React","Dimensions","moment","forEach","get","isArray","isEmpty","isObject","maxBy","minBy","set","trim","orderBy","VictoryAxis","VictoryLegend","VictoryLabel","BaseComponent","BaseComponentState","WmIcon","ThemeFactory","DEFAULT_CLASS","BaseChartComponentState","constructor","arguments","_defineProperty","undefined","screenWidth","width","shapes","SI_SYMBOL","BaseChartComponent","props","defaultClass","length","defaultProps","defaultState","theme","applyTheme","componentDidMount","abbreviateNumber","number","tier","Math","log10","abs","suffix","scale","pow","scaled","toFixed","getLegendView","colorScale","state","showlegend","top","parseInt","styles","root","height","orientation","createElement","name","gutter","data","legendData","style","border","stroke","borderPadding","left","y","getYScaleMinValue","value","_min","floor","getXaxis","showxaxis","crossAxis","label","xaxislabel","xaxisdatakey","xunits","grid","fixLabelOverlap","tickLabelComponent","angle","labelangle","tickFormat","d","xaxisDatakeyArr","getYAxis","showyaxis","yaxislabel","yaxisdatakey","yunits","axisLabel","padding","yaxislabeldistance","t","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","axis","areMinMaxValuesValid","values","isFinite","min","max","setDomainValues","xDomainValues","yDomainValues","x","getXMinMaxValues","getYMinMaxValues","updateState","chartMinX","chartMaxX","yMin","chartMinY","chartMaxY","datum","xValues","dataObject","yValues","minValues","maxValues","push","setHeightWidthOnChart","cb","chartHeight","chartWidth","themeName","colorsToUse","customcolors","split","map","themeToUse","getColorsObj","getTheme","colors","prepareLegendData","yAxis","ldata","prepareEvents","_","idx","childName","target","eventKey","String","eventHandlers","onClick","mutation","onMouseOver","onMouseOut","getxAxisVal","dataObj","xKey","index","isValid","isNaN","prepareDataItems","dataset","xaxis","yaxis","datasets","yPts","o","xindex","xVal","yVal","parseFloat","bubblesize","shape","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel"],"sources":["basechart.component.tsx"],"sourcesContent":["import React from \"react\";\nimport { Dimensions } 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} 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\";\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 chartMinY: number | undefined = undefined;\n chartMinX: number | undefined = undefined;\n chartMaxY: number | undefined = undefined;\n chartMaxX: number | undefined = undefined;\n}\n\nconst screenWidth = Dimensions.get(\"window\").width;\n\nconst shapes: {[key: string]: ScatterSymbolType} = {\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 constructor(props: T, public defaultClass: string = DEFAULT_CLASS, defaultProps?: T, defaultState?: S) {\n super(props, defaultClass, defaultProps, defaultState);\n if (!props.theme) {\n this.applyTheme(props);\n }\n }\n\n componentDidMount() {\n super.componentDidMount();\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 let top = this.props.showlegend === 'bottom' ? parseInt(this.styles.root.height as string) : 0;\n if (top) {\n top = top - (50); // remove legendHeight\n }\n const orientation = (this.props.showlegend === 'right' || this.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 // x axis with vertical lines having grid stroke colors\n getXaxis() {\n if (this.props.showxaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.xaxislabel || this.props.xaxisdatakey) + (this.props.xunits ? `(${this.props.xunits})` : '')}\n style={{\n grid: this.styles.grid\n }}\n fixLabelOverlap={true}\n tickLabelComponent={<VictoryLabel angle={this.props.labelangle || 0} />} theme={this.state.theme}\n tickFormat={(d) => `${this.state.xaxisDatakeyArr.length ? this.state.xaxisDatakeyArr[d] : d}`}/>;\n }\n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n if (this.props.showyaxis === false) {\n return null;\n }\n return <VictoryAxis crossAxis label={(this.props.yaxislabel || this.props.yaxisdatakey) + (this.props.yunits ? `(${this.props.yunits})` : '')}\n style={{\n axisLabel: {padding: this.props.yaxislabeldistance},\n grid: this.styles.grid\n }}\n theme={this.state.theme}\n tickFormat={(t) => `${this.abbreviateNumber(t)}`} dependentAxis />;\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 if (get(this.props, axis + 'domain') === 'Min' && (this.isAxisDomainSupported(this.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 value\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 = ThemeFactory.getColorsObj(themeName);\n }\n themeToUse = ThemeFactory.getTheme(themeName, this.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 if (this.state.yAxis) {\n let ldata: any;\n if (this.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, true).isValid() || isNaN(value)) {\n xaxisDatakeyArr.push(value);\n return index;\n }\n return value;\n }\n\n prepareDataItems(dataset: any) {\n let xaxis = this.props.xaxisdatakey;\n let yaxis = this.props.yaxisdatakey;\n let xaxisDatakeyArr: Array<any> = [];\n let datasets: any = [];\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 (this.props.bubblesize) {\n set(dataObj, 'size', get(o, this.props.bubblesize, 5));\n }\n if (this.props.shape) {\n set(dataObj, 'symbol', shapes[this.props.shape]);\n }\n return dataObj;\n }));\n }\n });\n // chartTransform\n this.invokeEventCallback('onTransform', [undefined, this.proxy]);\n if (this.props.type == 'Pie' || this.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 return (<WmIcon styles={this.styles.loadingIcon}\n iconclass={this.props.loadingicon}\n caption={this.props.loadingdatamsg}></WmIcon>);\n }\n\n updateData(datasets: any, yPts: any, xaxisDatakeyArr: Array<any>) {\n this.updateState({\n data: datasets as any,\n yAxis: yPts,\n xaxisDatakeyArr: xaxisDatakeyArr\n } as S, () => {\n this.prepareLegendData();\n if (!this.props.labeltype || this.props.labeltype === 'percent') {\n this.setTotal(this.state.data[0]);\n }\n if (this.isAxisDomainSupported(this.props.type) && (this.props.ydomain || this.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 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(this.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 (this.props.xunits) {\n units = ' (' + this.props.xunits + ')';\n }\n this.updateState({\n xLabel: $new + units\n } as S);\n break;\n case 'yaxislabel':\n if (this.props.yunits) {\n units = ' (' + this.props.yunits + ')';\n }\n this.updateState({\n yLabel: $new + units\n } as S);\n break;\n }\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import React from 'react';
|
|
5
|
+
import { View } from 'react-native';
|
|
6
|
+
import { Svg } from 'react-native-svg';
|
|
7
|
+
import { VictoryStack, VictoryBar, VictoryChart, VictoryPie, VictoryLegend, VictoryAxis } from 'victory-native';
|
|
8
|
+
import { Axis, Scale } from 'victory-core';
|
|
9
|
+
import { orderBy, cloneDeep } from 'lodash';
|
|
10
|
+
import WmStackChartProps from './stack-chart.props';
|
|
11
|
+
import { DEFAULT_CLASS } from './stack-chart.styles';
|
|
12
|
+
import { BaseChartComponent, BaseChartComponentState } from '@wavemaker/app-rn-runtime/components/chart/basechart.component';
|
|
13
|
+
export class WmStackChartState extends BaseChartComponentState {
|
|
14
|
+
constructor() {
|
|
15
|
+
super(...arguments);
|
|
16
|
+
_defineProperty(this, "chartWidth", 0);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
export default class WmStackChart extends BaseChartComponent {
|
|
20
|
+
constructor(props) {
|
|
21
|
+
super(props, DEFAULT_CLASS, new WmStackChartProps(), new WmStackChartState());
|
|
22
|
+
_defineProperty(this, "onViewLayoutChange", e => {
|
|
23
|
+
let viewWidth = e.nativeEvent.layout.width;
|
|
24
|
+
this.updateState({
|
|
25
|
+
chartWidth: viewWidth
|
|
26
|
+
});
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
componentDidMount() {
|
|
30
|
+
super.componentDidMount();
|
|
31
|
+
this.setHeightWidthOnChart();
|
|
32
|
+
}
|
|
33
|
+
getBarChart(props) {
|
|
34
|
+
if (this.state.data.length > 0) {
|
|
35
|
+
let data = cloneDeep(this.state.data[0]);
|
|
36
|
+
data = orderBy(data, 'y', 'asc');
|
|
37
|
+
let currentValue = 0;
|
|
38
|
+
return data.map((d, i) => {
|
|
39
|
+
let d1 = [];
|
|
40
|
+
d.x = 0;
|
|
41
|
+
d.y = d.y - currentValue;
|
|
42
|
+
d1.push(d);
|
|
43
|
+
currentValue = d.y + currentValue;
|
|
44
|
+
return /*#__PURE__*/React.createElement(VictoryBar, {
|
|
45
|
+
key: props.name + '_' + i,
|
|
46
|
+
cornerRadius: {
|
|
47
|
+
bottomLeft: 3,
|
|
48
|
+
bottomRight: 3,
|
|
49
|
+
topLeft: 3,
|
|
50
|
+
topRight: 3
|
|
51
|
+
},
|
|
52
|
+
data: d1
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
getColorCodes() {
|
|
58
|
+
const colors = cloneDeep(this.state.colors);
|
|
59
|
+
return colors.reverse();
|
|
60
|
+
}
|
|
61
|
+
getArcChart(props) {
|
|
62
|
+
if (this.state.data.length > 0) {
|
|
63
|
+
let data = cloneDeep(this.state.data[0]);
|
|
64
|
+
const colorScaleArray = this.getColorCodes();
|
|
65
|
+
const maxValue = Math.max(...data.map(o => o.y));
|
|
66
|
+
data = orderBy(data, 'y', 'desc');
|
|
67
|
+
const radius = 170;
|
|
68
|
+
return data.map((d, i) => {
|
|
69
|
+
let d1 = [];
|
|
70
|
+
d1.push(d);
|
|
71
|
+
d1.push({
|
|
72
|
+
x: d.x,
|
|
73
|
+
y: maxValue - d.y
|
|
74
|
+
});
|
|
75
|
+
return /*#__PURE__*/React.createElement(VictoryPie, {
|
|
76
|
+
key: props.name + '_' + i,
|
|
77
|
+
radius: radius,
|
|
78
|
+
colorScale: [colorScaleArray[i], '#fff0'],
|
|
79
|
+
startAngle: -80,
|
|
80
|
+
endAngle: 80,
|
|
81
|
+
cornerRadius: 100,
|
|
82
|
+
standalone: false,
|
|
83
|
+
origin: {
|
|
84
|
+
x: this.state.chartWidth / 2,
|
|
85
|
+
y: this.state.chartHeight - 50
|
|
86
|
+
},
|
|
87
|
+
innerRadius: radius - this.state.props.thickness,
|
|
88
|
+
labels: [],
|
|
89
|
+
data: d1
|
|
90
|
+
});
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
getArcAxis() {
|
|
95
|
+
const ticks = this.getTickValues();
|
|
96
|
+
const radius = 170;
|
|
97
|
+
const axisData = [];
|
|
98
|
+
ticks.forEach((d, i) => {
|
|
99
|
+
axisData.push({
|
|
100
|
+
x: `${this.state.props.yunits}${d}`,
|
|
101
|
+
y: 1
|
|
102
|
+
});
|
|
103
|
+
});
|
|
104
|
+
return /*#__PURE__*/React.createElement(VictoryPie, {
|
|
105
|
+
style: {
|
|
106
|
+
labels: {
|
|
107
|
+
fontSize: 12,
|
|
108
|
+
paddingLeft: 50,
|
|
109
|
+
paddingRight: 80
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
startAngle: -90,
|
|
113
|
+
endAngle: 90,
|
|
114
|
+
standalone: false,
|
|
115
|
+
colorScale: ['#fff0'],
|
|
116
|
+
origin: {
|
|
117
|
+
x: this.state.chartWidth / 2 - 5,
|
|
118
|
+
y: this.state.chartHeight - 50
|
|
119
|
+
},
|
|
120
|
+
labelRadius: radius - this.state.props.thickness - 20,
|
|
121
|
+
data: axisData
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
getTickValues() {
|
|
125
|
+
let ticks = [];
|
|
126
|
+
if (this.state.data[0].length) {
|
|
127
|
+
let data = cloneDeep(this.state.data[0]);
|
|
128
|
+
const maxValue = Math.max(...data.map(o => o.y));
|
|
129
|
+
const scale = Scale.getBaseScale({}, 'x');
|
|
130
|
+
scale.domain([0, maxValue]);
|
|
131
|
+
ticks = Axis.getTicks({}, scale);
|
|
132
|
+
}
|
|
133
|
+
return ticks;
|
|
134
|
+
}
|
|
135
|
+
renderWidget(props) {
|
|
136
|
+
if (!this.state.data.length) {
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
let mindomain = {
|
|
140
|
+
x: this.props.xdomain === 'Min' ? this.state.chartMinX : undefined,
|
|
141
|
+
y: this.props.ydomain === 'Min' ? this.state.chartMinY : undefined
|
|
142
|
+
};
|
|
143
|
+
const colorScale = this.state.colors.length === 1 ? this.state.colors[0] : this.state.colors;
|
|
144
|
+
return /*#__PURE__*/React.createElement(View, {
|
|
145
|
+
style: this.styles.root,
|
|
146
|
+
onLayout: this.onViewLayoutChange
|
|
147
|
+
}, props.viewtype === 'Bar' ? /*#__PURE__*/React.createElement(VictoryChart, {
|
|
148
|
+
theme: this.state.theme,
|
|
149
|
+
minDomain: mindomain,
|
|
150
|
+
height: this.styles.root.height,
|
|
151
|
+
width: this.styles.root.width || this.screenWidth,
|
|
152
|
+
padding: {
|
|
153
|
+
top: props.offsettop,
|
|
154
|
+
bottom: props.offsetbottom,
|
|
155
|
+
left: props.offsetleft,
|
|
156
|
+
right: props.offsetright
|
|
157
|
+
}
|
|
158
|
+
}, /*#__PURE__*/React.createElement(VictoryLegend, {
|
|
159
|
+
name: 'legend',
|
|
160
|
+
containerComponent: /*#__PURE__*/React.createElement(Svg, null),
|
|
161
|
+
style: {
|
|
162
|
+
title: {
|
|
163
|
+
fontFamily: "'Helvetica Neue', 'Helvetica', sans-serif",
|
|
164
|
+
fontSize: 18
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
title: [props.title, props.subheading],
|
|
168
|
+
orientation: "horizontal",
|
|
169
|
+
gutter: 20,
|
|
170
|
+
data: [],
|
|
171
|
+
theme: this.state.theme
|
|
172
|
+
}), this.getLegendView(colorScale), /*#__PURE__*/React.createElement(VictoryAxis, {
|
|
173
|
+
crossAxis: true,
|
|
174
|
+
style: {
|
|
175
|
+
tickLabels: {
|
|
176
|
+
fill: this.state.props.showyaxis === false ? 'transparent' : '#000000',
|
|
177
|
+
fontSize: 12,
|
|
178
|
+
padding: this.state.props.thickness / 2 + 5
|
|
179
|
+
},
|
|
180
|
+
axisLabel: {
|
|
181
|
+
padding: 15 + this.state.props.thickness / 2
|
|
182
|
+
},
|
|
183
|
+
grid: {
|
|
184
|
+
stroke: 'none'
|
|
185
|
+
}
|
|
186
|
+
},
|
|
187
|
+
theme: this.state.theme,
|
|
188
|
+
tickValues: this.getTickValues(),
|
|
189
|
+
tickFormat: t => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`,
|
|
190
|
+
dependentAxis: true
|
|
191
|
+
}), /*#__PURE__*/React.createElement(VictoryStack, {
|
|
192
|
+
colorScale: colorScale,
|
|
193
|
+
horizontal: true,
|
|
194
|
+
style: {
|
|
195
|
+
data: {
|
|
196
|
+
strokeWidth: this.state.props.thickness
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
}, this.getBarChart(props))) : /*#__PURE__*/React.createElement(Svg, {
|
|
200
|
+
width: this.state.chartWidth,
|
|
201
|
+
height: this.state.chartHeight
|
|
202
|
+
}, /*#__PURE__*/React.createElement(VictoryLegend, {
|
|
203
|
+
name: 'legend',
|
|
204
|
+
containerComponent: /*#__PURE__*/React.createElement(Svg, null),
|
|
205
|
+
title: [props.title, props.subheading],
|
|
206
|
+
orientation: "horizontal",
|
|
207
|
+
gutter: 20,
|
|
208
|
+
data: [],
|
|
209
|
+
theme: this.state.theme
|
|
210
|
+
}), this.getArcChart(props), this.getArcAxis()));
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
//# sourceMappingURL=stack-chart.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","View","Svg","VictoryStack","VictoryBar","VictoryChart","VictoryPie","VictoryLegend","VictoryAxis","Axis","Scale","orderBy","cloneDeep","WmStackChartProps","DEFAULT_CLASS","BaseChartComponent","BaseChartComponentState","WmStackChartState","constructor","arguments","_defineProperty","WmStackChart","props","e","viewWidth","nativeEvent","layout","width","updateState","chartWidth","componentDidMount","setHeightWidthOnChart","getBarChart","state","data","length","currentValue","map","d","i","d1","x","y","push","createElement","key","name","cornerRadius","bottomLeft","bottomRight","topLeft","topRight","getColorCodes","colors","reverse","getArcChart","colorScaleArray","maxValue","Math","max","o","radius","colorScale","startAngle","endAngle","standalone","origin","chartHeight","innerRadius","thickness","labels","getArcAxis","ticks","getTickValues","axisData","forEach","yunits","style","fontSize","paddingLeft","paddingRight","labelRadius","scale","getBaseScale","domain","getTicks","renderWidget","mindomain","xdomain","chartMinX","undefined","ydomain","chartMinY","styles","root","onLayout","onViewLayoutChange","viewtype","theme","minDomain","height","screenWidth","padding","top","offsettop","bottom","offsetbottom","left","offsetleft","right","offsetright","containerComponent","title","fontFamily","subheading","orientation","gutter","getLegendView","crossAxis","tickLabels","fill","showyaxis","axisLabel","grid","stroke","tickValues","tickFormat","t","abbreviateNumber","dependentAxis","horizontal","strokeWidth"],"sources":["stack-chart.component.tsx"],"sourcesContent":["import React from 'react';\nimport { LayoutChangeEvent, View } 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 } from 'lodash';\n\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';\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 getBarChart(props: WmStackChartProps) {\n if ( this.state.data.length >0 ) {\n let data = cloneDeep(this.state.data[0]);\n data = orderBy(data, 'y', 'asc');\n let currentValue = 0;\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d.x = 0;\n d.y = d.y - currentValue;\n d1.push(d);\n currentValue = d.y + currentValue;\n return <VictoryBar key={props.name + '_' + i}\n cornerRadius={{bottomLeft:(3), bottomRight:(3), topLeft:(3), topRight:(3)}}\n data={d1}/>\n });\n }\n }\n\n private getColorCodes() {\n const colors = cloneDeep(this.state.colors);\n return colors.reverse();\n }\n\n getArcChart(props: WmStackChartProps) {\n if ( this.state.data.length > 0 ) {\n let data = cloneDeep(this.state.data[0]);\n const colorScaleArray = this.getColorCodes();\n const maxValue = Math.max(...data.map((o: any) => o.y));\n data = orderBy(data, 'y', 'desc');\n const radius = 170;\n return data.map((d: any, i: number) => {\n let d1: any = [];\n d1.push(d);\n d1.push({x: d.x, y: maxValue - d.y})\n return <VictoryPie key={props.name + '_' + i}\n radius={radius}\n colorScale={[colorScaleArray[i], '#fff0']}\n 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 data={d1}/>\n });\n }\n }\n\n getArcAxis() {\n const ticks = this.getTickValues();\n const radius = 170;\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));\n const scale = Scale.getBaseScale({}, 'x');\n scale.domain([0, maxValue]);\n ticks = Axis.getTicks({}, scale);\n }\n return ticks;\n }\n\n renderWidget(props: WmStackChartProps) {\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 const colorScale = this.state.colors.length === 1 ? this.state.colors[0] : this.state.colors;\n return (\n <View\n style={this.styles.root} onLayout={this.onViewLayoutChange}\n >{\n props.viewtype === 'Bar' ?\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.screenWidth}\n padding={{\n top: props.offsettop,\n bottom: props.offsetbottom,\n left: props.offsetleft,\n right: props.offsetright\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(colorScale)}\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 }}\n theme={this.state.theme}\n tickValues={this.getTickValues()}\n tickFormat={(t) => this.state.props.yunits ? `${this.abbreviateNumber(t)}${this.state.props.yunits}` : `${this.abbreviateNumber(t)}`} dependentAxis />\n <VictoryStack\n colorScale={colorScale}\n horizontal={true}\n style={{\n data: { strokeWidth: this.state.props.thickness }\n }}\n >\n {\n this.getBarChart(props)\n }\n </VictoryStack>\n </VictoryChart> :\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 }\n </View>\n );\n }\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
2
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
3
|
+
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
4
|
+
import BaseChartComponentProps from '@wavemaker/app-rn-runtime/components/chart/basechart.props';
|
|
5
|
+
export default class WmStackChartProps extends BaseChartComponentProps {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
_defineProperty(this, "viewtype", 'Bar');
|
|
9
|
+
_defineProperty(this, "showlegend", 'left');
|
|
10
|
+
_defineProperty(this, "thickness", 20);
|
|
11
|
+
_defineProperty(this, "offsetleft", 25);
|
|
12
|
+
_defineProperty(this, "offsetright", 35);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=stack-chart.props.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BaseChartComponentProps","WmStackChartProps","constructor","arguments","_defineProperty"],"sources":["stack-chart.props.ts"],"sourcesContent":["import BaseChartComponentProps from '@wavemaker/app-rn-runtime/components/chart/basechart.props';\n\nexport default class WmStackChartProps extends BaseChartComponentProps {\n viewtype: string = 'Bar';\n showlegend: string = 'left';\n thickness: number = 20;\n offsetleft: number = 25;\n offsetright: number = 35;\n}\n"],"mappings":";;;AAAA,OAAOA,uBAAuB,MAAM,4DAA4D;AAEhG,eAAe,MAAMC,iBAAiB,SAASD,uBAAuB,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,mBAClD,KAAK;IAAAA,eAAA,qBACH,MAAM;IAAAA,eAAA,oBACP,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;EAAA;AAC1B"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';
|
|
2
|
+
import { DEFAULT_CLASS as BASE_CHART_DEFAULT_CLASS } from '../basechart.styles';
|
|
3
|
+
export const DEFAULT_CLASS = 'app-stack-chart';
|
|
4
|
+
BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
5
|
+
addStyle(DEFAULT_CLASS, BASE_CHART_DEFAULT_CLASS, {});
|
|
6
|
+
});
|
|
7
|
+
//# sourceMappingURL=stack-chart.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["BASE_THEME","DEFAULT_CLASS","BASE_CHART_DEFAULT_CLASS","registerStyle","themeVariables","addStyle"],"sources":["stack-chart.styles.ts"],"sourcesContent":["import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport {BaseChartComponentStyles, DEFAULT_CLASS as BASE_CHART_DEFAULT_CLASS } from '../basechart.styles';\n\nexport type WmStackChartStyles = BaseStyles & BaseChartComponentStyles;\n\nexport const DEFAULT_CLASS = 'app-stack-chart';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n addStyle(DEFAULT_CLASS, BASE_CHART_DEFAULT_CLASS, {});\n});\n"],"mappings":"AAAA,OAAOA,UAAU,MAAM,wCAAwC;AAE/D,SAAkCC,aAAa,IAAIC,wBAAwB,QAAQ,qBAAqB;AAIxG,OAAO,MAAMD,aAAa,GAAG,iBAAiB;AAC9CD,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrDA,QAAQ,CAACJ,aAAa,EAAEC,wBAAwB,EAAE,CAAC,CAAC,CAAC;AACvD,CAAC,CAAC"}
|
app-rn-runtime/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wavemaker/app-rn-runtime",
|
|
3
|
-
"version": "11.4.
|
|
3
|
+
"version": "11.4.2-next.25743",
|
|
4
4
|
"description": "''",
|
|
5
5
|
"main": "index",
|
|
6
6
|
"module": "index",
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"@react-navigation/native": "6.1.7",
|
|
50
50
|
"@react-navigation/stack": "^6.3.7",
|
|
51
51
|
"@types/lodash-es": "^4.17.6",
|
|
52
|
-
"@wavemaker/variables": "11.4.
|
|
52
|
+
"@wavemaker/variables": "11.4.2-next.25743",
|
|
53
53
|
"axios": "^1.4.0",
|
|
54
54
|
"color": "4.2.3",
|
|
55
55
|
"cross-env": "^5.2.0",
|
|
@@ -127,7 +127,7 @@
|
|
|
127
127
|
"typescript": "^5.1.3",
|
|
128
128
|
"victory-native": "36.6.11",
|
|
129
129
|
"yargs": "^16.2.0",
|
|
130
|
-
"@wavemaker/variables": "11.4.
|
|
130
|
+
"@wavemaker/variables": "11.4.2-next.25743"
|
|
131
131
|
},
|
|
132
132
|
"jest": {
|
|
133
133
|
"preset": "react-native",
|