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,8 +1,3 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
1
  import React, { PureComponent } from 'react';
7
2
  import intl from 'react-intl-universal';
8
3
  import { TableUtils } from 'dtable-store';
@@ -10,72 +5,84 @@ import PivotTableDisplayName from './pivot-table-display-name';
10
5
  import { isMobile } from '../../utils';
11
6
  import { TITLE_TOTAL } from '../../constants';
12
7
  import styles from './statistic-pivot-table.module.css';
13
- var OneDimensionTableWithNumericColumns = /*#__PURE__*/function (_PureComponent) {
14
- _inherits(OneDimensionTableWithNumericColumns, _PureComponent);
15
- var _super = _createSuper(OneDimensionTableWithNumericColumns);
16
- function OneDimensionTableWithNumericColumns() {
8
+ class OneDimensionTableWithNumericColumns extends PureComponent {
9
+ constructor() {
17
10
  var _this;
18
- _classCallCheck(this, OneDimensionTableWithNumericColumns);
19
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
20
- args[_key] = arguments[_key];
21
- }
22
- _this = _super.call.apply(_super, [this].concat(args));
23
- _this.toggleRecords = function (cell) {
24
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
25
- _ref$isColumn = _ref.isColumn,
26
- isColumn = _ref$isColumn === void 0 ? false : _ref$isColumn,
27
- _ref$isCurrentView = _ref.isCurrentView,
28
- isCurrentView = _ref$isCurrentView === void 0 ? false : _ref$isCurrentView;
11
+ super(...arguments);
12
+ _this = this;
13
+ this.toggleRecords = function (cell) {
14
+ let {
15
+ isColumn = false,
16
+ isCurrentView = false
17
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
29
18
  if (isMobile) return;
30
19
  _this.props.toggleStatisticRecordsDialog(cell, _this.props.statItem, {
31
- isColumn: isColumn,
32
- isCurrentView: isCurrentView
20
+ isColumn,
21
+ isCurrentView
33
22
  });
34
23
  };
35
- _this.renderHeader = function (_ref2) {
36
- var table = _ref2.table,
37
- groupbyColumn = _ref2.groupbyColumn;
38
- var _this$props = _this.props,
39
- pivotResult = _this$props.pivotResult,
40
- statItem = _this$props.statItem;
41
- var column_groupby_column_key = statItem.column_groupby_column_key;
42
- var statisticTableColumns = table.columns;
43
- var columnGroupbyColumn = TableUtils.getTableColumnByKey(table, column_groupby_column_key);
44
- var groupName = groupbyColumn.name;
45
- var _ref3 = columnGroupbyColumn || {},
46
- rowGroupName = _ref3.name;
47
- var pivot_columns = pivotResult.pivot_columns;
24
+ this.renderHeader = _ref => {
25
+ let {
26
+ table,
27
+ groupbyColumn
28
+ } = _ref;
29
+ const {
30
+ pivotResult,
31
+ statItem
32
+ } = this.props;
33
+ const {
34
+ column_groupby_column_key
35
+ } = statItem;
36
+ const statisticTableColumns = table.columns;
37
+ const columnGroupbyColumn = TableUtils.getTableColumnByKey(table, column_groupby_column_key);
38
+ const {
39
+ name: groupName
40
+ } = groupbyColumn;
41
+ const {
42
+ name: rowGroupName
43
+ } = columnGroupbyColumn || {};
44
+ const {
45
+ pivot_columns
46
+ } = pivotResult;
48
47
  return /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
49
48
  className: "pivot-table-header"
50
- }, !rowGroupName && groupName), Array.isArray(pivot_columns) && pivot_columns.map(function (item, index) {
51
- var key = item.key;
52
- var column = statisticTableColumns.find(function (column) {
53
- return column.key === key;
54
- });
49
+ }, !rowGroupName && groupName), Array.isArray(pivot_columns) && pivot_columns.map((item, index) => {
50
+ const {
51
+ key
52
+ } = item;
53
+ const column = statisticTableColumns.find(column => column.key === key);
55
54
  return /*#__PURE__*/React.createElement("th", {
56
55
  className: 'pivot-table-header',
57
56
  key: "pivot-column-".concat(index)
58
57
  }, /*#__PURE__*/React.createElement("div", null, column.name));
59
58
  })));
60
59
  };
61
- _this.renderRows = function (_ref4) {
62
- var table = _ref4.table,
63
- groupbyColumn = _ref4.groupbyColumn;
64
- var _this$props2 = _this.props,
65
- pivotResult = _this$props2.pivotResult,
66
- statItem = _this$props2.statItem,
67
- getSummaryValueDisplayString = _this$props2.getSummaryValueDisplayString;
68
- var statisticTableColumns = table.columns;
69
- var _statItem$display_tot = statItem.display_total,
70
- display_total = _statItem$display_tot === void 0 ? true : _statItem$display_tot;
71
- var pivot_rows = pivotResult.pivot_rows,
72
- pivot_columns = pivotResult.pivot_columns,
73
- pivot_columns_total = pivotResult.pivot_columns_total;
74
- var pivotColumnCells = [];
75
- return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map(function (rowItem, rowIdx) {
76
- var original_name = rowItem.original_name,
77
- total = rowItem.total,
78
- rows = rowItem.rows;
60
+ this.renderRows = _ref2 => {
61
+ let {
62
+ table,
63
+ groupbyColumn
64
+ } = _ref2;
65
+ const {
66
+ pivotResult,
67
+ statItem,
68
+ getSummaryValueDisplayString
69
+ } = this.props;
70
+ const statisticTableColumns = table.columns;
71
+ const {
72
+ display_total = true
73
+ } = statItem;
74
+ const {
75
+ pivot_rows,
76
+ pivot_columns,
77
+ pivot_columns_total
78
+ } = pivotResult;
79
+ let pivotColumnCells = [];
80
+ return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map((rowItem, rowIdx) => {
81
+ const {
82
+ original_name,
83
+ total,
84
+ rows
85
+ } = rowItem;
79
86
  if (!Array.isArray(pivot_columns)) {
80
87
  pivotColumnCells[rowIdx] = rowItem.rows || [];
81
88
  }
@@ -86,85 +93,76 @@ var OneDimensionTableWithNumericColumns = /*#__PURE__*/function (_PureComponent)
86
93
  }, /*#__PURE__*/React.createElement(PivotTableDisplayName, {
87
94
  value: original_name,
88
95
  column: groupbyColumn
89
- })), Array.isArray(pivot_columns) && pivot_columns.map(function (columnMap, cellIdx) {
90
- var key = columnMap.key,
91
- method = columnMap.method;
96
+ })), Array.isArray(pivot_columns) && pivot_columns.map((columnMap, cellIdx) => {
97
+ const {
98
+ key,
99
+ method
100
+ } = columnMap;
92
101
  if (Array.isArray(rows) && rows.length > 0) {
93
102
  if (pivotColumnCells[cellIdx]) {
94
- var _pivotColumnCells$cel;
95
- (_pivotColumnCells$cel = pivotColumnCells[cellIdx]).push.apply(_pivotColumnCells$cel, _toConsumableArray(rows));
103
+ pivotColumnCells[cellIdx].push(...rows);
96
104
  } else {
97
- pivotColumnCells[cellIdx] = _toConsumableArray(rows);
105
+ pivotColumnCells[cellIdx] = [...rows];
98
106
  }
99
107
  }
100
- var column = statisticTableColumns.find(function (item) {
101
- return item.key === key;
102
- });
103
- var displayValue = getSummaryValueDisplayString(column, total[key + method], method);
104
- var isValidDisplayValue = _this.props.isValidValue(displayValue);
108
+ const column = statisticTableColumns.find(item => item.key === key);
109
+ const displayValue = getSummaryValueDisplayString(column, total[key + method], method);
110
+ const isValidDisplayValue = this.props.isValidValue(displayValue);
105
111
  return /*#__PURE__*/React.createElement("td", {
106
112
  className: "".concat(styles['pivot-cell'], " ").concat(isValidDisplayValue ? '' : styles['pivot-empty-cell']),
107
113
  key: "table-cell-".concat(cellIdx),
108
- onClick: function onClick() {
109
- return _this.toggleRecords(rowItem);
110
- },
114
+ onClick: () => this.toggleRecords(rowItem),
111
115
  title: isValidDisplayValue ? displayValue : ''
112
116
  }, isValidDisplayValue ? /*#__PURE__*/React.createElement("div", null, displayValue) : /*#__PURE__*/React.createElement("i", null));
113
117
  }));
114
118
  }), display_total && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
115
119
  className: 'pivot-column-total'
116
- }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL))), Array.isArray(pivot_columns) && pivot_columns.map(function (c, index) {
117
- var pivotColumnCell = pivotColumnCells[index];
118
- var pivotColumnTotal = pivot_columns_total[c.key + c.method];
119
- var column = statisticTableColumns.find(function (column) {
120
- return column.key === c.key;
121
- });
122
- var displayValue = getSummaryValueDisplayString(column, pivotColumnTotal, c.method);
123
- var isValidDisplayValue = _this.props.isValidValue(displayValue);
120
+ }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL))), Array.isArray(pivot_columns) && pivot_columns.map((c, index) => {
121
+ const pivotColumnCell = pivotColumnCells[index];
122
+ const pivotColumnTotal = pivot_columns_total[c.key + c.method];
123
+ const column = statisticTableColumns.find(column => column.key === c.key);
124
+ const displayValue = getSummaryValueDisplayString(column, pivotColumnTotal, c.method);
125
+ const isValidDisplayValue = this.props.isValidValue(displayValue);
124
126
  return /*#__PURE__*/React.createElement("td", {
125
127
  className: "".concat(styles['pivot-cell'], " ").concat(isValidDisplayValue ? '' : styles['pivot-empty-cell']),
126
128
  key: "total-cell-".concat(index),
127
129
  title: isValidDisplayValue ? displayValue : '',
128
- onClick: function onClick() {
129
- return _this.toggleRecords({
130
- name: c.key,
131
- rows: pivotColumnCell
132
- }, {
133
- isCurrentView: true
134
- });
135
- }
130
+ onClick: () => this.toggleRecords({
131
+ name: c.key,
132
+ rows: pivotColumnCell
133
+ }, {
134
+ isCurrentView: true
135
+ })
136
136
  }, isValidDisplayValue ? /*#__PURE__*/React.createElement("div", null, displayValue) : /*#__PURE__*/React.createElement("i", null));
137
137
  })));
138
138
  };
139
- return _this;
140
139
  }
141
- _createClass(OneDimensionTableWithNumericColumns, [{
142
- key: "render",
143
- value: function render() {
144
- var _this$props3 = this.props,
145
- statItem = _this$props3.statItem,
146
- isPreview = _this$props3.isPreview,
147
- textColor = _this$props3.textColor,
148
- getTableById = _this$props3.getTableById;
149
- var table_id = statItem.table_id,
150
- groupby_column_key = statItem.groupby_column_key;
151
- var table = getTableById(table_id);
152
- var groupbyColumn = TableUtils.getTableColumnByKey(table, groupby_column_key);
153
- if (!groupbyColumn) return '';
154
- return /*#__PURE__*/React.createElement("table", {
155
- style: {
156
- color: textColor
157
- },
158
- className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
159
- }, this.renderHeader({
160
- table: table,
161
- groupbyColumn: groupbyColumn
162
- }), this.renderRows({
163
- table: table,
164
- groupbyColumn: groupbyColumn
165
- }));
166
- }
167
- }]);
168
- return OneDimensionTableWithNumericColumns;
169
- }(PureComponent);
140
+ render() {
141
+ const {
142
+ statItem,
143
+ isPreview,
144
+ textColor,
145
+ getTableById
146
+ } = this.props;
147
+ const {
148
+ table_id,
149
+ groupby_column_key
150
+ } = statItem;
151
+ const table = getTableById(table_id);
152
+ const groupbyColumn = TableUtils.getTableColumnByKey(table, groupby_column_key);
153
+ if (!groupbyColumn) return '';
154
+ return /*#__PURE__*/React.createElement("table", {
155
+ style: {
156
+ color: textColor
157
+ },
158
+ className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
159
+ }, this.renderHeader({
160
+ table,
161
+ groupbyColumn
162
+ }), this.renderRows({
163
+ table,
164
+ groupbyColumn
165
+ }));
166
+ }
167
+ }
170
168
  export default OneDimensionTableWithNumericColumns;
@@ -1,39 +1,33 @@
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, { Fragment } from 'react';
6
2
  import intl from 'react-intl-universal';
7
3
  import { getOption, getCollaborator, CellType, getNumberDisplayString, isNumber, COLLABORATOR_COLUMN_TYPES, FORMULA_RESULT_TYPE } from 'dtable-store';
8
4
  import { getClientFormulaDisplayString, getKnownCreatorByEmail, generateDefaultUser, getSelectColumnOptions } from '../../utils';
9
5
  import { shallowEqual } from '../../utils/common-utils';
10
6
  import { EMPTY_NAME } from '../../constants';
11
- var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
12
- _inherits(PivotTableDisplayName, _React$Component);
13
- var _super = _createSuper(PivotTableDisplayName);
14
- function PivotTableDisplayName(props) {
15
- var _this;
16
- _classCallCheck(this, PivotTableDisplayName);
17
- _this = _super.call(this, props);
18
- _this.updateCreator = function (email) {
7
+ class PivotTableDisplayName extends React.Component {
8
+ constructor(props) {
9
+ super(props);
10
+ this.updateCreator = email => {
19
11
  if (!window || !window.app) {
20
12
  return;
21
13
  }
22
- var collaborators = window.app.state.collaborators;
23
- var creator = getKnownCreatorByEmail(collaborators, email);
14
+ let {
15
+ collaborators
16
+ } = window.app.state;
17
+ let creator = getKnownCreatorByEmail(collaborators, email);
24
18
  if (creator) {
25
- _this.setState({
26
- creator: creator
19
+ this.setState({
20
+ creator
27
21
  });
28
22
  return;
29
23
  }
30
- var dtableCollaborators = window.app.collaboratorsCache;
31
- window.app.queryUsers([email], function (emailUserMap) {
24
+ let dtableCollaborators = window.app.collaboratorsCache;
25
+ window.app.queryUsers([email], emailUserMap => {
32
26
  creator = emailUserMap && emailUserMap[email];
33
27
  if (creator) {
34
28
  dtableCollaborators[email] = creator;
35
- _this.setState({
36
- creator: creator
29
+ this.setState({
30
+ creator
37
31
  });
38
32
  return;
39
33
  }
@@ -41,25 +35,31 @@ var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
41
35
  // error handle
42
36
  creator = generateDefaultUser(email);
43
37
  dtableCollaborators[email] = creator;
44
- _this.setState({
45
- creator: creator
38
+ this.setState({
39
+ creator
46
40
  });
47
41
  });
48
42
  };
49
- _this.getDisplayName = function (value, column) {
50
- var type = column.type,
51
- data = column.data;
52
- var collaborators = window.app.state.collaborators;
53
- var displayName;
43
+ this.getDisplayName = (value, column) => {
44
+ let {
45
+ type,
46
+ data
47
+ } = column;
48
+ let {
49
+ collaborators
50
+ } = window.app.state;
51
+ let displayName;
54
52
  switch (type) {
55
53
  case CellType.SINGLE_SELECT:
56
54
  case CellType.MULTIPLE_SELECT:
57
55
  {
58
- var options = getSelectColumnOptions(column);
59
- var option = getOption(options, value) || {};
60
- var optionName = option.name,
61
- color = option.color,
62
- textColor = option.textColor;
56
+ let options = getSelectColumnOptions(column);
57
+ let option = getOption(options, value) || {};
58
+ let {
59
+ name: optionName,
60
+ color,
61
+ textColor
62
+ } = option;
63
63
  displayName = /*#__PURE__*/React.createElement("div", {
64
64
  style: {
65
65
  color: textColor,
@@ -73,7 +73,7 @@ var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
73
73
  }
74
74
  case CellType.COLLABORATOR:
75
75
  {
76
- var collaborator = getCollaborator(collaborators, value) || {};
76
+ let collaborator = getCollaborator(collaborators, value) || {};
77
77
  displayName = /*#__PURE__*/React.createElement(Collaborator, {
78
78
  collaborator: collaborator
79
79
  });
@@ -82,7 +82,9 @@ var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
82
82
  case CellType.CREATOR:
83
83
  case CellType.LAST_MODIFIER:
84
84
  {
85
- var creator = _this.state.creator;
85
+ let {
86
+ creator
87
+ } = this.state;
86
88
  displayName = /*#__PURE__*/React.createElement(Collaborator, {
87
89
  collaborator: creator
88
90
  });
@@ -90,7 +92,7 @@ var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
90
92
  }
91
93
  case CellType.NUMBER:
92
94
  {
93
- var displayValue = isNumber(value) ? getNumberDisplayString(value, data) : value;
95
+ const displayValue = isNumber(value) ? getNumberDisplayString(value, data) : value;
94
96
  displayName = /*#__PURE__*/React.createElement("div", {
95
97
  title: displayValue,
96
98
  "aria-label": displayValue
@@ -99,101 +101,100 @@ var PivotTableDisplayName = /*#__PURE__*/function (_React$Component) {
99
101
  }
100
102
  case CellType.LINK:
101
103
  {
102
- var _displayValue = getClientFormulaDisplayString(Array.isArray(value) ? value : [value], data, {
103
- collaborators: collaborators
104
+ const displayValue = getClientFormulaDisplayString(Array.isArray(value) ? value : [value], data, {
105
+ collaborators
104
106
  }) || null;
105
- if (!_displayValue) {
107
+ if (!displayValue) {
106
108
  break;
107
109
  }
108
110
  displayName = /*#__PURE__*/React.createElement("div", {
109
- title: _displayValue,
110
- "aria-label": _displayValue
111
- }, _displayValue);
111
+ title: displayValue,
112
+ "aria-label": displayValue
113
+ }, displayValue);
112
114
  break;
113
115
  }
114
116
  case CellType.FORMULA:
115
117
  case CellType.LINK_FORMULA:
116
118
  {
117
- var _displayValue2 = value;
118
- var _ref = data || {},
119
- result_type = _ref.result_type,
120
- array_type = _ref.array_type;
119
+ let displayValue = value;
120
+ let {
121
+ result_type,
122
+ array_type
123
+ } = data || {};
121
124
  if (result_type === FORMULA_RESULT_TYPE.NUMBER) {
122
- var valueNumber = parseFloat(value);
123
- _displayValue2 = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, data) : value;
125
+ let valueNumber = parseFloat(value);
126
+ displayValue = isNumber(valueNumber) ? getNumberDisplayString(valueNumber, data) : value;
124
127
  } else if (result_type === FORMULA_RESULT_TYPE.ARRAY) {
125
128
  if (COLLABORATOR_COLUMN_TYPES.includes(array_type)) {
126
- var currentCollaborators = Array.isArray(value) ? value : [value];
127
- _displayValue2 = currentCollaborators.map(function (email) {
128
- var user = array_type === CellType.COLLABORATOR ? getCollaborator(collaborators, email) : getKnownCreatorByEmail(collaborators, email);
129
+ const currentCollaborators = Array.isArray(value) ? value : [value];
130
+ displayValue = currentCollaborators.map(email => {
131
+ let user = array_type === CellType.COLLABORATOR ? getCollaborator(collaborators, email) : getKnownCreatorByEmail(collaborators, email);
129
132
  return (user || {}).name;
130
133
  });
131
- _displayValue2 = _displayValue2 + '';
134
+ displayValue = displayValue + '';
132
135
  }
133
136
  }
134
137
  displayName = /*#__PURE__*/React.createElement("div", {
135
- title: _displayValue2,
136
- "aria-label": _displayValue2
137
- }, _displayValue2);
138
+ title: displayValue,
139
+ "aria-label": displayValue
140
+ }, displayValue);
138
141
  break;
139
142
  }
140
143
  default:
141
144
  {
142
- var _displayValue3 = typeof value !== 'string' ? String(value) : value;
145
+ const displayValue = typeof value !== 'string' ? String(value) : value;
143
146
  displayName = /*#__PURE__*/React.createElement("div", {
144
- title: _displayValue3,
145
- "aria-label": _displayValue3
146
- }, _displayValue3);
147
+ title: displayValue,
148
+ "aria-label": displayValue
149
+ }, displayValue);
147
150
  break;
148
151
  }
149
152
  }
150
153
  return displayName;
151
154
  };
152
- _this.state = {
155
+ this.state = {
153
156
  creator: {}
154
157
  };
155
- return _this;
156
158
  }
157
- _createClass(PivotTableDisplayName, [{
158
- key: "componentDidMount",
159
- value: function componentDidMount() {
160
- var _this$props = this.props,
161
- column = _this$props.column,
162
- value = _this$props.value;
163
- if (column.type !== CellType.CREATOR && column.type !== CellType.LAST_MODIFIER) return;
159
+ componentDidMount() {
160
+ let {
161
+ column,
162
+ value
163
+ } = this.props;
164
+ if (column.type !== CellType.CREATOR && column.type !== CellType.LAST_MODIFIER) return;
165
+ this.updateCreator(value);
166
+ }
167
+ UNSAFE_componentWillReceiveProps(nextProps) {
168
+ let {
169
+ column,
170
+ value
171
+ } = nextProps;
172
+ let {
173
+ type
174
+ } = column;
175
+ if (type !== CellType.CREATOR && type !== CellType.LAST_MODIFIER) return;
176
+ if (value !== this.props.value || shallowEqual(nextProps.column, this.props.column)) {
164
177
  this.updateCreator(value);
165
178
  }
166
- }, {
167
- key: "UNSAFE_componentWillReceiveProps",
168
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
169
- var column = nextProps.column,
170
- value = nextProps.value;
171
- var type = column.type;
172
- if (type !== CellType.CREATOR && type !== CellType.LAST_MODIFIER) return;
173
- if (value !== this.props.value || shallowEqual(nextProps.column, this.props.column)) {
174
- this.updateCreator(value);
175
- }
176
- }
177
- }, {
178
- key: "render",
179
- value: function render() {
180
- var _this$props2 = this.props,
181
- value = _this$props2.value,
182
- column = _this$props2.column;
183
- var displayName = value && this.getDisplayName(value, column);
184
- if (!displayName) {
185
- return /*#__PURE__*/React.createElement("div", null, "(".concat(intl.get(EMPTY_NAME), ")"));
186
- }
187
- return /*#__PURE__*/React.createElement(Fragment, null, displayName);
179
+ }
180
+ render() {
181
+ const {
182
+ value,
183
+ column
184
+ } = this.props;
185
+ const displayName = value && this.getDisplayName(value, column);
186
+ if (!displayName) {
187
+ return /*#__PURE__*/React.createElement("div", null, "(".concat(intl.get(EMPTY_NAME), ")"));
188
188
  }
189
- }]);
190
- return PivotTableDisplayName;
191
- }(React.Component);
189
+ return /*#__PURE__*/React.createElement(Fragment, null, displayName);
190
+ }
191
+ }
192
192
  export default PivotTableDisplayName;
193
193
  function Collaborator(props) {
194
- var _ref2 = props.collaborator || {},
195
- avatar_url = _ref2.avatar_url,
196
- name = _ref2.name;
194
+ let {
195
+ avatar_url,
196
+ name
197
+ } = props.collaborator || {};
197
198
  return /*#__PURE__*/React.createElement("div", {
198
199
  className: "collaborators-formatter"
199
200
  }, /*#__PURE__*/React.createElement("div", {