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,9 +1,3 @@
1
- import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
2
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
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, { PureComponent } from 'react';
8
2
  import intl from 'react-intl-universal';
9
3
  import { isNumber, TableUtils, Views } from 'dtable-store';
@@ -12,79 +6,84 @@ import { isMobile } from '../../utils';
12
6
  import { getPivotTableSummaryTotal } from '../../utils/pivot-table';
13
7
  import { STATISTICS_COUNT_TYPE, TITLE_TOTAL } from '../../constants';
14
8
  import styles from './statistic-pivot-table.module.css';
15
- var TwoDimensionTable = /*#__PURE__*/function (_PureComponent) {
16
- _inherits(TwoDimensionTable, _PureComponent);
17
- var _super = _createSuper(TwoDimensionTable);
18
- function TwoDimensionTable() {
9
+ class TwoDimensionTable extends PureComponent {
10
+ constructor() {
19
11
  var _this;
20
- _classCallCheck(this, TwoDimensionTable);
21
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
22
- args[_key] = arguments[_key];
23
- }
24
- _this = _super.call.apply(_super, [this].concat(args));
25
- _this.toggleRecords = function (cell) {
26
- var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
27
- _ref$isColumn = _ref.isColumn,
28
- isColumn = _ref$isColumn === void 0 ? false : _ref$isColumn,
29
- _ref$isRow = _ref.isRow,
30
- isRow = _ref$isRow === void 0 ? false : _ref$isRow;
12
+ super(...arguments);
13
+ _this = this;
14
+ this.toggleRecords = function (cell) {
15
+ let {
16
+ isColumn = false,
17
+ isRow = false
18
+ } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
31
19
  if (isMobile) return;
32
20
  _this.props.toggleStatisticRecordsDialog(cell, _this.props.statItem, {
33
- isColumn: isColumn,
34
- isRow: isRow
21
+ isColumn,
22
+ isRow
35
23
  });
36
24
  };
37
- _this.onClickTotals = function (recordsList, _ref2) {
38
- var isCurrentView = _ref2.isCurrentView;
25
+ this.onClickTotals = (recordsList, _ref) => {
26
+ let {
27
+ isCurrentView
28
+ } = _ref;
39
29
  if (isMobile) return;
40
- var _this$props = _this.props,
41
- getTableById = _this$props.getTableById,
42
- statItem = _this$props.statItem;
43
- var table_id = statItem.table_id,
44
- view_id = statItem.view_id;
45
- var table = getTableById(table_id);
46
- var view = Views.getViewById(table.views, view_id);
47
- var rows = [];
30
+ const {
31
+ getTableById,
32
+ statItem
33
+ } = this.props;
34
+ const {
35
+ table_id,
36
+ view_id
37
+ } = statItem;
38
+ const table = getTableById(table_id);
39
+ const view = Views.getViewById(table.views, view_id);
40
+ let rows = [];
48
41
  if (!Views.isArchiveView(view)) {
49
42
  rows = recordsList.flat();
50
43
  }
51
- _this.props.toggleStatisticRecordsDialog({
52
- rows: rows
44
+ this.props.toggleStatisticRecordsDialog({
45
+ rows
53
46
  }, statItem, {
54
- isCurrentView: isCurrentView
47
+ isCurrentView
55
48
  });
56
49
  };
57
- _this.getNumberValue = function (val) {
50
+ this.getNumberValue = val => {
58
51
  if (isNumber(val)) {
59
52
  return val;
60
53
  }
61
54
  return 0;
62
55
  };
63
- _this.getCells = function (row, summaryColumn) {
64
- var _this$props2 = _this.props,
65
- pivotResult = _this$props2.pivotResult,
66
- getSummaryValueDisplayString = _this$props2.getSummaryValueDisplayString;
67
- var pivot_columns = pivotResult.pivot_columns,
68
- pivot_summary_multiple_columns = pivotResult.pivot_summary_multiple_columns,
69
- formulaRows = pivotResult.formulaRows,
70
- _pivotResult$isSqlQue = pivotResult.isSqlQuery,
71
- isSqlQuery = _pivotResult$isSqlQue === void 0 ? false : _pivotResult$isSqlQue;
72
- var cells = row.cells;
56
+ this.getCells = (row, summaryColumn) => {
57
+ const {
58
+ pivotResult,
59
+ getSummaryValueDisplayString
60
+ } = this.props;
61
+ const {
62
+ pivot_columns,
63
+ pivot_summary_multiple_columns,
64
+ formulaRows,
65
+ isSqlQuery = false
66
+ } = pivotResult;
67
+ const {
68
+ cells
69
+ } = row;
73
70
  if (!Array.isArray(pivot_columns)) {
74
71
  return [];
75
72
  }
76
- return pivot_columns.map(function (item) {
77
- var cell = cells[item.key];
78
- var rowData = cell && cell.rows;
79
- var summary_multiple_columns = [];
80
- var formatted_summary_multiple_columns = [];
81
- pivot_summary_multiple_columns.forEach(function (column) {
82
- var key = column.key,
83
- type = column.type,
84
- sqlKey = column.sqlKey,
85
- method = column.method;
73
+ return pivot_columns.map(item => {
74
+ const cell = cells[item.key];
75
+ const rowData = cell && cell.rows;
76
+ let summary_multiple_columns = [];
77
+ let formatted_summary_multiple_columns = [];
78
+ pivot_summary_multiple_columns.forEach(column => {
79
+ const {
80
+ key,
81
+ type,
82
+ sqlKey,
83
+ method
84
+ } = column;
86
85
  if (Array.isArray(rowData)) {
87
- var sum = getPivotTableSummaryTotal(type, key, sqlKey, STATISTICS_COUNT_TYPE.ADVANCED, method, rowData, formulaRows, isSqlQuery);
86
+ const sum = getPivotTableSummaryTotal(type, key, sqlKey, STATISTICS_COUNT_TYPE.ADVANCED, method, rowData, formulaRows, isSqlQuery);
88
87
  summary_multiple_columns.push(sum);
89
88
  formatted_summary_multiple_columns.push(getSummaryValueDisplayString(column, sum, method));
90
89
  return;
@@ -92,35 +91,47 @@ var TwoDimensionTable = /*#__PURE__*/function (_PureComponent) {
92
91
  summary_multiple_columns.push(0);
93
92
  formatted_summary_multiple_columns.push(getSummaryValueDisplayString(column, 0, method));
94
93
  });
95
- return _objectSpread(_objectSpread({}, cells[item.key]), {}, {
94
+ return {
95
+ ...cells[item.key],
96
96
  group_original_name: item.original_name,
97
97
  group_name: item.key,
98
98
  column: summaryColumn,
99
- summary_multiple_columns: summary_multiple_columns,
100
- formatted_summary_multiple_columns: formatted_summary_multiple_columns
101
- });
99
+ summary_multiple_columns,
100
+ formatted_summary_multiple_columns
101
+ };
102
102
  });
103
103
  };
104
- _this.renderHeader = function (_ref3) {
105
- var groupbyColumn = _ref3.groupbyColumn,
106
- columnGroupbyColumn = _ref3.columnGroupbyColumn;
107
- var _this$props3 = _this.props,
108
- pivotResult = _this$props3.pivotResult,
109
- statItem = _this$props3.statItem;
110
- var column_groupby_column_key = statItem.column_groupby_column_key,
111
- column_groupby_multiple_numeric_column = statItem.column_groupby_multiple_numeric_column,
112
- _statItem$display_tot = statItem.display_total,
113
- display_total = _statItem$display_tot === void 0 ? true : _statItem$display_tot;
114
- var groupName = groupbyColumn.name;
115
- var _ref4 = columnGroupbyColumn || {},
116
- rowGroupName = _ref4.name;
117
- var pivot_columns = pivotResult.pivot_columns,
118
- pivot_summary_multiple_columns = pivotResult.pivot_summary_multiple_columns;
119
- var isMultipleColumnHeader = column_groupby_multiple_numeric_column && column_groupby_column_key && pivot_summary_multiple_columns.length !== 0;
104
+ this.renderHeader = _ref2 => {
105
+ let {
106
+ groupbyColumn,
107
+ columnGroupbyColumn
108
+ } = _ref2;
109
+ const {
110
+ pivotResult,
111
+ statItem
112
+ } = this.props;
113
+ const {
114
+ column_groupby_column_key,
115
+ column_groupby_multiple_numeric_column,
116
+ display_total = true
117
+ } = statItem;
118
+ const {
119
+ name: groupName
120
+ } = groupbyColumn;
121
+ const {
122
+ name: rowGroupName
123
+ } = columnGroupbyColumn || {};
124
+ const {
125
+ pivot_columns,
126
+ pivot_summary_multiple_columns
127
+ } = pivotResult;
128
+ const isMultipleColumnHeader = column_groupby_multiple_numeric_column && column_groupby_column_key && pivot_summary_multiple_columns.length !== 0;
120
129
  return /*#__PURE__*/React.createElement("thead", null, /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
121
130
  className: "pivot-table-header"
122
- }, !rowGroupName && groupName), Array.isArray(pivot_columns) && pivot_columns.map(function (item, index) {
123
- var original_key = item.original_key;
131
+ }, !rowGroupName && groupName), Array.isArray(pivot_columns) && pivot_columns.map((item, index) => {
132
+ const {
133
+ original_key
134
+ } = item;
124
135
  return /*#__PURE__*/React.createElement("th", {
125
136
  className: 'pivot-table-header',
126
137
  key: "pivot-column-".concat(index)
@@ -132,13 +143,13 @@ var TwoDimensionTable = /*#__PURE__*/function (_PureComponent) {
132
143
  className: 'pivot-table-header'
133
144
  }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL)))), isMultipleColumnHeader && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("th", {
134
145
  className: "pivot-table-header"
135
- }), Array.isArray(pivot_columns) && pivot_columns.map(function (item, index) {
146
+ }), Array.isArray(pivot_columns) && pivot_columns.map((item, index) => {
136
147
  return /*#__PURE__*/React.createElement("th", {
137
148
  className: "pivot-table-header ".concat(styles['pivot-summary-multiple-columns-th']),
138
149
  key: "pivot-column-".concat(index)
139
150
  }, /*#__PURE__*/React.createElement("div", {
140
151
  className: styles['pivot-summary-multiple-columns-div']
141
- }, pivot_summary_multiple_columns.map(function (item, index) {
152
+ }, pivot_summary_multiple_columns.map((item, index) => {
142
153
  return /*#__PURE__*/React.createElement("div", {
143
154
  key: index
144
155
  }, item.column_name);
@@ -147,80 +158,83 @@ var TwoDimensionTable = /*#__PURE__*/function (_PureComponent) {
147
158
  className: "pivot-table-header ".concat(styles['pivot-empty-cell'])
148
159
  })));
149
160
  };
150
- _this.renderRowTotal = function (isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple) {
151
- var rowTotal = summaryDisplayValue;
161
+ this.renderRowTotal = (isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple) => {
162
+ let rowTotal = summaryDisplayValue;
152
163
  if (firstSummaryColumnFromMultiple) {
153
- rowTotal = _this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, summaryDisplayValue, firstSummaryColumnFromMultiple.method);
164
+ rowTotal = this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, summaryDisplayValue, firstSummaryColumnFromMultiple.method);
154
165
  }
155
166
  return /*#__PURE__*/React.createElement("td", {
156
167
  className: "".concat(styles['pivot-cell'], " ").concat(isValidSummaryDisplayValue ? '' : styles['pivot-empty-cell']),
157
168
  title: isValidSummaryDisplayValue ? rowTotal : '',
158
- onClick: function onClick() {
159
- return _this.toggleRecords({
160
- rows: Array.isArray(cells) && cells.length > 0 ? pivotRowCells : rowItem.rows,
161
- name: rowItem.name,
162
- rowItem: rowItem,
163
- original_name: rowItem.original_name
164
- }, {
165
- isRow: true
166
- });
167
- }
169
+ onClick: () => this.toggleRecords({
170
+ rows: Array.isArray(cells) && cells.length > 0 ? pivotRowCells : rowItem.rows,
171
+ name: rowItem.name,
172
+ rowItem,
173
+ original_name: rowItem.original_name
174
+ }, {
175
+ isRow: true
176
+ })
168
177
  }, isValidSummaryDisplayValue ? /*#__PURE__*/React.createElement("div", null, rowTotal) : /*#__PURE__*/React.createElement("i", null));
169
178
  };
170
- _this.renderAllTotal = function (allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple) {
171
- var isValidAllTotalDisplay = _this.props.isValidValue(allTotalDisplay);
172
- var allTotal = allTotalDisplay;
179
+ this.renderAllTotal = (allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple) => {
180
+ const isValidAllTotalDisplay = this.props.isValidValue(allTotalDisplay);
181
+ let allTotal = allTotalDisplay;
173
182
  if (firstSummaryColumnFromMultiple) {
174
- allTotal = _this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, allTotalDisplay, firstSummaryColumnFromMultiple.method);
183
+ allTotal = this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, allTotalDisplay, firstSummaryColumnFromMultiple.method);
175
184
  }
176
185
  return /*#__PURE__*/React.createElement("td", {
177
186
  className: "".concat(styles['pivot-cell'], " pivot-table-total ").concat(isValidAllTotalDisplay ? '' : styles['pivot-empty-cell']),
178
- onClick: function onClick() {
179
- return _this.onClickTotals(pivotColumnCells, {
180
- isCurrentView: true
181
- });
182
- },
187
+ onClick: () => this.onClickTotals(pivotColumnCells, {
188
+ isCurrentView: true
189
+ }),
183
190
  title: isValidAllTotalDisplay ? allTotal : ''
184
191
  }, isValidAllTotalDisplay ? /*#__PURE__*/React.createElement("div", null, allTotal) : /*#__PURE__*/React.createElement("i", null));
185
192
  };
186
- _this.renderRows = function (_ref5) {
187
- var table = _ref5.table,
188
- groupbyColumn = _ref5.groupbyColumn;
189
- var _this$props4 = _this.props,
190
- pivotResult = _this$props4.pivotResult,
191
- statItem = _this$props4.statItem,
192
- getSummaryValueDisplayString = _this$props4.getSummaryValueDisplayString;
193
- var summary_column_key = statItem.summary_column_key,
194
- summary_method = statItem.summary_method,
195
- column_groupby_multiple_numeric_column = statItem.column_groupby_multiple_numeric_column,
196
- _statItem$display_tot2 = statItem.display_total,
197
- display_total = _statItem$display_tot2 === void 0 ? true : _statItem$display_tot2;
198
- var pivot_rows = pivotResult.pivot_rows,
199
- pivot_columns = pivotResult.pivot_columns,
200
- pivot_columns_total = pivotResult.pivot_columns_total,
201
- pivot_table_total = pivotResult.pivot_table_total,
202
- pivot_summary_multiple_columns = pivotResult.pivot_summary_multiple_columns,
203
- formulaRows = pivotResult.formulaRows,
204
- _pivotResult$isSqlQue2 = pivotResult.isSqlQuery,
205
- isSqlQuery = _pivotResult$isSqlQue2 === void 0 ? false : _pivotResult$isSqlQue2;
206
- var summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
207
- var allTotalDisplay = column_groupby_multiple_numeric_column ? 0 : getSummaryValueDisplayString(summaryColumn, pivot_table_total, summary_method);
208
- var firstSummaryColumnFromMultiple = column_groupby_multiple_numeric_column && pivot_summary_multiple_columns[0] || null;
209
- var pivotColumnCells = [];
210
- return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map(function (rowItem, rowIdx) {
211
- var name = rowItem.name,
212
- original_name = rowItem.original_name,
213
- total = rowItem.total;
214
- var cells = _this.getCells(rowItem, summaryColumn);
215
- var pivotRowCells = [];
193
+ this.renderRows = _ref3 => {
194
+ let {
195
+ table,
196
+ groupbyColumn
197
+ } = _ref3;
198
+ const {
199
+ pivotResult,
200
+ statItem,
201
+ getSummaryValueDisplayString
202
+ } = this.props;
203
+ const {
204
+ summary_column_key,
205
+ summary_method,
206
+ column_groupby_multiple_numeric_column,
207
+ display_total = true
208
+ } = statItem;
209
+ const {
210
+ pivot_rows,
211
+ pivot_columns,
212
+ pivot_columns_total,
213
+ pivot_table_total,
214
+ pivot_summary_multiple_columns,
215
+ formulaRows,
216
+ isSqlQuery = false
217
+ } = pivotResult;
218
+ const summaryColumn = TableUtils.getTableColumnByKey(table, summary_column_key) || {};
219
+ let allTotalDisplay = column_groupby_multiple_numeric_column ? 0 : getSummaryValueDisplayString(summaryColumn, pivot_table_total, summary_method);
220
+ let firstSummaryColumnFromMultiple = column_groupby_multiple_numeric_column && pivot_summary_multiple_columns[0] || null;
221
+ let pivotColumnCells = [];
222
+ return /*#__PURE__*/React.createElement("tbody", null, pivot_rows.map((rowItem, rowIdx) => {
223
+ const {
224
+ name,
225
+ original_name,
226
+ total
227
+ } = rowItem;
228
+ const cells = this.getCells(rowItem, summaryColumn);
229
+ let pivotRowCells = [];
216
230
  if (!Array.isArray(pivot_columns)) {
217
231
  pivotColumnCells[rowIdx] = rowItem.rows || [];
218
232
  }
219
- var summaryDisplayValue = getSummaryValueDisplayString(summaryColumn, total, summary_method);
233
+ let summaryDisplayValue = getSummaryValueDisplayString(summaryColumn, total, summary_method);
220
234
  if (column_groupby_multiple_numeric_column) {
221
235
  summaryDisplayValue = 0;
222
236
  }
223
- var isValidSummaryDisplayValue = _this.props.isValidValue(summaryDisplayValue);
237
+ const isValidSummaryDisplayValue = this.props.isValidValue(summaryDisplayValue);
224
238
  return /*#__PURE__*/React.createElement("tr", {
225
239
  key: 'table-row' + rowIdx
226
240
  }, /*#__PURE__*/React.createElement("td", {
@@ -228,140 +242,135 @@ var TwoDimensionTable = /*#__PURE__*/function (_PureComponent) {
228
242
  }, /*#__PURE__*/React.createElement(PivotTableDisplayName, {
229
243
  value: original_name,
230
244
  column: groupbyColumn
231
- })), Array.isArray(cells) && cells.map(function (c, cellIdx) {
245
+ })), Array.isArray(cells) && cells.map((c, cellIdx) => {
232
246
  if (c && Array.isArray(c.rows) && c.rows.length > 0) {
233
- pivotRowCells.push.apply(pivotRowCells, _toConsumableArray(c.rows));
247
+ pivotRowCells.push(...c.rows);
234
248
  if (pivotColumnCells[cellIdx]) {
235
- var _pivotColumnCells$cel;
236
- (_pivotColumnCells$cel = pivotColumnCells[cellIdx]).push.apply(_pivotColumnCells$cel, _toConsumableArray(c.rows));
249
+ pivotColumnCells[cellIdx].push(...c.rows);
237
250
  } else {
238
- pivotColumnCells[cellIdx] = _toConsumableArray(c.rows);
251
+ pivotColumnCells[cellIdx] = [...c.rows];
239
252
  }
240
253
  }
241
254
  if (column_groupby_multiple_numeric_column) {
242
- var summary_multiple_columns = c.summary_multiple_columns,
243
- formatted_summary_multiple_columns = c.formatted_summary_multiple_columns;
244
- summary_multiple_columns.forEach(function (item) {
245
- summaryDisplayValue += _this.getNumberValue(item);
255
+ const {
256
+ summary_multiple_columns,
257
+ formatted_summary_multiple_columns
258
+ } = c;
259
+ summary_multiple_columns.forEach(item => {
260
+ summaryDisplayValue += this.getNumberValue(item);
246
261
  });
247
262
  return /*#__PURE__*/React.createElement("td", {
248
263
  className: "".concat(styles['pivot-cell'], " ").concat(styles['pivot-summary-multiple-columns-td']),
249
264
  key: "table-cell-".concat(cellIdx),
250
- onClick: function onClick() {
251
- return _this.toggleRecords({
252
- rows: c.rows,
253
- name: name,
254
- rowItem: rowItem,
255
- group_name: c.group_name,
256
- group_original_name: c.group_original_name,
257
- original_name: rowItem.original_name
258
- });
259
- }
265
+ onClick: () => this.toggleRecords({
266
+ rows: c.rows,
267
+ name,
268
+ rowItem,
269
+ group_name: c.group_name,
270
+ group_original_name: c.group_original_name,
271
+ original_name: rowItem.original_name
272
+ })
260
273
  }, /*#__PURE__*/React.createElement("div", {
261
274
  className: styles['pivot-summary-multiple-columns-div']
262
- }, formatted_summary_multiple_columns.map(function (label, index) {
275
+ }, formatted_summary_multiple_columns.map((label, index) => {
263
276
  return /*#__PURE__*/React.createElement("div", {
264
277
  key: index,
265
278
  title: label
266
279
  }, label);
267
280
  })), /*#__PURE__*/React.createElement("span", null));
268
281
  }
269
- var displayValue = getSummaryValueDisplayString(c.column, c.total, summary_method);
270
- var isValidDisplayValue = _this.props.isValidValue(displayValue);
282
+ const displayValue = getSummaryValueDisplayString(c.column, c.total, summary_method);
283
+ const isValidDisplayValue = this.props.isValidValue(displayValue);
271
284
  return /*#__PURE__*/React.createElement("td", {
272
285
  className: "".concat(styles['pivot-cell'], " ").concat(isValidDisplayValue ? '' : styles['pivot-empty-cell']),
273
286
  key: "table-cell-".concat(cellIdx),
274
287
  title: isValidDisplayValue ? displayValue : '',
275
- onClick: function onClick() {
276
- return _this.toggleRecords({
277
- rows: c.rows,
278
- name: name,
279
- rowItem: rowItem,
280
- group_name: c.group_name,
281
- group_original_name: c.group_original_name,
282
- original_name: rowItem.original_name
283
- });
284
- }
288
+ onClick: () => this.toggleRecords({
289
+ rows: c.rows,
290
+ name,
291
+ rowItem,
292
+ group_name: c.group_name,
293
+ group_original_name: c.group_original_name,
294
+ original_name: rowItem.original_name
295
+ })
285
296
  }, isValidDisplayValue ? /*#__PURE__*/React.createElement("div", null, displayValue) : /*#__PURE__*/React.createElement("i", null), /*#__PURE__*/React.createElement("span", null));
286
- }), display_total && _this.renderRowTotal(isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple));
297
+ }), display_total && this.renderRowTotal(isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple));
287
298
  }), display_total && /*#__PURE__*/React.createElement("tr", null, /*#__PURE__*/React.createElement("td", {
288
299
  className: 'pivot-column-total'
289
- }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL))), Array.isArray(pivot_columns) && pivot_columns.map(function (c, index) {
290
- var pivotColumnCell = pivotColumnCells[index] || [];
291
- var pivotColumnTotal = pivot_columns_total[c.key];
292
- var totalDisplayValue = 0;
293
- var isValidTotalDisplayValue = true;
300
+ }, /*#__PURE__*/React.createElement("div", null, intl.get(TITLE_TOTAL))), Array.isArray(pivot_columns) && pivot_columns.map((c, index) => {
301
+ const pivotColumnCell = pivotColumnCells[index] || [];
302
+ const pivotColumnTotal = pivot_columns_total[c.key];
303
+ let totalDisplayValue = 0;
304
+ let isValidTotalDisplayValue = true;
294
305
  if (column_groupby_multiple_numeric_column) {
295
- var total = 0;
296
- pivot_summary_multiple_columns.forEach(function (summaryCol) {
297
- var type = summaryCol.type,
298
- key = summaryCol.key,
299
- sqlKey = summaryCol.sqlKey,
300
- method = summaryCol.method;
306
+ let total = 0;
307
+ pivot_summary_multiple_columns.forEach(summaryCol => {
308
+ const {
309
+ type,
310
+ key,
311
+ sqlKey,
312
+ method
313
+ } = summaryCol;
301
314
  total += getPivotTableSummaryTotal(type, key, sqlKey, STATISTICS_COUNT_TYPE.ADVANCED, method, pivotColumnCell, formulaRows, isSqlQuery);
302
315
  });
303
316
  totalDisplayValue = total;
304
317
  allTotalDisplay += total;
305
- isValidTotalDisplayValue = _this.props.isValidValue(totalDisplayValue);
318
+ isValidTotalDisplayValue = this.props.isValidValue(totalDisplayValue);
306
319
  if (firstSummaryColumnFromMultiple) {
307
320
  totalDisplayValue = getSummaryValueDisplayString(firstSummaryColumnFromMultiple, totalDisplayValue, firstSummaryColumnFromMultiple.method);
308
321
  }
309
322
  } else {
310
323
  totalDisplayValue = getSummaryValueDisplayString(summaryColumn, pivotColumnTotal, summary_method);
311
- isValidTotalDisplayValue = _this.props.isValidValue(totalDisplayValue);
324
+ isValidTotalDisplayValue = this.props.isValidValue(totalDisplayValue);
312
325
  }
313
326
  return /*#__PURE__*/React.createElement("td", {
314
327
  className: "".concat(styles['pivot-cell'], " ").concat(isValidTotalDisplayValue ? '' : styles['pivot-empty-cell']),
315
328
  key: "total-cell-".concat(index),
316
329
  title: isValidTotalDisplayValue ? totalDisplayValue : '',
317
- onClick: function onClick() {
318
- return _this.toggleRecords({
319
- group_name: c.key,
320
- rows: pivotColumnCell,
321
- group_original_name: c.original_name
322
- }, {
323
- isColumn: true
324
- });
325
- }
330
+ onClick: () => this.toggleRecords({
331
+ group_name: c.key,
332
+ rows: pivotColumnCell,
333
+ group_original_name: c.original_name
334
+ }, {
335
+ isColumn: true
336
+ })
326
337
  }, isValidTotalDisplayValue ? /*#__PURE__*/React.createElement("div", null, totalDisplayValue) : /*#__PURE__*/React.createElement("i", null));
327
- }), _this.renderAllTotal(allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple)));
338
+ }), this.renderAllTotal(allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple)));
328
339
  };
329
- return _this;
330
340
  }
331
- _createClass(TwoDimensionTable, [{
332
- key: "render",
333
- value: function render() {
334
- var _this$props5 = this.props,
335
- pivotResult = _this$props5.pivotResult,
336
- statItem = _this$props5.statItem,
337
- isPreview = _this$props5.isPreview,
338
- textColor = _this$props5.textColor,
339
- getTableById = _this$props5.getTableById;
340
- if (!pivotResult) return '';
341
- var table_id = statItem.table_id,
342
- groupby_column_key = statItem.groupby_column_key,
343
- column_groupby_column_key = statItem.column_groupby_column_key;
344
- var table = getTableById(table_id);
345
- var groupbyColumn = TableUtils.getTableColumnByKey(table, groupby_column_key) || {};
346
- var columnGroupbyColumn = TableUtils.getTableColumnByKey(table, column_groupby_column_key) || {};
347
- return /*#__PURE__*/React.createElement("table", {
348
- style: {
349
- color: textColor
350
- },
351
- className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
352
- }, /*#__PURE__*/React.createElement("caption", {
353
- className: styles['column-title']
354
- }, columnGroupbyColumn.name), /*#__PURE__*/React.createElement("caption", {
355
- className: styles['row-title']
356
- }, groupbyColumn.name), this.renderHeader({
357
- groupbyColumn: groupbyColumn,
358
- columnGroupbyColumn: columnGroupbyColumn
359
- }), this.renderRows({
360
- table: table,
361
- groupbyColumn: groupbyColumn
362
- }));
363
- }
364
- }]);
365
- return TwoDimensionTable;
366
- }(PureComponent);
341
+ render() {
342
+ const {
343
+ pivotResult,
344
+ statItem,
345
+ isPreview,
346
+ textColor,
347
+ getTableById
348
+ } = this.props;
349
+ if (!pivotResult) return '';
350
+ const {
351
+ table_id,
352
+ groupby_column_key,
353
+ column_groupby_column_key
354
+ } = statItem;
355
+ const table = getTableById(table_id);
356
+ const groupbyColumn = TableUtils.getTableColumnByKey(table, groupby_column_key) || {};
357
+ const columnGroupbyColumn = TableUtils.getTableColumnByKey(table, column_groupby_column_key) || {};
358
+ return /*#__PURE__*/React.createElement("table", {
359
+ style: {
360
+ color: textColor
361
+ },
362
+ className: "".concat(isPreview ? styles['preview-pivot-table'] : styles['large-pivot-table'], " ").concat(styles['pivot-table'])
363
+ }, /*#__PURE__*/React.createElement("caption", {
364
+ className: styles['column-title']
365
+ }, columnGroupbyColumn.name), /*#__PURE__*/React.createElement("caption", {
366
+ className: styles['row-title']
367
+ }, groupbyColumn.name), this.renderHeader({
368
+ groupbyColumn,
369
+ columnGroupbyColumn
370
+ }), this.renderRows({
371
+ table,
372
+ groupbyColumn
373
+ }));
374
+ }
375
+ }
367
376
  export default TwoDimensionTable;