dtable-statistic 4.2.2 → 4.3.1

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,10 +1,3 @@
1
- import _createForOfIteratorHelper from "@babel/runtime/helpers/esm/createForOfIteratorHelper";
2
- import _regeneratorRuntime from "@babel/runtime/regenerator";
3
- import _asyncToGenerator from "@babel/runtime/helpers/esm/asyncToGenerator";
4
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
5
- import _createClass from "@babel/runtime/helpers/esm/createClass";
6
- import _inherits from "@babel/runtime/helpers/esm/inherits";
7
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
8
1
  import React from 'react';
9
2
  import PropTypes from 'prop-types';
10
3
  import DataSet from '@antv/data-set';
@@ -17,7 +10,7 @@ import { Chart, registerGeometryLabelLayout } from '../custom-g2';
17
10
  import { formatPieChartData, getCurrentTheme } from '../utils/common-utils';
18
11
  import { EMPTY_NAME, STATISTICS_COUNT_TYPE } from '../constants';
19
12
  import chartStyles from '../assets/css/statistic-chart.module.css';
20
- var propTypes = {
13
+ const propTypes = {
21
14
  isPreview: PropTypes.bool,
22
15
  isEnlarge: PropTypes.bool,
23
16
  theme: PropTypes.string,
@@ -27,134 +20,96 @@ var propTypes = {
27
20
  getTableById: PropTypes.func,
28
21
  toggleStatisticRecordsDialog: PropTypes.func
29
22
  };
30
- var TreemapChart = /*#__PURE__*/function (_BaseChart) {
31
- _inherits(TreemapChart, _BaseChart);
32
- var _super = _createSuper(TreemapChart);
33
- function TreemapChart(props) {
34
- var _this;
35
- _classCallCheck(this, TreemapChart);
36
- _this = _super.call(this, props);
37
- _this.componentDidMount = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
38
- var _this$props, statItem, chartCalculator, data;
39
- return _regeneratorRuntime.wrap(function _callee$(_context) {
40
- while (1) {
41
- switch (_context.prev = _context.next) {
42
- case 0:
43
- _this$props = _this.props, statItem = _this$props.statItem, chartCalculator = _this$props.chartCalculator;
44
- if (!_this.container) {
45
- _context.next = 8;
46
- break;
47
- }
48
- _context.next = 4;
49
- return chartCalculator.calculate(statItem);
50
- case 4:
51
- data = _context.sent;
52
- _this.setState({
53
- isCalculatingData: false
54
- });
55
- _this.drawChart(data);
56
- _this.calculateData = data;
57
- case 8:
58
- case "end":
59
- return _context.stop();
23
+ class TreemapChart extends BaseChart {
24
+ constructor(props) {
25
+ super(props);
26
+ this.componentDidMount = async () => {
27
+ const {
28
+ statItem,
29
+ chartCalculator
30
+ } = this.props;
31
+ if (this.container) {
32
+ const data = await chartCalculator.calculate(statItem);
33
+ this.setState({
34
+ isCalculatingData: false
35
+ });
36
+ this.drawChart(data);
37
+ this.calculateData = data;
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
+ this.setState({
51
+ isCalculatingData: true
52
+ });
53
+ if (this.container) {
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();
60
63
  }
61
64
  }
62
- }, _callee);
63
- }));
64
- _this.componentDidUpdate = /*#__PURE__*/function () {
65
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(preProps, preState) {
66
- var _this$props2, statItem, chartCalculator, isCalculatingData, data;
67
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
68
- while (1) {
69
- switch (_context2.prev = _context2.next) {
70
- case 0:
71
- _this$props2 = _this.props, statItem = _this$props2.statItem, chartCalculator = _this$props2.chartCalculator;
72
- isCalculatingData = _this.state.isCalculatingData;
73
- if (!(isCalculatingData !== preState.isCalculatingData)) {
74
- _context2.next = 4;
75
- break;
76
- }
77
- return _context2.abrupt("return");
78
- case 4:
79
- if (!_this.shouldCalculateStatItem(preProps, _this.props)) {
80
- _context2.next = 17;
81
- break;
82
- }
83
- _this.setState({
84
- isCalculatingData: true
85
- });
86
- if (!_this.container) {
87
- _context2.next = 15;
88
- break;
89
- }
90
- _context2.next = 9;
91
- return chartCalculator.calculate(statItem);
92
- case 9:
93
- data = _context2.sent;
94
- _this.calculateData = data;
95
- _this.setState({
96
- isCalculatingData: false
97
- });
98
- _this.chart && _this.chart.destroy();
99
- _this.drawChart(data);
100
- if (_this.props.isPreview) {
101
- _this.chart.forceFit();
102
- }
103
- case 15:
104
- _context2.next = 20;
105
- break;
106
- case 17:
107
- _this.chart && _this.chart.destroy();
108
- _this.drawChart(_this.calculateData);
109
- if (_this.props.isPreview) {
110
- _this.chart.forceFit();
111
- }
112
- case 20:
113
- case "end":
114
- return _context2.stop();
115
- }
116
- }
117
- }, _callee2);
118
- }));
119
- return function (_x, _x2) {
120
- return _ref2.apply(this, arguments);
121
- };
122
- }();
123
- _this.drawChart = function (data) {
124
- var _this$props3 = _this.props,
125
- getTableById = _this$props3.getTableById,
126
- isPreview = _this$props3.isPreview,
127
- statItem = _this$props3.statItem,
128
- colorThemeName = _this$props3.colorThemeName;
129
- var table_id = statItem.table_id,
130
- summary_type = statItem.summary_type,
131
- summary_column_key = statItem.summary_column_key;
132
- var table = getTableById(table_id);
133
- var selectedNumericColumn = TableUtils.getTableColumnByKey(table, summary_column_key);
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 {
81
+ table_id,
82
+ summary_type,
83
+ summary_column_key
84
+ } = statItem;
85
+ const table = getTableById(table_id);
86
+ const selectedNumericColumn = TableUtils.getTableColumnByKey(table, summary_column_key);
134
87
  if (isPreview) {
135
- _this.chart = new Chart({
136
- container: _this.container,
88
+ this.chart = new Chart({
89
+ container: this.container,
137
90
  autoFit: true
138
91
  });
139
92
  } else {
140
- _this.chart = new Chart({
141
- container: _this.container,
93
+ this.chart = new Chart({
94
+ container: this.container,
142
95
  height: 400,
143
96
  width: 700
144
97
  });
145
98
  }
146
- _this.chart.on('element:click', function (e) {
147
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
99
+ this.chart.on('element:click', e => {
100
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
148
101
  });
149
- var currentTheme = getCurrentTheme(colorThemeName);
150
- var newData = formatPieChartData(data, statItem, table, currentTheme);
151
- var colorSet = newData.colorSet;
152
- var DataView = DataSet.DataView;
153
- var dv = new DataView();
154
- var fullData = {
102
+ const currentTheme = getCurrentTheme(colorThemeName);
103
+ const newData = formatPieChartData(data, statItem, table, currentTheme);
104
+ const colorSet = newData.colorSet;
105
+ const {
106
+ DataView
107
+ } = DataSet;
108
+ const dv = new DataView();
109
+ const fullData = {
155
110
  name: 'root',
156
- children: newData.map(function (item) {
157
- var name = item.name;
111
+ children: newData.map(item => {
112
+ let name = item.name;
158
113
  item.name = name || name === 0 ? name : intl.get(EMPTY_NAME);
159
114
  if (name == 'Others') {
160
115
  item.name = intl.get('Others');
@@ -170,33 +125,24 @@ var TreemapChart = /*#__PURE__*/function (_BaseChart) {
170
125
  tile: 'treemapResquarify',
171
126
  as: ['x', 'y']
172
127
  });
173
- var nodes = [];
174
- var _iterator = _createForOfIteratorHelper(dv.getAllNodes()),
175
- _step;
176
- try {
177
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
178
- var node = _step.value;
179
- if (node.data.name === 'root') {
180
- continue;
181
- }
182
- var eachNode = {
183
- name: node.data.name,
184
- x: node.x,
185
- y: node.y,
186
- value: node.data.value,
187
- formatted_value: node.data.formatted_value,
188
- percent: node.data.percent,
189
- original_name: node.data.original_name,
190
- rows: node.data.rows || null
191
- };
192
- nodes.push(eachNode);
128
+ const nodes = [];
129
+ for (const node of dv.getAllNodes()) {
130
+ if (node.data.name === 'root') {
131
+ continue;
193
132
  }
194
- } catch (err) {
195
- _iterator.e(err);
196
- } finally {
197
- _iterator.f();
133
+ const eachNode = {
134
+ name: node.data.name,
135
+ x: node.x,
136
+ y: node.y,
137
+ value: node.data.value,
138
+ formatted_value: node.data.formatted_value,
139
+ percent: node.data.percent,
140
+ original_name: node.data.original_name,
141
+ rows: node.data.rows || null
142
+ };
143
+ nodes.push(eachNode);
198
144
  }
199
- var chart = _this.chart;
145
+ const chart = this.chart;
200
146
  chart.data(nodes);
201
147
  chart.scale({
202
148
  x: {
@@ -214,13 +160,13 @@ var TreemapChart = /*#__PURE__*/function (_BaseChart) {
214
160
  containerTpl: '<div class="g2-tooltip"><div class="g2-tooltip-list"></div></div>',
215
161
  itemTpl: '<div class="g2-tooltip-content"><div class="tooltip-name">{name}<div><div class="tooltip-item">{info}<div></div>',
216
162
  domStyles: {
217
- 'g2-tooltip': _this.getDefaultChartStyleByKey('g2-tooltip'),
218
- 'tooltip-item': _this.getDefaultChartStyleByKey('tooltip-item')
163
+ 'g2-tooltip': this.getDefaultChartStyleByKey('g2-tooltip'),
164
+ 'tooltip-item': this.getDefaultChartStyleByKey('tooltip-item')
219
165
  }
220
166
  });
221
- chart.polygon().position('x*y').color('name', colorSet).tooltip('name*formatted_value*percent', function (name, value, percent) {
167
+ chart.polygon().position('x*y').color('name', colorSet).tooltip('name*formatted_value*percent', (name, value, percent) => {
222
168
  return {
223
- name: name,
169
+ name,
224
170
  info: summary_type == STATISTICS_COUNT_TYPE.COUNT ? "".concat(value) : "".concat(selectedNumericColumn.name, ": ").concat(value, " (").concat(percent, ")")
225
171
  };
226
172
  }).style({
@@ -231,7 +177,7 @@ var TreemapChart = /*#__PURE__*/function (_BaseChart) {
231
177
  style: {
232
178
  textBaseline: 'middle'
233
179
  },
234
- content: function content(obj) {
180
+ content: obj => {
235
181
  if (obj.name !== 'root') {
236
182
  return obj.name;
237
183
  }
@@ -243,67 +189,57 @@ var TreemapChart = /*#__PURE__*/function (_BaseChart) {
243
189
  chart.interaction('element-active');
244
190
  chart.render();
245
191
  };
246
- _this.state = {
192
+ this.state = {
247
193
  isCalculatingData: true
248
194
  };
249
- _this.calculateData = null;
195
+ this.calculateData = null;
250
196
 
251
197
  // customize label layout: show ellipsis for long labels
252
198
  function limitInShape(items, labels, shapes, region) {
253
- each(labels, function (label, index) {
254
- var labelBBox = label.getCanvasBBox();
255
- var shapeBBox = shapes[index].getBBox();
199
+ each(labels, (label, index) => {
200
+ const labelBBox = label.getCanvasBBox();
201
+ const shapeBBox = shapes[index].getBBox();
256
202
  if (labelBBox.minX < shapeBBox.minX || labelBBox.minY < shapeBBox.minY || labelBBox.maxX > shapeBBox.maxX || labelBBox.maxY > shapeBBox.maxY) {
257
- var translateX = labelBBox.width - shapeBBox.width + 20;
258
- var textShapes = label.findAll(function (shape) {
259
- return shape.get('type') === 'text';
260
- });
261
- textShapes.forEach(function (textShape) {
262
- var style = pick(textShape.attr(), ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'fontVariant']);
263
- var textBox = textShape.getCanvasBBox();
264
- var text = getEllipsisText(textShape.attr('text'), textBox.width - Math.abs(translateX), style);
203
+ const translateX = labelBBox.width - shapeBBox.width + 20;
204
+ const textShapes = label.findAll(shape => shape.get('type') === 'text');
205
+ textShapes.forEach(textShape => {
206
+ const style = pick(textShape.attr(), ['fontSize', 'fontFamily', 'fontWeight', 'fontStyle', 'fontVariant']);
207
+ const textBox = textShape.getCanvasBBox();
208
+ const text = getEllipsisText(textShape.attr('text'), textBox.width - Math.abs(translateX), style);
265
209
  textShape.attr('text', text);
266
210
  });
267
211
  }
268
212
  });
269
213
  }
270
214
  registerGeometryLabelLayout('custom-limit-in-shape', limitInShape);
271
- return _this;
272
215
  }
273
- _createClass(TreemapChart, [{
274
- key: "shouldComponentUpdate",
275
- value: function shouldComponentUpdate(nextProps, nextState) {
276
- var colorThemeName = this.props.colorThemeName;
277
- if (this.canUpdate(this.props, nextProps)) {
278
- return true;
279
- }
280
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
281
- return true;
282
- }
283
- if (nextProps.colorThemeName !== colorThemeName) {
284
- return true;
285
- }
286
- return false;
216
+ shouldComponentUpdate(nextProps, nextState) {
217
+ const {
218
+ colorThemeName
219
+ } = this.props;
220
+ if (this.canUpdate(this.props, nextProps)) {
221
+ return true;
287
222
  }
288
- }, {
289
- key: "componentWillUnmount",
290
- value: function componentWillUnmount() {
291
- this.container = null;
223
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
224
+ return true;
292
225
  }
293
- }, {
294
- key: "render",
295
- value: function render() {
296
- var _this2 = this;
297
- var isCalculatingData = this.state.isCalculatingData;
298
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
299
- ref: function ref(_ref3) {
300
- return _this2.container = _ref3;
301
- },
302
- className: "statistic-chart-container ".concat(chartStyles['statistic-treemap-chart-container'])
303
- }));
226
+ if (nextProps.colorThemeName !== colorThemeName) {
227
+ return true;
304
228
  }
305
- }]);
306
- return TreemapChart;
307
- }(BaseChart);
229
+ return false;
230
+ }
231
+ componentWillUnmount() {
232
+ this.container = null;
233
+ }
234
+ render() {
235
+ const {
236
+ isCalculatingData
237
+ } = this.state;
238
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
239
+ ref: ref => this.container = ref,
240
+ className: "statistic-chart-container ".concat(chartStyles['statistic-treemap-chart-container'])
241
+ }));
242
+ }
243
+ }
308
244
  TreemapChart.propTypes = propTypes;
309
245
  export default TreemapChart;