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,7 +1,3 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
1
  import React from 'react';
6
2
  import PropTypes from 'prop-types';
7
3
  import intl from 'react-intl-universal';
@@ -9,43 +5,44 @@ import { TableUtils } from 'dtable-store';
9
5
  import BaseChart from './base-chart';
10
6
  import { Chart } from '../custom-g2';
11
7
  import { DEFAULT_NUMBER_FORMAT_OBJECT, STATISTICS_COUNT_SHOW, SUMMARY_TYPE, TITLE_AMOUNT } from '../constants';
12
- var Mirror = /*#__PURE__*/function (_BaseChart) {
13
- _inherits(Mirror, _BaseChart);
14
- var _super = _createSuper(Mirror);
15
- function Mirror(props) {
16
- var _this;
17
- _classCallCheck(this, Mirror);
18
- _this = _super.call(this, props);
19
- _this.destroyChart = function () {
20
- _this.chart.destroy();
21
- _this.chart = null;
8
+ class Mirror extends BaseChart {
9
+ constructor(props) {
10
+ super(props);
11
+ this.destroyChart = () => {
12
+ this.chart.destroy();
13
+ this.chart = null;
22
14
  };
23
- _this.drawChart = function (_ref) {
24
- var data = _ref.data,
25
- colorSet = _ref.colorSet;
26
- var _this$props = _this.props,
27
- getTableById = _this$props.getTableById,
28
- statItem = _this$props.statItem;
29
- var table_id = statItem.table_id,
30
- summary_type = statItem.summary_type,
31
- summary_method = statItem.summary_method,
32
- summary_column = statItem.summary_column;
33
- _this.initChartHandler();
34
- _this.chart.on('element:click', function (e) {
35
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
15
+ this.drawChart = _ref => {
16
+ let {
17
+ data,
18
+ colorSet
19
+ } = _ref;
20
+ const {
21
+ getTableById,
22
+ statItem
23
+ } = this.props;
24
+ const {
25
+ table_id,
26
+ summary_type,
27
+ summary_method,
28
+ summary_column
29
+ } = statItem;
30
+ this.initChartHandler();
31
+ this.chart.on('element:click', e => {
32
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
36
33
  });
37
- var themeColors = _this.getThemeColors();
38
- var summaryColumnData = DEFAULT_NUMBER_FORMAT_OBJECT;
34
+ const themeColors = this.getThemeColors();
35
+ let summaryColumnData = DEFAULT_NUMBER_FORMAT_OBJECT;
39
36
  if (summary_type === SUMMARY_TYPE.ADVANCED) {
40
- var table = getTableById(table_id);
41
- var summaryColumn = TableUtils.getTableColumnByKey(table, summary_column) || {};
37
+ const table = getTableById(table_id);
38
+ const summaryColumn = TableUtils.getTableColumnByKey(table, summary_column) || {};
42
39
  summaryColumnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
43
40
  }
44
- _this.chart.data(data);
45
- _this.setAxis(themeColors);
46
- _this.setScale(summaryColumnData);
47
- _this.setTooltip();
48
- _this.chart.facet('mirror', {
41
+ this.chart.data(data);
42
+ this.setAxis(themeColors);
43
+ this.setScale(summaryColumnData);
44
+ this.setTooltip();
45
+ this.chart.facet('mirror', {
49
46
  fields: ['group_name'],
50
47
  transpose: statItem.is_transpose,
51
48
  padding: 'auto',
@@ -54,19 +51,19 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
54
51
  fill: themeColors.textColor
55
52
  }
56
53
  },
57
- eachView: function eachView(view, facet) {
54
+ eachView: (view, facet) => {
58
55
  if (facet.rowValue && facet.rowValue.length > 5) {
59
56
  facet.rowValue = facet.rowValue.slice(0, 5) + '...';
60
57
  }
61
- view.interval().position('name*value').color('group_name', colorSet).tooltip('name*formatted_value', function (name, value) {
58
+ view.interval().position('name*value').color('group_name', colorSet).tooltip('name*formatted_value', (name, value) => {
62
59
  return {
63
60
  title: summary_type === 'count' ? intl.get(TITLE_AMOUNT) : intl.get(STATISTICS_COUNT_SHOW[summary_method]),
64
- name: name,
65
- value: value
61
+ name,
62
+ value
66
63
  };
67
64
  }).state({
68
65
  active: {
69
- style: function style(element) {
66
+ style: element => {
70
67
  return {
71
68
  fillOpacity: 0.6
72
69
  };
@@ -76,22 +73,25 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
76
73
  view.interaction('active-region');
77
74
  }
78
75
  });
79
- _this.chart.legend({
76
+ this.chart.legend({
80
77
  itemName: {
81
78
  style: {
82
79
  fill: themeColors.textColor
83
80
  }
84
81
  }
85
82
  });
86
- _this.chart.render();
83
+ this.chart.render();
87
84
  };
88
- _this.initChartHandler = function () {
89
- var _this$props2 = _this.props,
90
- isPreview = _this$props2.isPreview,
91
- statItem = _this$props2.statItem;
92
- var is_transpose = statItem.is_transpose;
93
- var config = {
94
- container: _this.container,
85
+ this.initChartHandler = () => {
86
+ const {
87
+ isPreview,
88
+ statItem
89
+ } = this.props;
90
+ const {
91
+ is_transpose
92
+ } = statItem;
93
+ let config = {
94
+ container: this.container,
95
95
  autoFit: true
96
96
  };
97
97
  if (isPreview) {
@@ -101,10 +101,10 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
101
101
  config.width = 800;
102
102
  config.padding = is_transpose ? [35, 30, 30, 30] : [30, 100, 30, 30];
103
103
  }
104
- _this.chart = new Chart(config);
104
+ this.chart = new Chart(config);
105
105
  };
106
- _this.setAxis = function (themeColors) {
107
- _this.chart.axis('name', {
106
+ this.setAxis = themeColors => {
107
+ this.chart.axis('name', {
108
108
  line: {
109
109
  style: themeColors.gridColor
110
110
  },
@@ -112,8 +112,8 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
112
112
  style: {
113
113
  fill: themeColors.textColor
114
114
  },
115
- formatter: function formatter(name) {
116
- var label = name;
115
+ formatter: name => {
116
+ let label = name;
117
117
  if (name.length > 5) {
118
118
  label = "".concat(name.slice(0, 5), "...");
119
119
  }
@@ -121,7 +121,7 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
121
121
  }
122
122
  }
123
123
  });
124
- _this.chart.axis('value', {
124
+ this.chart.axis('value', {
125
125
  label: {
126
126
  style: {
127
127
  fill: themeColors.textColor
@@ -136,16 +136,18 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
136
136
  }
137
137
  });
138
138
  };
139
- _this.setScale = function (summaryColumnData) {
140
- var summary_method = _this.props.statItem.summary_method;
141
- _this.chart.scale({
139
+ this.setScale = summaryColumnData => {
140
+ const {
141
+ summary_method
142
+ } = this.props.statItem;
143
+ this.chart.scale({
142
144
  name: {
143
145
  sync: true
144
146
  },
145
147
  value: {
146
148
  sync: true,
147
- formatter: function formatter(value) {
148
- return _this.getNumberDisplayString(value, summaryColumnData, summary_method);
149
+ formatter: value => {
150
+ return this.getNumberDisplayString(value, summaryColumnData, summary_method);
149
151
  }
150
152
  },
151
153
  group_name: {
@@ -156,119 +158,106 @@ var Mirror = /*#__PURE__*/function (_BaseChart) {
156
158
  }
157
159
  });
158
160
  };
159
- _this.setTooltip = function () {
160
- _this.chart.tooltip({
161
+ this.setTooltip = () => {
162
+ this.chart.tooltip({
161
163
  showTitle: true,
162
164
  showMarkers: false,
163
165
  containerTpl: '<div class="g2-tooltip"><div class="g2-tooltip-list"></div></div>',
164
166
  itemTpl: '<div class="g2-tooltip-content"><div class="tooltip-name">{title}<div><div class="tooltip-item">{name}: {value}<div></div>',
165
167
  domStyles: {
166
- 'g2-tooltip': _this.getDefaultChartStyleByKey('g2-tooltip'),
167
- 'tooltip-item': _this.getDefaultChartStyleByKey('tooltip-item')
168
+ 'g2-tooltip': this.getDefaultChartStyleByKey('g2-tooltip'),
169
+ 'tooltip-item': this.getDefaultChartStyleByKey('tooltip-item')
168
170
  }
169
171
  });
170
172
  };
171
- _this.state = {
173
+ this.state = {
172
174
  isCalculatingData: true,
173
175
  showResultDescription: true
174
176
  };
175
- _this.calculateData = null;
176
- return _this;
177
+ this.calculateData = null;
177
178
  }
178
- _createClass(Mirror, [{
179
- key: "componentDidMount",
180
- value: function componentDidMount() {
181
- var _this2 = this;
182
- var _this$props3 = this.props,
183
- statItem = _this$props3.statItem,
184
- chartCalculator = _this$props3.chartCalculator;
179
+ componentDidMount() {
180
+ const {
181
+ statItem,
182
+ chartCalculator
183
+ } = this.props;
184
+ if (this.container) {
185
+ chartCalculator.calculate(statItem).then(data => {
186
+ let showResultDescription = data.colorSet && data.colorSet.length > 0 ? false : true;
187
+ this.setState({
188
+ isCalculatingData: false,
189
+ showResultDescription
190
+ }, () => {
191
+ if (!showResultDescription) {
192
+ this.drawChart(data);
193
+ this.calculateData = data;
194
+ }
195
+ });
196
+ });
197
+ }
198
+ }
199
+ shouldComponentUpdate(nextProps, nextState) {
200
+ if (this.canUpdate(this.props, nextProps)) {
201
+ return true;
202
+ }
203
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
204
+ return true;
205
+ }
206
+ return false;
207
+ }
208
+ componentDidUpdate(preProps, preState) {
209
+ const {
210
+ statItem,
211
+ chartCalculator
212
+ } = this.props;
213
+ const {
214
+ isCalculatingData
215
+ } = this.state;
216
+ if (isCalculatingData !== preState.isCalculatingData) return;
217
+ if (this.shouldCalculateStatItem(preProps, this.props)) {
218
+ this.setState({
219
+ isCalculatingData: true
220
+ });
185
221
  if (this.container) {
186
- chartCalculator.calculate(statItem).then(function (data) {
187
- var showResultDescription = data.colorSet && data.colorSet.length > 0 ? false : true;
188
- _this2.setState({
222
+ chartCalculator.calculate(statItem).then(data => {
223
+ const showResultDescription = data.colorSet && data.colorSet.length > 0 ? false : true;
224
+ this.chart && this.destroyChart();
225
+ this.calculateData = data;
226
+ this.setState({
189
227
  isCalculatingData: false,
190
- showResultDescription: showResultDescription
191
- }, function () {
228
+ showResultDescription
229
+ }, () => {
192
230
  if (!showResultDescription) {
193
- _this2.drawChart(data);
194
- _this2.calculateData = data;
231
+ this.drawChart(data);
232
+ if (this.props.isPreview) this.chart.forceFit();
195
233
  }
196
234
  });
197
235
  });
198
236
  }
199
- }
200
- }, {
201
- key: "shouldComponentUpdate",
202
- value: function shouldComponentUpdate(nextProps, nextState) {
203
- if (this.canUpdate(this.props, nextProps)) {
204
- return true;
205
- }
206
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
207
- return true;
208
- }
209
- return false;
210
- }
211
- }, {
212
- key: "componentDidUpdate",
213
- value: function componentDidUpdate(preProps, preState) {
214
- var _this3 = this;
215
- var _this$props4 = this.props,
216
- statItem = _this$props4.statItem,
217
- chartCalculator = _this$props4.chartCalculator;
218
- var isCalculatingData = this.state.isCalculatingData;
219
- if (isCalculatingData !== preState.isCalculatingData) return;
220
- if (this.shouldCalculateStatItem(preProps, this.props)) {
221
- this.setState({
222
- isCalculatingData: true
223
- });
224
- if (this.container) {
225
- chartCalculator.calculate(statItem).then(function (data) {
226
- var showResultDescription = data.colorSet && data.colorSet.length > 0 ? false : true;
227
- _this3.chart && _this3.destroyChart();
228
- _this3.calculateData = data;
229
- _this3.setState({
230
- isCalculatingData: false,
231
- showResultDescription: showResultDescription
232
- }, function () {
233
- if (!showResultDescription) {
234
- _this3.drawChart(data);
235
- if (_this3.props.isPreview) _this3.chart.forceFit();
236
- }
237
- });
238
- });
239
- }
240
- } else {
241
- if (!this.state.showResultDescription) {
242
- this.chart && this.destroyChart();
243
- this.drawChart(this.calculateData);
244
- if (this.props.isPreview) {
245
- this.chart.forceFit();
246
- }
237
+ } else {
238
+ if (!this.state.showResultDescription) {
239
+ this.chart && this.destroyChart();
240
+ this.drawChart(this.calculateData);
241
+ if (this.props.isPreview) {
242
+ this.chart.forceFit();
247
243
  }
248
244
  }
249
245
  }
250
- }, {
251
- key: "componentWillUnmount",
252
- value: function componentWillUnmount() {
253
- this.container = null;
254
- }
255
- }, {
256
- key: "render",
257
- value: function render() {
258
- var _this4 = this;
259
- var _this$state = this.state,
260
- isCalculatingData = _this$state.isCalculatingData,
261
- showResultDescription = _this$state.showResultDescription;
262
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
263
- ref: function ref(_ref2) {
264
- return _this4.container = _ref2;
265
- },
266
- className: "statistic-mirror-chart-container statistic-chart-container"
267
- }));
268
- }
269
- }]);
270
- return Mirror;
271
- }(BaseChart);
246
+ }
247
+ componentWillUnmount() {
248
+ this.container = null;
249
+ }
250
+ render() {
251
+ const {
252
+ isCalculatingData,
253
+ showResultDescription
254
+ } = this.state;
255
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
256
+ ref: ref => this.container = ref,
257
+ className: "statistic-mirror-chart-container statistic-chart-container"
258
+ }));
259
+ }
260
+ }
272
261
  Mirror.propTypes = {
273
262
  isPreview: PropTypes.bool,
274
263
  statItem: PropTypes.object,