sea-chart 2.0.17 → 2.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/utils/chart-utils/base-utils.js +30 -0
- package/dist/view/wrapper/area-group.js +4 -2
- package/dist/view/wrapper/bar-custom-stack.js +8 -0
- package/dist/view/wrapper/bar-group.js +8 -5
- package/dist/view/wrapper/bar-stack.js +14 -16
- package/dist/view/wrapper/chart-component.js +9 -8
- package/dist/view/wrapper/completeness-group.js +10 -6
- package/dist/view/wrapper/horizontal-bar-group.js +7 -4
- package/dist/view/wrapper/horizontal-bar-stack.js +10 -6
- package/dist/view/wrapper/line-group.js +4 -2
- package/package.json +1 -1
|
@@ -1780,4 +1780,34 @@ BaseUtils.isCollaboratorColumnOrMultipleColumn = columnMap => {
|
|
|
1780
1780
|
}
|
|
1781
1781
|
return false;
|
|
1782
1782
|
};
|
|
1783
|
+
BaseUtils.sortDataByGroupName = function (data, groupKey, groupColumn) {
|
|
1784
|
+
let chart = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {
|
|
1785
|
+
config: {}
|
|
1786
|
+
};
|
|
1787
|
+
const {
|
|
1788
|
+
column_groupby_multiple_numeric_column
|
|
1789
|
+
} = chart.config;
|
|
1790
|
+
if (!column_groupby_multiple_numeric_column) {
|
|
1791
|
+
if (groupColumn) {
|
|
1792
|
+
if ([_dtableUtils.CellType.SINGLE_SELECT].includes(groupColumn.type)) {
|
|
1793
|
+
data.forEach(item => {
|
|
1794
|
+
const option = groupColumn.data.options.find(option => option.name === item[groupKey]);
|
|
1795
|
+
if (option !== null && option !== void 0 && option.id) {
|
|
1796
|
+
item['group_name_id'] = option.id;
|
|
1797
|
+
item['oldName'] = item.name;
|
|
1798
|
+
item.name = item['group_name_id'];
|
|
1799
|
+
}
|
|
1800
|
+
});
|
|
1801
|
+
_BaseUtils.sortCharts(data, groupColumn, 'name');
|
|
1802
|
+
data.forEach(item => {
|
|
1803
|
+
item.name = item['oldName'];
|
|
1804
|
+
});
|
|
1805
|
+
return data;
|
|
1806
|
+
}
|
|
1807
|
+
_BaseUtils.sortCharts(data, groupColumn, groupKey);
|
|
1808
|
+
}
|
|
1809
|
+
return data;
|
|
1810
|
+
}
|
|
1811
|
+
return data;
|
|
1812
|
+
};
|
|
1783
1813
|
var _default = exports.default = BaseUtils;
|
|
@@ -88,7 +88,7 @@ class AreaGroup extends _chartComponent.default {
|
|
|
88
88
|
marginTop
|
|
89
89
|
} = this.chartBoundingClientRect;
|
|
90
90
|
const useSingleSelectColumnColor = (columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
91
|
-
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
91
|
+
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
|
|
92
92
|
const tooltipTitle = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
|
|
93
93
|
|
|
94
94
|
// Y axis
|
|
@@ -204,7 +204,9 @@ class AreaGroup extends _chartComponent.default {
|
|
|
204
204
|
legendName: 'group_name',
|
|
205
205
|
theme,
|
|
206
206
|
legendPosition: 'top-right',
|
|
207
|
-
data
|
|
207
|
+
data,
|
|
208
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
209
|
+
chart
|
|
208
210
|
});
|
|
209
211
|
};
|
|
210
212
|
this.updateCircleAndTickStyle = _ref4 => {
|
|
@@ -71,6 +71,14 @@ class BarCustom extends _chartComponent.default {
|
|
|
71
71
|
}
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
|
+
|
|
75
|
+
// sort Data
|
|
76
|
+
Object.keys(dataMap).forEach(key => {
|
|
77
|
+
const item = dataMap[key];
|
|
78
|
+
Object.keys(item).forEach(itemKey => {
|
|
79
|
+
item[itemKey].reverse();
|
|
80
|
+
});
|
|
81
|
+
});
|
|
74
82
|
const stacksData = this.handleStacks(dataMap);
|
|
75
83
|
return stacksData;
|
|
76
84
|
};
|
|
@@ -62,7 +62,8 @@ class BarGroup extends _chartComponent.default {
|
|
|
62
62
|
chart,
|
|
63
63
|
globalTheme,
|
|
64
64
|
chartColorTheme,
|
|
65
|
-
tables
|
|
65
|
+
tables,
|
|
66
|
+
columnGroupbyColumn
|
|
66
67
|
} = this.props;
|
|
67
68
|
const {
|
|
68
69
|
display_goal_line,
|
|
@@ -88,14 +89,15 @@ class BarGroup extends _chartComponent.default {
|
|
|
88
89
|
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
89
90
|
const column_groupby_column = this.getColumn(tables, table_id, column_groupby_column_key);
|
|
90
91
|
const useSingleSelectColumnColor = (column_groupby_column === null || column_groupby_column === void 0 ? void 0 : column_groupby_column.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
91
|
-
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme); // use single select column color
|
|
92
|
+
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart); // use single select column color
|
|
92
93
|
|
|
93
94
|
const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, d3.max(data, d => d.value)] : [y_axis_min, y_axis_max]).range([chartHeight - insertPadding, insertPadding + marginTop]);
|
|
94
95
|
|
|
95
96
|
// Y axis
|
|
96
97
|
this.chart.append('g').attr('transform', "translate(".concat(insertPadding, ",0)")).call(d3.axisLeft(y).tickSizeInner(0).ticks(5).tickFormat(d => d)).call(g => this.drawYaxis(g, theme));
|
|
97
98
|
const fx = d3.scaleBand().domain(new Set(data.map(d => d.name))).range([insertPadding + this.horizontalOverflowOffset, chartWidth - insertPadding]).paddingInner(0.5).paddingOuter(0.1);
|
|
98
|
-
const
|
|
99
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'group_name', columnGroupbyColumn, chart);
|
|
100
|
+
const x = d3.scaleBand().domain(new Set(sortedData.map(d => d.group_name))).range([0, fx.bandwidth()]).paddingInner(0).paddingOuter(0);
|
|
99
101
|
|
|
100
102
|
// X axis
|
|
101
103
|
this.chart.append('g').attr('transform', "translate(0,".concat(chartHeight - insertPadding, ")")).call(d3.axisBottom(fx).tickSizeOuter(0).tickSizeInner(5)).call(g => {
|
|
@@ -107,7 +109,7 @@ class BarGroup extends _chartComponent.default {
|
|
|
107
109
|
});
|
|
108
110
|
|
|
109
111
|
// Rect group
|
|
110
|
-
this.chart.append('g').selectAll().data(d3.group(
|
|
112
|
+
this.chart.append('g').selectAll().data(d3.group(sortedData, d => d.name)).join('g').attr('transform', _ref => {
|
|
111
113
|
let [name, dum] = _ref;
|
|
112
114
|
// Each group is horizontally centered
|
|
113
115
|
const offset = (fx.bandwidth() - dum.length * x.bandwidth()) / 2;
|
|
@@ -159,7 +161,8 @@ class BarGroup extends _chartComponent.default {
|
|
|
159
161
|
theme,
|
|
160
162
|
legendPosition: 'top-right',
|
|
161
163
|
data,
|
|
162
|
-
groupColumn: this.props.columnGroupbyColumn
|
|
164
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
165
|
+
chart
|
|
163
166
|
});
|
|
164
167
|
};
|
|
165
168
|
this.showTooltip = event => {
|
|
@@ -47,23 +47,18 @@ class BarStack extends _chartComponent.default {
|
|
|
47
47
|
};
|
|
48
48
|
this.drawChart = () => {
|
|
49
49
|
const {
|
|
50
|
-
customRender
|
|
50
|
+
customRender,
|
|
51
|
+
chart
|
|
51
52
|
} = this.props;
|
|
53
|
+
const {
|
|
54
|
+
sort_type
|
|
55
|
+
} = chart.config;
|
|
52
56
|
let {
|
|
53
57
|
result: data
|
|
54
58
|
} = this.props;
|
|
55
59
|
data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
|
|
56
60
|
if (!Array.isArray(data)) return;
|
|
57
|
-
|
|
58
|
-
chart
|
|
59
|
-
} = this.props;
|
|
60
|
-
const {
|
|
61
|
-
sort_type,
|
|
62
|
-
type
|
|
63
|
-
} = chart.config;
|
|
64
|
-
if (type === _constants.CHART_TYPE.BAR_STACK && sort_type) {
|
|
65
|
-
data = (0, _columnUtils.sortDataByGroupSum)(data, sort_type);
|
|
66
|
-
}
|
|
61
|
+
sort_type && (data = (0, _columnUtils.sortDataByGroupSum)(data, sort_type));
|
|
67
62
|
this.draw(data);
|
|
68
63
|
this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
|
|
69
64
|
(0, _utils.isFunction)(customRender) && customRender(this.chart);
|
|
@@ -73,7 +68,8 @@ class BarStack extends _chartComponent.default {
|
|
|
73
68
|
chart,
|
|
74
69
|
globalTheme,
|
|
75
70
|
chartColorTheme,
|
|
76
|
-
tables
|
|
71
|
+
tables,
|
|
72
|
+
columnGroupbyColumn
|
|
77
73
|
} = this.props;
|
|
78
74
|
const {
|
|
79
75
|
display_goal_line,
|
|
@@ -94,18 +90,19 @@ class BarStack extends _chartComponent.default {
|
|
|
94
90
|
const column_groupby_column = this.getColumn(tables, table_id, column_groupby_column_key);
|
|
95
91
|
const useSingleSelectColumnColor = (column_groupby_column === null || column_groupby_column === void 0 ? void 0 : column_groupby_column.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
96
92
|
// use single select column color
|
|
97
|
-
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
93
|
+
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
|
|
98
94
|
const {
|
|
99
95
|
width: chartWidth,
|
|
100
96
|
height: chartHeight,
|
|
101
97
|
insertPadding,
|
|
102
98
|
marginTop
|
|
103
99
|
} = this.chartBoundingClientRect;
|
|
104
|
-
const
|
|
100
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'group_name', columnGroupbyColumn, chart).reverse();
|
|
101
|
+
const series = d3.stack().keys(d3.union(sortedData.map(d => d.group_name))).value((_ref, key) => {
|
|
105
102
|
var _group$get;
|
|
106
103
|
let [_, group] = _ref;
|
|
107
104
|
return (_group$get = group.get(String(key))) === null || _group$get === void 0 ? void 0 : _group$get.value;
|
|
108
|
-
})(d3.index(
|
|
105
|
+
})(d3.index(sortedData, d => d.name, d => d.group_name));
|
|
109
106
|
const niceEnd = d3.nice(0, d3.max(series, d => d3.max(d, d => d[1])), 5)[1];
|
|
110
107
|
const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min, y_axis_max]).range([chartHeight - insertPadding, insertPadding + marginTop]);
|
|
111
108
|
|
|
@@ -187,7 +184,8 @@ class BarStack extends _chartComponent.default {
|
|
|
187
184
|
theme,
|
|
188
185
|
legendPosition: 'top-right',
|
|
189
186
|
data,
|
|
190
|
-
groupColumn: this.props.columnGroupbyColumn
|
|
187
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
188
|
+
chart
|
|
191
189
|
});
|
|
192
190
|
};
|
|
193
191
|
// Horizontal stacking processing position vertical stacking
|
|
@@ -592,11 +592,10 @@ class ChartComponent extends _react.Component {
|
|
|
592
592
|
legendPosition = 'top-left',
|
|
593
593
|
data,
|
|
594
594
|
colorScale,
|
|
595
|
-
groupColumn
|
|
595
|
+
groupColumn,
|
|
596
|
+
chart
|
|
596
597
|
} = _ref;
|
|
597
598
|
if (!this.chart) return;
|
|
598
|
-
data.forEach(item => item[legendName] = String(item[legendName]));
|
|
599
|
-
const legendData = (0, _lodashEs.cloneDeep)(data);
|
|
600
599
|
this.legendConfig = {
|
|
601
600
|
legendRectWidth: 20,
|
|
602
601
|
legendRectHeight: 6,
|
|
@@ -611,10 +610,9 @@ class ChartComponent extends _react.Component {
|
|
|
611
610
|
theme
|
|
612
611
|
};
|
|
613
612
|
|
|
614
|
-
// sort legend data
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
}
|
|
613
|
+
// sort legend data and format data
|
|
614
|
+
data.forEach(item => item[legendName] = String(item[legendName]));
|
|
615
|
+
const legendData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), legendName, groupColumn, chart);
|
|
618
616
|
const {
|
|
619
617
|
width: chartWidth,
|
|
620
618
|
insertPadding,
|
|
@@ -949,13 +947,16 @@ class ChartComponent extends _react.Component {
|
|
|
949
947
|
};
|
|
950
948
|
this.setColorMap = function (data, chartColorTheme) {
|
|
951
949
|
let groupName = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'group_name';
|
|
950
|
+
let groupColumn = arguments.length > 3 ? arguments[3] : undefined;
|
|
951
|
+
let chart = arguments.length > 4 ? arguments[4] : undefined;
|
|
952
|
+
const newData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), groupName, groupColumn, chart);
|
|
952
953
|
let currentIdx = 0;
|
|
953
954
|
const defaultColors = _constants.CHART_STYLE_COLORS;
|
|
954
955
|
let colors = defaultColors;
|
|
955
956
|
if (chartColorTheme) {
|
|
956
957
|
colors = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors;
|
|
957
958
|
}
|
|
958
|
-
const colorMap =
|
|
959
|
+
const colorMap = newData.reduce((acc, cur) => {
|
|
959
960
|
if (cur[groupName] && !acc[cur[groupName]]) {
|
|
960
961
|
acc[cur[groupName]] = colors[currentIdx++ % colors.length];
|
|
961
962
|
}
|
|
@@ -50,7 +50,8 @@ class Completeness extends _chartComponent.default {
|
|
|
50
50
|
const {
|
|
51
51
|
chart,
|
|
52
52
|
globalTheme,
|
|
53
|
-
chartColorTheme
|
|
53
|
+
chartColorTheme,
|
|
54
|
+
columnGroupbyColumn
|
|
54
55
|
} = this.props;
|
|
55
56
|
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
56
57
|
const {
|
|
@@ -69,8 +70,8 @@ class Completeness extends _chartComponent.default {
|
|
|
69
70
|
} = this.chartBoundingClientRect;
|
|
70
71
|
this.markLastForCompleteness(data);
|
|
71
72
|
const colors = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors;
|
|
72
|
-
this.setColorMap(data, chartColorTheme, 'groupby');
|
|
73
|
-
const newSeries = this.getGroupSeries(data);
|
|
73
|
+
this.setColorMap(data, chartColorTheme, 'groupby', columnGroupbyColumn, chart);
|
|
74
|
+
const newSeries = this.getGroupSeries(data, columnGroupbyColumn, chart);
|
|
74
75
|
|
|
75
76
|
// Y axis
|
|
76
77
|
const fy = d3.scaleBand().domain(newSeries.map(item => item[0])).range([chartHeight - insertPadding, insertPadding]).paddingInner(0.5).paddingOuter(0.1);
|
|
@@ -177,7 +178,9 @@ class Completeness extends _chartComponent.default {
|
|
|
177
178
|
legendName: 'groupby',
|
|
178
179
|
theme,
|
|
179
180
|
legendPosition: 'top-right',
|
|
180
|
-
data
|
|
181
|
+
data,
|
|
182
|
+
groupColumn: columnGroupbyColumn,
|
|
183
|
+
chart
|
|
181
184
|
});
|
|
182
185
|
};
|
|
183
186
|
this.handleAcitveAndInActiveState = (state, event) => {
|
|
@@ -250,8 +253,9 @@ class Completeness extends _chartComponent.default {
|
|
|
250
253
|
toolTipPosition: null
|
|
251
254
|
});
|
|
252
255
|
};
|
|
253
|
-
this.getGroupSeries = data => {
|
|
254
|
-
const
|
|
256
|
+
this.getGroupSeries = (data, columnGroupbyColumn, chart) => {
|
|
257
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'groupby', columnGroupbyColumn, chart);
|
|
258
|
+
const groups = d3.groups(sortedData, d => d.name);
|
|
255
259
|
groups.forEach((item, index) => {
|
|
256
260
|
const itemData = (0, _lodashEs.cloneDeep)(item[1]);
|
|
257
261
|
|
|
@@ -69,7 +69,8 @@ class HorizontalBarGroup extends _chartComponent.default {
|
|
|
69
69
|
chart,
|
|
70
70
|
globalTheme,
|
|
71
71
|
chartColorTheme,
|
|
72
|
-
tables
|
|
72
|
+
tables,
|
|
73
|
+
columnGroupbyColumn
|
|
73
74
|
} = this.props;
|
|
74
75
|
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
75
76
|
const {
|
|
@@ -92,7 +93,8 @@ class HorizontalBarGroup extends _chartComponent.default {
|
|
|
92
93
|
const useSingleSelectColumnColor = (groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
93
94
|
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
94
95
|
const fy = d3.scaleBand().domain(new Set(data.map(d => d.name))).range([chartHeight - insertPadding, insertPadding]).paddingInner(0.5).paddingOuter(0.1);
|
|
95
|
-
const
|
|
96
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'group_name', columnGroupbyColumn, chart);
|
|
97
|
+
const y = d3.scaleBand().domain(new Set(sortedData.map(d => d.group_name))).range([0, fy.bandwidth()]).paddingInner(0).paddingOuter(0);
|
|
96
98
|
const yAxis = this.chart.append('g').call(d3.axisLeft(fy).tickSizeOuter(0).tickPadding(0).tickSizeInner(5)).call(g => {
|
|
97
99
|
g.selectAll('.domain').attr('stroke', theme.XAxisColor);
|
|
98
100
|
g.selectAll('.tick line').attr('stroke', theme.XAxisColor);
|
|
@@ -117,7 +119,7 @@ class HorizontalBarGroup extends _chartComponent.default {
|
|
|
117
119
|
|
|
118
120
|
// Rect group
|
|
119
121
|
const rectsWrapper = this.chart.append('g').attr('class', "rects-wrapper-".concat(chart === null || chart === void 0 ? void 0 : chart.id)).attr('transform', "translate(".concat(Number(yAxis.node().getAttribute('data-axisWidth')), ", 0)"));
|
|
120
|
-
rectsWrapper.selectAll().data(d3.group(
|
|
122
|
+
rectsWrapper.selectAll().data(d3.group(sortedData, d => d.name)).join('g').attr('transform', _ref => {
|
|
121
123
|
let [name, dum] = _ref;
|
|
122
124
|
const offset = (fy.bandwidth() - dum.length * y.bandwidth()) / 2;
|
|
123
125
|
return "translate(0, ".concat(fy(name) + offset, ")");
|
|
@@ -170,7 +172,8 @@ class HorizontalBarGroup extends _chartComponent.default {
|
|
|
170
172
|
theme,
|
|
171
173
|
legendPosition: 'top-left',
|
|
172
174
|
data,
|
|
173
|
-
groupColumn: this.props.columnGroupbyColumn
|
|
175
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
176
|
+
chart
|
|
174
177
|
});
|
|
175
178
|
};
|
|
176
179
|
this.handleAcitveAndInActiveState = (state, event) => {
|
|
@@ -67,7 +67,8 @@ class HorizontalBarStack extends _chartComponent.default {
|
|
|
67
67
|
chart,
|
|
68
68
|
globalTheme,
|
|
69
69
|
chartColorTheme,
|
|
70
|
-
tables
|
|
70
|
+
tables,
|
|
71
|
+
columnGroupbyColumn
|
|
71
72
|
} = this.props;
|
|
72
73
|
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
73
74
|
const {
|
|
@@ -87,13 +88,14 @@ class HorizontalBarStack extends _chartComponent.default {
|
|
|
87
88
|
} = this.chartBoundingClientRect;
|
|
88
89
|
const groupByColumn = this.getColumn(tables, table_id, column_groupby_column_key);
|
|
89
90
|
const useSingleSelectColumnColor = (groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
90
|
-
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
91
|
-
const
|
|
91
|
+
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
|
|
92
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'group_name', columnGroupbyColumn, chart);
|
|
93
|
+
const series = d3.stack().keys(d3.union(sortedData.map(d => d.group_name))).value((_ref, key) => {
|
|
92
94
|
var _group$get;
|
|
93
95
|
let [_, group] = _ref;
|
|
94
96
|
return ((_group$get = group.get(String(key))) === null || _group$get === void 0 ? void 0 : _group$get.value) || 0;
|
|
95
|
-
})(d3.index(
|
|
96
|
-
const newSeries = this.handleSeries(series,
|
|
97
|
+
})(d3.index(sortedData, d => d.name, d => d.group_name));
|
|
98
|
+
const newSeries = this.handleSeries(series, sortedData);
|
|
97
99
|
const y = d3.scaleBand().domain(new Set(data.map(d => d.name))).range([chartHeight - insertPadding, insertPadding]).paddingInner(0.5).paddingOuter(0.1);
|
|
98
100
|
|
|
99
101
|
// Y axis
|
|
@@ -174,7 +176,9 @@ class HorizontalBarStack extends _chartComponent.default {
|
|
|
174
176
|
legendName: 'group_name',
|
|
175
177
|
theme,
|
|
176
178
|
legendPosition: 'top-right',
|
|
177
|
-
data
|
|
179
|
+
data,
|
|
180
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
181
|
+
chart
|
|
178
182
|
});
|
|
179
183
|
};
|
|
180
184
|
this.handleAcitveAndInActiveState = (state, event) => {
|
|
@@ -152,7 +152,7 @@ class LineGroup extends _chartComponent.default {
|
|
|
152
152
|
marginTop
|
|
153
153
|
} = this.chartBoundingClientRect;
|
|
154
154
|
const useSingleSelectColumnColor = (columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
155
|
-
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
155
|
+
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
|
|
156
156
|
|
|
157
157
|
// Y axis
|
|
158
158
|
const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
|
|
@@ -256,7 +256,9 @@ class LineGroup extends _chartComponent.default {
|
|
|
256
256
|
legendName: 'group_name',
|
|
257
257
|
theme,
|
|
258
258
|
legendPosition: 'top-right',
|
|
259
|
-
data
|
|
259
|
+
data,
|
|
260
|
+
groupColumn: this.props.columnGroupbyColumn,
|
|
261
|
+
chart
|
|
260
262
|
});
|
|
261
263
|
};
|
|
262
264
|
this.updateCircleAndTickStyle = _ref2 => {
|