dtable-statistic 4.2.2 → 4.3.0

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 (219) hide show
  1. package/es/api/dtable-db-api.js +31 -37
  2. package/es/calculator/base-calculator.js +49 -99
  3. package/es/calculator/basic-chart-calculator.js +335 -559
  4. package/es/calculator/combination-calculator.js +231 -299
  5. package/es/calculator/compare-bar-calculator.js +184 -281
  6. package/es/calculator/completeness-calculator.js +203 -288
  7. package/es/calculator/copy-value.js +18 -18
  8. package/es/calculator/dashboard-calculator.js +68 -137
  9. package/es/calculator/heat-map-calculator.js +139 -220
  10. package/es/calculator/horizontal-bar-calculator.js +64 -93
  11. package/es/calculator/index.js +53 -69
  12. package/es/calculator/map-calculator.js +98 -174
  13. package/es/calculator/mirror-calculator.js +137 -216
  14. package/es/calculator/number-card-calculator.js +58 -126
  15. package/es/calculator/pivot-table-calculator.js +750 -792
  16. package/es/calculator/scatter-calculator.js +72 -140
  17. package/es/calculator/thread-manager.js +48 -67
  18. package/es/calculator/trend-calculator.js +107 -191
  19. package/es/calculator/workers/basic-chart-calculator-worker.js +194 -165
  20. package/es/calculator/workers/calculator.worker.js +22 -6
  21. package/es/calculator/workers/card-calculator-worker.js +16 -14
  22. package/es/calculator/workers/combination-calculator-worker.js +128 -135
  23. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +80 -96
  24. package/es/calculator/workers/completeness-calculator-worker.js +56 -49
  25. package/es/calculator/workers/dashboard-calculator-worker.js +24 -22
  26. package/es/calculator/workers/mirror-calculator-worker.js +52 -52
  27. package/es/calculator/workers/pivot-table-calculator-worker.js +247 -230
  28. package/es/calculator/workers/scatter-calculator-worker.js +34 -32
  29. package/es/calculator/workers/trend-calculator-worker.js +33 -29
  30. package/es/calculator/world-map-calculator.js +120 -197
  31. package/es/components/common-add-tool.js +7 -5
  32. package/es/components/dialog/chart-addition-edit-dialog.js +67 -77
  33. package/es/components/dialog/chart-addition-widgets/chart-selector.js +57 -67
  34. package/es/components/dialog/color-theme-dialog.js +34 -47
  35. package/es/components/dialog/delete-confirmation-dialog.js +7 -5
  36. package/es/components/dialog/enlarged-chart-dialog.js +68 -81
  37. package/es/components/dialog/new-table-dialog.js +62 -80
  38. package/es/components/dialog/new-view-dialog.js +50 -62
  39. package/es/components/dialog/rename-view-dialog.js +49 -58
  40. package/es/components/dialog/statistic-record-dialog/index.js +233 -231
  41. package/es/components/dialog/statistic-types-dialog/index.js +40 -49
  42. package/es/components/dialog/table-select-dialog.js +61 -70
  43. package/es/components/dropdown-menu/statistic-dropdown-menu.js +129 -142
  44. package/es/components/dtable-popover.js +62 -81
  45. package/es/components/dtable-search-input.js +89 -99
  46. package/es/components/dtable-select.js +55 -74
  47. package/es/components/icon.js +5 -3
  48. package/es/components/loading.js +1 -1
  49. package/es/components/modal-portal.js +15 -32
  50. package/es/components/popover/color-rules/color-rule.js +137 -141
  51. package/es/components/popover/color-rules/index.js +58 -66
  52. package/es/components/popover/color-rules/rule-filters/filter.js +124 -124
  53. package/es/components/popover/color-rules/rule-filters/index.js +50 -58
  54. package/es/components/popover/color-rules/rule-filters/number-input.js +42 -57
  55. package/es/components/popover/color-rules-popover.js +117 -121
  56. package/es/components/popover/color-selector-popover.js +60 -70
  57. package/es/components/seatable-radio/index.js +2 -2
  58. package/es/components/select/option-group.js +139 -157
  59. package/es/components/select/option.js +26 -40
  60. package/es/components/select/select.js +97 -112
  61. package/es/components/toast/alert.js +65 -80
  62. package/es/components/toast/index.js +1 -1
  63. package/es/components/toast/toast.js +76 -103
  64. package/es/components/toast/toastManager.js +57 -93
  65. package/es/components/toast/toaster.js +58 -56
  66. package/es/constants/color-rules.js +8 -5
  67. package/es/constants/dtable-select-style.js +44 -48
  68. package/es/constants/event-types.js +4 -4
  69. package/es/constants/index.js +328 -242
  70. package/es/constants/map.js +2 -2
  71. package/es/constants/model.js +20 -20
  72. package/es/constants/regions.js +1 -1
  73. package/es/constants/zIndexes.js +1 -1
  74. package/es/custom-g2.js +11 -11
  75. package/es/dashboard.js +343 -333
  76. package/es/desktop-dashboard.js +217 -224
  77. package/es/index.js +45 -58
  78. package/es/locale/index.js +3 -3
  79. package/es/locale/lang/de.js +1 -1
  80. package/es/locale/lang/en.js +7 -7
  81. package/es/locale/lang/fr.js +1 -1
  82. package/es/locale/lang/zh_CN.js +1 -1
  83. package/es/mobile-dashboard.js +76 -89
  84. package/es/model/bar-group.js +34 -44
  85. package/es/model/bar.js +26 -36
  86. package/es/model/base-model.js +11 -12
  87. package/es/model/basic-number-card.js +10 -20
  88. package/es/model/collaborators.js +10 -11
  89. package/es/model/combination.js +32 -42
  90. package/es/model/compare-bar.js +30 -40
  91. package/es/model/completeness-group.js +19 -29
  92. package/es/model/completeness.js +14 -24
  93. package/es/model/custom-bar.js +14 -24
  94. package/es/model/dashboard.js +9 -19
  95. package/es/model/generic-model.js +187 -197
  96. package/es/model/heat-map.js +16 -26
  97. package/es/model/horizontal-bar-group.js +32 -42
  98. package/es/model/horizontal-bar.js +26 -36
  99. package/es/model/index.js +31 -3
  100. package/es/model/map.js +20 -30
  101. package/es/model/mirror.js +15 -25
  102. package/es/model/pie.js +21 -31
  103. package/es/model/ring.js +23 -33
  104. package/es/model/scatter.js +11 -21
  105. package/es/model/statistic-dashboard.js +7 -8
  106. package/es/model/table.js +19 -29
  107. package/es/model/trend.js +15 -25
  108. package/es/model/world-map.js +17 -27
  109. package/es/service/chart-service.js +69 -65
  110. package/es/service/dashboard-service.js +421 -419
  111. package/es/service/map-json.js +112 -132
  112. package/es/stat-editor/chart-name-editor.js +44 -58
  113. package/es/stat-editor/index.js +59 -70
  114. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +93 -98
  115. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +246 -248
  116. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +127 -126
  117. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +5 -3
  118. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +78 -90
  119. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +146 -150
  120. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +88 -98
  121. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +100 -118
  122. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +161 -148
  123. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +58 -66
  124. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +58 -60
  125. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +152 -148
  126. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +101 -105
  127. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +81 -91
  128. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +110 -122
  129. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +101 -113
  130. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +130 -120
  131. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +88 -102
  132. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +88 -102
  133. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +200 -194
  134. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +98 -110
  135. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +106 -118
  136. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +212 -223
  137. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +109 -119
  138. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +329 -319
  139. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +82 -90
  140. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +58 -65
  141. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +126 -116
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +201 -182
  143. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +79 -79
  144. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +196 -175
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +35 -50
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +180 -147
  147. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +31 -40
  148. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +56 -67
  149. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +60 -69
  150. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +165 -158
  151. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +61 -74
  152. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +199 -193
  153. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +25 -38
  154. package/es/stat-editor/stat-settings/color-setting/color-picker.js +79 -86
  155. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +138 -120
  156. package/es/stat-editor/stat-settings/map/map-level.js +31 -43
  157. package/es/stat-editor/stat-settings/map/map-province-city.js +82 -83
  158. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +48 -50
  159. package/es/stat-editor/stat-settings/public-setting/base-settings.js +96 -96
  160. package/es/stat-editor/stat-settings/public-setting/calender.js +69 -75
  161. package/es/stat-editor/stat-settings/public-setting/column-settings.js +5 -3
  162. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +36 -41
  163. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +37 -41
  164. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +25 -38
  165. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +40 -52
  166. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +90 -93
  167. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +23 -36
  168. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +39 -44
  169. package/es/stat-list/chart-preview.js +85 -98
  170. package/es/stat-list/index.js +170 -178
  171. package/es/stat-view/area-chart.js +282 -274
  172. package/es/stat-view/bar-chart.js +300 -292
  173. package/es/stat-view/base-chart.js +58 -52
  174. package/es/stat-view/basic-number-card.js +115 -168
  175. package/es/stat-view/combination-chart.js +298 -334
  176. package/es/stat-view/compare-chart.js +256 -254
  177. package/es/stat-view/completeness-chart.js +194 -206
  178. package/es/stat-view/custom-bar.js +221 -223
  179. package/es/stat-view/dashboard-chart.js +122 -180
  180. package/es/stat-view/heat-map.js +268 -294
  181. package/es/stat-view/horizontal-bar-chart.js +291 -281
  182. package/es/stat-view/index.js +136 -152
  183. package/es/stat-view/line-chart.js +267 -265
  184. package/es/stat-view/map.js +246 -246
  185. package/es/stat-view/mirror.js +141 -152
  186. package/es/stat-view/pie-chart.js +143 -156
  187. package/es/stat-view/pivot-table/index.js +113 -118
  188. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +104 -102
  189. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +116 -118
  190. package/es/stat-view/pivot-table/pivot-table-display-name.js +96 -95
  191. package/es/stat-view/pivot-table/two-dimension-table.js +238 -229
  192. package/es/stat-view/ring-chart.js +189 -200
  193. package/es/stat-view/scatter-chart.js +162 -213
  194. package/es/stat-view/treemap-chart.js +136 -200
  195. package/es/stat-view/trend-chart.js +137 -183
  196. package/es/stat-view/world-map.js +233 -243
  197. package/es/tabs/index.js +164 -169
  198. package/es/tabs/tab.js +101 -116
  199. package/es/utils/basic-chart-utils.js +7 -9
  200. package/es/utils/cell-format.js +48 -51
  201. package/es/utils/cell-value.js +1 -1
  202. package/es/utils/collaborator.js +15 -14
  203. package/es/utils/color-utils.js +48 -37
  204. package/es/utils/column-utils.js +47 -33
  205. package/es/utils/column.js +1 -1
  206. package/es/utils/common-utils.js +111 -117
  207. package/es/utils/date-format.js +17 -17
  208. package/es/utils/export-table-utils.js +507 -396
  209. package/es/utils/index.js +6 -6
  210. package/es/utils/map.js +30 -34
  211. package/es/utils/model.js +3 -5
  212. package/es/utils/object.js +4 -4
  213. package/es/utils/pivot-table.js +20 -20
  214. package/es/utils/row-utils.js +41 -33
  215. package/es/utils/search.js +18 -20
  216. package/es/utils/sql-utils.js +132 -98
  217. package/es/utils/stat-utils.js +303 -320
  218. package/es/utils/trend-utils.js +57 -67
  219. package/package.json +2 -2
@@ -1,9 +1,3 @@
1
- import _regeneratorRuntime from "@babel/runtime/regenerator";
2
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
3
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
4
- import _createClass from "@babel/runtime/helpers/esm/createClass";
5
- import _inherits from "@babel/runtime/helpers/esm/inherits";
6
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
7
1
  import React from 'react';
8
2
  import PropTypes from 'prop-types';
9
3
  import intl from 'react-intl-universal';
@@ -12,7 +6,7 @@ import BaseChart from './base-chart';
12
6
  import { Chart } from '../custom-g2';
13
7
  import { getCurrentTheme } from '../utils/common-utils';
14
8
  import { DEFAULT_NUMBER_FORMAT_OBJECT, EMPTY_NAME, LABEL_COLORS, STATISTICS_COUNT_SHOW, LABEL_CONFIG_CHANGED, SUMMARY_TYPE, TITLE_AMOUNT, LEGEND_LEFT, LEGEND_RIGHT } from '../constants';
15
- var propTypes = {
9
+ const propTypes = {
16
10
  isPreview: PropTypes.bool,
17
11
  isEdit: PropTypes.bool,
18
12
  theme: PropTypes.string,
@@ -23,147 +17,104 @@ var propTypes = {
23
17
  getTableById: PropTypes.func,
24
18
  toggleStatisticRecordsDialog: PropTypes.func
25
19
  };
26
- var CombinationChart = /*#__PURE__*/function (_BaseChart) {
27
- _inherits(CombinationChart, _BaseChart);
28
- var _super = _createSuper(CombinationChart);
29
- function CombinationChart(props) {
30
- var _this;
31
- _classCallCheck(this, CombinationChart);
32
- _this = _super.call(this, props);
33
- _this.componentDidMount = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
34
- var _this$props, statItem, chartCalculator, eventBus, data, showResultDescription;
35
- return _regeneratorRuntime.wrap(function _callee$(_context) {
36
- while (1) {
37
- switch (_context.prev = _context.next) {
38
- case 0:
39
- _this$props = _this.props, statItem = _this$props.statItem, chartCalculator = _this$props.chartCalculator, eventBus = _this$props.eventBus;
40
- _this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, function (newStatItem) {
41
- _this.renderAxisLabel(newStatItem);
42
- });
43
- if (_this.container) {
44
- _context.next = 4;
45
- break;
46
- }
47
- return _context.abrupt("return");
48
- case 4:
49
- _context.next = 6;
50
- return chartCalculator.calculate(statItem);
51
- case 6:
52
- data = _context.sent;
53
- showResultDescription = data.length > 0 ? false : true;
54
- _this.setState({
55
- isCalculatingData: false,
56
- showResultDescription: showResultDescription
57
- }, function () {
58
- if (!showResultDescription) {
59
- _this.drawChart(data);
60
- _this.calculateData = data;
61
- }
62
- });
63
- case 9:
64
- case "end":
65
- return _context.stop();
66
- }
20
+ class CombinationChart extends BaseChart {
21
+ constructor(props) {
22
+ super(props);
23
+ this.componentDidMount = async () => {
24
+ const {
25
+ statItem,
26
+ chartCalculator,
27
+ eventBus
28
+ } = this.props;
29
+ this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, newStatItem => {
30
+ this.renderAxisLabel(newStatItem);
31
+ });
32
+ if (!this.container) return;
33
+ const data = await chartCalculator.calculate(statItem);
34
+ let showResultDescription = data.length > 0 ? false : true;
35
+ this.setState({
36
+ isCalculatingData: false,
37
+ showResultDescription
38
+ }, () => {
39
+ if (!showResultDescription) {
40
+ this.drawChart(data);
41
+ this.calculateData = data;
67
42
  }
68
- }, _callee);
69
- }));
70
- _this.componentDidUpdate = /*#__PURE__*/function () {
71
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(preProps, preState) {
72
- var _this$props2, statItem, chartCalculator, isCalculatingData, data, showResultDescription;
73
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
74
- while (1) {
75
- switch (_context2.prev = _context2.next) {
76
- case 0:
77
- _this$props2 = _this.props, statItem = _this$props2.statItem, chartCalculator = _this$props2.chartCalculator;
78
- isCalculatingData = _this.state.isCalculatingData;
79
- if (!(isCalculatingData !== preState.isCalculatingData)) {
80
- _context2.next = 4;
81
- break;
82
- }
83
- return _context2.abrupt("return");
84
- case 4:
85
- if (!_this.shouldCalculateStatItem(preProps, _this.props)) {
86
- _context2.next = 16;
87
- break;
88
- }
89
- _this.setState({
90
- isCalculatingData: true
91
- });
92
- if (!_this.container) {
93
- _context2.next = 14;
94
- break;
95
- }
96
- _context2.next = 9;
97
- return chartCalculator.calculate(statItem);
98
- case 9:
99
- data = _context2.sent;
100
- showResultDescription = data.length > 0 ? false : true;
101
- _this.chart && _this.destroyChart();
102
- _this.calculateData = data;
103
- _this.setState({
104
- isCalculatingData: false,
105
- showResultDescription: showResultDescription
106
- }, function () {
107
- if (!showResultDescription) {
108
- _this.drawChart(data);
109
- if (_this.props.isPreview) _this.chart.forceFit();
110
- }
111
- });
112
- case 14:
113
- _context2.next = 17;
114
- break;
115
- case 16:
116
- if (!_this.state.showResultDescription) {
117
- _this.chart && _this.destroyChart();
118
- _this.drawChart(_this.calculateData);
119
- if (_this.props.isPreview) {
120
- _this.chart.forceFit();
121
- }
122
- }
123
- case 17:
124
- case "end":
125
- return _context2.stop();
43
+ });
44
+ };
45
+ this.componentDidUpdate = async (preProps, preState) => {
46
+ const {
47
+ statItem,
48
+ chartCalculator
49
+ } = this.props;
50
+ const {
51
+ isCalculatingData
52
+ } = this.state;
53
+ if (isCalculatingData !== preState.isCalculatingData) return;
54
+ if (this.shouldCalculateStatItem(preProps, this.props)) {
55
+ this.setState({
56
+ isCalculatingData: true
57
+ });
58
+ if (this.container) {
59
+ const data = await chartCalculator.calculate(statItem);
60
+ const showResultDescription = data.length > 0 ? false : true;
61
+ this.chart && this.destroyChart();
62
+ this.calculateData = data;
63
+ this.setState({
64
+ isCalculatingData: false,
65
+ showResultDescription
66
+ }, () => {
67
+ if (!showResultDescription) {
68
+ this.drawChart(data);
69
+ if (this.props.isPreview) this.chart.forceFit();
126
70
  }
71
+ });
72
+ }
73
+ } else {
74
+ if (!this.state.showResultDescription) {
75
+ this.chart && this.destroyChart();
76
+ this.drawChart(this.calculateData);
77
+ if (this.props.isPreview) {
78
+ this.chart.forceFit();
127
79
  }
128
- }, _callee2);
129
- }));
130
- return function (_x, _x2) {
131
- return _ref2.apply(this, arguments);
132
- };
133
- }();
134
- _this.renderAxisLabel = function (newStatItem) {
135
- var _this$props3 = _this.props,
136
- getTableById = _this$props3.getTableById,
137
- statItem = _this$props3.statItem;
80
+ }
81
+ }
82
+ };
83
+ this.renderAxisLabel = newStatItem => {
84
+ let {
85
+ getTableById,
86
+ statItem
87
+ } = this.props;
138
88
  if (newStatItem && newStatItem._id !== statItem._id) {
139
89
  return;
140
90
  }
141
- if (!_this.chart) return;
91
+ if (!this.chart) return;
142
92
  statItem = newStatItem || statItem;
143
- var _statItem = statItem,
144
- table_id = _statItem.table_id,
145
- x_axis_column_key = _statItem.x_axis_column_key,
146
- show_y_axis_left_label = _statItem.show_y_axis_left_label,
147
- show_y_axis_right_label = _statItem.show_y_axis_right_label,
148
- show_x_axis_label = _statItem.show_x_axis_label,
149
- y_axis_left_label_position = _statItem.y_axis_left_label_position,
150
- y_axis_right_label_position = _statItem.y_axis_right_label_position,
151
- y_axis_left_summary_column = _statItem.y_axis_left_summary_column,
152
- y_axis_right_summary_column = _statItem.y_axis_right_summary_column,
153
- x_axis_label_position = _statItem.x_axis_label_position,
154
- y_axis_left_summary_method = _statItem.y_axis_left_summary_method,
155
- y_axis_right_summary_method = _statItem.y_axis_right_summary_method;
156
- var table = getTableById(table_id);
157
- var autoPadding = _this.chart.autoPadding;
158
- var themeColors = _this.getThemeColors();
159
- var xAxisID = "chart-x-axis-label_".concat(statItem._id);
160
- var chartContainer = _this.chart.getCanvas().get('container');
161
- var xLabel = chartContainer.querySelector("#".concat(xAxisID));
93
+ const {
94
+ table_id,
95
+ x_axis_column_key,
96
+ show_y_axis_left_label,
97
+ show_y_axis_right_label,
98
+ show_x_axis_label,
99
+ y_axis_left_label_position,
100
+ y_axis_right_label_position,
101
+ y_axis_left_summary_column,
102
+ y_axis_right_summary_column,
103
+ x_axis_label_position,
104
+ y_axis_left_summary_method,
105
+ y_axis_right_summary_method
106
+ } = statItem;
107
+ const table = getTableById(table_id);
108
+ const autoPadding = this.chart.autoPadding;
109
+ const themeColors = this.getThemeColors();
110
+ const xAxisID = "chart-x-axis-label_".concat(statItem._id);
111
+ const chartContainer = this.chart.getCanvas().get('container');
112
+ const xLabel = chartContainer.querySelector("#".concat(xAxisID));
162
113
  if (!xLabel && show_x_axis_label) {
163
- var div = document.createElement('div');
114
+ const div = document.createElement('div');
164
115
  div.id = xAxisID;
165
116
  div.className = 'statistic-chart-axis-label';
166
- var column = TableUtils.getTableColumnByKey(table, x_axis_column_key);
117
+ const column = TableUtils.getTableColumnByKey(table, x_axis_column_key);
167
118
  div.innerHTML = "".concat(column ? column.name : '');
168
119
  div.setAttribute('style', "color:".concat(themeColors.textColor, "; width: 100%; padding-left: ").concat(autoPadding.left, "px; text-align: ").concat(x_axis_label_position, "; bottom: -20px"));
169
120
  chartContainer.appendChild(div);
@@ -174,102 +125,108 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
174
125
  if (xLabel && !show_x_axis_label) {
175
126
  xLabel.parentNode.removeChild(xLabel);
176
127
  }
177
- var yAxisLeftID = "chart-y-axis-left-label_".concat(statItem._id);
178
- var yAxisLeftLabel = chartContainer.querySelector("#".concat(yAxisLeftID));
128
+ const yAxisLeftID = "chart-y-axis-left-label_".concat(statItem._id);
129
+ const yAxisLeftLabel = chartContainer.querySelector("#".concat(yAxisLeftID));
179
130
  if (!yAxisLeftLabel && show_y_axis_left_label) {
180
- var _div = document.createElement('div');
181
- _div.id = yAxisLeftID;
182
- _div.className = 'statistic-chart-axis-label';
183
- var yAxisColumn = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column);
184
- var labeContent = yAxisColumn ? intl.get(STATISTICS_COUNT_SHOW[y_axis_left_summary_method]) : intl.get(STATISTICS_COUNT_SHOW.count);
185
- _div.innerHTML = labeContent;
186
- var containerHeight = chartContainer.offsetHeight;
187
- var textAlign = 'center';
131
+ const div = document.createElement('div');
132
+ div.id = yAxisLeftID;
133
+ div.className = 'statistic-chart-axis-label';
134
+ const yAxisColumn = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column);
135
+ const labeContent = yAxisColumn ? intl.get(STATISTICS_COUNT_SHOW[y_axis_left_summary_method]) : intl.get(STATISTICS_COUNT_SHOW.count);
136
+ div.innerHTML = labeContent;
137
+ const containerHeight = chartContainer.offsetHeight;
138
+ let textAlign = 'center';
188
139
  if (y_axis_left_label_position === 'bottom') textAlign = 'left';
189
140
  if (y_axis_left_label_position === 'top') textAlign = 'right';
190
- _div.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(containerHeight, "px; padding-left: ").concat(autoPadding.bottom, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-90deg)"));
191
- chartContainer.appendChild(_div);
141
+ div.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(containerHeight, "px; padding-left: ").concat(autoPadding.bottom, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-90deg)"));
142
+ chartContainer.appendChild(div);
192
143
  }
193
144
  if (yAxisLeftLabel && show_y_axis_left_label) {
194
- var _containerHeight = chartContainer.offsetHeight;
195
- var _textAlign = 'center';
196
- if (y_axis_left_label_position === 'bottom') _textAlign = 'left';
197
- if (y_axis_left_label_position === 'top') _textAlign = 'right';
198
- yAxisLeftLabel.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(_containerHeight, "px; padding-left: ").concat(autoPadding.bottom, "px; text-align: ").concat(_textAlign, "; top: 0; left: 0px; transform: translate(-").concat(_containerHeight / 2 + 12, "px, ").concat((_containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-90deg)"));
145
+ const containerHeight = chartContainer.offsetHeight;
146
+ let textAlign = 'center';
147
+ if (y_axis_left_label_position === 'bottom') textAlign = 'left';
148
+ if (y_axis_left_label_position === 'top') textAlign = 'right';
149
+ yAxisLeftLabel.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(containerHeight, "px; padding-left: ").concat(autoPadding.bottom, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-90deg)"));
199
150
  }
200
151
  if (yAxisLeftLabel && !show_y_axis_left_label) {
201
152
  yAxisLeftLabel.parentNode.removeChild(yAxisLeftLabel);
202
153
  }
203
- var yAxisRightID = "chart-y-axis-right-label_".concat(statItem._id);
204
- var yAxisRightLabel = chartContainer.querySelector("#".concat(yAxisRightID));
154
+ const yAxisRightID = "chart-y-axis-right-label_".concat(statItem._id);
155
+ const yAxisRightLabel = chartContainer.querySelector("#".concat(yAxisRightID));
205
156
  if (!yAxisRightLabel && show_y_axis_right_label) {
206
- var _div2 = document.createElement('div');
207
- _div2.id = yAxisRightID;
208
- _div2.className = 'statistic-chart-axis-label';
209
- var _yAxisColumn = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column);
210
- var _labeContent = _yAxisColumn ? intl.get(STATISTICS_COUNT_SHOW[y_axis_right_summary_method]) : intl.get(STATISTICS_COUNT_SHOW.count);
211
- _div2.innerHTML = _labeContent;
212
- var _containerHeight2 = chartContainer.offsetHeight;
213
- var _textAlign2 = 'center';
214
- if (y_axis_right_label_position === 'bottom') _textAlign2 = 'right';
215
- if (y_axis_right_label_position === 'top') _textAlign2 = 'left';
216
- _div2.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(_containerHeight2, "px; padding-right: ").concat(autoPadding.bottom, "px; text-align: ").concat(_textAlign2, "; top: 0; right: 0px; transform: translate(").concat(_containerHeight2 / 2 + 12, "px, ").concat((_containerHeight2 - autoPadding.bottom) / 2 - 6, "px) rotate(-270deg)"));
217
- chartContainer.appendChild(_div2);
157
+ const div = document.createElement('div');
158
+ div.id = yAxisRightID;
159
+ div.className = 'statistic-chart-axis-label';
160
+ const yAxisColumn = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column);
161
+ const labeContent = yAxisColumn ? intl.get(STATISTICS_COUNT_SHOW[y_axis_right_summary_method]) : intl.get(STATISTICS_COUNT_SHOW.count);
162
+ div.innerHTML = labeContent;
163
+ const containerHeight = chartContainer.offsetHeight;
164
+ let textAlign = 'center';
165
+ if (y_axis_right_label_position === 'bottom') textAlign = 'right';
166
+ if (y_axis_right_label_position === 'top') textAlign = 'left';
167
+ div.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(containerHeight, "px; padding-right: ").concat(autoPadding.bottom, "px; text-align: ").concat(textAlign, "; top: 0; right: 0px; transform: translate(").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-270deg)"));
168
+ chartContainer.appendChild(div);
218
169
  }
219
170
  if (yAxisRightLabel && show_y_axis_right_label) {
220
- var _containerHeight3 = chartContainer.offsetHeight;
221
- var _textAlign3 = 'center';
222
- if (y_axis_right_label_position === 'bottom') _textAlign3 = 'right';
223
- if (y_axis_right_label_position === 'top') _textAlign3 = 'left';
224
- yAxisRightLabel.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(_containerHeight3, "px; padding-right: ").concat(autoPadding.bottom, "px; text-align: ").concat(_textAlign3, "; top: 0; right: 0px; transform: translate(").concat(_containerHeight3 / 2 + 12, "px, ").concat((_containerHeight3 - autoPadding.bottom) / 2 - 6, "px) rotate(-270deg)"));
171
+ const containerHeight = chartContainer.offsetHeight;
172
+ let textAlign = 'center';
173
+ if (y_axis_right_label_position === 'bottom') textAlign = 'right';
174
+ if (y_axis_right_label_position === 'top') textAlign = 'left';
175
+ yAxisRightLabel.setAttribute('style', "color:".concat(themeColors.textColor, "; position: absolute; width: ").concat(containerHeight, "px; padding-right: ").concat(autoPadding.bottom, "px; text-align: ").concat(textAlign, "; top: 0; right: 0px; transform: translate(").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 - 6, "px) rotate(-270deg)"));
225
176
  }
226
177
  if (yAxisRightLabel && !show_y_axis_right_label) {
227
178
  yAxisRightLabel.parentNode.removeChild(yAxisRightLabel);
228
179
  }
229
180
  };
230
- _this.drawChart = function (data) {
231
- var _this$props4 = _this.props,
232
- getTableById = _this$props4.getTableById,
233
- statItem = _this$props4.statItem,
234
- colorThemeName = _this$props4.colorThemeName;
235
- var table_id = statItem.table_id,
236
- y_axis_left_summary_column = statItem.y_axis_left_summary_column,
237
- y_axis_right_summary_column = statItem.y_axis_right_summary_column;
238
- _this.initChartHandler();
239
- _this.chart.data(data);
240
- _this.chart.coordinate('rect');
241
- _this.chart.on('element:click', function (e) {
181
+ this.drawChart = data => {
182
+ const {
183
+ getTableById,
184
+ statItem,
185
+ colorThemeName
186
+ } = this.props;
187
+ const {
188
+ table_id,
189
+ y_axis_left_summary_column,
190
+ y_axis_right_summary_column
191
+ } = statItem;
192
+ this.initChartHandler();
193
+ this.chart.data(data);
194
+ this.chart.coordinate('rect');
195
+ this.chart.on('element:click', e => {
242
196
  if (e.data.data) {
243
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
197
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
244
198
  }
245
199
  });
246
- var table = getTableById(table_id);
247
- var leftColumn = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column) || {};
248
- var rightColumn = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column) || {};
249
- _this.handleAutoRange(leftColumn, rightColumn);
250
- var themeColors = _this.getThemeColors();
251
- var currentTheme = getCurrentTheme(colorThemeName);
252
- _this.setNameAxis(themeColors);
253
- _this.setValueAxis(themeColors);
254
- _this.setLegend(themeColors, table, currentTheme);
255
- _this.drawLeft({
256
- currentTheme: currentTheme
200
+ const table = getTableById(table_id);
201
+ const leftColumn = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column) || {};
202
+ const rightColumn = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column) || {};
203
+ this.handleAutoRange(leftColumn, rightColumn);
204
+ const themeColors = this.getThemeColors();
205
+ const currentTheme = getCurrentTheme(colorThemeName);
206
+ this.setNameAxis(themeColors);
207
+ this.setValueAxis(themeColors);
208
+ this.setLegend(themeColors, table, currentTheme);
209
+ this.drawLeft({
210
+ currentTheme
257
211
  });
258
- _this.drawRight({
259
- currentTheme: currentTheme,
260
- themeColors: themeColors
212
+ this.drawRight({
213
+ currentTheme,
214
+ themeColors
261
215
  });
262
- _this.chart.removeInteraction('legend-filter');
263
- _this.chart.render();
264
- _this.renderAxisLabel();
216
+ this.chart.removeInteraction('legend-filter');
217
+ this.chart.render();
218
+ this.renderAxisLabel();
265
219
  };
266
- _this.initChartHandler = function () {
267
- var _this$props5 = _this.props,
268
- isPreview = _this$props5.isPreview,
269
- statItem = _this$props5.statItem;
270
- var display_data = statItem.display_data;
271
- var config = {
272
- container: _this.container,
220
+ this.initChartHandler = () => {
221
+ const {
222
+ isPreview,
223
+ statItem
224
+ } = this.props;
225
+ const {
226
+ display_data
227
+ } = statItem;
228
+ let config = {
229
+ container: this.container,
273
230
  autoFit: true,
274
231
  appendPadding: [display_data ? 20 : 3, 0, 0, 0]
275
232
  };
@@ -277,34 +234,32 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
277
234
  config.height = 400;
278
235
  config.width = 700;
279
236
  }
280
- _this.chart = new Chart(config);
237
+ this.chart = new Chart(config);
281
238
  };
282
- _this.handleAutoRange = function (leftColumn, rightColumn) {
283
- var statItem = _this.props.statItem;
284
- var y_axis_left_summary_method = statItem.y_axis_left_summary_method,
285
- y_axis_right_summary_method = statItem.y_axis_right_summary_method,
286
- _statItem$y_axis_auto = statItem.y_axis_auto_range_left,
287
- y_axis_auto_range_left = _statItem$y_axis_auto === void 0 ? true : _statItem$y_axis_auto,
288
- _statItem$y_axis_min_ = statItem.y_axis_min_left,
289
- y_axis_min_left = _statItem$y_axis_min_ === void 0 ? 0 : _statItem$y_axis_min_,
290
- _statItem$y_axis_max_ = statItem.y_axis_max_left,
291
- y_axis_max_left = _statItem$y_axis_max_ === void 0 ? 0 : _statItem$y_axis_max_,
292
- _statItem$y_axis_auto2 = statItem.y_axis_auto_range_right,
293
- y_axis_auto_range_right = _statItem$y_axis_auto2 === void 0 ? true : _statItem$y_axis_auto2,
294
- _statItem$y_axis_min_2 = statItem.y_axis_min_right,
295
- y_axis_min_right = _statItem$y_axis_min_2 === void 0 ? 0 : _statItem$y_axis_min_2,
296
- _statItem$y_axis_max_2 = statItem.y_axis_max_right,
297
- y_axis_max_right = _statItem$y_axis_max_2 === void 0 ? 0 : _statItem$y_axis_max_2;
298
- var leftColumnData = leftColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
299
- var rightColumnData = rightColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
300
- var leftValueScaleOptions = {
301
- formatter: function formatter(value) {
302
- return _this.getNumberDisplayString(value, leftColumnData, y_axis_left_summary_method);
239
+ this.handleAutoRange = (leftColumn, rightColumn) => {
240
+ const {
241
+ statItem
242
+ } = this.props;
243
+ const {
244
+ y_axis_left_summary_method,
245
+ y_axis_right_summary_method,
246
+ y_axis_auto_range_left = true,
247
+ y_axis_min_left = 0,
248
+ y_axis_max_left = 0,
249
+ y_axis_auto_range_right = true,
250
+ y_axis_min_right = 0,
251
+ y_axis_max_right = 0
252
+ } = statItem;
253
+ const leftColumnData = leftColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
254
+ const rightColumnData = rightColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
255
+ let leftValueScaleOptions = {
256
+ formatter: value => {
257
+ return this.getNumberDisplayString(value, leftColumnData, y_axis_left_summary_method);
303
258
  }
304
259
  };
305
- var rightValueScaleOptions = {
306
- formatter: function formatter(value) {
307
- return _this.getNumberDisplayString(value, rightColumnData, y_axis_right_summary_method);
260
+ let rightValueScaleOptions = {
261
+ formatter: value => {
262
+ return this.getNumberDisplayString(value, rightColumnData, y_axis_right_summary_method);
308
263
  }
309
264
  };
310
265
  if (!y_axis_auto_range_left) {
@@ -319,7 +274,7 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
319
274
  max: y_axis_max_right
320
275
  });
321
276
  }
322
- _this.chart.scale({
277
+ this.chart.scale({
323
278
  name: {
324
279
  type: 'cat'
325
280
  },
@@ -329,13 +284,13 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
329
284
  value_right: rightValueScaleOptions
330
285
  });
331
286
  };
332
- _this.setNameAxis = function (themeColors) {
333
- _this.chart.axis('name', {
287
+ this.setNameAxis = themeColors => {
288
+ this.chart.axis('name', {
334
289
  label: {
335
290
  style: {
336
291
  fill: themeColors.textColor
337
292
  },
338
- formatter: function formatter(name) {
293
+ formatter: name => {
339
294
  if (name === '' || name == null) {
340
295
  return intl.get(EMPTY_NAME);
341
296
  }
@@ -347,8 +302,8 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
347
302
  }
348
303
  });
349
304
  };
350
- _this.setValueAxis = function (themeColors) {
351
- _this.chart.axis('value_left', {
305
+ this.setValueAxis = themeColors => {
306
+ this.chart.axis('value_left', {
352
307
  grid: {
353
308
  line: {
354
309
  style: {
@@ -362,7 +317,7 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
362
317
  }
363
318
  }
364
319
  });
365
- _this.chart.axis('value_right', {
320
+ this.chart.axis('value_right', {
366
321
  grid: null,
367
322
  label: {
368
323
  style: {
@@ -371,9 +326,9 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
371
326
  }
372
327
  });
373
328
  };
374
- _this.setLegend = function (themeColors, table, currentTheme) {
375
- var legendPosition = 'bottom';
376
- _this.chart.legend({
329
+ this.setLegend = (themeColors, table, currentTheme) => {
330
+ let legendPosition = 'bottom';
331
+ this.chart.legend({
377
332
  custom: true,
378
333
  position: legendPosition,
379
334
  itemName: {
@@ -381,72 +336,87 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
381
336
  fill: themeColors.textColor
382
337
  }
383
338
  },
384
- items: _this.getLegend(table, currentTheme)
339
+ items: this.getLegend(table, currentTheme)
385
340
  });
386
341
  };
387
- _this.drawLeft = function (_ref3) {
388
- var currentTheme = _ref3.currentTheme;
389
- var statItem = _this.props.statItem;
390
- var y_axis_left_summary_method = statItem.y_axis_left_summary_method,
391
- y_axis_left_summary_type = statItem.y_axis_left_summary_type,
392
- y_axis_left_group_by_multiple_numeric_column = statItem.y_axis_left_group_by_multiple_numeric_column;
393
- _this.chart.interval().position('name*value_left').color('color', function (color) {
342
+ this.drawLeft = _ref => {
343
+ let {
344
+ currentTheme
345
+ } = _ref;
346
+ const {
347
+ statItem
348
+ } = this.props;
349
+ const {
350
+ y_axis_left_summary_method,
351
+ y_axis_left_summary_type,
352
+ y_axis_left_group_by_multiple_numeric_column
353
+ } = statItem;
354
+ this.chart.interval().position('name*value_left').color('color', color => {
394
355
  if (!y_axis_left_group_by_multiple_numeric_column) {
395
356
  return currentTheme && currentTheme.colors[0];
396
357
  }
397
358
  return color;
398
- }).adjust('dodge').tooltip('name*formatted_value_left', function (name, value) {
359
+ }).adjust('dodge').tooltip('name*formatted_value_left', (name, value) => {
399
360
  return {
400
- value: value,
361
+ value,
401
362
  title: y_axis_left_summary_type == SUMMARY_TYPE.COUNT ? intl.get(TITLE_AMOUNT) : intl.get(STATISTICS_COUNT_SHOW[y_axis_left_summary_method]),
402
363
  name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name
403
364
  };
404
365
  });
405
- _this.chart.tooltip({
366
+ this.chart.tooltip({
406
367
  showMarkers: false
407
368
  });
408
369
  };
409
- _this.drawRight = function (_ref4) {
410
- var currentTheme = _ref4.currentTheme,
411
- themeColors = _ref4.themeColors;
412
- var statItem = _this.props.statItem;
413
- var y_axis_right_summary_type = statItem.y_axis_right_summary_type,
414
- y_axis_right_summary_method = statItem.y_axis_right_summary_method,
415
- _statItem$display_dat = statItem.display_data,
416
- display_data = _statItem$display_dat === void 0 ? false : _statItem$display_dat;
370
+ this.drawRight = _ref2 => {
371
+ let {
372
+ currentTheme,
373
+ themeColors
374
+ } = _ref2;
375
+ const {
376
+ statItem
377
+ } = this.props;
378
+ const {
379
+ y_axis_right_summary_type,
380
+ y_axis_right_summary_method,
381
+ display_data = false
382
+ } = statItem;
417
383
 
418
384
  // line
419
- _this.chart.line().position('name*value_right').color(currentTheme && currentTheme.colors[1]).size(3).tooltip('name*formatted_value_right', function (name, value) {
385
+ this.chart.line().position('name*value_right').color(currentTheme && currentTheme.colors[1]).size(3).tooltip('name*formatted_value_right', (name, value) => {
420
386
  return {
421
- value: value,
387
+ value,
422
388
  title: y_axis_right_summary_type == SUMMARY_TYPE.COUNT ? intl.get(TITLE_AMOUNT) : intl.get(STATISTICS_COUNT_SHOW[y_axis_right_summary_method]),
423
389
  name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name
424
390
  };
425
391
  });
426
392
 
427
393
  // point on the line
428
- _this.chart.point().position('name*value_right').color(currentTheme && currentTheme.colors[1]).size(3).shape('circle').label(display_data ? 'formatted_value_right' : false, {
394
+ this.chart.point().position('name*value_right').color(currentTheme && currentTheme.colors[1]).size(3).shape('circle').label(display_data ? 'formatted_value_right' : false, {
429
395
  style: {
430
- fontSize: _this.getLabelFontSize(),
396
+ fontSize: this.getLabelFontSize(),
431
397
  fill: themeColors.textColor
432
398
  }
433
- }).tooltip('name*formatted_value_right', function (name, value) {
399
+ }).tooltip('name*formatted_value_right', (name, value) => {
434
400
  return {
435
- value: value,
401
+ value,
436
402
  title: y_axis_right_summary_type == SUMMARY_TYPE.COUNT ? intl.get(TITLE_AMOUNT) : intl.get(STATISTICS_COUNT_SHOW[y_axis_right_summary_method]),
437
403
  name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name
438
404
  };
439
405
  });
440
406
  };
441
- _this.getLegend = function (table, colorTheme) {
442
- var statItem = _this.props.statItem;
443
- var y_axis_left_group_by_multiple_numeric_column = statItem.y_axis_left_group_by_multiple_numeric_column,
444
- y_axis_left_summary_column = statItem.y_axis_left_summary_column,
445
- y_axis_right_summary_column = statItem.y_axis_right_summary_column,
446
- y_axis_left_group_by_numeric_columns = statItem.y_axis_left_group_by_numeric_columns;
447
- var legendItems = [];
448
- var column1 = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column) || {};
449
- var column2 = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column) || {};
407
+ this.getLegend = (table, colorTheme) => {
408
+ const {
409
+ statItem
410
+ } = this.props;
411
+ const {
412
+ y_axis_left_group_by_multiple_numeric_column,
413
+ y_axis_left_summary_column,
414
+ y_axis_right_summary_column,
415
+ y_axis_left_group_by_numeric_columns
416
+ } = statItem;
417
+ const legendItems = [];
418
+ const column1 = TableUtils.getTableColumnByKey(table, y_axis_left_summary_column) || {};
419
+ const column2 = TableUtils.getTableColumnByKey(table, y_axis_right_summary_column) || {};
450
420
  if (!y_axis_left_group_by_multiple_numeric_column) {
451
421
  legendItems.push({
452
422
  value: 'value_left',
@@ -482,8 +452,8 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
482
452
  }
483
453
  }
484
454
  });
485
- y_axis_left_group_by_numeric_columns.forEach(function (item, index) {
486
- var column = TableUtils.getTableColumnByKey(table, item.column_key) || {};
455
+ y_axis_left_group_by_numeric_columns.forEach((item, index) => {
456
+ const column = TableUtils.getTableColumnByKey(table, item.column_key) || {};
487
457
  legendItems.push({
488
458
  value: 'group_name',
489
459
  name: column.name || intl.get(LEGEND_LEFT),
@@ -511,65 +481,59 @@ var CombinationChart = /*#__PURE__*/function (_BaseChart) {
511
481
  }
512
482
  return legendItems;
513
483
  };
514
- _this.destroyChart = function () {
515
- _this.chart.destroy();
516
- _this.chart = null;
484
+ this.destroyChart = () => {
485
+ this.chart.destroy();
486
+ this.chart = null;
517
487
  };
518
- _this.state = {
488
+ this.state = {
519
489
  isCalculatingData: true,
520
490
  showResultDescription: true
521
491
  };
522
- _this.calculateData = null;
523
- return _this;
492
+ this.calculateData = null;
524
493
  }
525
- _createClass(CombinationChart, [{
526
- key: "shouldComponentUpdate",
527
- value: function shouldComponentUpdate(nextProps, nextState) {
528
- var _this$props6 = this.props,
529
- theme = _this$props6.theme,
530
- colorThemeName = _this$props6.colorThemeName;
531
- if (this.canUpdate(this.props, nextProps)) {
532
- return true;
533
- }
534
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
535
- return true;
536
- }
537
- if (nextProps.theme !== theme) {
538
- return true;
539
- }
540
- if (nextProps.colorThemeName !== colorThemeName) {
541
- return true;
542
- }
543
- return false;
494
+ shouldComponentUpdate(nextProps, nextState) {
495
+ const {
496
+ theme,
497
+ colorThemeName
498
+ } = this.props;
499
+ if (this.canUpdate(this.props, nextProps)) {
500
+ return true;
544
501
  }
545
- }, {
546
- key: "componentWillUnmount",
547
- value: function componentWillUnmount() {
548
- this.container = null;
549
- this.unsubscribeStyleChange();
502
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
503
+ return true;
550
504
  }
551
- }, {
552
- key: "render",
553
- value: function render() {
554
- var _this2 = this;
555
- var statItem = this.props.statItem;
556
- var _this$state = this.state,
557
- isCalculatingData = _this$state.isCalculatingData,
558
- showResultDescription = _this$state.showResultDescription;
559
- var show_y_axis_left_label = statItem.show_y_axis_left_label,
560
- show_x_axis_label = statItem.show_x_axis_label;
561
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
562
- ref: function ref(_ref5) {
563
- return _this2.container = _ref5;
564
- },
565
- style: {
566
- padding: show_y_axis_left_label || show_x_axis_label ? 30 : 20
567
- },
568
- className: "statistic-chart-container"
569
- }));
505
+ if (nextProps.theme !== theme) {
506
+ return true;
507
+ }
508
+ if (nextProps.colorThemeName !== colorThemeName) {
509
+ return true;
570
510
  }
571
- }]);
572
- return CombinationChart;
573
- }(BaseChart);
511
+ return false;
512
+ }
513
+ componentWillUnmount() {
514
+ this.container = null;
515
+ this.unsubscribeStyleChange();
516
+ }
517
+ render() {
518
+ const {
519
+ statItem
520
+ } = this.props;
521
+ const {
522
+ isCalculatingData,
523
+ showResultDescription
524
+ } = this.state;
525
+ const {
526
+ show_y_axis_left_label,
527
+ show_x_axis_label
528
+ } = statItem;
529
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
530
+ ref: ref => this.container = ref,
531
+ style: {
532
+ padding: show_y_axis_left_label || show_x_axis_label ? 30 : 20
533
+ },
534
+ className: "statistic-chart-container"
535
+ }));
536
+ }
537
+ }
574
538
  CombinationChart.propTypes = propTypes;
575
539
  export default CombinationChart;