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';
@@ -13,7 +7,7 @@ import { Chart } from '../custom-g2';
13
7
  import { getCurrentTheme } from '../utils/common-utils';
14
8
  import { EMPTY_NAME, LABEL_CONFIG_CHANGED } from '../constants';
15
9
  import chartStyles from '../assets/css/statistic-chart.module.css';
16
- var propTypes = {
10
+ const propTypes = {
17
11
  isPreview: PropTypes.bool,
18
12
  colorThemeName: PropTypes.string,
19
13
  statItem: PropTypes.object,
@@ -22,133 +16,93 @@ var propTypes = {
22
16
  getTableById: PropTypes.func,
23
17
  toggleStatisticRecordsDialog: PropTypes.func
24
18
  };
25
- var ScatterChart = /*#__PURE__*/function (_BaseChart) {
26
- _inherits(ScatterChart, _BaseChart);
27
- var _super = _createSuper(ScatterChart);
28
- function ScatterChart(props) {
29
- var _this;
30
- _classCallCheck(this, ScatterChart);
31
- _this = _super.call(this, props);
32
- _this.componentDidMount = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
33
- var _this$props, statItem, chartCalculator, eventBus, data;
34
- return _regeneratorRuntime.wrap(function _callee$(_context) {
35
- while (1) {
36
- switch (_context.prev = _context.next) {
37
- case 0:
38
- _this$props = _this.props, statItem = _this$props.statItem, chartCalculator = _this$props.chartCalculator, eventBus = _this$props.eventBus;
39
- if (!_this.container) {
40
- _context.next = 8;
41
- break;
42
- }
43
- _context.next = 4;
44
- return chartCalculator.calculate(statItem);
45
- case 4:
46
- data = _context.sent;
47
- _this.setState({
48
- isCalculatingData: false
49
- });
50
- _this.drawChart(data);
51
- _this.calculateData = data;
52
- case 8:
53
- _this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, function (newStatItem) {
54
- _this.renderAxisLabel(newStatItem);
55
- });
56
- case 9:
57
- case "end":
58
- return _context.stop();
19
+ class ScatterChart extends BaseChart {
20
+ constructor(props) {
21
+ super(props);
22
+ this.componentDidMount = async () => {
23
+ const {
24
+ statItem,
25
+ chartCalculator,
26
+ eventBus
27
+ } = this.props;
28
+ if (this.container) {
29
+ const data = await chartCalculator.calculate(statItem);
30
+ this.setState({
31
+ isCalculatingData: false
32
+ });
33
+ this.drawChart(data);
34
+ this.calculateData = data;
35
+ }
36
+ this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, newStatItem => {
37
+ this.renderAxisLabel(newStatItem);
38
+ });
39
+ };
40
+ this.componentDidUpdate = async (preProps, preState) => {
41
+ const {
42
+ statItem,
43
+ chartCalculator
44
+ } = this.props;
45
+ const {
46
+ isCalculatingData
47
+ } = this.state;
48
+ if (isCalculatingData !== preState.isCalculatingData) return;
49
+ if (this.shouldCalculateStatItem(preProps, this.props)) {
50
+ if (this.container) {
51
+ this.setState({
52
+ isCalculatingData: true
53
+ });
54
+ const data = await chartCalculator.calculate(statItem);
55
+ this.calculateData = data;
56
+ this.setState({
57
+ isCalculatingData: false
58
+ });
59
+ this.chart && this.chart.destroy();
60
+ this.drawChart(data);
61
+ if (this.props.isPreview) {
62
+ this.chart.forceFit();
59
63
  }
60
64
  }
61
- }, _callee);
62
- }));
63
- _this.componentDidUpdate = /*#__PURE__*/function () {
64
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(preProps, preState) {
65
- var _this$props2, statItem, chartCalculator, isCalculatingData, data;
66
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
67
- while (1) {
68
- switch (_context2.prev = _context2.next) {
69
- case 0:
70
- _this$props2 = _this.props, statItem = _this$props2.statItem, chartCalculator = _this$props2.chartCalculator;
71
- isCalculatingData = _this.state.isCalculatingData;
72
- if (!(isCalculatingData !== preState.isCalculatingData)) {
73
- _context2.next = 4;
74
- break;
75
- }
76
- return _context2.abrupt("return");
77
- case 4:
78
- if (!_this.shouldCalculateStatItem(preProps, _this.props)) {
79
- _context2.next = 17;
80
- break;
81
- }
82
- if (!_this.container) {
83
- _context2.next = 15;
84
- break;
85
- }
86
- _this.setState({
87
- isCalculatingData: true
88
- });
89
- _context2.next = 9;
90
- return chartCalculator.calculate(statItem);
91
- case 9:
92
- data = _context2.sent;
93
- _this.calculateData = data;
94
- _this.setState({
95
- isCalculatingData: false
96
- });
97
- _this.chart && _this.chart.destroy();
98
- _this.drawChart(data);
99
- if (_this.props.isPreview) {
100
- _this.chart.forceFit();
101
- }
102
- case 15:
103
- _context2.next = 20;
104
- break;
105
- case 17:
106
- _this.chart && _this.chart.destroy();
107
- _this.drawChart(_this.calculateData);
108
- if (_this.props.isPreview) {
109
- _this.chart.forceFit();
110
- }
111
- case 20:
112
- case "end":
113
- return _context2.stop();
114
- }
115
- }
116
- }, _callee2);
117
- }));
118
- return function (_x, _x2) {
119
- return _ref2.apply(this, arguments);
120
- };
121
- }();
122
- _this.drawChart = function (data) {
123
- var _this$props3 = _this.props,
124
- getTableById = _this$props3.getTableById,
125
- isPreview = _this$props3.isPreview,
126
- statItem = _this$props3.statItem,
127
- colorThemeName = _this$props3.colorThemeName;
128
- var currentTheme = getCurrentTheme(colorThemeName);
129
- var table_id = statItem.table_id,
130
- x_axis_column = statItem.x_axis_column,
131
- y_axis_column = statItem.y_axis_column;
132
- var selectedTable = getTableById(table_id);
133
- var selectedXAxisColumn = TableUtils.getTableColumnByKey(selectedTable, x_axis_column);
134
- var selectedYAxisColumn = TableUtils.getTableColumnByKey(selectedTable, y_axis_column);
65
+ } else {
66
+ this.chart && this.chart.destroy();
67
+ this.drawChart(this.calculateData);
68
+ if (this.props.isPreview) {
69
+ this.chart.forceFit();
70
+ }
71
+ }
72
+ };
73
+ this.drawChart = data => {
74
+ const {
75
+ getTableById,
76
+ isPreview,
77
+ statItem,
78
+ colorThemeName
79
+ } = this.props;
80
+ const currentTheme = getCurrentTheme(colorThemeName);
81
+ const {
82
+ table_id,
83
+ x_axis_column,
84
+ y_axis_column
85
+ } = statItem;
86
+ const selectedTable = getTableById(table_id);
87
+ const selectedXAxisColumn = TableUtils.getTableColumnByKey(selectedTable, x_axis_column);
88
+ const selectedYAxisColumn = TableUtils.getTableColumnByKey(selectedTable, y_axis_column);
135
89
  if (isPreview) {
136
- _this.chart = new Chart({
137
- container: _this.container,
90
+ this.chart = new Chart({
91
+ container: this.container,
138
92
  autoFit: true
139
93
  });
140
94
  } else {
141
- _this.chart = new Chart({
142
- container: _this.container,
95
+ this.chart = new Chart({
96
+ container: this.container,
143
97
  height: 400,
144
98
  width: 700
145
99
  });
146
100
  }
147
- _this.chart.on('element:click', function (e) {
148
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
101
+ this.chart.on('element:click', e => {
102
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
149
103
  });
150
- var themeColors = _this.getThemeColors();
151
- _this.chart.axis('x_axis', {
104
+ const themeColors = this.getThemeColors();
105
+ this.chart.axis('x_axis', {
152
106
  label: {
153
107
  style: {
154
108
  fill: themeColors.textColor
@@ -158,7 +112,7 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
158
112
  style: themeColors.gridColor
159
113
  }
160
114
  });
161
- _this.chart.axis('y_axis', {
115
+ this.chart.axis('y_axis', {
162
116
  grid: {
163
117
  line: {
164
118
  style: {
@@ -172,7 +126,7 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
172
126
  }
173
127
  }
174
128
  });
175
- var chart = _this.chart;
129
+ const chart = this.chart;
176
130
  chart.data(data);
177
131
  chart.scale({
178
132
  x_axis: {
@@ -190,7 +144,7 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
190
144
  },
191
145
  itemTpl: '<li class="g2-tooltip-list-item" data-index={index} style="margin-bottom:4px;">' + '<span style="background-color:{color};" class="g2-tooltip-marker"></span>' + '{name}<br/>' + '{valueX}<br/>' + '{valueY}' + '</li>'
192
146
  });
193
- chart.point().position('x_axis*y_axis').color('group_by', currentTheme && currentTheme.colors).shape('circle').tooltip('group_by*x_axis*y_axis', function (group_by, x_axis, y_axis) {
147
+ chart.point().position('x_axis*y_axis').color('group_by', currentTheme && currentTheme.colors).shape('circle').tooltip('group_by*x_axis*y_axis', (group_by, x_axis, y_axis) => {
194
148
  return {
195
149
  name: group_by || group_by === 0 ? group_by : intl.get(EMPTY_NAME),
196
150
  valueX: "".concat(selectedXAxisColumn.name, ": ").concat(x_axis),
@@ -202,7 +156,7 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
202
156
  chart.legend('group_by', {
203
157
  position: 'bottom',
204
158
  itemName: {
205
- formatter: function formatter(name) {
159
+ formatter: name => {
206
160
  return name || name === 0 ? name : intl.get(EMPTY_NAME);
207
161
  },
208
162
  style: {
@@ -226,36 +180,38 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
226
180
  });
227
181
  chart.interaction('legend-highlight');
228
182
  chart.render();
229
- _this.renderAxisLabel();
183
+ this.renderAxisLabel();
230
184
  };
231
- _this.renderAxisLabel = function (newStatItem) {
232
- var _this$props4 = _this.props,
233
- getTableById = _this$props4.getTableById,
234
- statItem = _this$props4.statItem;
185
+ this.renderAxisLabel = newStatItem => {
186
+ let {
187
+ getTableById,
188
+ statItem
189
+ } = this.props;
235
190
  if (newStatItem && newStatItem._id !== statItem._id) {
236
191
  return;
237
192
  }
238
- if (!_this.chart) return;
193
+ if (!this.chart) return;
239
194
  statItem = newStatItem || statItem;
240
- var _statItem = statItem,
241
- table_id = _statItem.table_id,
242
- x_axis_column = _statItem.x_axis_column,
243
- y_axis_column = _statItem.y_axis_column,
244
- show_y_axis_label = _statItem.show_y_axis_label,
245
- show_x_axis_label = _statItem.show_x_axis_label,
246
- y_axis_label_position = _statItem.y_axis_label_position,
247
- x_axis_label_position = _statItem.x_axis_label_position;
248
- var table = getTableById(table_id);
249
- var autoPadding = _this.chart.autoPadding;
250
- var textColor = _this.getAxisLabelColor();
251
- var xAxisID = "chart-x-axis-label_".concat(statItem._id);
252
- var chartContainer = _this.chart.getCanvas().get('container');
253
- var xLabel = chartContainer.querySelector("#".concat(xAxisID));
195
+ const {
196
+ table_id,
197
+ x_axis_column,
198
+ y_axis_column,
199
+ show_y_axis_label,
200
+ show_x_axis_label,
201
+ y_axis_label_position,
202
+ x_axis_label_position
203
+ } = statItem;
204
+ const table = getTableById(table_id);
205
+ const autoPadding = this.chart.autoPadding;
206
+ const textColor = this.getAxisLabelColor();
207
+ const xAxisID = "chart-x-axis-label_".concat(statItem._id);
208
+ const chartContainer = this.chart.getCanvas().get('container');
209
+ const xLabel = chartContainer.querySelector("#".concat(xAxisID));
254
210
  if (!xLabel && show_x_axis_label) {
255
- var div = document.createElement('div');
211
+ const div = document.createElement('div');
256
212
  div.id = xAxisID;
257
213
  div.className = 'statistic-chart-axis-label';
258
- var column = TableUtils.getTableColumnByKey(table, x_axis_column);
214
+ const column = TableUtils.getTableColumnByKey(table, x_axis_column);
259
215
  div.innerHTML = "".concat(column ? column.name : '');
260
216
  div.setAttribute('style', "color:".concat(textColor, "; width: 100%; padding-left: ").concat(autoPadding.left, "px; text-align: ").concat(x_axis_label_position, "; bottom: -20px"));
261
217
  chartContainer.appendChild(div);
@@ -266,85 +222,78 @@ var ScatterChart = /*#__PURE__*/function (_BaseChart) {
266
222
  if (xLabel && !show_x_axis_label) {
267
223
  xLabel.parentNode.removeChild(xLabel);
268
224
  }
269
- var yAxisID = "chart-y-axis-label_".concat(statItem._id);
270
- var yLabel = chartContainer.querySelector("#".concat(yAxisID));
271
- var paddingLeft = autoPadding.bottom + (show_x_axis_label ? 10 : 0);
225
+ const yAxisID = "chart-y-axis-label_".concat(statItem._id);
226
+ const yLabel = chartContainer.querySelector("#".concat(yAxisID));
227
+ let paddingLeft = autoPadding.bottom + (show_x_axis_label ? 10 : 0);
272
228
  if (!yLabel && show_y_axis_label) {
273
- var _div = document.createElement('div');
274
- _div.id = yAxisID;
275
- _div.className = 'statistic-chart-axis-label';
276
- var _column = TableUtils.getTableColumnByKey(table, y_axis_column) || {};
277
- _div.innerHTML = _column.name || '';
278
- var containerHeight = chartContainer.offsetHeight;
279
- var textAlign = 'center';
229
+ const div = document.createElement('div');
230
+ div.id = yAxisID;
231
+ div.className = 'statistic-chart-axis-label';
232
+ const column = TableUtils.getTableColumnByKey(table, y_axis_column) || {};
233
+ div.innerHTML = column.name || '';
234
+ const containerHeight = chartContainer.offsetHeight;
235
+ let textAlign = 'center';
280
236
  if (y_axis_label_position === 'bottom') textAlign = 'left';
281
237
  if (y_axis_label_position === 'top') textAlign = 'right';
282
- _div.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
283
- chartContainer.appendChild(_div);
238
+ div.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
239
+ chartContainer.appendChild(div);
284
240
  }
285
241
  if (yLabel && show_y_axis_label) {
286
- var _containerHeight = chartContainer.offsetHeight;
287
- var _textAlign = 'center';
288
- if (y_axis_label_position === 'bottom') _textAlign = 'left';
289
- if (y_axis_label_position === 'top') _textAlign = 'right';
290
- yLabel.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(_containerHeight, "px; text-align: ").concat(_textAlign, "; top: 0; left: 0px; transform: translate(-").concat(_containerHeight / 2 + 12, "px, ").concat((_containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
242
+ const containerHeight = chartContainer.offsetHeight;
243
+ let textAlign = 'center';
244
+ if (y_axis_label_position === 'bottom') textAlign = 'left';
245
+ if (y_axis_label_position === 'top') textAlign = 'right';
246
+ yLabel.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
291
247
  }
292
248
  if (yLabel && !show_y_axis_label) {
293
249
  yLabel.parentNode.removeChild(yLabel);
294
250
  }
295
251
  };
296
- _this.state = {
252
+ this.state = {
297
253
  isCalculatingData: true
298
254
  };
299
- _this.calculateData = null;
300
- return _this;
255
+ this.calculateData = null;
301
256
  }
302
- _createClass(ScatterChart, [{
303
- key: "shouldComponentUpdate",
304
- value: function shouldComponentUpdate(nextProps, nextState) {
305
- var colorThemeName = this.props.colorThemeName;
306
- if (this.canUpdate(this.props, nextProps)) {
307
- return true;
308
- }
309
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
310
- return true;
311
- }
312
- if (nextProps.colorThemeName !== colorThemeName) {
313
- return true;
314
- }
315
- return false;
257
+ shouldComponentUpdate(nextProps, nextState) {
258
+ const {
259
+ colorThemeName
260
+ } = this.props;
261
+ if (this.canUpdate(this.props, nextProps)) {
262
+ return true;
316
263
  }
317
- }, {
318
- key: "componentWillUnmount",
319
- value: function componentWillUnmount() {
320
- this.container = null;
321
- this.unsubscribeStyleChange && this.unsubscribeStyleChange();
264
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
265
+ return true;
322
266
  }
323
- }, {
324
- key: "render",
325
- value: function render() {
326
- var _this2 = this;
327
- var isCalculatingData = this.state.isCalculatingData;
328
- var _this$props$statItem = this.props.statItem,
329
- show_x_axis_label = _this$props$statItem.show_x_axis_label,
330
- show_y_axis_label = _this$props$statItem.show_y_axis_label;
331
- var style = {};
332
- if (show_x_axis_label) {
333
- style.paddingBottom = 38;
334
- }
335
- if (show_y_axis_label) {
336
- style.paddingLeft = 38;
337
- }
338
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
339
- ref: function ref(_ref3) {
340
- return _this2.container = _ref3;
341
- },
342
- className: "".concat(chartStyles['statistic-scatter-chart-container'], " statistic-chart-container"),
343
- style: style
344
- }));
267
+ if (nextProps.colorThemeName !== colorThemeName) {
268
+ return true;
345
269
  }
346
- }]);
347
- return ScatterChart;
348
- }(BaseChart);
270
+ return false;
271
+ }
272
+ componentWillUnmount() {
273
+ this.container = null;
274
+ this.unsubscribeStyleChange && this.unsubscribeStyleChange();
275
+ }
276
+ render() {
277
+ const {
278
+ isCalculatingData
279
+ } = this.state;
280
+ const {
281
+ show_x_axis_label,
282
+ show_y_axis_label
283
+ } = this.props.statItem;
284
+ const style = {};
285
+ if (show_x_axis_label) {
286
+ style.paddingBottom = 38;
287
+ }
288
+ if (show_y_axis_label) {
289
+ style.paddingLeft = 38;
290
+ }
291
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
292
+ ref: ref => this.container = ref,
293
+ className: "".concat(chartStyles['statistic-scatter-chart-container'], " statistic-chart-container"),
294
+ style: style
295
+ }));
296
+ }
297
+ }
349
298
  ScatterChart.propTypes = propTypes;
350
299
  export default ScatterChart;