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,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';
@@ -12,27 +8,30 @@ import TwoDimensionTable from './two-dimension-table';
12
8
  import OneDimensionTableWithNumericColumns from './one-dimension-table-with-numeric-columns';
13
9
  import { TIME_COLUMN_LIST, DEFAULT_NUMBER_FORMAT_OBJECT, SUMMARY_TYPE, TOO_MANY_STATISTIC_ENTRIES } from '../../constants';
14
10
  import styles from './statistic-pivot-table.module.css';
15
- var PivotTable = /*#__PURE__*/function (_BaseChart) {
16
- _inherits(PivotTable, _BaseChart);
17
- var _super = _createSuper(PivotTable);
18
- function PivotTable(props) {
19
- var _this;
20
- _classCallCheck(this, PivotTable);
21
- _this = _super.call(this, props);
22
- _this.isValidValue = function (value) {
11
+ class PivotTable extends BaseChart {
12
+ constructor(props) {
13
+ super(props);
14
+ this.isValidValue = value => {
23
15
  if (value === 0) return true;
24
16
  return Boolean(value);
25
17
  };
26
- _this.renderPivotTable = function () {
27
- var _this$props = _this.props,
28
- statItem = _this$props.statItem,
29
- isPreview = _this$props.isPreview,
30
- getTableById = _this$props.getTableById;
31
- var statData = _this.state.statData;
18
+ this.renderPivotTable = () => {
19
+ const {
20
+ statItem,
21
+ isPreview,
22
+ getTableById
23
+ } = this.props;
24
+ const {
25
+ statData
26
+ } = this.state;
32
27
  if (!Object.keys(statData).length > 0) return '';
33
- var pivot_columns = statData.pivot_columns;
34
- var column_groupby_column_key = statItem.column_groupby_column_key;
35
- var themeColors = _this.getThemeColors('#212529');
28
+ const {
29
+ pivot_columns
30
+ } = statData;
31
+ const {
32
+ column_groupby_column_key
33
+ } = statItem;
34
+ const themeColors = this.getThemeColors('#212529');
36
35
  if (Array.isArray(pivot_columns) && pivot_columns.length > 100) {
37
36
  return /*#__PURE__*/React.createElement("div", {
38
37
  className: 'statistic-chart-text'
@@ -40,149 +39,145 @@ var PivotTable = /*#__PURE__*/function (_BaseChart) {
40
39
  }
41
40
  if (column_groupby_column_key) {
42
41
  return /*#__PURE__*/React.createElement(TwoDimensionTable, {
43
- pivotResult: _this.state.statData,
42
+ pivotResult: this.state.statData,
44
43
  statItem: statItem,
45
44
  isPreview: isPreview,
46
45
  textColor: themeColors.textColor,
47
46
  getTableById: getTableById,
48
- isValidValue: _this.isValidValue,
49
- getSummaryValueDisplayString: _this.getSummaryValueDisplayString,
50
- toggleStatisticRecordsDialog: _this.props.toggleStatisticRecordsDialog
47
+ isValidValue: this.isValidValue,
48
+ getSummaryValueDisplayString: this.getSummaryValueDisplayString,
49
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
51
50
  });
52
51
  }
53
52
  if (pivot_columns.length < 2) {
54
53
  return /*#__PURE__*/React.createElement(OneDimensionTableNoNumericColumns, {
55
- pivotResult: _this.state.statData,
54
+ pivotResult: this.state.statData,
56
55
  statItem: statItem,
57
56
  isPreview: isPreview,
58
57
  textColor: themeColors.textColor,
59
58
  getTableById: getTableById,
60
- isValidValue: _this.isValidValue,
61
- getSummaryValueDisplayString: _this.getSummaryValueDisplayString,
62
- toggleStatisticRecordsDialog: _this.props.toggleStatisticRecordsDialog
59
+ isValidValue: this.isValidValue,
60
+ getSummaryValueDisplayString: this.getSummaryValueDisplayString,
61
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
63
62
  });
64
63
  }
65
64
  return /*#__PURE__*/React.createElement(OneDimensionTableWithNumericColumns, {
66
- getSummaryValueDisplayString: _this.getSummaryValueDisplayString,
67
- pivotResult: _this.state.statData,
65
+ getSummaryValueDisplayString: this.getSummaryValueDisplayString,
66
+ pivotResult: this.state.statData,
68
67
  statItem: statItem,
69
68
  isPreview: isPreview,
70
69
  textColor: themeColors.textColor,
71
70
  getTableById: getTableById,
72
- isValidValue: _this.isValidValue,
73
- toggleStatisticRecordsDialog: _this.props.toggleStatisticRecordsDialog
71
+ isValidValue: this.isValidValue,
72
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
74
73
  });
75
74
  };
76
- _this.getSummaryValueDisplayString = function (summaryColumn, summaryValue) {
77
- var summaryMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : SUMMARY_TYPE.COUNT;
75
+ this.getSummaryValueDisplayString = function (summaryColumn, summaryValue) {
76
+ let summaryMethod = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : SUMMARY_TYPE.COUNT;
78
77
  if (!summaryColumn || !summaryColumn.type) return summaryValue;
79
78
  if (!summaryValue && summaryValue !== 0) return summaryValue;
80
79
  if (summaryMethod && summaryMethod.toUpperCase() === 'DISTINCT_VALUES') return summaryValue;
81
- var data = summaryColumn.data;
80
+ const {
81
+ data
82
+ } = summaryColumn;
82
83
  if (TIME_COLUMN_LIST.includes(summaryColumn.type)) {
83
84
  if (typeof summaryValue !== 'string') return '';
84
85
  // The date returned by db carries T and Z, so that there is a time difference in data formatting
85
- var _ref = data || {},
86
- format = _ref.format;
86
+ const {
87
+ format
88
+ } = data || {};
87
89
  return getDateDisplayString(summaryValue.replace(/[T|Z]/g, ' '), format);
88
90
  }
89
91
  if (typeof summaryValue !== 'number') return summaryValue;
90
92
  return getNumberDisplayString(summaryValue, data || DEFAULT_NUMBER_FORMAT_OBJECT);
91
93
  };
92
- _this.getStatData = function () {
93
- var _this$props2 = _this.props,
94
- getTableById = _this$props2.getTableById,
95
- statItem = _this$props2.statItem;
96
- var table_id = statItem.table_id,
97
- groupby_column_key = statItem.groupby_column_key,
98
- column_groupby_column_key = statItem.column_groupby_column_key,
99
- summary_column_key = statItem.summary_column_key;
100
- var table = getTableById(table_id);
101
- var groupbyColumn = groupby_column_key && TableUtils.getTableColumnByKey(table, groupby_column_key);
102
- var columnGroupbyColumn = column_groupby_column_key && TableUtils.getTableColumnByKey(table, column_groupby_column_key);
103
- var summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
94
+ this.getStatData = () => {
95
+ const {
96
+ getTableById,
97
+ statItem
98
+ } = this.props;
99
+ const {
100
+ table_id,
101
+ groupby_column_key,
102
+ column_groupby_column_key,
103
+ summary_column_key
104
+ } = statItem;
105
+ const table = getTableById(table_id);
106
+ const groupbyColumn = groupby_column_key && TableUtils.getTableColumnByKey(table, groupby_column_key);
107
+ const columnGroupbyColumn = column_groupby_column_key && TableUtils.getTableColumnByKey(table, column_groupby_column_key);
108
+ const summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
104
109
  return {
105
- pivotResult: _this.state.statData,
110
+ pivotResult: this.state.statData,
106
111
  statisticTableColumns: table.columns,
107
- groupbyColumn: groupbyColumn,
108
- columnGroupbyColumn: columnGroupbyColumn,
109
- summaryColumn: summaryColumn
112
+ groupbyColumn,
113
+ columnGroupbyColumn,
114
+ summaryColumn
110
115
  };
111
116
  };
112
- _this.state = {
117
+ this.state = {
113
118
  isCalculatingData: true,
114
119
  showResultDescription: true,
115
120
  statData: null
116
121
  };
117
- _this.calculateData = null;
118
- return _this;
122
+ this.calculateData = null;
119
123
  }
120
- _createClass(PivotTable, [{
121
- key: "componentDidMount",
122
- value: function componentDidMount() {
123
- var _this2 = this;
124
- var _this$props3 = this.props,
125
- statItem = _this$props3.statItem,
126
- chartCalculator = _this$props3.chartCalculator;
127
- chartCalculator.calculate(statItem).then(function (data) {
128
- var showResultDescription = Object.keys(data).length > 0 ? false : true;
129
- _this2.setState({
130
- isCalculatingData: false,
131
- showResultDescription: showResultDescription,
132
- statData: data
133
- });
124
+ componentDidMount() {
125
+ const {
126
+ statItem,
127
+ chartCalculator
128
+ } = this.props;
129
+ chartCalculator.calculate(statItem).then(data => {
130
+ const showResultDescription = Object.keys(data).length > 0 ? false : true;
131
+ this.setState({
132
+ isCalculatingData: false,
133
+ showResultDescription,
134
+ statData: data
134
135
  });
136
+ });
137
+ }
138
+ shouldComponentUpdate(nextProps, nextState) {
139
+ if (this.canUpdate(this.props, nextProps) || nextState.isCalculatingData !== this.state.isCalculatingData || nextState.showResultDescription !== this.state.showResultDescription) {
140
+ return true;
135
141
  }
136
- }, {
137
- key: "shouldComponentUpdate",
138
- value: function shouldComponentUpdate(nextProps, nextState) {
139
- if (this.canUpdate(this.props, nextProps) || nextState.isCalculatingData !== this.state.isCalculatingData || nextState.showResultDescription !== this.state.showResultDescription) {
140
- return true;
141
- }
142
- return false;
143
- }
144
- }, {
145
- key: "UNSAFE_componentWillReceiveProps",
146
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
147
- var _this3 = this;
148
- var nextStatItem = nextProps.statItem,
149
- chartCalculator = nextProps.chartCalculator;
150
- if (this.shouldCalculateStatItem(this.props, nextProps)) {
151
- this.setState({
152
- isCalculatingData: true
153
- }, function () {
154
- chartCalculator.calculate(nextStatItem).then(function (data) {
155
- var showResultDescription = Object.keys(data).length > 0 ? false : true;
156
- _this3.setState({
157
- statData: data,
158
- isCalculatingData: false,
159
- showResultDescription: showResultDescription
160
- });
142
+ return false;
143
+ }
144
+ UNSAFE_componentWillReceiveProps(nextProps) {
145
+ const {
146
+ statItem: nextStatItem,
147
+ chartCalculator
148
+ } = nextProps;
149
+ if (this.shouldCalculateStatItem(this.props, nextProps)) {
150
+ this.setState({
151
+ isCalculatingData: true
152
+ }, () => {
153
+ chartCalculator.calculate(nextStatItem).then(data => {
154
+ let showResultDescription = Object.keys(data).length > 0 ? false : true;
155
+ this.setState({
156
+ statData: data,
157
+ isCalculatingData: false,
158
+ showResultDescription
161
159
  });
162
160
  });
163
- }
164
- }
165
- }, {
166
- key: "render",
167
- value: function render() {
168
- var _this4 = this;
169
- var isEdit = this.props.isEdit;
170
- var _this$state = this.state,
171
- isCalculatingData = _this$state.isCalculatingData,
172
- showResultDescription = _this$state.showResultDescription;
173
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), !isCalculatingData && /*#__PURE__*/React.createElement("div", {
174
- ref: function ref(_ref2) {
175
- return _this4.container = _ref2;
176
- },
177
- style: isEdit ? {
178
- padding: '15px 30px'
179
- } : null,
180
- className: "statistic-chart-container ".concat(styles['pivot-table-container'])
181
- }, this.renderPivotTable()), showResultDescription && this.renderEmpty());
161
+ });
182
162
  }
183
- }]);
184
- return PivotTable;
185
- }(BaseChart);
163
+ }
164
+ render() {
165
+ const {
166
+ isEdit
167
+ } = this.props;
168
+ const {
169
+ isCalculatingData,
170
+ showResultDescription
171
+ } = this.state;
172
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), !isCalculatingData && /*#__PURE__*/React.createElement("div", {
173
+ ref: ref => this.container = ref,
174
+ style: isEdit ? {
175
+ padding: '15px 30px'
176
+ } : null,
177
+ className: "statistic-chart-container ".concat(styles['pivot-table-container'])
178
+ }, this.renderPivotTable()), showResultDescription && this.renderEmpty());
179
+ }
180
+ }
186
181
  PivotTable.propTypes = {
187
182
  isPreview: PropTypes.bool,
188
183
  isEdit: PropTypes.bool,
@@ -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, { PureComponent } from 'react';
6
2
  import intl from 'react-intl-universal';
7
3
  import { TableUtils, Views } from 'dtable-store';
@@ -9,82 +5,94 @@ import PivotTableDisplayName from './pivot-table-display-name';
9
5
  import { isMobile } from '../../utils';
10
6
  import { TITLE_TOTAL } from '../../constants';
11
7
  import styles from './statistic-pivot-table.module.css';
12
- var OneDimensionTableNoNumericColumns = /*#__PURE__*/function (_PureComponent) {
13
- _inherits(OneDimensionTableNoNumericColumns, _PureComponent);
14
- var _super = _createSuper(OneDimensionTableNoNumericColumns);
15
- function OneDimensionTableNoNumericColumns() {
8
+ class OneDimensionTableNoNumericColumns extends PureComponent {
9
+ constructor() {
16
10
  var _this;
17
- _classCallCheck(this, OneDimensionTableNoNumericColumns);
18
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
19
- args[_key] = arguments[_key];
20
- }
21
- _this = _super.call.apply(_super, [this].concat(args));
22
- _this.toggleRecords = function (cell) {
23
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
24
- _ref$isColumn = _ref.isColumn,
25
- isColumn = _ref$isColumn === void 0 ? false : _ref$isColumn,
26
- _ref$isRow = _ref.isRow,
27
- isRow = _ref$isRow === void 0 ? false : _ref$isRow;
11
+ super(...arguments);
12
+ _this = this;
13
+ this.toggleRecords = function (cell) {
14
+ let {
15
+ isColumn = false,
16
+ isRow = false
17
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
28
18
  if (isMobile) return;
29
19
  _this.props.toggleStatisticRecordsDialog(cell, _this.props.statItem, {
30
- isColumn: isColumn,
31
- isRow: isRow
20
+ isColumn,
21
+ isRow
32
22
  });
33
23
  };
34
- _this.onClickTotals = function (recordsList) {
35
- var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
36
- isCurrentView = _ref2.isCurrentView;
24
+ this.onClickTotals = function (recordsList) {
25
+ let {
26
+ isCurrentView
27
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
37
28
  if (isMobile) return;
38
- var _this$props = _this.props,
39
- getTableById = _this$props.getTableById,
40
- statItem = _this$props.statItem;
41
- var table_id = statItem.table_id,
42
- view_id = statItem.view_id;
43
- var table = getTableById(table_id);
44
- var view = Views.getViewById(table.views, view_id);
45
- var rows = !Views.isArchiveView(view) ? recordsList.flat() : [];
29
+ const {
30
+ getTableById,
31
+ statItem
32
+ } = _this.props;
33
+ const {
34
+ table_id,
35
+ view_id
36
+ } = statItem;
37
+ const table = getTableById(table_id);
38
+ const view = Views.getViewById(table.views, view_id);
39
+ const rows = !Views.isArchiveView(view) ? recordsList.flat() : [];
46
40
  _this.props.toggleStatisticRecordsDialog({
47
- rows: rows
41
+ rows
48
42
  }, _this.props.statItem, {
49
- isCurrentView: isCurrentView
43
+ isCurrentView
50
44
  });
51
45
  };
52
- _this.renderHeader = function (_ref3) {
53
- var groupByColumn = _ref3.groupByColumn;
54
- var statItem = _this.props.statItem;
55
- var _statItem$display_tot = statItem.display_total,
56
- display_total = _statItem$display_tot === void 0 ? true : _statItem$display_tot;
57
- var _ref4 = groupByColumn || {},
58
- groupName = _ref4.name;
46
+ this.renderHeader = _ref => {
47
+ let {
48
+ groupByColumn
49
+ } = _ref;
50
+ const {
51
+ statItem
52
+ } = this.props;
53
+ const {
54
+ display_total = true
55
+ } = statItem;
56
+ const {
57
+ name: groupName
58
+ } = groupByColumn || {};
59
59
  return /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
60
60
  className: "pivot-table-header"
61
61
  }, /*#__PURE__*/React.createElement("div", null, groupName)), display_total && /*#__PURE__*/React.createElement("th", {
62
62
  className: 'pivot-table-header'
63
63
  }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL)))));
64
64
  };
65
- _this.renderRows = function (_ref5) {
66
- var table = _ref5.table,
67
- groupByColumn = _ref5.groupByColumn;
68
- var _this$props2 = _this.props,
69
- pivotResult = _this$props2.pivotResult,
70
- statItem = _this$props2.statItem,
71
- getSummaryValueDisplayString = _this$props2.getSummaryValueDisplayString;
72
- var pivot_rows = pivotResult.pivot_rows,
73
- pivot_columns_total = pivotResult.pivot_columns_total;
74
- var summary_column_key = statItem.summary_column_key,
75
- summary_method = statItem.summary_method,
76
- _statItem$display_tot2 = statItem.display_total,
77
- display_total = _statItem$display_tot2 === void 0 ? true : _statItem$display_tot2;
78
- var summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
79
- var columnTotal = getSummaryValueDisplayString(summaryColumn, pivot_columns_total['total'], summary_method);
80
- var isValidTColumnTotal = _this.props.isValidValue(columnTotal);
81
- var pivotColumnCells = [];
82
- return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map(function (rowItem, rowIdx) {
83
- var original_name = rowItem.original_name,
84
- total = rowItem.total,
85
- rows = rowItem.rows;
86
- var totalDisplayValue = getSummaryValueDisplayString(summaryColumn, total.total, summary_method);
87
- var isValidTotalDisplayValue = _this.props.isValidValue(totalDisplayValue);
65
+ this.renderRows = _ref2 => {
66
+ let {
67
+ table,
68
+ groupByColumn
69
+ } = _ref2;
70
+ const {
71
+ pivotResult,
72
+ statItem,
73
+ getSummaryValueDisplayString
74
+ } = this.props;
75
+ const {
76
+ pivot_rows,
77
+ pivot_columns_total
78
+ } = pivotResult;
79
+ const {
80
+ summary_column_key,
81
+ summary_method,
82
+ display_total = true
83
+ } = statItem;
84
+ const summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
85
+ const columnTotal = getSummaryValueDisplayString(summaryColumn, pivot_columns_total['total'], summary_method);
86
+ const isValidTColumnTotal = this.props.isValidValue(columnTotal);
87
+ let pivotColumnCells = [];
88
+ return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map((rowItem, rowIdx) => {
89
+ const {
90
+ original_name,
91
+ total,
92
+ rows
93
+ } = rowItem;
94
+ const totalDisplayValue = getSummaryValueDisplayString(summaryColumn, total.total, summary_method);
95
+ const isValidTotalDisplayValue = this.props.isValidValue(totalDisplayValue);
88
96
  pivotColumnCells[rowIdx] = rows;
89
97
  return /*#__PURE__*/React.createElement("tr", {
90
98
  key: 'table-row-' + rowIdx
@@ -96,51 +104,45 @@ var OneDimensionTableNoNumericColumns = /*#__PURE__*/function (_PureComponent) {
96
104
  })), display_total && /*#__PURE__*/React.createElement("td", {
97
105
  className: "".concat(styles['pivot-cell'], " ").concat(isValidTotalDisplayValue ? '' : styles['pivot-empty-cell']),
98
106
  title: isValidTotalDisplayValue ? totalDisplayValue : '',
99
- onClick: function onClick() {
100
- return _this.toggleRecords(rowItem, {
101
- isRow: true
102
- });
103
- }
107
+ onClick: () => this.toggleRecords(rowItem, {
108
+ isRow: true
109
+ })
104
110
  }, isValidTotalDisplayValue ? /*#__PURE__*/React.createElement("div", null, totalDisplayValue) : /*#__PURE__*/React.createElement("i", null)));
105
111
  }), display_total && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
106
112
  className: 'pivot-column-total'
107
113
  }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL))), /*#__PURE__*/React.createElement("td", {
108
114
  className: "".concat(styles['pivot-cell'], " pivot-table-total ").concat(isValidTColumnTotal ? '' : styles['pivot-empty-cell']),
109
- onClick: function onClick() {
110
- return _this.onClickTotals(pivotColumnCells, {
111
- isCurrentView: true
112
- });
113
- },
115
+ onClick: () => this.onClickTotals(pivotColumnCells, {
116
+ isCurrentView: true
117
+ }),
114
118
  title: isValidTColumnTotal ? columnTotal : ''
115
119
  }, isValidTColumnTotal ? /*#__PURE__*/React.createElement("div", null, columnTotal) : /*#__PURE__*/React.createElement("i", null))));
116
120
  };
117
- return _this;
118
121
  }
119
- _createClass(OneDimensionTableNoNumericColumns, [{
120
- key: "render",
121
- value: function render() {
122
- var _this$props3 = this.props,
123
- isPreview = _this$props3.isPreview,
124
- textColor = _this$props3.textColor,
125
- statItem = _this$props3.statItem,
126
- getTableById = _this$props3.getTableById;
127
- var table_id = statItem.table_id,
128
- groupby_column_key = statItem.groupby_column_key;
129
- var table = getTableById(table_id);
130
- var groupByColumn = groupby_column_key && TableUtils.getTableColumnByKey(table, groupby_column_key);
131
- return /*#__PURE__*/React.createElement("table", {
132
- style: {
133
- color: textColor
134
- },
135
- className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
136
- }, this.renderHeader({
137
- groupByColumn: groupByColumn
138
- }), this.renderRows({
139
- table: table,
140
- groupByColumn: groupByColumn
141
- }));
142
- }
143
- }]);
144
- return OneDimensionTableNoNumericColumns;
145
- }(PureComponent);
122
+ render() {
123
+ const {
124
+ isPreview,
125
+ textColor,
126
+ statItem,
127
+ getTableById
128
+ } = this.props;
129
+ const {
130
+ table_id,
131
+ groupby_column_key
132
+ } = statItem;
133
+ const table = getTableById(table_id);
134
+ const groupByColumn = groupby_column_key && TableUtils.getTableColumnByKey(table, groupby_column_key);
135
+ return /*#__PURE__*/React.createElement("table", {
136
+ style: {
137
+ color: textColor
138
+ },
139
+ className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
140
+ }, this.renderHeader({
141
+ groupByColumn
142
+ }), this.renderRows({
143
+ table,
144
+ groupByColumn
145
+ }));
146
+ }
147
+ }
146
148
  export default OneDimensionTableNoNumericColumns;