sea-chart 2.0.1 → 2.0.2-alpha.3

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.
Files changed (94) hide show
  1. package/dist/components/cell-factory/SimpleCellFormatter.js +1 -1
  2. package/dist/components/cell-factory/link-content.js +4 -4
  3. package/dist/components/color-picker/index.js +1 -1
  4. package/dist/components/color-popover/color-rules/color-rule.js +1 -1
  5. package/dist/components/color-popover/color-rules/index.js +1 -1
  6. package/dist/components/color-popover/color-rules-popover.js +6 -6
  7. package/dist/components/color-popover/color-selector-popover.js +2 -2
  8. package/dist/components/color-setting/color-group-selector.js +1 -1
  9. package/dist/components/common-add-tool/index.js +2 -2
  10. package/dist/components/data-process-setter/hide-column-setter.js +1 -1
  11. package/dist/components/data-process-setter/sort-setter.js +2 -2
  12. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +4 -4
  13. package/dist/components/icon/index.js +2 -2
  14. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +1 -1
  15. package/dist/components/popover/hide-column-popover/hide-column-popover.js +1 -1
  16. package/dist/components/popover/sort-popover/sort-popover.js +1 -1
  17. package/dist/components/row-card/row-card-header-cell.js +2 -2
  18. package/dist/components/row-card/row-card-header.js +1 -1
  19. package/dist/components/row-card/row-card-item.js +2 -2
  20. package/dist/components/row-card/row-card.js +2 -2
  21. package/dist/components/statistic-record-dialog/index.js +1 -1
  22. package/dist/components/types-dialog/index.js +7 -7
  23. package/dist/context.js +2 -2
  24. package/dist/services/map-json.js +4 -4
  25. package/dist/settings/basic-number-card/style-settings.js +1 -1
  26. package/dist/settings/index.js +3 -3
  27. package/dist/settings/map-settings/map-style-settings.js +1 -1
  28. package/dist/settings/stacks-settings/index.js +1 -1
  29. package/dist/settings/style-settings.js +1 -1
  30. package/dist/settings/table-settings/data-settings.js +1 -1
  31. package/dist/settings/trend-settings/style-setting.js +2 -2
  32. package/dist/settings/widgets/chart-type/index.js +3 -3
  33. package/dist/settings/widgets/date-summary-item.js +2 -2
  34. package/dist/settings/widgets/numeric-summary-item.js +2 -2
  35. package/dist/settings/widgets/summary-settings.js +2 -2
  36. package/dist/settings/widgets/switch/index.js +1 -1
  37. package/dist/settings/widgets/y-axis-group-settings.js +1 -1
  38. package/dist/utils/chart-utils/base-utils.js +7 -7
  39. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +1 -1
  40. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +2 -2
  41. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +1 -1
  42. package/dist/utils/chart-utils/sql-statistics-utils.js +9 -9
  43. package/dist/utils/collaborator-utils.js +1 -1
  44. package/dist/utils/collaborator.js +2 -2
  45. package/dist/utils/column-utils.js +12 -12
  46. package/dist/utils/common-utils.js +1 -1
  47. package/dist/utils/date-translate.js +1 -1
  48. package/dist/utils/object-utils.js +1 -1
  49. package/dist/utils/options-utils.js +2 -2
  50. package/dist/utils/row-record-utils.js +2 -2
  51. package/dist/utils/sql/chart-data-sql.js +58 -58
  52. package/dist/utils/sql/column-2-sql-column.js +18 -18
  53. package/dist/view/index.js +2 -5
  54. package/dist/view/title/index.js +2 -2
  55. package/dist/view/wrapper/bar-group.js +22 -31
  56. package/dist/view/wrapper/bar.js +168 -95
  57. package/dist/view/wrapper/basic-number-card.js +8 -8
  58. package/dist/view/wrapper/chart-component.js +17 -54
  59. package/dist/view/wrapper/index.js +2 -231
  60. package/dist/view/wrapper/table/index.js +1 -1
  61. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +3 -3
  62. package/dist/view/wrapper/table/pivot-table-display-name.js +1 -1
  63. package/dist/view/wrapper/table/two-dimension-table.js +8 -8
  64. package/dist/view/wrapper/table-element/components/formatter.js +2 -2
  65. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +1 -1
  66. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +17 -17
  67. package/dist/view/wrapper/table-element/components/link-formatter.js +17 -17
  68. package/dist/view/wrapper/table-element/components/record.js +3 -3
  69. package/dist/view/wrapper/table-element/components/records.js +4 -4
  70. package/dist/view/wrapper/table-element/components/utils.js +1 -1
  71. package/dist/view/wrapper/trend.js +18 -18
  72. package/package.json +5 -11
  73. package/dist/utils/custom-g2.js +0 -684
  74. package/dist/view/wrapper/area.js +0 -282
  75. package/dist/view/wrapper/bar-custom.js +0 -239
  76. package/dist/view/wrapper/combination.js +0 -728
  77. package/dist/view/wrapper/compare.js +0 -383
  78. package/dist/view/wrapper/completeness.js +0 -174
  79. package/dist/view/wrapper/dashboard.js +0 -179
  80. package/dist/view/wrapper/funnel.js +0 -206
  81. package/dist/view/wrapper/heat-map.js +0 -434
  82. package/dist/view/wrapper/horizontal-bar-group.js +0 -226
  83. package/dist/view/wrapper/horizontal-bar.js +0 -175
  84. package/dist/view/wrapper/horizontal-component.js +0 -89
  85. package/dist/view/wrapper/line-group.js +0 -219
  86. package/dist/view/wrapper/line.js +0 -222
  87. package/dist/view/wrapper/map.js +0 -368
  88. package/dist/view/wrapper/mirror.js +0 -218
  89. package/dist/view/wrapper/pie.js +0 -253
  90. package/dist/view/wrapper/ring.js +0 -328
  91. package/dist/view/wrapper/scatter.js +0 -140
  92. package/dist/view/wrapper/treemap.js +0 -206
  93. package/dist/view/wrapper/world-map.js +0 -413
  94. package/dist/view/wrapper/wrappers-d3/bar.js +0 -262
@@ -1,282 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _classnames = _interopRequireDefault(require("classnames"));
11
- var _constants = require("dtable-ui-component/lib/constants");
12
- var _constants2 = require("../../constants");
13
- var _intl = _interopRequireDefault(require("../../intl"));
14
- var _utils = require("../../utils");
15
- var _colorRules = require("../../constants/color-rules");
16
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
17
- class Area extends _chartComponent.default {
18
- constructor(props) {
19
- super(props);
20
- this.initChartType = () => {
21
- const {
22
- chart
23
- } = this.props;
24
- const {
25
- column_groupby_column_key,
26
- column_groupby_multiple_numeric_column
27
- } = chart.config;
28
- const isGroup = column_groupby_multiple_numeric_column || column_groupby_column_key;
29
- this.isGroupChart = chart.config.type.includes('group') && isGroup;
30
- };
31
- this.createChart = () => {
32
- const {
33
- chart
34
- } = this.props;
35
- const {
36
- y_axis_show_value
37
- } = chart.config;
38
- const appendPadding = [y_axis_show_value ? 17 : 0, 0, 0, 0];
39
- this.initChart(this.container, {
40
- appendPadding
41
- });
42
- this.chart.on('point:click', e => {
43
- this.props.toggleRecords(e.data.data);
44
- });
45
- };
46
- this.clearChart = () => {
47
- this.chart.annotation().clear(true);
48
- this.chart.clear(true);
49
- };
50
- this.drawChart = () => {
51
- let {
52
- result: data,
53
- customRender
54
- } = this.props;
55
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
56
- if (!Array.isArray(data)) return;
57
- if (this.isGroupChart) {
58
- this.chart.scale(this.groupName, {
59
- type: 'cat'
60
- });
61
- }
62
- this.loadData(data);
63
- this.draw(data);
64
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
65
- requestAnimationFrame(() => {
66
- this.chart.render();
67
- });
68
- };
69
- this.draw = data => {
70
- const {
71
- chart,
72
- summaryColumn,
73
- columnGroupbyColumn,
74
- globalTheme,
75
- customRender,
76
- chartColorTheme
77
- } = this.props;
78
- const theme = _constants2.CHART_THEME_COLOR[globalTheme];
79
- const {
80
- y_axis_summary_type,
81
- y_axis_summary_method,
82
- y_axis_label_color,
83
- line_type,
84
- y_axis_show_value,
85
- label_font_size,
86
- summary_columns = [],
87
- color_option,
88
- color_theme
89
- } = chart.config;
90
- const {
91
- display_goal_line,
92
- goal_label,
93
- goal_value
94
- } = chart.style_config || {};
95
- const chartWidth = this.chart.width - 6 - 10; // 10 is y-axis number width and 6 is gap between number and y axis line
96
-
97
- const newData = this.getChartGroupData(data);
98
- const isSmooth = line_type === _constants2.CHART_LINE_TYPES[1];
99
- const isMultipleSummary = summary_columns && summary_columns.length;
100
- const isAreaGroup = chart.config.type === _constants2.CHART_TYPE.AREA_GROUP;
101
- const useSingleSelectColumnColor = (columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _constants.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
102
- let chartBarColor;
103
- let colorCallBack = null;
104
- if (this.isGroupChart) {
105
- useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
106
- chartBarColor = this.groupName;
107
- colorCallBack = group_name => {
108
- return this.colorMap[group_name];
109
- };
110
- this.drawLabels(newData);
111
- } else {
112
- // default color
113
- chartBarColor = _constants2.CHART_STYLE_COLORS[0];
114
- // use theme color has higher priority
115
- if (chartColorTheme) {
116
- chartBarColor = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
117
- }
118
- // use specific color has higher priority then theme color
119
- if (color_option === _constants2.TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
120
- chartBarColor = y_axis_label_color;
121
- }
122
- this.drawLabels(newData);
123
- }
124
- const title = this.getTitle(this.props.tables, chart.config.table_id, y_axis_summary_type, chart.config.y_axis_column_key || chart.config.y_axis_summary_column_key);
125
-
126
- // set Coord type
127
- this.chart.coordinate('rect');
128
- this.autoAdjustDataOptions(chart, data, summaryColumn);
129
-
130
- // if area group
131
- if (this.isGroupChart) {
132
- this.chart.scale({
133
- group_name: {
134
- type: 'cat'
135
- }
136
- });
137
- }
138
-
139
- // line
140
- const line = this.chart.line().label(y_axis_show_value ? 'value' : false, {
141
- style: {
142
- fontSize: _utils.BaseUtils.getLabelFontSize(label_font_size),
143
- fill: theme.labelColor,
144
- ...this.labelStroke
145
- }
146
- }).position('name*value').animate({
147
- appear: {
148
- animation: 'fadeIn',
149
- duration: 1000,
150
- easing: 'easeLinear'
151
- }
152
- }).color(chartBarColor, colorCallBack).shape(isSmooth ? 'smooth' : 'line').tooltip(false).style({
153
- lineWidth: 2,
154
- opacity: 1
155
- });
156
- const area = this.chart.area().position('name*value').animate({
157
- appear: {
158
- animation: 'fadeIn',
159
- duration: 1000,
160
- easing: 'easeLinear'
161
- }
162
- }).shape(isSmooth ? 'smooth' : 'area').color(chartBarColor, colorCallBack).tooltip('group_name*name*value', (group_name, name, value) => {
163
- return {
164
- title: isAreaGroup && isMultipleSummary ? !name && typeof name !== 'number' ? _intl.default.get('Empty') : name : title,
165
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, value, y_axis_summary_method),
166
- name: isAreaGroup && isMultipleSummary ? !group_name && typeof group_name !== 'number' ? _intl.default.get(_constants2.EMPTY_NAME) : group_name : name
167
- };
168
- }).style({
169
- fillOpacity: 0.3
170
- });
171
-
172
- // point
173
- let point;
174
- point = this.chart.point().animate({
175
- appear: {
176
- animation: 'fadeIn',
177
- duration: 1000,
178
- easing: 'easeLinear'
179
- }
180
- }).position('name*value').color(chartBarColor, colorCallBack).shape('circle').size(4).style({
181
- stroke: 0,
182
- fillOpacity: 1,
183
- opacity: y_axis_show_value ? 1 : 0
184
- }).tooltip(false);
185
- this.chart.on('tooltip:show', () => {
186
- if (line.styleOption.cfg.opacity === 0.3) return;
187
- line.style({
188
- opacity: 0.3,
189
- lineWidth: 2
190
- });
191
- area.style({
192
- fillOpacity: 0.1
193
- });
194
- if (point) point.style({
195
- fillOpacity: 0.3,
196
- stroke: 0,
197
- opacity: 1
198
- });
199
- this.chart.render();
200
- });
201
- this.chart.on('tooltip:hide', () => {
202
- if (line.styleOption.cfg.opacity === 1) return;
203
- line.style({
204
- opacity: 1,
205
- lineWidth: 2
206
- });
207
- area.style({
208
- fillOpacity: 0.3
209
- });
210
- if (point) point.style({
211
- fillOpacity: 1,
212
- stroke: 0,
213
- opacity: 0
214
- });
215
- this.chart.render();
216
- });
217
- if (display_goal_line && goal_label && goal_value) {
218
- this.setDispalyGoalLine(goal_label, goal_value, chartWidth);
219
- }
220
- this.setToolTipForArea();
221
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
222
- this.setNameLabelAndTooltip(theme, this.labelCount);
223
- this.setValueLabel(theme);
224
- if (this.isGroupChart) {
225
- this.setLegend(this.groupName, theme, 'top-right');
226
- }
227
- };
228
- this.chart = null;
229
- this.groupName = 'group_name';
230
- this.isGroupChart = false;
231
- this.needRenderAxisLabel = true;
232
- }
233
- componentDidMount() {
234
- this.initChartType();
235
- this.createChart();
236
- this.drawChart();
237
- this.renderAxisLabel(this.props.chart, this.props.tables);
238
- super.componentDidMount();
239
- }
240
- componentDidUpdate(prevProps) {
241
- super.componentDidUpdate(prevProps);
242
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
243
- var _this$chart;
244
- this.initChartType();
245
- ((_this$chart = this.chart) === null || _this$chart === void 0 ? void 0 : _this$chart.autoPadding) && this.chart.destroy();
246
- this.createChart();
247
- this.drawChart();
248
- this.renderAxisLabel(prevProps.chart, prevProps.tables);
249
- }
250
- }
251
- componentWillUnmount() {
252
- var _this$chart2;
253
- ((_this$chart2 = this.chart) === null || _this$chart2 === void 0 ? void 0 : _this$chart2.autoPadding) && this.chart.destroy();
254
- super.componentWillUnmount();
255
- }
256
- render() {
257
- const {
258
- chart
259
- } = this.props;
260
- return /*#__PURE__*/_react.default.createElement("div", {
261
- className: (0, _classnames.default)('sea-chart-container', {
262
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
263
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
264
- }),
265
- ref: ref => this.container = ref
266
- });
267
- }
268
- }
269
- Area.propTypes = {
270
- canvasStyle: _propTypes.default.object,
271
- chart: _propTypes.default.object,
272
- groupbyColumn: _propTypes.default.object,
273
- columnGroupbyColumn: _propTypes.default.object,
274
- summaryColumn: _propTypes.default.object,
275
- result: _propTypes.default.array,
276
- tables: _propTypes.default.array,
277
- globalTheme: _propTypes.default.string,
278
- chartColorTheme: _propTypes.default.string,
279
- toggleRecords: _propTypes.default.func,
280
- customRender: _propTypes.default.func
281
- };
282
- var _default = exports.default = Area;
@@ -1,239 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- Object.defineProperty(exports, "__esModule", {
5
- value: true
6
- });
7
- exports.default = void 0;
8
- var _react = _interopRequireDefault(require("react"));
9
- var _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _dataSet = _interopRequireDefault(require("@antv/data-set"));
11
- var _lodashEs = require("lodash-es");
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _intl = _interopRequireDefault(require("../../intl"));
14
- var _chartUtils = require("../../utils/chart-utils");
15
- var _constants = require("../../constants");
16
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
17
- class BarCustom extends _chartComponent.default {
18
- constructor(props) {
19
- super(props);
20
- this.handleResize = (0, _lodashEs.debounce)(() => {
21
- this.chart && this.chart.destroy();
22
- this.createChart();
23
- this.drawChart();
24
- }, 300);
25
- this.createChart = () => {
26
- const {
27
- chart
28
- } = this.props;
29
- const {
30
- y_axis_show_value
31
- } = chart.config;
32
- const appendPadding = [y_axis_show_value ? 17 : 0, 0, 0, 0]; // used to display value on the top
33
- this.initChart(this.container, {
34
- appendPadding
35
- });
36
- this.chart.on('interval:click', e => {
37
- this.props.toggleRecords(e.data.data);
38
- });
39
- };
40
- this.clearChart = () => {
41
- this.chart.annotation().clear(true);
42
- this.chart.clear(true);
43
- };
44
- this.drawChart = () => {
45
- let {
46
- result: data
47
- } = this.props;
48
- data = _chartUtils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
49
- if (!Array.isArray(data)) return;
50
- this.loadData(data);
51
- this.draw(data);
52
- requestAnimationFrame(() => {
53
- this.chart.render();
54
- this.renderAxisLabel(this.props.chart, this.props.tables);
55
- });
56
- };
57
- this.organizeData = data => {
58
- const dataMap = {};
59
- // values is not 0
60
- data.forEach(item => {
61
- // name
62
- if (!dataMap[item.name]) {
63
- item.isFirst = 1;
64
- dataMap[item.name] = {
65
- [item.y_axis_type]: [item]
66
- };
67
- } else {
68
- // same name but different y_axis_type
69
- if (!dataMap[item.name][item.y_axis_type]) {
70
- item.isFirst = 1;
71
- dataMap[item.name][item.y_axis_type] = [item];
72
- } else {
73
- item.isFirst = 0;
74
- dataMap[item.name][item.y_axis_type].push(item);
75
- }
76
- }
77
- });
78
- return dataMap;
79
- };
80
- this.draw = data => {
81
- const {
82
- chart,
83
- globalTheme,
84
- chartColorTheme
85
- } = this.props;
86
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
87
- const {
88
- label_font_size,
89
- display_each_block_data
90
- } = chart.config;
91
- const {
92
- display_goal_line,
93
- goal_value,
94
- goal_label
95
- } = chart.style_config || {};
96
- const displayData = display_each_block_data;
97
- this.chart.scale('group_name', {
98
- type: 'cat'
99
- });
100
- const organizedData = this.organizeData(data);
101
- const chartWidth = this.chart.width;
102
- // item nums in a group
103
- const groupCountSums = Object.entries(organizedData).map(_ref => {
104
- let [name, group] = _ref;
105
- const groupCount = Object.keys(group).length;
106
- return [name, groupCount];
107
- });
108
- // e.g. [ 'a', 3], name "a" has 3 different y_axis_type
109
- const mostCommonCountGroup = (0, _lodashEs.maxBy)(groupCountSums, 1)[1];
110
- const singleBarWidth = Math.round(chartWidth / (2 * groupCountSums.length * mostCommonCountGroup));
111
- // borderRadius of each bar is designed to be 1/5 of singleBarWidth
112
- const singleBarRadius = Math.min(singleBarWidth / 5, 10);
113
- this.drawLabels(data);
114
-
115
- // set Coord type
116
- this.chart.coordinate('rect');
117
- this.chart.scale({
118
- // Set the type of the name column so that g2 can draw correctly
119
- name: {
120
- type: 'cat'
121
- }
122
- });
123
-
124
- // get the total value of each stack
125
- const dv = new _dataSet.default.DataView().source(data);
126
- dv.transform({
127
- type: 'aggregate',
128
- fields: ['value'],
129
- operations: ['sum'],
130
- as: ['value_sum'],
131
- groupBy: ['name', 'y_axis_type']
132
- });
133
- this.chart.scale({
134
- group_name: {
135
- type: 'cat'
136
- }
137
- });
138
- let labelCfg = {
139
- style: {
140
- fontSize: _chartUtils.BaseUtils.getLabelFontSize(label_font_size),
141
- fill: theme.labelColor,
142
- stroke: '#fff',
143
- lineWidth: 1
144
- }
145
- };
146
- if (displayData) {
147
- labelCfg.position = 'middle';
148
- }
149
- this.chart.interval().label(displayData ? 'formatted_value' : false, labelCfg).position('name*value').color('group_name', _chartUtils.BaseUtils.getCurrentTheme(chartColorTheme).colors).size(singleBarWidth).tooltip('name*formatted_value*group_name*raw_name', (name, value, group_name, raw_name) => {
150
- let nameContent = group_name;
151
- if (!group_name && typeof group_name !== 'number') {
152
- nameContent = _intl.default.get(_constants.EMPTY_NAME);
153
- }
154
- const title = !name && typeof name !== 'number' ? _intl.default.get(_constants.EMPTY_NAME) : name;
155
- return {
156
- value,
157
- title,
158
- name: nameContent
159
- };
160
- }).adjust([{
161
- type: 'dodge',
162
- dodgeBy: 'y_axis_type',
163
- // width bewteen bars is designed to be 1/3 of singleBarWidth
164
- dodgePadding: singleBarWidth / 3
165
- }, {
166
- type: 'stack'
167
- }]).state({
168
- active: {
169
- style: {
170
- stroke: null
171
- }
172
- }
173
- }).style('isFirst', isFirst => {
174
- if (isFirst) {
175
- return {
176
- radius: [singleBarRadius, singleBarRadius, 0, 0]
177
- };
178
- } else {
179
- return {
180
- radius: [0, 0, 0, 0]
181
- };
182
- }
183
- });
184
- if (display_goal_line && goal_label && goal_value) {
185
- this.setDispalyGoalLine(goal_label, goal_value, chartWidth);
186
- }
187
- this.setToolTip();
188
- this.setNameLabelAndTooltip(theme, this.labelCount);
189
- this.setValueLabel(theme);
190
- this.setLegend('group_name', theme, 'top-right');
191
- this.chart.interaction('element-highlight');
192
- };
193
- this.chart = null;
194
- }
195
- componentDidMount() {
196
- this.createChart();
197
- this.drawChart();
198
- window.addEventListener('resize', this.handleResize);
199
- }
200
- componentDidUpdate(prevProps) {
201
- super.componentDidUpdate(prevProps);
202
- if (_chartUtils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
203
- var _this$chart;
204
- ((_this$chart = this.chart) === null || _this$chart === void 0 ? void 0 : _this$chart.autoPadding) && this.chart.destroy();
205
- this.createChart();
206
- this.drawChart();
207
- }
208
- }
209
- componentWillUnmount() {
210
- var _this$chart2;
211
- ((_this$chart2 = this.chart) === null || _this$chart2 === void 0 ? void 0 : _this$chart2.autoPadding) && this.chart.destroy();
212
- window.removeEventListener('resize', this.handleResize);
213
- }
214
- render() {
215
- const {
216
- chart
217
- } = this.props;
218
- return /*#__PURE__*/_react.default.createElement("div", {
219
- className: (0, _classnames.default)('sea-chart-container', {
220
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
221
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
222
- }),
223
- ref: ref => this.container = ref
224
- });
225
- }
226
- }
227
- BarCustom.propTypes = {
228
- canvasStyle: _propTypes.default.object,
229
- chart: _propTypes.default.object,
230
- groupbyColumn: _propTypes.default.object,
231
- columnGroupbyColumn: _propTypes.default.object,
232
- summaryColumn: _propTypes.default.object,
233
- result: _propTypes.default.array,
234
- tables: _propTypes.default.array,
235
- globalTheme: _propTypes.default.string,
236
- chartColorTheme: _propTypes.default.string,
237
- toggleRecords: _propTypes.default.func
238
- };
239
- var _default = exports.default = BarCustom;