@wavemaker/app-rn-runtime 11.5.1-next.40401 → 11.5.1-rc.154
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/basic/buttongroup/buttongroup.styles.js +4 -2
- app-rn-runtime/components/basic/buttongroup/buttongroup.styles.js.map +1 -1
- app-rn-runtime/components/basic/label/label.component.js +1 -2
- app-rn-runtime/components/basic/label/label.component.js.map +1 -1
- app-rn-runtime/components/basic/label/label.props.js +0 -1
- app-rn-runtime/components/basic/label/label.props.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.component.js +28 -28
- app-rn-runtime/components/chart/area-chart/area-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js +9 -1
- app-rn-runtime/components/chart/area-chart/area-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js +15 -20
- app-rn-runtime/components/chart/bar-chart/bar-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.component.js +83 -55
- app-rn-runtime/components/chart/basechart.component.js.map +1 -1
- app-rn-runtime/components/chart/basechart.props.js +9 -5
- app-rn-runtime/components/chart/basechart.props.js.map +1 -1
- app-rn-runtime/components/chart/basechart.styles.js +26 -3
- app-rn-runtime/components/chart/basechart.styles.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.component.js +45 -23
- app-rn-runtime/components/chart/line-chart/line-chart.component.js.map +1 -1
- app-rn-runtime/components/chart/line-chart/line-chart.props.js +1 -0
- app-rn-runtime/components/chart/line-chart/line-chart.props.js.map +1 -1
- app-rn-runtime/components/chart/pie-chart/pie-chart.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.component.js +97 -5
- app-rn-runtime/components/container/wizard/wizard.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.props.js +4 -0
- app-rn-runtime/components/container/wizard/wizard.props.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizard.styles.js +103 -5
- app-rn-runtime/components/container/wizard/wizard.styles.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js +0 -8
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.component.js.map +1 -1
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js +1 -0
- app-rn-runtime/components/container/wizard/wizardstep/wizardstep.props.js.map +1 -1
- app-rn-runtime/components/data/list/list.component.js +2 -3
- app-rn-runtime/components/data/list/list.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.component.js +41 -7
- app-rn-runtime/components/input/basenumber/basenumber.component.js.map +1 -1
- app-rn-runtime/components/input/basenumber/basenumber.props.js +1 -0
- app-rn-runtime/components/input/basenumber/basenumber.props.js.map +1 -1
- app-rn-runtime/components/input/currency/currency.component.js +4 -1
- app-rn-runtime/components/input/currency/currency.component.js.map +1 -1
- app-rn-runtime/components/input/number/number.component.js +4 -1
- app-rn-runtime/components/input/number/number.component.js.map +1 -1
- app-rn-runtime/components/navigation/basenav/basenav.component.js +2 -1
- app-rn-runtime/components/navigation/basenav/basenav.component.js.map +1 -1
- app-rn-runtime/core/utils.js +16 -0
- app-rn-runtime/core/utils.js.map +1 -1
- app-rn-runtime/package.json +3 -3
- app-rn-runtime/variables/service-variable.js +0 -1
- app-rn-runtime/variables/service-variable.js.map +1 -1
- app-rn-runtime/components/chart/staticdata.js +0 -215
- app-rn-runtime/components/chart/staticdata.js.map +0 -1
|
@@ -10,7 +10,6 @@ import { BaseComponent, BaseComponentState } from '@wavemaker/app-rn-runtime/cor
|
|
|
10
10
|
import WmIcon from "@wavemaker/app-rn-runtime/components/basic/icon/icon.component";
|
|
11
11
|
import ThemeFactory from "@wavemaker/app-rn-runtime/components/chart/theme/chart.theme";
|
|
12
12
|
import { DEFAULT_CLASS } from "./basechart.styles";
|
|
13
|
-
import { constructSampleData, getChartType } from "./staticdata";
|
|
14
13
|
export class BaseChartComponentState extends BaseComponentState {
|
|
15
14
|
constructor() {
|
|
16
15
|
super(...arguments);
|
|
@@ -85,12 +84,13 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
85
84
|
if (this.state.props.showlegend === 'hide') {
|
|
86
85
|
return null;
|
|
87
86
|
}
|
|
88
|
-
|
|
87
|
+
const props = this.state.props;
|
|
88
|
+
let top = props.showlegend === 'bottom' ? parseInt(this.styles.root.height) : 0;
|
|
89
89
|
if (top) {
|
|
90
90
|
top = top - 50; // remove legendHeight
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
-
const orientation =
|
|
93
|
+
const orientation = props.showlegend === 'right' || props.showlegend === 'left' ? 'vertical' : 'horizontal';
|
|
94
94
|
return /*#__PURE__*/React.createElement(VictoryLegend, {
|
|
95
95
|
colorScale: colorScale,
|
|
96
96
|
name: 'legendData',
|
|
@@ -115,41 +115,75 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
115
115
|
}
|
|
116
116
|
// x axis with vertical lines having grid stroke colors
|
|
117
117
|
getXaxis() {
|
|
118
|
+
const minIndex = 0;
|
|
119
|
+
const maxIndex = this.state.xaxisDatakeyArr.length - 1;
|
|
120
|
+
const props = this.state.props;
|
|
121
|
+
const getTickValueLabel = props.xtickexpr;
|
|
118
122
|
return /*#__PURE__*/React.createElement(VictoryAxis, {
|
|
119
|
-
crossAxis:
|
|
120
|
-
label: (
|
|
123
|
+
crossAxis: false,
|
|
124
|
+
label: (props.xaxislabel || props.xaxisdatakey || "name") + (props.xunits ? `(${props.xunits})` : ''),
|
|
121
125
|
style: {
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
+
axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {
|
|
127
|
+
padding: props.yaxislabeldistance
|
|
128
|
+
}),
|
|
129
|
+
grid: props.hidegridxaxis ? {
|
|
130
|
+
stroke: null
|
|
131
|
+
} : this.theme.mergeStyle(this.styles.grid, this.styles.xGrid),
|
|
132
|
+
axis: props.showxaxis === false ? {
|
|
133
|
+
stroke: 'none'
|
|
134
|
+
} : this.theme.mergeStyle(this.styles.axis, this.styles.xAxis),
|
|
135
|
+
ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.xTicks),
|
|
136
|
+
tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.xTickLabels)
|
|
126
137
|
},
|
|
127
|
-
fixLabelOverlap: false,
|
|
138
|
+
fixLabelOverlap: props.autoadjustlabels ? true : false,
|
|
128
139
|
tickLabelComponent: /*#__PURE__*/React.createElement(VictoryLabel, {
|
|
129
|
-
angle:
|
|
140
|
+
angle: props.labelangle || 0
|
|
130
141
|
}),
|
|
131
142
|
theme: this.state.theme,
|
|
132
143
|
tickCount: this.state.xaxisDatakeyArr.length,
|
|
133
|
-
|
|
144
|
+
invertAxis: this.isRTL,
|
|
145
|
+
tickFormat: (d, i, ticks) => {
|
|
146
|
+
if (getTickValueLabel) {
|
|
147
|
+
return getTickValueLabel(this.state.xaxisDatakeyArr[d], i, (ticks || []).length);
|
|
148
|
+
} else if (this.state.xaxisDatakeyArr) {
|
|
149
|
+
return this.state.xaxisDatakeyArr[d];
|
|
150
|
+
}
|
|
151
|
+
return '';
|
|
152
|
+
}
|
|
134
153
|
});
|
|
135
154
|
}
|
|
136
155
|
|
|
137
156
|
/* y axis with horizontal lines having grid stroke colors*/
|
|
138
157
|
getYAxis() {
|
|
158
|
+
const props = this.state.props;
|
|
159
|
+
if (props.showyaxis === false) {
|
|
160
|
+
return null;
|
|
161
|
+
}
|
|
162
|
+
const getTickValueLabel = props.ytickexpr;
|
|
139
163
|
return /*#__PURE__*/React.createElement(VictoryAxis, {
|
|
140
|
-
crossAxis:
|
|
141
|
-
label: (
|
|
164
|
+
crossAxis: false,
|
|
165
|
+
label: (props.yaxislabel || props.yaxisdatakey) + (props.yunits ? `(${props.yunits})` : ''),
|
|
142
166
|
style: {
|
|
143
|
-
axisLabel: {
|
|
144
|
-
padding:
|
|
145
|
-
},
|
|
146
|
-
grid:
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
167
|
+
axisLabel: this.theme.mergeStyle(this.styles.axisLabel, this.styles.yAxisLabel, {
|
|
168
|
+
padding: props.yaxislabeldistance
|
|
169
|
+
}),
|
|
170
|
+
grid: props.hidegridyaxis ? {
|
|
171
|
+
stroke: null
|
|
172
|
+
} : this.theme.mergeStyle(this.styles.grid, this.styles.yGrid),
|
|
173
|
+
axis: props.showxaxis === false ? {
|
|
174
|
+
stroke: 'none'
|
|
175
|
+
} : this.theme.mergeStyle(this.styles.axis, this.styles.yAxis),
|
|
176
|
+
ticks: this.theme.mergeStyle(this.styles.ticks, this.styles.yTicks),
|
|
177
|
+
tickLabels: this.theme.mergeStyle(this.styles.tickLabels, this.styles.yTickLabels)
|
|
150
178
|
},
|
|
179
|
+
fixLabelOverlap: props.autoadjustlabels ? true : false,
|
|
151
180
|
theme: this.state.theme,
|
|
152
|
-
tickFormat:
|
|
181
|
+
tickFormat: (d, i, ticks) => {
|
|
182
|
+
if (getTickValueLabel) {
|
|
183
|
+
return getTickValueLabel(d, i, (ticks || []).length);
|
|
184
|
+
}
|
|
185
|
+
return this.abbreviateNumber(d);
|
|
186
|
+
},
|
|
153
187
|
dependentAxis: true
|
|
154
188
|
});
|
|
155
189
|
}
|
|
@@ -161,7 +195,8 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
161
195
|
|
|
162
196
|
// Check whether X/Y Domain was set to Min and is supported for the present chart
|
|
163
197
|
isAxisDomainValid(axis) {
|
|
164
|
-
|
|
198
|
+
const props = this.state.props;
|
|
199
|
+
if (get(props, axis + 'domain') === 'Min' && this.isAxisDomainSupported(props.type)) {
|
|
165
200
|
return true;
|
|
166
201
|
}
|
|
167
202
|
return false;
|
|
@@ -211,7 +246,7 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
211
246
|
}
|
|
212
247
|
const xValues = {};
|
|
213
248
|
/*
|
|
214
|
-
compute the min x
|
|
249
|
+
compute the min x valuex
|
|
215
250
|
eg: When data has objects
|
|
216
251
|
input: [{x:1, y:2}, {x:2, y:3}, {x:3, y:4}]
|
|
217
252
|
min x: 1
|
|
@@ -301,12 +336,9 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
301
336
|
let themeToUse;
|
|
302
337
|
if (typeof themeName === 'string') {
|
|
303
338
|
if (!colorsToUse.length) {
|
|
304
|
-
colorsToUse = props.customcolors;
|
|
305
|
-
}
|
|
306
|
-
if (props.customcolors === undefined) {
|
|
307
339
|
colorsToUse = ThemeFactory.getColorsObj(themeName);
|
|
308
340
|
}
|
|
309
|
-
themeToUse = ThemeFactory.getTheme(themeName,
|
|
341
|
+
themeToUse = ThemeFactory.getTheme(themeName, props.styles, colorsToUse);
|
|
310
342
|
} else if (typeof themeName === 'object') {
|
|
311
343
|
// if theme is passed as an object then use that custom theme.
|
|
312
344
|
themeToUse = props.theme;
|
|
@@ -317,9 +349,10 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
317
349
|
});
|
|
318
350
|
}
|
|
319
351
|
prepareLegendData() {
|
|
352
|
+
const props = this.state.props;
|
|
320
353
|
if (this.state.yAxis) {
|
|
321
354
|
let ldata;
|
|
322
|
-
if (
|
|
355
|
+
if (props.type === 'Stack') {
|
|
323
356
|
const data = orderBy(this.state.data[0], 'y', 'asc');
|
|
324
357
|
ldata = data.map(d => {
|
|
325
358
|
return {
|
|
@@ -365,23 +398,18 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
365
398
|
// If date string is bound to xaxis then we are pushing the x values as indexes.
|
|
366
399
|
getxAxisVal(dataObj, xKey, index, xaxisDatakeyArr) {
|
|
367
400
|
const value = get(dataObj, xKey);
|
|
368
|
-
if (moment(value).isValid() || isNaN(value)
|
|
401
|
+
if (moment(value, true).isValid() || isNaN(value)) {
|
|
369
402
|
xaxisDatakeyArr.push(value);
|
|
370
403
|
return index;
|
|
371
404
|
}
|
|
372
405
|
return value;
|
|
373
406
|
}
|
|
374
407
|
prepareDataItems(dataset) {
|
|
375
|
-
|
|
376
|
-
let
|
|
408
|
+
const props = this.state.props;
|
|
409
|
+
let xaxis = props.xaxisdatakey;
|
|
410
|
+
let yaxis = props.yaxisdatakey;
|
|
377
411
|
let xaxisDatakeyArr = [];
|
|
378
412
|
let datasets = [];
|
|
379
|
-
if (dataset.length === 0) {
|
|
380
|
-
var _yaxis;
|
|
381
|
-
dataset = constructSampleData(getChartType(this.props), (_yaxis = yaxis) === null || _yaxis === void 0 ? void 0 : _yaxis.split(','), this.props.shape);
|
|
382
|
-
xaxis = "x";
|
|
383
|
-
yaxis = "y";
|
|
384
|
-
}
|
|
385
413
|
if (xaxis && yaxis) {
|
|
386
414
|
let yPts = yaxis.split(',');
|
|
387
415
|
yPts.forEach(y => {
|
|
@@ -396,11 +424,11 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
396
424
|
x: xVal,
|
|
397
425
|
y: yVal
|
|
398
426
|
};
|
|
399
|
-
if (
|
|
400
|
-
set(dataObj, 'size', get(o,
|
|
427
|
+
if (props.bubblesize) {
|
|
428
|
+
set(dataObj, 'size', get(o, props.bubblesize, 5));
|
|
401
429
|
}
|
|
402
|
-
if (
|
|
403
|
-
set(dataObj, 'symbol', shapes[
|
|
430
|
+
if (props.shape) {
|
|
431
|
+
set(dataObj, 'symbol', shapes[props.shape]);
|
|
404
432
|
}
|
|
405
433
|
return dataObj;
|
|
406
434
|
}));
|
|
@@ -408,7 +436,7 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
408
436
|
});
|
|
409
437
|
// chartTransform
|
|
410
438
|
this.invokeEventCallback('onTransform', [undefined, this.proxy]);
|
|
411
|
-
if (
|
|
439
|
+
if (props.type == 'Pie' || props.type === 'Donut') {
|
|
412
440
|
// for animation effect
|
|
413
441
|
setTimeout(() => {
|
|
414
442
|
this.updateState({
|
|
@@ -420,23 +448,25 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
420
448
|
}
|
|
421
449
|
}
|
|
422
450
|
renderLoadingIcon() {
|
|
451
|
+
const props = this.state.props;
|
|
423
452
|
return /*#__PURE__*/React.createElement(WmIcon, {
|
|
424
453
|
styles: this.styles.loadingIcon,
|
|
425
|
-
iconclass:
|
|
426
|
-
caption:
|
|
454
|
+
iconclass: props.loadingicon,
|
|
455
|
+
caption: props.loadingdatamsg
|
|
427
456
|
});
|
|
428
457
|
}
|
|
429
458
|
updateData(datasets, yPts, xaxisDatakeyArr) {
|
|
459
|
+
const props = this.state.props;
|
|
430
460
|
this.updateState({
|
|
431
461
|
data: datasets,
|
|
432
462
|
yAxis: yPts,
|
|
433
463
|
xaxisDatakeyArr: xaxisDatakeyArr
|
|
434
464
|
}, () => {
|
|
435
465
|
this.prepareLegendData();
|
|
436
|
-
if (!
|
|
466
|
+
if (!props.labeltype || props.labeltype === 'percent') {
|
|
437
467
|
this.setTotal(this.state.data[0]);
|
|
438
468
|
}
|
|
439
|
-
if (this.isAxisDomainSupported(
|
|
469
|
+
if (this.isAxisDomainSupported(props.type) && (props.ydomain || props.xdomain)) {
|
|
440
470
|
this.setDomainValues();
|
|
441
471
|
}
|
|
442
472
|
this.updateState({
|
|
@@ -455,6 +485,7 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
455
485
|
}
|
|
456
486
|
onPropertyChange(name, $new, $old) {
|
|
457
487
|
super.onPropertyChange(name, $new, $old);
|
|
488
|
+
const props = this.state.props;
|
|
458
489
|
let units = '';
|
|
459
490
|
switch (name) {
|
|
460
491
|
case 'customcolors':
|
|
@@ -469,7 +500,7 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
469
500
|
});
|
|
470
501
|
break;
|
|
471
502
|
case 'theme':
|
|
472
|
-
this.applyTheme(
|
|
503
|
+
this.applyTheme(props);
|
|
473
504
|
break;
|
|
474
505
|
case 'dataset':
|
|
475
506
|
if (!isArray($new)) {
|
|
@@ -482,16 +513,16 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
482
513
|
$new && this.prepareDataItems($new);
|
|
483
514
|
break;
|
|
484
515
|
case 'xaxislabel':
|
|
485
|
-
if (
|
|
486
|
-
units = ' (' +
|
|
516
|
+
if (props.xunits) {
|
|
517
|
+
units = ' (' + props.xunits + ')';
|
|
487
518
|
}
|
|
488
519
|
this.updateState({
|
|
489
520
|
xLabel: $new + units
|
|
490
521
|
});
|
|
491
522
|
break;
|
|
492
523
|
case 'yaxislabel':
|
|
493
|
-
if (
|
|
494
|
-
units = ' (' +
|
|
524
|
+
if (props.yunits) {
|
|
525
|
+
units = ' (' + props.yunits + ')';
|
|
495
526
|
}
|
|
496
527
|
this.updateState({
|
|
497
528
|
yLabel: $new + units
|
|
@@ -500,7 +531,4 @@ export class BaseChartComponent extends BaseComponent {
|
|
|
500
531
|
}
|
|
501
532
|
}
|
|
502
533
|
}
|
|
503
|
-
function getDataType(widgetContext) {
|
|
504
|
-
throw new Error("Function not implemented.");
|
|
505
|
-
}
|
|
506
534
|
//# sourceMappingURL=basechart.component.js.map
|
|
@@ -1 +1 @@
|
|
|
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","constructSampleData","getChartType","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","crossAxis","label","xaxislabel","xaxisdatakey","xunits","grid","axis","showxaxis","fixLabelOverlap","tickLabelComponent","angle","labelangle","tickCount","xaxisDatakeyArr","tickFormat","d","getYAxis","yaxislabel","yaxisdatakey","yunits","axisLabel","padding","yaxislabeldistance","showyaxis","t","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","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","_yaxis","shape","yPts","o","xindex","xVal","yVal","parseFloat","bubblesize","invokeEventCallback","proxy","setTimeout","endAngle","updateData","renderLoadingIcon","loadingIcon","iconclass","loadingicon","caption","loadingdatamsg","labeltype","setTotal","ydomain","xdomain","loading","total","onPropertyChange","$new","$old","units","xLabel","yLabel","getDataType","widgetContext","Error"],"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\";\nimport _ from \"lodash\";\nimport { constructSampleData, getChartType } from \"./staticdata\";\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]: 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 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 return <VictoryAxis crossAxis label={(this.props.xaxislabel || this.props.xaxisdatakey || \"name\") + (this.props.xunits ? `(${this.props.xunits})` : '')}\n style={{\n grid: this.styles.grid,\n axis: {stroke: this.props.showxaxis === false? 'none': '#000000'}\n }}\n fixLabelOverlap={false}\n tickLabelComponent={<VictoryLabel angle={this.props.labelangle || 0} />} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n tickFormat={(d) => `${this.state.xaxisDatakeyArr[d] ? this.state.xaxisDatakeyArr[d]: ''}`}/>; \n} \n \n /* y axis with horizontal lines having grid stroke colors*/\n getYAxis() {\n return <VictoryAxis crossAxis label={(this.props.yaxislabel || this.props.yaxisdatakey || \"datavalue\") + (this.props.yunits ? `(${this.props.yunits})` : '')}\n style={{\n axisLabel: {padding: this.props.yaxislabeldistance},\n grid: this.styles.grid,\n axis: {stroke: this.props.showyaxis === false? 'none': '#000000'}\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 = props.customcolors;\n }\n if(props.customcolors===undefined) {\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).isValid() || isNaN(value) || typeof value === 'string' || typeof value === 'number') {\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 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 (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}\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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"}
|
|
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","minIndex","maxIndex","xaxisDatakeyArr","getTickValueLabel","xtickexpr","crossAxis","label","xaxislabel","xaxisdatakey","xunits","axisLabel","mergeStyle","yAxisLabel","padding","yaxislabeldistance","grid","hidegridxaxis","xGrid","axis","showxaxis","xAxis","ticks","xTicks","tickLabels","xTickLabels","fixLabelOverlap","autoadjustlabels","tickLabelComponent","angle","labelangle","tickCount","invertAxis","isRTL","tickFormat","d","i","getYAxis","showyaxis","ytickexpr","yaxislabel","yaxisdatakey","yunits","hidegridyaxis","yGrid","yAxis","yTicks","yTickLabels","dependentAxis","isAxisDomainSupported","type","isAxisDomainValid","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","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\";\nimport _ from \"lodash\";\n\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 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 // 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 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, {padding: props.yaxislabeldistance}),\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 tickLabelComponent={<VictoryLabel angle={props.labelangle || 0} />} theme={this.state.theme}\n tickCount={this.state.xaxisDatakeyArr.length} \n invertAxis={this.isRTL}\n tickFormat= {(d, i, ticks) => {\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 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, {padding: props.yaxislabeldistance}),\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 theme={this.state.theme}\n tickFormat= {(d, i, ticks) => {\n if (getTickValueLabel) {\n return getTickValueLabel(d, i, (ticks || []).length);\n }\n return this.abbreviateNumber(d);\n }}\n dependentAxis />;\n }\n \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 = 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, true).isValid() || isNaN(value)) {\n xaxisDatakeyArr.push(value);\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\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 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"],"mappings":";;;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,UAAU,QAAQ,cAAc;AACzC,OAAOC,MAAM,MAAM,QAAQ;AAC3B,SAAQC,OAAO,EAAEC,GAAG,EAAEC,OAAO,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,KAAK,EAAEC,KAAK,EAAEC,GAAG,EAAEC,IAAI,EAAEC,OAAO,QAAO,WAAW;AAEpG,SAAQC,WAAW,EAAEC,aAAa,EAAEC,YAAY,QAAO,gBAAgB;AAEvE,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,+CAA+C;AACjG,OAAOC,MAAM,MAAM,gEAAgE;AACnF,OAAOC,YAAY,MAAO,8DAA8D;AAGxF,SAASC,aAAa,QAAiC,oBAAoB;AAI3E,OAAO,MAAMC,uBAAuB,SAA6CJ,kBAAkB,CAAI;EAAAK,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,eACzF,EAAE;IAAAA,eAAA,kBACC,IAAI;IAAAA,eAAA,gBACI,EAAE;IAAAA,eAAA,0BACK,EAAE;IAAAA,eAAA,qBACd,EAAE;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,iBAGH,EAAE;IAAAA,eAAA,iBACF,EAAE;IAAAA,eAAA,gBACH,CAAC;IAAAA,eAAA,mBACE,CAAC;IAAAA,eAAA,kBACD,IAAI;IAAAA,eAAA,sBACD,CAAC;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA,oBACUC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;IAAAD,eAAA,oBACTC,SAAS;EAAA;AAC3C;AAEA,MAAMC,WAAW,GAAGzB,UAAU,CAACG,GAAG,CAAC,QAAQ,CAAC,CAACuB,KAAK;AAElD,MAAMC,MAA0C,GAAG;EACjD,QAAQ,EAAE,QAAQ;EAClB,OAAO,EAAE,OAAO;EAChB,SAAS,EAAE,SAAS;EACpB,MAAM,EAAE,MAAM;EACd,OAAO,EAAE,OAAO;EAChB,QAAQ,EAAE,QAAQ;EAClB,MAAM,EAAE,MAAM;EACd,eAAe,EAAE,cAAc;EAC/B,aAAa,EAAE;AACjB,CAAC;AAED,MAAMC,SAAS,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAEpD,OAAO,MAAeC,kBAAkB,SAAsHd,aAAa,CAAU;EAEnLM,WAAWA,CAACS,KAAQ,EAAmF;IAAA,IAA1EC,YAAoB,GAAAT,SAAA,CAAAU,MAAA,QAAAV,SAAA,QAAAE,SAAA,GAAAF,SAAA,MAAGH,aAAa;IAAA,IAAEc,YAAgB,GAAAX,SAAA,CAAAU,MAAA,OAAAV,SAAA,MAAAE,SAAA;IAAA,IAAEU,YAAgB,GAAAZ,SAAA,CAAAU,MAAA,OAAAV,SAAA,MAAAE,SAAA;IACnG,KAAK,CAACM,KAAK,EAAEC,YAAY,EAAEE,YAAY,EAAEC,YAAY,CAAC;IAAC,KAD5BH,YAAoB,GAApBA,YAAoB;IAAAR,eAAA,sBADjBE,WAAW;IAGzC,IAAI,CAACK,KAAK,CAACK,KAAK,EAAE;MAChB,IAAI,CAACC,UAAU,CAACN,KAAK,CAAC;IACxB;EACF;EAEAO,iBAAiBA,CAAA,EAAG;IAClB,KAAK,CAACA,iBAAiB,CAAC,CAAC;EAC3B;EAEAC,gBAAgBA,CAACC,MAAW,EAAE;IAC5B,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MAC9B,OAAOA,MAAM;IACf;IACA,MAAMC,IAAI,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,GAAG,CAACJ,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;IAEjD,IAAIC,IAAI,IAAI,CAAC,EAAE;MACb,OAAOD,MAAM;IACf;;IAEA;IACA,MAAMK,MAAM,GAAGhB,SAAS,CAACY,IAAI,CAAC;IAC9B,MAAMK,KAAK,GAAGJ,IAAI,CAACK,GAAG,CAAC,EAAE,EAAEN,IAAI,GAAG,CAAC,CAAC;;IAEpC;IACA,IAAIO,MAAM,GAAGR,MAAM,GAAGM,KAAK;;IAE3B;IACA,OAAOE,MAAM,CAACC,OAAO,CAAC,CAAC,CAAC,GAAGJ,MAAM;EACnC;EAEAK,aAAaA,CAACC,UAAgB,EAAE;IAC9B,IAAI,IAAI,CAACC,KAAK,CAACrB,KAAK,CAACsB,UAAU,KAAK,MAAM,EAAE;MAC1C,OAAO,IAAI;IACb;IACA,MAAMtB,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAIuB,GAAG,GAAGvB,KAAK,CAACsB,UAAU,KAAK,QAAQ,GAAGE,QAAQ,CAAC,IAAI,CAACC,MAAM,CAACC,IAAI,CAACC,MAAgB,CAAC,GAAG,CAAC;IACzF,IAAIJ,GAAG,EAAE;MACPA,GAAG,GAAGA,GAAG,GAAI,EAAG,CAAC,CAAC;IACpB;;IACA,MAAMK,WAAW,GAAI5B,KAAK,CAACsB,UAAU,KAAK,OAAO,IAAItB,KAAK,CAACsB,UAAU,KAAK,MAAM,GAAI,UAAU,GAAG,YAAY;IAC7G,oBAAOrD,KAAA,CAAA4D,aAAA,CAAC9C,aAAa;MACnBqC,UAAU,EAAEA,UAAW;MACvBU,IAAI,EAAE,YAAa;MACnBF,WAAW,EAAEA,WAAY;MACzBG,MAAM,EAAE,EAAG;MACXC,IAAI,EAAE,IAAI,CAACX,KAAK,CAACY,UAAW;MAC5BC,KAAK,EAAE;QAAEC,MAAM,EAAE;UAAEC,MAAM,EAAE;QAAO;MAAE,CAAE;MACtCC,aAAa,EAAE;QAACd,GAAG,EAAE,EAAE;QAAEe,IAAI,EAAE;MAAE,CAAE;MACnCC,CAAC,EAAEhB;IAAI,CACR,CAAC;EACJ;EAEAiB,iBAAiBA,CAACC,KAAa,EAAE;IAC/B,MAAMC,IAAI,GAAG/B,IAAI,CAACgC,KAAK,CAACF,KAAK,CAAC;IAC9B,OAAO9B,IAAI,CAACE,GAAG,CAAC4B,KAAK,CAAC,GAAGC,IAAI,GAAG,CAAC,GAAGD,KAAK,GAAG,EAAE,GAAGC,IAAI,GAAG,CAAC;EAC3D;EAEA;EACAE,QAAQA,CAAA,EAAG;IACT,MAAMC,QAAQ,GAAG,CAAC;IAClB,MAAMC,QAAQ,GAAG,IAAI,CAACzB,KAAK,CAAC0B,eAAe,CAAC7C,MAAM,GAAG,CAAC;IACtD,MAAMF,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,MAAMgD,iBAAiB,GAAGhD,KAAK,CAACiD,SAAgB;IAChD,oBAAOhF,KAAA,CAAA4D,aAAA,CAAC/C,WAAW;MAACoE,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACnD,KAAK,CAACoD,UAAU,IAAIpD,KAAK,CAACqD,YAAY,IAAI,MAAM,KAAKrD,KAAK,CAACsD,MAAM,GAAI,IAAGtD,KAAK,CAACsD,MAAO,GAAE,GAAG,EAAE,CAAE;MACxHpB,KAAK,EAAE;QACLqB,SAAS,EAAE,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC8B,SAAS,EAAE,IAAI,CAAC9B,MAAM,CAACgC,UAAU,EAAE;UAACC,OAAO,EAAE1D,KAAK,CAAC2D;QAAkB,CAAC,CAAC;QACpHC,IAAI,EAAE5D,KAAK,CAAC6D,aAAa,GACrB;UAAEzB,MAAM,EAAE;QAAK,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACmC,IAAI,EAAE,IAAI,CAACnC,MAAM,CAACqC,KAAK,CAAC;QAClFC,IAAI,EAAE/D,KAAK,CAACgE,SAAS,KAAK,KAAK,GAC3B;UAAE5B,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACsC,IAAI,EAAE,IAAI,CAACtC,MAAM,CAACwC,KAAK,CAAC;QACpFC,KAAK,EAAE,IAAI,CAAC7D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACyC,KAAK,EAAE,IAAI,CAACzC,MAAM,CAAC0C,MAAM,CAAC;QACnEC,UAAU,EAAE,IAAI,CAAC/D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC2C,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAAC4C,WAAW;MACnF,CAAE;MACFC,eAAe,EAAGtE,KAAK,CAACuE,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDC,kBAAkB,eAAEvG,KAAA,CAAA4D,aAAA,CAAC7C,YAAY;QAACyF,KAAK,EAAEzE,KAAK,CAAC0E,UAAU,IAAI;MAAE,CAAE,CAAE;MAACrE,KAAK,EAAE,IAAI,CAACgB,KAAK,CAAChB,KAAM;MAC5FsE,SAAS,EAAE,IAAI,CAACtD,KAAK,CAAC0B,eAAe,CAAC7C,MAAO;MAC7C0E,UAAU,EAAE,IAAI,CAACC,KAAM;MACvBC,UAAU,EAAGA,CAACC,CAAC,EAAEC,CAAC,EAAEd,KAAK,KAAK;QAC5B,IAAIlB,iBAAiB,EAAE;UACnB,OAAOA,iBAAiB,CAAC,IAAI,CAAC3B,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAAC,EAAEC,CAAC,EAAE,CAACd,KAAK,IAAI,EAAE,EAAEhE,MAAM,CAAC;QACpF,CAAC,MAAM,IAAI,IAAI,CAACmB,KAAK,CAAC0B,eAAe,EAAE;UACrC,OAAO,IAAI,CAAC1B,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAAC;QACtC;QACA,OAAO,EAAE;MACX;IAAE,CACD,CAAC;EAC1B;;EAGE;EACAE,QAAQA,CAAA,EAAG;IACT,MAAMjF,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAIA,KAAK,CAACkF,SAAS,KAAK,KAAK,EAAE;MAC7B,OAAO,IAAI;IACb;IACA,MAAMlC,iBAAiB,GAAGhD,KAAK,CAACmF,SAAgB;IAChD,oBAAOlH,KAAA,CAAA4D,aAAA,CAAC/C,WAAW;MAACoE,SAAS,EAAE,KAAM;MAACC,KAAK,EAAE,CAACnD,KAAK,CAACoF,UAAU,IAAIpF,KAAK,CAACqF,YAAY,KAAKrF,KAAK,CAACsF,MAAM,GAAI,IAAGtF,KAAK,CAACsF,MAAO,GAAE,GAAG,EAAE,CAAE;MAC9GpD,KAAK,EAAE;QACLqB,SAAS,EAAE,IAAI,CAAClD,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC8B,SAAS,EAAE,IAAI,CAAC9B,MAAM,CAACgC,UAAU,EAAE;UAACC,OAAO,EAAE1D,KAAK,CAAC2D;QAAkB,CAAC,CAAC;QACpHC,IAAI,EAAE5D,KAAK,CAACuF,aAAa,GAAG;UAAEnD,MAAM,EAAE;QAAK,CAAC,GAAG,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACmC,IAAI,EAAE,IAAI,CAACnC,MAAM,CAAC+D,KAAK,CAAC;QACzGzB,IAAI,EAAE/D,KAAK,CAACgE,SAAS,KAAK,KAAK,GAC/B;UAAE5B,MAAM,EAAE;QAAO,CAAC,GAAI,IAAI,CAAC/B,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACsC,IAAI,EAAE,IAAI,CAACtC,MAAM,CAACgE,KAAK,CAAC;QAChFvB,KAAK,EAAE,IAAI,CAAC7D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAACyC,KAAK,EAAE,IAAI,CAACzC,MAAM,CAACiE,MAAM,CAAC;QACnEtB,UAAU,EAAE,IAAI,CAAC/D,KAAK,CAACmD,UAAU,CAAC,IAAI,CAAC/B,MAAM,CAAC2C,UAAU,EAAE,IAAI,CAAC3C,MAAM,CAACkE,WAAW;MACnF,CAAE;MACFrB,eAAe,EAAGtE,KAAK,CAACuE,gBAAgB,GAAC,IAAI,GAAC,KAAM;MACpDlE,KAAK,EAAE,IAAI,CAACgB,KAAK,CAAChB,KAAM;MACxByE,UAAU,EAAGA,CAACC,CAAC,EAAEC,CAAC,EAAEd,KAAK,KAAK;QAC5B,IAAIlB,iBAAiB,EAAE;UACrB,OAAOA,iBAAiB,CAAC+B,CAAC,EAAEC,CAAC,EAAE,CAACd,KAAK,IAAI,EAAE,EAAEhE,MAAM,CAAC;QACtD;QACA,OAAO,IAAI,CAACM,gBAAgB,CAACuE,CAAC,CAAC;MACjC,CAAE;MACFa,aAAa;IAAA,CAAE,CAAC;EACtC;;EAIA;EACAC,qBAAqBA,CAACC,IAAY,EAAE;IAClC,OAAOA,IAAI,KAAK,QAAQ,IAAGA,IAAI,KAAK,MAAM;EAC5C;;EAEA;EACAC,iBAAiBA,CAAChC,IAAY,EAAE;IAC9B,MAAM/D,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI3B,GAAG,CAAC2B,KAAK,EAAE+D,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAK,IAAK,IAAI,CAAC8B,qBAAqB,CAAC7F,KAAK,CAAC8F,IAAI,CAAE,EAAE;MACrF,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEF;EACEE,oBAAoBA,CAACC,MAAW,EAAE;IAChC,IAAIC,QAAQ,CAACD,MAAM,CAACE,GAAG,CAAC,IAAID,QAAQ,CAACD,MAAM,CAACG,GAAG,CAAC,EAAE;MAChD,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EAEAC,eAAeA,CAAA,EAAG;IAChB,IAAIC,aAAa,EAAEC,aAAa;IAChC,IAAI,IAAI,CAAClF,KAAK,CAACW,IAAI,CAAC9B,MAAM,GAAG,CAAC,EAAE;MAC9B,IAAI,IAAI,CAAC6F,iBAAiB,CAAC,GAAG,CAAC,IAAI,OAAO,IAAI,CAAC1E,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAACwE,CAAC,KAAK,QAAQ,EAAE;QAC3EF,aAAa,GAAG,IAAI,CAACG,gBAAgB,CAAC,IAAI,CAACpF,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC;MAC3D;MACA,IAAI,IAAI,CAAC+D,iBAAiB,CAAC,GAAG,CAAC,EAAE;QAC/BQ,aAAa,GAAG,IAAI,CAACG,gBAAgB,CAAC,IAAI,CAACrF,KAAK,CAACW,IAAI,CAAC;MACxD;MACA,IAAIsE,aAAa,EAAE;QACjB,IAAI,CAACK,WAAW,CAAC;UACfC,SAAS,EAAEL,aAAa,CAACJ,GAAG,CAACK,CAAC;UAC9BK,SAAS,EAAEN,aAAa,CAACH,GAAG,CAACI;QAC/B,CAAM,CAAC;MACT;MACA,IAAIM,IAAI;MACR,IAAIP,aAAa,EAAE;QACjB,IAAI,IAAI,CAACP,oBAAoB,CAAC;UAACI,GAAG,EAAEG,aAAa,CAACH,GAAG,CAAC7D,CAAC;UAAE4D,GAAG,EAAEI,aAAa,CAACJ,GAAG,CAAC5D;QAAC,CAAC,CAAC,EAAE;UACnFuE,IAAI,GAAG,IAAI,CAACtE,iBAAiB,CAAC+D,aAAa,CAACJ,GAAG,CAAC5D,CAAC,CAAC;QACpD;QACA,IAAI,CAACoE,WAAW,CAAC;UACfI,SAAS,EAAED,IAAI,GAAGA,IAAI,GAAGP,aAAa,CAACJ,GAAG,CAAC5D,CAAC;UAC5CyE,SAAS,EAAET,aAAa,CAACH,GAAG,CAAC7D;QAC/B,CAAM,CAAC;MACT;IACF;EACF;;EAEA;EACAkE,gBAAgBA,CAACQ,KAAiC,EAAE;IAClD,IAAI,CAACA,KAAK,EAAE;MACV;IACF;IACA,MAAMC,OAAY,GAAG,CAAC,CAAC;IACvB;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIA,OAAO,CAACf,GAAG,GAAGzH,KAAK,CAACuI,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACX,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE9G;IAAS,CAAC;IAC5F;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IACIwH,OAAO,CAACd,GAAG,GAAG3H,KAAK,CAACwI,KAAK,EAAGE,UAA4B,IAAKA,UAAU,CAACX,CAAC,CAAC,IAAG;MAACA,CAAC,EAAE9G;IAAS,CAAC;IAC3F,OAAOwH,OAAO;EAChB;;EAEA;EACAR,gBAAgBA,CAACO,KAAwC,EAAE;IACzD,MAAMG,OAAY,GAAG,CAAC,CAAC;MACrBC,SAAc,GAAG,EAAE;MACnBC,SAAc,GAAG,EAAE;IACrB,IAAI,CAACL,KAAK,EAAE;MACV;IACF;;IAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;IAGI7I,OAAO,CAAC6I,KAAK,EAAEjF,IAAI,IAAI;MACrB,IAAIA,IAAI,IAAI,CAACzD,OAAO,CAACyD,IAAI,CAAC,EAAE;QAC1BqF,SAAS,CAACE,IAAI,CAAC7I,KAAK,CAACsD,IAAI,EAAImF,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5E,CAAC;QAAC,CAAC,CAAC,CAAC;QACvF+E,SAAS,CAACC,IAAI,CAAC9I,KAAK,CAACuD,IAAI,EAAImF,UAA4B,IAAK;UAAE,OAAOA,UAAU,CAAC5E,CAAC;QAAC,CAAC,CAAC,CAAC;MACzF;IACF,CAAC,CAAC;IACF;IACA6E,OAAO,CAACjB,GAAG,GAAGzH,KAAK,CAAC2I,SAAS,EAAGF,UAA4B,IAAKA,UAAU,CAAC5E,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE7C;IAAS,CAAC;IAChG0H,OAAO,CAAChB,GAAG,GAAG3H,KAAK,CAAC6I,SAAS,EAAGH,UAA4B,IAAKA,UAAU,CAAC5E,CAAC,CAAC,IAAI;MAACA,CAAC,EAAE7C;IAAS,CAAC;IAChG,OAAO0H,OAAO;EAChB;EAEAI,qBAAqBA,CAACC,EAAe,EAAE;IACrC,IAAI9F,MAAM,GAAG,IAAI,CAACF,MAAM,CAACC,IAAI,CAACC,MAAM,IAAI,GAAG;IAC3C,IAAI/B,KAAK,GAAG,IAAI,CAAC6B,MAAM,CAACC,IAAI,CAAC9B,KAAK,IAAID,WAAW;IACjD,IAAIgC,MAAM,IAAI,OAAOA,MAAM,KAAK,QAAQ,EAAE;MACxCA,MAAM,GAAGH,QAAQ,CAACG,MAAM,CAAC;IAC3B;IACA,IAAI/B,KAAK,IAAI,OAAOA,KAAK,KAAK,QAAQ,EAAE;MACtCA,KAAK,GAAG4B,QAAQ,CAAC5B,KAAK,CAAC;IACzB;IACA,IAAI,CAAC+G,WAAW,CAAC;MACfe,WAAW,EAAE/F,MAAM;MACnBgG,UAAU,EAAE/H;IACd,CAAC,EAAO6H,EAAE,CAAC;EACb;EAEAnH,UAAUA,CAACN,KAA8B,EAAE;IACzC,IAAI4H,SAAS,GAAG5H,KAAK,CAACK,KAAK,GAAGL,KAAK,CAACK,KAAK,GAAIL,KAAK,CAAC8F,IAAI,KAAK,KAAK,GAAG,OAAO,GAAG,aAAc;IAC5F,IAAI+B,WAAW,GAAG,EAAE;IACpB,IAAI,OAAO7H,KAAK,CAAC8H,YAAY,KAAK,QAAQ,IAAI,CAACvJ,OAAO,CAACyB,KAAK,CAAC8H,YAAY,CAAC,EAAE;MAC1ED,WAAW,GAAG7H,KAAK,CAAC8H,YAAY,CAACC,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAACpJ,IAAI,CAAC;IACvD;IACA,IAAIqJ,UAAU;IACd,IAAI,OAAOL,SAAS,KAAK,QAAQ,EAAE;MACjC,IAAI,CAACC,WAAW,CAAC3H,MAAM,EAAE;QACvB2H,WAAW,GAAGzI,YAAY,CAAC8I,YAAY,CAACN,SAAS,CAAC;MACpD;MACAK,UAAU,GAAG7I,YAAY,CAAC+I,QAAQ,CAACP,SAAS,EAAE5H,KAAK,CAACyB,MAAM,EAAEoG,WAAW,CAAC;IAC1E,CAAC,MAAM,IAAI,OAAOD,SAAS,KAAK,QAAQ,EAAE;MACxC;MACAK,UAAU,GAAGjI,KAAK,CAACK,KAAK;IAC1B;IACA,IAAI,CAACsG,WAAW,CAAC;MACfyB,MAAM,EAAEP,WAAW;MACnBxH,KAAK,EAAE4H;IACT,CAAM,CAAC;EACT;EAEAI,iBAAiBA,CAAA,EAAG;IAClB,MAAMrI,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI,IAAI,CAACqB,KAAK,CAACoE,KAAK,EAAE;MACpB,IAAI6C,KAAU;MACd,IAAItI,KAAK,CAAC8F,IAAI,KAAK,OAAO,EAAE;QAC1B,MAAM9D,IAAI,GAAGnD,OAAO,CAAC,IAAI,CAACwC,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC;QACpDsG,KAAK,GAAGtG,IAAI,CAACgG,GAAG,CAAEjD,CAAM,IAAK;UAC3B,OAAO;YACLjD,IAAI,EAAE,IAAI,CAACT,KAAK,CAAC0B,eAAe,CAACgC,CAAC,CAACyB,CAAC;UACtC,CAAC;QACH,CAAC,CAAC;MACJ,CAAC,MAAM;QACL8B,KAAK,GAAG,IAAI,CAACjH,KAAK,CAACoE,KAAK,CAACuC,GAAG,CAAEjD,CAAS,IAAK;UAC1C,OAAO;YACLjD,IAAI,EAAEiD;UACR,CAAC;QACH,CAAC,CAAC;MACJ;MAEA,IAAI,CAAC4B,WAAW,CAAC;QACf1E,UAAU,EAAEqG;MACd,CAAM,CAAC;IACT;EACF;EAEAC,aAAaA,CAACzG,IAAY,EAAE;IAC1B,OAAO,IAAI,CAACT,KAAK,CAACY,UAAU,CAAC+F,GAAG,CAAC,CAACQ,CAAM,EAAEC,GAAW,KAAK;MACxD,OAAO;QACLC,SAAS,EAAE,CAAC,QAAQ,CAAC;QACrBC,MAAM,EAAE,MAAM;QACdC,QAAQ,EAAEC,MAAM,CAACJ,GAAG,CAAC;QACrBK,aAAa,EAAE;UACbC,OAAO,EAAEA,CAAA,KAAM;YACb,OAAO,CACL;cACEL,SAAS,EAAE,CAAC5G,IAAI,GAAG,GAAG,GAAG2G,GAAG,CAAC;cAC7BE,MAAM,EAAE,MAAM;cACdC,QAAQ,EAAE,KAAK;cACfI,QAAQ,EAAGhJ,KAAU,IAAK;gBACxB,OAAO,IAAI;cACb;YACF,CAAC,CACF;UACH,CAAC;UACDiJ,WAAW,EAAEA,CAAA,KAAM,CACnB,CAAC;UACDC,UAAU,EAAEA,CAAA,KAAM,CAClB;QACF;MACF,CAAC;IACH,CAAC,CAAC;EACJ;;EAEA;EACAC,WAAWA,CAACC,OAA8B,EAAEC,IAAY,EAAEC,KAAa,EAAEvG,eAA2B,EAAE;IACpG,MAAMN,KAAU,GAAGpE,GAAG,CAAC+K,OAAO,EAAEC,IAAI,CAAC;IACrC,IAAIlL,MAAM,CAACsE,KAAK,EAAE,IAAI,CAAC,CAAC8G,OAAO,CAAC,CAAC,IAAIC,KAAK,CAAC/G,KAAK,CAAC,EAAE;MACjDM,eAAe,CAACwE,IAAI,CAAC9E,KAAK,CAAC;MAC3B,OAAO6G,KAAK;IACd;IACA,OAAO7G,KAAK;EACd;EAEAgH,gBAAgBA,CAACC,OAAY,EAAE;IAC7B,MAAM1J,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI2J,KAAK,GAAG3J,KAAK,CAACqD,YAAY;IAC9B,IAAIuG,KAAK,GAAG5J,KAAK,CAACqF,YAAY;IAC9B,IAAItC,eAA2B,GAAG,EAAE;IACpC,IAAI8G,QAAa,GAAG,EAAE;IAEtB,IAAIF,KAAK,IAAIC,KAAK,EAAE;MAClB,IAAIE,IAAI,GAAGF,KAAK,CAAC7B,KAAK,CAAC,GAAG,CAAC;MAC3B+B,IAAI,CAAC1L,OAAO,CAAEmE,CAAM,IAAK;QACvB,IAAIoH,KAAK,KAAKpH,CAAC,EAAE;UACfsH,QAAQ,CAACtC,IAAI,CAACmC,OAAO,CAAC1B,GAAG,CAAC,CAAC+B,CAAwB,EAAEC,MAAc,KAAK;YACtE,MAAMC,IAAI,GAAG,IAAI,CAACd,WAAW,CAACY,CAAC,EAAEJ,KAAK,EAAEK,MAAM,EAAEjH,eAAe,CAAC;YAChE,IAAImH,IAAqB,GAAG7L,GAAG,CAAC0L,CAAC,EAAExH,CAAC,CAAC;YACrC,IAAI,OAAO2H,IAAI,KAAK,QAAQ,EAAE;cAC5BA,IAAI,GAAGC,UAAU,CAACD,IAAI,CAAC,IAAIA,IAAI;YACjC;YACA,IAAId,OAAO,GAAG;cACZ5C,CAAC,EAAEyD,IAAI;cACP1H,CAAC,EAAE2H;YACL,CAAC;YACD,IAAIlK,KAAK,CAACoK,UAAU,EAAE;cACpBzL,GAAG,CAACyK,OAAO,EAAE,MAAM,EAAE/K,GAAG,CAAC0L,CAAC,EAAE/J,KAAK,CAACoK,UAAU,EAAE,CAAC,CAAC,CAAC;YACnD;YACA,IAAIpK,KAAK,CAACqK,KAAK,EAAE;cACf1L,GAAG,CAACyK,OAAO,EAAE,QAAQ,EAAEvJ,MAAM,CAACG,KAAK,CAACqK,KAAK,CAAC,CAAC;YAC7C;YACA,OAAOjB,OAAO;UAChB,CAAC,CAAC,CAAC;QACL;MACF,CAAC,CAAC;MACF;MACA,IAAI,CAACkB,mBAAmB,CAAC,aAAa,EAAE,CAAC5K,SAAS,EAAE,IAAI,CAAC6K,KAAK,CAAC,CAAC;MAChE,IAAIvK,KAAK,CAAC8F,IAAI,IAAI,KAAK,IAAI9F,KAAK,CAAC8F,IAAI,KAAK,OAAO,EAAE;QACjD;QACA0E,UAAU,CAAC,MAAM;UACf,IAAI,CAAC7D,WAAW,CAAC;YACf8D,QAAQ,EAAE;UACZ,CAAM,CAAC;QACT,CAAC,EAAE,GAAG,CAAC;MACT;MACA,IAAI,CAACC,UAAU,CAACb,QAAQ,EAAEC,IAAI,EAAE/G,eAAe,CAAC;IAClD;EACF;EAGU4H,iBAAiBA,CAAA,EAAG;IAC5B,MAAM3K,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,oBAAQ/B,KAAA,CAAA4D,aAAA,CAAC1C,MAAM;MAACsC,MAAM,EAAE,IAAI,CAACA,MAAM,CAACmJ,WAAY;MAChDC,SAAS,EAAE7K,KAAK,CAAC8K,WAAY;MAC7BC,OAAO,EAAE/K,KAAK,CAACgL;IAAe,CAAS,CAAC;EAC1C;EAEAN,UAAUA,CAACb,QAAa,EAAEC,IAAS,EAAE/G,eAA2B,EAAE;IAChE,MAAM/C,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI,CAAC2G,WAAW,CAAC;MACf3E,IAAI,EAAE6H,QAAe;MACrBpE,KAAK,EAAEqE,IAAI;MACX/G,eAAe,EAAEA;IACnB,CAAC,EAAO,MAAM;MACZ,IAAI,CAACsF,iBAAiB,CAAC,CAAC;MACxB,IAAI,CAACrI,KAAK,CAACiL,SAAS,IAAIjL,KAAK,CAACiL,SAAS,KAAK,SAAS,EAAE;QACrD,IAAI,CAACC,QAAQ,CAAC,IAAI,CAAC7J,KAAK,CAACW,IAAI,CAAC,CAAC,CAAC,CAAC;MACnC;MACA,IAAI,IAAI,CAAC6D,qBAAqB,CAAC7F,KAAK,CAAC8F,IAAI,CAAC,KAAK9F,KAAK,CAACmL,OAAO,IAAInL,KAAK,CAACoL,OAAO,CAAC,EAAE;QAC9E,IAAI,CAAC/E,eAAe,CAAC,CAAC;MACxB;MACA,IAAI,CAACM,WAAW,CAAC;QACf0E,OAAO,EAAE;MACX,CAAM,CAAC;IACT,CAAC,CAAC;EACJ;EAEAH,QAAQA,CAAClJ,IAAgC,EAAE;IACzC,IAAIsJ,KAAK,GAAG,CAAC;IACbtJ,IAAI,CAAC5D,OAAO,CAAE2G,CAAmB,IAAK;MACpCuG,KAAK,IAAIvG,CAAC,CAACxC,CAAW;IACxB,CAAC,CAAC;IACF,IAAI,CAACoE,WAAW,CAAC;MACf2E,KAAK,EAAEA;IACT,CAAM,CAAC;EACT;EAEAC,gBAAgBA,CAACzJ,IAAY,EAAE0J,IAAS,EAAEC,IAAS,EAAE;IACnD,KAAK,CAACF,gBAAgB,CAACzJ,IAAI,EAAE0J,IAAI,EAAEC,IAAI,CAAC;IACxC,MAAMzL,KAAK,GAAG,IAAI,CAACqB,KAAK,CAACrB,KAAK;IAC9B,IAAI0L,KAAK,GAAG,EAAE;IACd,QAAO5J,IAAI;MACT,KAAK,cAAc;QACjB,IAAIvD,OAAO,CAACiN,IAAI,CAAC,EAAE;UACjB;QACF;QACA,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;UAC5BA,IAAI,GAAGA,IAAI,CAACzD,KAAK,CAAC,GAAG,CAAC;QACxB;QACA,IAAI,CAACpB,WAAW,CAAC;UACfyB,MAAM,EAAEoD;QACV,CAAM,CAAC;QACP;MACF,KAAK,OAAO;QACV,IAAI,CAAClL,UAAU,CAACN,KAAK,CAAC;QACtB;MACF,KAAK,SAAS;QACZ,IAAI,CAAC1B,OAAO,CAACkN,IAAI,CAAC,EAAE;UAClB,IAAIhN,QAAQ,CAACgN,IAAI,CAAC,IAAI,CAACjN,OAAO,CAACiN,IAAI,CAAC,EAAE;YACpCA,IAAI,GAAG,CAACA,IAAI,CAAC;UACf,CAAC,MAAM;YACLA,IAAI,GAAG,EAAE;UACX;QACF;QACAA,IAAI,IAAI,IAAI,CAAC/B,gBAAgB,CAAC+B,IAAI,CAAC;QACnC;MACF,KAAK,YAAY;QACf,IAAIxL,KAAK,CAACsD,MAAM,EAAE;UAChBoI,KAAK,GAAG,IAAI,GAAG1L,KAAK,CAACsD,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACqD,WAAW,CAAC;UACfgF,MAAM,EAAEH,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;MACF,KAAK,YAAY;QACf,IAAI1L,KAAK,CAACsF,MAAM,EAAE;UAChBoG,KAAK,GAAG,IAAI,GAAG1L,KAAK,CAACsF,MAAM,GAAG,GAAG;QACnC;QACA,IAAI,CAACqB,WAAW,CAAC;UACfiF,MAAM,EAAEJ,IAAI,GAAGE;QACjB,CAAM,CAAC;QACP;IACJ;EACF;AACF"}
|
|
@@ -18,10 +18,9 @@ export default class BaseChartComponentProps extends BaseProps {
|
|
|
18
18
|
_defineProperty(this, "staggerlabels", false);
|
|
19
19
|
_defineProperty(this, "yaxislabel", '');
|
|
20
20
|
_defineProperty(this, "yunits", '');
|
|
21
|
-
_defineProperty(this, "yaxislabeldistance",
|
|
21
|
+
_defineProperty(this, "yaxislabeldistance", 60);
|
|
22
22
|
_defineProperty(this, "xaxislabeldistance", 30);
|
|
23
|
-
|
|
24
|
-
_defineProperty(this, "customcolors", void 0);
|
|
23
|
+
_defineProperty(this, "customcolors", '');
|
|
25
24
|
_defineProperty(this, "legendheight", 0);
|
|
26
25
|
_defineProperty(this, "labellegendheight", 0);
|
|
27
26
|
_defineProperty(this, "labeltype", 'percent');
|
|
@@ -42,9 +41,14 @@ export default class BaseChartComponentProps extends BaseProps {
|
|
|
42
41
|
_defineProperty(this, "showvalues", false);
|
|
43
42
|
_defineProperty(this, "showyaxis", true);
|
|
44
43
|
_defineProperty(this, "showxaxis", true);
|
|
45
|
-
_defineProperty(this, "ydomain", '');
|
|
46
|
-
_defineProperty(this, "xdomain", '');
|
|
44
|
+
_defineProperty(this, "ydomain", 'Min');
|
|
45
|
+
_defineProperty(this, "xdomain", 'Min');
|
|
47
46
|
_defineProperty(this, "labelangle", 0);
|
|
47
|
+
_defineProperty(this, "xtickexpr", void 0);
|
|
48
|
+
_defineProperty(this, "ytickexpr", void 0);
|
|
49
|
+
_defineProperty(this, "hidegridxaxis", false);
|
|
50
|
+
_defineProperty(this, "hidegridyaxis", false);
|
|
51
|
+
_defineProperty(this, "autoadjustlabels", false);
|
|
48
52
|
}
|
|
49
53
|
}
|
|
50
54
|
//# sourceMappingURL=basechart.props.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BaseProps","BaseChartComponentProps","constructor","arguments","_defineProperty"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseChartComponentProps extends BaseProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance: number =
|
|
1
|
+
{"version":3,"names":["BaseProps","BaseChartComponentProps","constructor","arguments","_defineProperty"],"sources":["basechart.props.ts"],"sourcesContent":["import { BaseProps } from '@wavemaker/app-rn-runtime/core/base.component';\n\nexport default class BaseChartComponentProps extends BaseProps {\n xaxisdatakey: string = '';\n yaxisdatakey: string = '';\n iconclass = '';\n dataset: any;\n type: string = '';\n title: string = '';\n subheading: string = '';\n theme: string = '';\n xaxislabel: string = '';\n xunits: string = '';\n staggerlabels: boolean = false;\n yaxislabel: string = '';\n yunits: string = '';\n yaxislabeldistance: number = 60;\n xaxislabeldistance: number = 30;\n customcolors: string | Array<string> = '';\n legendheight: number = 0;\n labellegendheight: number = 0;\n labeltype: 'percent' | 'value' | 'key-value' | 'key' = 'percent';\n bubblesize: string= '';\n shape: string = '';\n loadingicon='fa fa-circle-o-notch fa-pulse';\n loadingdatamsg = 'Loading...';\n nodatamessage = 'No data found';\n offsetbottom: number = 50;\n offsettop: number = 70;\n offsetleft: number = 65;\n offsetright: number = 25;\n showlegend: string = 'top';\n showlabels: 'inside' | 'outside' | 'hide' = 'outside';\n tooltips: boolean = false;\n interpolation: string = 'linear';\n highlightpoints: boolean = false;\n showvalues: boolean = false;\n showyaxis: boolean = true;\n showxaxis: boolean = true;\n ydomain: string = 'Min';\n xdomain: string = 'Min';\n labelangle: number = 0;\n xtickexpr?: (item: any, index: number, length: number) => any;\n ytickexpr?: (item: any, index: number, length: number) => any;\n hidegridxaxis: boolean = false;\n hidegridyaxis: boolean = false;\n autoadjustlabels: boolean = false;\n}\n"],"mappings":";;;AAAA,SAASA,SAAS,QAAQ,+CAA+C;AAEzE,eAAe,MAAMC,uBAAuB,SAASD,SAAS,CAAC;EAAAE,YAAA;IAAA,SAAAC,SAAA;IAAAC,eAAA,uBACtC,EAAE;IAAAA,eAAA,uBACF,EAAE;IAAAA,eAAA,oBACb,EAAE;IAAAA,eAAA;IAAAA,eAAA,eAEC,EAAE;IAAAA,eAAA,gBACD,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,gBACP,EAAE;IAAAA,eAAA,qBACG,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,wBACM,KAAK;IAAAA,eAAA,qBACT,EAAE;IAAAA,eAAA,iBACN,EAAE;IAAAA,eAAA,6BACU,EAAE;IAAAA,eAAA,6BACF,EAAE;IAAAA,eAAA,uBACQ,EAAE;IAAAA,eAAA,uBAClB,CAAC;IAAAA,eAAA,4BACI,CAAC;IAAAA,eAAA,oBAC0B,SAAS;IAAAA,eAAA,qBAC5C,EAAE;IAAAA,eAAA,gBACN,EAAE;IAAAA,eAAA,sBACN,+BAA+B;IAAAA,eAAA,yBAC1B,YAAY;IAAAA,eAAA,wBACb,eAAe;IAAAA,eAAA,uBACR,EAAE;IAAAA,eAAA,oBACL,EAAE;IAAAA,eAAA,qBACD,EAAE;IAAAA,eAAA,sBACD,EAAE;IAAAA,eAAA,qBACH,KAAK;IAAAA,eAAA,qBACkB,SAAS;IAAAA,eAAA,mBACjC,KAAK;IAAAA,eAAA,wBACD,QAAQ;IAAAA,eAAA,0BACL,KAAK;IAAAA,eAAA,qBACV,KAAK;IAAAA,eAAA,oBACN,IAAI;IAAAA,eAAA,oBACJ,IAAI;IAAAA,eAAA,kBACP,KAAK;IAAAA,eAAA,kBACL,KAAK;IAAAA,eAAA,qBACF,CAAC;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,wBAGG,KAAK;IAAAA,eAAA,wBACL,KAAK;IAAAA,eAAA,2BACF,KAAK;EAAA;AACnC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Color from "color";
|
|
1
2
|
import BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';
|
|
2
3
|
import { defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';
|
|
3
4
|
export const DEFAULT_CLASS = 'app-chart';
|
|
@@ -16,8 +17,7 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
16
17
|
title: {
|
|
17
18
|
color: themeVariables.chartTitleColor,
|
|
18
19
|
fontSize: 20,
|
|
19
|
-
lineHeight: 24
|
|
20
|
-
paddingLeft: 10
|
|
20
|
+
lineHeight: 24
|
|
21
21
|
},
|
|
22
22
|
subHeading: {
|
|
23
23
|
fontSize: 12,
|
|
@@ -26,7 +26,30 @@ BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
|
26
26
|
},
|
|
27
27
|
legendText: {},
|
|
28
28
|
legenedDot: {},
|
|
29
|
-
|
|
29
|
+
axis: {
|
|
30
|
+
stroke: Color(themeVariables.chartAxisColor).fade(0.3).rgb().toString()
|
|
31
|
+
},
|
|
32
|
+
xAxis: {},
|
|
33
|
+
yAxis: {},
|
|
34
|
+
axisLabel: {},
|
|
35
|
+
xAxisLabel: {},
|
|
36
|
+
yAxisLabel: {},
|
|
37
|
+
grid: {
|
|
38
|
+
stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString(),
|
|
39
|
+
strokeDasharray: '16 4'
|
|
40
|
+
},
|
|
41
|
+
xGrid: {},
|
|
42
|
+
yGrid: {},
|
|
43
|
+
ticks: {
|
|
44
|
+
stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString()
|
|
45
|
+
},
|
|
46
|
+
xTicks: {},
|
|
47
|
+
yTicks: {},
|
|
48
|
+
tickLabels: {
|
|
49
|
+
stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString()
|
|
50
|
+
},
|
|
51
|
+
xTickLabels: {},
|
|
52
|
+
yTickLabels: {},
|
|
30
53
|
barChart: {}
|
|
31
54
|
});
|
|
32
55
|
addStyle(DEFAULT_CLASS, '', defaultStyles);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","icon","fontSize","line","color","chartLineColor","title","chartTitleColor","lineHeight","
|
|
1
|
+
{"version":3,"names":["Color","BASE_THEME","defineStyles","DEFAULT_CLASS","registerStyle","themeVariables","addStyle","defaultStyles","root","text","icon","fontSize","line","color","chartLineColor","title","chartTitleColor","lineHeight","subHeading","chartSubTitleColor","legendText","legenedDot","axis","stroke","chartAxisColor","fade","rgb","toString","xAxis","yAxis","axisLabel","xAxisLabel","yAxisLabel","grid","strokeDasharray","xGrid","yGrid","ticks","xTicks","yTicks","tickLabels","xTickLabels","yTickLabels","barChart"],"sources":["basechart.styles.ts"],"sourcesContent":["import { TextStyle, ViewStyle } from 'react-native';\nimport Color from \"color\";\nimport BASE_THEME from '@wavemaker/app-rn-runtime/styles/theme';\nimport { BaseStyles, defineStyles } from '@wavemaker/app-rn-runtime/core/base.component';\nimport { VictoryStyleObject } from \"victory-core\";\nimport { WmIconStyles } from '@wavemaker/app-rn-runtime/components/basic/icon/icon.styles';\n\n\nexport type BaseChartComponentStyles = BaseStyles & {\n title: TextStyle,\n icon: WmIconStyles,\n subHeading: TextStyle,\n axis: VictoryStyleObject,\n xAxis: VictoryStyleObject,\n yAxis: VictoryStyleObject,\n axisLabel: VictoryStyleObject,\n xAxisLabel: VictoryStyleObject,\n yAxisLabel: VictoryStyleObject,\n ticks: VictoryStyleObject,\n xTicks: VictoryStyleObject,\n yTicks: VictoryStyleObject,\n tickLabels: VictoryStyleObject,\n xTickLabels: VictoryStyleObject,\n yTickLabels: VictoryStyleObject,\n grid: VictoryStyleObject,\n xGrid: VictoryStyleObject,\n yGrid: VictoryStyleObject,\n legendText: TextStyle,\n legenedDot: ViewStyle \n};\n\nexport const DEFAULT_CLASS = 'app-chart';\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const defaultStyles: BaseChartComponentStyles = defineStyles({\n root: {},\n text: {},\n icon: {\n icon: {\n fontSize: 20\n }\n } as WmIconStyles,\n line: {\n color: themeVariables.chartLineColor\n },\n title: {\n color: themeVariables.chartTitleColor,\n fontSize: 20,\n lineHeight: 24,\n },\n subHeading: {\n fontSize: 12,\n lineHeight: 16,\n color: themeVariables.chartSubTitleColor\n },\n legendText: {},\n legenedDot: {},\n axis: {\n stroke: Color(themeVariables.chartAxisColor).fade(0.3).rgb().toString()\n } as any,\n xAxis: {} as any,\n yAxis: {} as any,\n axisLabel: {} as any,\n xAxisLabel: {} as any,\n yAxisLabel: {} as any,\n grid: {\n stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString(),\n strokeDasharray: '16 4'\n } as any,\n xGrid: {} as any,\n yGrid: {} as any,\n ticks: {\n stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString(),\n } as any,\n xTicks: {} as any,\n yTicks: {} as any,\n tickLabels: {\n stroke: Color(themeVariables.chartAxisColor).fade(0.8).rgb().toString(),\n } as any,\n xTickLabels: {} as any,\n yTickLabels: {} as any,\n barChart: {}\n });\n\n addStyle(DEFAULT_CLASS, '', defaultStyles);\n});\n"],"mappings":"AACA,OAAOA,KAAK,MAAO,OAAO;AAC1B,OAAOC,UAAU,MAAM,wCAAwC;AAC/D,SAAqBC,YAAY,QAAQ,+CAA+C;AA4BxF,OAAO,MAAMC,aAAa,GAAG,WAAW;AACxCF,UAAU,CAACG,aAAa,CAAC,CAACC,cAAc,EAAEC,QAAQ,KAAK;EACrD,MAAMC,aAAuC,GAAGL,YAAY,CAAC;IAC3DM,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE,CAAC,CAAC;IACRC,IAAI,EAAE;MACJA,IAAI,EAAE;QACJC,QAAQ,EAAE;MACZ;IACF,CAAiB;IACjBC,IAAI,EAAE;MACJC,KAAK,EAAER,cAAc,CAACS;IACxB,CAAC;IACDC,KAAK,EAAE;MACLF,KAAK,EAAER,cAAc,CAACW,eAAe;MACrCL,QAAQ,EAAE,EAAE;MACZM,UAAU,EAAE;IACd,CAAC;IACDC,UAAU,EAAE;MACVP,QAAQ,EAAE,EAAE;MACZM,UAAU,EAAE,EAAE;MACdJ,KAAK,EAAER,cAAc,CAACc;IACxB,CAAC;IACDC,UAAU,EAAE,CAAC,CAAC;IACdC,UAAU,EAAE,CAAC,CAAC;IACdC,IAAI,EAAE;MACJC,MAAM,EAAEvB,KAAK,CAACK,cAAc,CAACmB,cAAc,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACxE,CAAQ;IACRC,KAAK,EAAE,CAAC,CAAQ;IAChBC,KAAK,EAAE,CAAC,CAAQ;IAChBC,SAAS,EAAE,CAAC,CAAQ;IACpBC,UAAU,EAAE,CAAC,CAAQ;IACrBC,UAAU,EAAE,CAAC,CAAQ;IACrBC,IAAI,EAAE;MACJV,MAAM,EAAEvB,KAAK,CAACK,cAAc,CAACmB,cAAc,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC;MACvEO,eAAe,EAAE;IACnB,CAAQ;IACRC,KAAK,EAAE,CAAC,CAAQ;IAChBC,KAAK,EAAE,CAAC,CAAQ;IAChBC,KAAK,EAAE;MACLd,MAAM,EAAEvB,KAAK,CAACK,cAAc,CAACmB,cAAc,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACxE,CAAQ;IACRW,MAAM,EAAE,CAAC,CAAQ;IACjBC,MAAM,EAAE,CAAC,CAAQ;IACjBC,UAAU,EAAE;MACVjB,MAAM,EAAEvB,KAAK,CAACK,cAAc,CAACmB,cAAc,CAAC,CAACC,IAAI,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,CAACC,QAAQ,CAAC;IACxE,CAAQ;IACRc,WAAW,EAAE,CAAC,CAAQ;IACtBC,WAAW,EAAE,CAAC,CAAQ;IACtBC,QAAQ,EAAE,CAAC;EACb,CAAC,CAAC;EAEFrC,QAAQ,CAACH,aAAa,EAAE,EAAE,EAAEI,aAAa,CAAC;AAC5C,CAAC,CAAC"}
|