dtable-statistic 4.2.1 → 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';
@@ -11,157 +5,120 @@ import { TableUtils } from 'dtable-store';
11
5
  import BaseChart from './base-chart';
12
6
  import { Chart } from '../custom-g2';
13
7
  import { DATE_GRANULARITY, EMPTY_NAME, STATISTICS_COUNT_TYPE, SUMMARY_METHOD_MAP } from '../constants';
14
- var propTypes = {
8
+ const propTypes = {
15
9
  isPreview: PropTypes.bool,
16
10
  statItem: PropTypes.object,
17
11
  chartCalculator: PropTypes.object,
18
12
  getTableById: PropTypes.func
19
13
  };
20
- var BasicNumericCard = /*#__PURE__*/function (_BaseChart) {
21
- _inherits(BasicNumericCard, _BaseChart);
22
- var _super = _createSuper(BasicNumericCard);
23
- function BasicNumericCard(props) {
24
- var _this;
25
- _classCallCheck(this, BasicNumericCard);
26
- _this = _super.call(this, props);
27
- _this.componentDidMount = /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
28
- var _this$props, statItem, chartCalculator, data;
29
- return _regeneratorRuntime.wrap(function _callee$(_context) {
30
- while (1) {
31
- switch (_context.prev = _context.next) {
32
- case 0:
33
- _this$props = _this.props, statItem = _this$props.statItem, chartCalculator = _this$props.chartCalculator;
34
- if (!_this.container) {
35
- _context.next = 8;
36
- break;
37
- }
38
- _context.next = 4;
39
- return chartCalculator.calculate(statItem);
40
- case 4:
41
- data = _context.sent;
42
- _this.setState({
43
- isCalculatingData: false
44
- });
45
- _this.drawChart(data);
46
- _this.calculateData = data;
47
- case 8:
48
- case "end":
49
- return _context.stop();
14
+ class BasicNumericCard extends BaseChart {
15
+ constructor(props) {
16
+ super(props);
17
+ this.componentDidMount = async () => {
18
+ const {
19
+ statItem,
20
+ chartCalculator
21
+ } = this.props;
22
+ if (this.container) {
23
+ const data = await chartCalculator.calculate(statItem);
24
+ this.setState({
25
+ isCalculatingData: false
26
+ });
27
+ this.drawChart(data);
28
+ this.calculateData = data;
29
+ }
30
+ };
31
+ this.componentDidUpdate = async (preProps, preState) => {
32
+ const {
33
+ statItem,
34
+ chartCalculator
35
+ } = this.props;
36
+ const {
37
+ isCalculatingData
38
+ } = this.state;
39
+ if (isCalculatingData !== preState.isCalculatingData) return;
40
+ if (this.shouldCalculateStatItem(preProps, this.props)) {
41
+ this.setState({
42
+ isCalculatingData: true
43
+ });
44
+ if (this.container) {
45
+ const data = await chartCalculator.calculate(statItem);
46
+ this.calculateData = data;
47
+ this.setState({
48
+ isCalculatingData: false
49
+ });
50
+ this.chart && this.chart.destroy();
51
+ this.drawChart(data);
52
+ if (this.props.isPreview) {
53
+ this.chart.forceFit();
50
54
  }
51
55
  }
52
- }, _callee);
53
- }));
54
- _this.componentDidUpdate = /*#__PURE__*/function () {
55
- var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee2(preProps, preState) {
56
- var _this$props2, statItem, chartCalculator, isCalculatingData, data;
57
- return _regeneratorRuntime.wrap(function _callee2$(_context2) {
58
- while (1) {
59
- switch (_context2.prev = _context2.next) {
60
- case 0:
61
- _this$props2 = _this.props, statItem = _this$props2.statItem, chartCalculator = _this$props2.chartCalculator;
62
- isCalculatingData = _this.state.isCalculatingData;
63
- if (!(isCalculatingData !== preState.isCalculatingData)) {
64
- _context2.next = 4;
65
- break;
66
- }
67
- return _context2.abrupt("return");
68
- case 4:
69
- if (!_this.shouldCalculateStatItem(preProps, _this.props)) {
70
- _context2.next = 17;
71
- break;
72
- }
73
- _this.setState({
74
- isCalculatingData: true
75
- });
76
- if (!_this.container) {
77
- _context2.next = 15;
78
- break;
79
- }
80
- _context2.next = 9;
81
- return chartCalculator.calculate(statItem);
82
- case 9:
83
- data = _context2.sent;
84
- _this.calculateData = data;
85
- _this.setState({
86
- isCalculatingData: false
87
- });
88
- _this.chart && _this.chart.destroy();
89
- _this.drawChart(data);
90
- if (_this.props.isPreview) {
91
- _this.chart.forceFit();
92
- }
93
- case 15:
94
- _context2.next = 20;
95
- break;
96
- case 17:
97
- _this.chart && _this.chart.destroy();
98
- _this.drawChart(_this.calculateData);
99
- if (_this.props.isPreview) {
100
- _this.chart.forceFit();
101
- }
102
- case 20:
103
- case "end":
104
- return _context2.stop();
105
- }
106
- }
107
- }, _callee2);
108
- }));
109
- return function (_x, _x2) {
110
- return _ref2.apply(this, arguments);
111
- };
112
- }();
113
- _this.drawChart = function (data) {
114
- var _this$props3 = _this.props,
115
- isPreview = _this$props3.isPreview,
116
- statItem = _this$props3.statItem;
56
+ } else {
57
+ this.chart && this.chart.destroy();
58
+ this.drawChart(this.calculateData);
59
+ if (this.props.isPreview) {
60
+ this.chart.forceFit();
61
+ }
62
+ }
63
+ };
64
+ this.drawChart = data => {
65
+ const {
66
+ isPreview,
67
+ statItem
68
+ } = this.props;
117
69
  if (isPreview) {
118
- _this.chart = new Chart({
119
- container: _this.container,
70
+ this.chart = new Chart({
71
+ container: this.container,
120
72
  autoFit: true
121
73
  });
122
74
  } else {
123
- _this.chart = new Chart({
124
- container: _this.container,
75
+ this.chart = new Chart({
76
+ container: this.container,
125
77
  autoFit: true,
126
78
  height: 400,
127
79
  width: 700
128
80
  });
129
81
  }
130
- var summary_method = statItem.summary_method;
131
- var latest = data && data.latest;
132
- var content = summary_method === SUMMARY_METHOD_MAP.Distinct_values ? latest : _this.formatData(latest);
133
- var fontSize = _this.getFontSize(content);
134
- var labelFontSize = fontSize - 32;
135
- var themeColors = _this.getThemeColors();
136
- var labelContent = _this.createLabelContent(data, labelFontSize);
137
- _this.chart.annotation().html({
82
+ const {
83
+ summary_method
84
+ } = statItem;
85
+ const latest = data && data.latest;
86
+ const content = summary_method === SUMMARY_METHOD_MAP.Distinct_values ? latest : this.formatData(latest);
87
+ const fontSize = this.getFontSize(content);
88
+ let labelFontSize = fontSize - 32;
89
+ const themeColors = this.getThemeColors();
90
+ const labelContent = this.createLabelContent(data, labelFontSize);
91
+ this.chart.annotation().html({
138
92
  position: ['50%', '50%'],
139
93
  html: "\n <div style=\"color:".concat(themeColors.cardColor, "; text-align: center;\">\n <p class=\"text-content\" style=\"font-size: ").concat(fontSize, "px; margin: -8px 0 2px 0;\">").concat(content, "</p>\n <p style=\"margin: 0;\">").concat(labelContent, "</p>\n </div>\n ")
140
94
  });
141
- _this.chart.render();
95
+ this.chart.render();
142
96
  };
143
- _this.formatData = function (data) {
144
- var _this$props4 = _this.props,
145
- getTableById = _this$props4.getTableById,
146
- statItem = _this$props4.statItem;
97
+ this.formatData = data => {
98
+ const {
99
+ getTableById,
100
+ statItem
101
+ } = this.props;
147
102
  if (typeof data !== 'number') return intl.get(EMPTY_NAME);
148
- var table_id = statItem.table_id,
149
- summary_type = statItem.summary_type,
150
- summary_column = statItem.summary_column;
103
+ const {
104
+ table_id,
105
+ summary_type,
106
+ summary_column
107
+ } = statItem;
151
108
  if (summary_type !== STATISTICS_COUNT_TYPE.COUNT) {
152
- var table = getTableById(table_id);
153
- var selectedColumn = TableUtils.getTableColumnByKey(table, summary_column);
154
- return _this.getNumberDisplayString(data, selectedColumn.data || {});
109
+ const table = getTableById(table_id);
110
+ const selectedColumn = TableUtils.getTableColumnByKey(table, summary_column);
111
+ return this.getNumberDisplayString(data, selectedColumn.data || {});
155
112
  }
156
- var string = data + '';
157
- var isFloat = string.indexOf('.') > 0;
113
+ let string = data + '';
114
+ const isFloat = string.indexOf('.') > 0;
158
115
  if (isFloat) {
159
116
  string = string.slice(0, string.indexOf('.'));
160
117
  }
161
- var content = '';
162
- var endPoint = -3;
163
- var startPoint = 0;
164
- var subString = string.slice(endPoint);
118
+ let content = '';
119
+ let endPoint = -3;
120
+ let startPoint = 0;
121
+ let subString = string.slice(endPoint);
165
122
  while (subString.length === 3) {
166
123
  content = ',' + subString + content;
167
124
  startPoint = endPoint;
@@ -173,18 +130,20 @@ var BasicNumericCard = /*#__PURE__*/function (_BaseChart) {
173
130
  content = content.slice(1);
174
131
  }
175
132
  if (isFloat) {
176
- var initString = data + '';
133
+ const initString = data + '';
177
134
  content = content + initString.slice(initString.indexOf('.'));
178
135
  }
179
136
  return content;
180
137
  };
181
- _this.getFontSize = function (content, maxFontSize) {
182
- var canvas = document.createElement('canvas');
183
- var context = canvas.getContext('2d');
184
- var width = _this.chart.width;
185
- var font = context.font;
186
- var initFontSize = maxFontSize || 48;
187
- var fontStyle = font.slice(font.indexOf('px'));
138
+ this.getFontSize = (content, maxFontSize) => {
139
+ let canvas = document.createElement('canvas');
140
+ const context = canvas.getContext('2d');
141
+ const {
142
+ width
143
+ } = this.chart;
144
+ let font = context.font;
145
+ let initFontSize = maxFontSize || 48;
146
+ const fontStyle = font.slice(font.indexOf('px'));
188
147
  font = initFontSize + fontStyle;
189
148
  context.font = font;
190
149
  context.fontSize = initFontSize;
@@ -200,10 +159,14 @@ var BasicNumericCard = /*#__PURE__*/function (_BaseChart) {
200
159
  }
201
160
  return initFontSize;
202
161
  };
203
- _this.createLabelContent = function (data, maxFontSize) {
204
- var statItem = _this.props.statItem;
205
- var date_granularity = statItem.date_granularity;
206
- var conjunctions = '';
162
+ this.createLabelContent = (data, maxFontSize) => {
163
+ const {
164
+ statItem
165
+ } = this.props;
166
+ const {
167
+ date_granularity
168
+ } = statItem;
169
+ let conjunctions = '';
207
170
  if (date_granularity === DATE_GRANULARITY.YEAR) {
208
171
  conjunctions = intl.get('The_year_before_last');
209
172
  } else if (date_granularity === DATE_GRANULARITY.QUARTER) {
@@ -219,23 +182,24 @@ var BasicNumericCard = /*#__PURE__*/function (_BaseChart) {
219
182
  } else {
220
183
  conjunctions = intl.get('The_day_before_yesterday');
221
184
  }
222
- var _ref3 = data || {},
223
- result = _ref3.result,
224
- type = _ref3.type,
225
- previous = _ref3.previous;
226
- var color = '#ff0000',
185
+ const {
186
+ result,
187
+ type,
188
+ previous
189
+ } = data || {};
190
+ let color = '#ff0000',
227
191
  icon = 'dtable-icon-down';
228
192
  if (type === 'up') {
229
193
  color = '#008000';
230
194
  icon = 'dtable-icon-up';
231
195
  }
232
- var resultText = "".concat(Number.parseFloat(result * 100).toFixed(2), "%&#8226;").concat(conjunctions).concat(previous);
196
+ let resultText = "".concat(Number.parseFloat(result * 100).toFixed(2), "%&#8226;").concat(conjunctions).concat(previous);
233
197
  if (!previous) {
234
198
  resultText = intl.get('Can_not_compare_with_var', {
235
199
  var: conjunctions.toLowerCase()
236
200
  });
237
201
  }
238
- var labelFontSize = _this.getFontSize(resultText, maxFontSize);
202
+ let labelFontSize = this.getFontSize(resultText, maxFontSize);
239
203
  labelFontSize = labelFontSize > 20 ? 20 : labelFontSize;
240
204
  if (!previous) {
241
205
  return "<span style='font-size: ".concat(labelFontSize, "px'>").concat(resultText, "</span>");
@@ -244,45 +208,35 @@ var BasicNumericCard = /*#__PURE__*/function (_BaseChart) {
244
208
  if (!result) return '';
245
209
  return "<span style='font-size: ".concat(labelFontSize, "px; width: 100%;'>\n <i style='color: ").concat(color, "' class='dtable-font ").concat(icon, "'></i>\n <span style='color: ").concat(color, "'>").concat(result ? Number.parseFloat(result * 100).toFixed(2) : '', "%</span>\n </span>");
246
210
  }
247
- var resultContent = "\n <span style='display: block; word-break: keep-all; font-size: ".concat(labelFontSize, "px; width: 100%;'>\n ").concat(!result ? '' : "<i style='color: ".concat(color, "' class='dtable-font ").concat(icon, "'></i>"), "\n <span style='color: ").concat(color, "'>").concat(result ? Number.parseFloat(result * 100).toFixed(2) + '%' : '', "</span>\n ").concat(result ? '&#8226;' : '', "\n ").concat(conjunctions, "\n ").concat(_this.formatData(previous), "\n </span>\n ");
211
+ const resultContent = "\n <span style='display: block; word-break: keep-all; font-size: ".concat(labelFontSize, "px; width: 100%;'>\n ").concat(!result ? '' : "<i style='color: ".concat(color, "' class='dtable-font ").concat(icon, "'></i>"), "\n <span style='color: ").concat(color, "'>").concat(result ? Number.parseFloat(result * 100).toFixed(2) + '%' : '', "</span>\n ").concat(result ? '&#8226;' : '', "\n ").concat(conjunctions, "\n ").concat(this.formatData(previous), "\n </span>\n ");
248
212
  return resultContent;
249
213
  };
250
- _this.state = {
214
+ this.state = {
251
215
  isCalculatingData: true
252
216
  };
253
- _this.calculateData = null;
254
- return _this;
217
+ this.calculateData = null;
255
218
  }
256
- _createClass(BasicNumericCard, [{
257
- key: "shouldComponentUpdate",
258
- value: function shouldComponentUpdate(nextProps, nextState) {
259
- if (this.canUpdate(this.props, nextProps)) {
260
- return true;
261
- }
262
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
263
- return true;
264
- }
265
- return false;
266
- }
267
- }, {
268
- key: "componentWillUnmount",
269
- value: function componentWillUnmount() {
270
- this.container = null;
219
+ shouldComponentUpdate(nextProps, nextState) {
220
+ if (this.canUpdate(this.props, nextProps)) {
221
+ return true;
271
222
  }
272
- }, {
273
- key: "render",
274
- value: function render() {
275
- var _this2 = this;
276
- var isCalculatingData = this.state.isCalculatingData;
277
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
278
- ref: function ref(_ref4) {
279
- return _this2.container = _ref4;
280
- },
281
- className: "statistic-chart-container statistic-number-card"
282
- }));
223
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
224
+ return true;
283
225
  }
284
- }]);
285
- return BasicNumericCard;
286
- }(BaseChart);
226
+ return false;
227
+ }
228
+ componentWillUnmount() {
229
+ this.container = null;
230
+ }
231
+ render() {
232
+ const {
233
+ isCalculatingData
234
+ } = this.state;
235
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), /*#__PURE__*/React.createElement("div", {
236
+ ref: ref => this.container = ref,
237
+ className: "statistic-chart-container statistic-number-card"
238
+ }));
239
+ }
240
+ }
287
241
  BasicNumericCard.propTypes = propTypes;
288
242
  export default BasicNumericCard;