dtable-statistic 5.0.0 → 5.0.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 (201) hide show
  1. package/es/assets/css/dashboard.css +1 -0
  2. package/es/assets/css/dialog.css +35 -0
  3. package/es/components/dialog/chart-edit-dialog.js +93 -0
  4. package/es/components/dialog/enlarged-chart-dialog.js +8 -13
  5. package/es/components/dialog/statistic-record-dialog/index.js +27 -35
  6. package/es/components/dialog/table-select-dialog.js +3 -3
  7. package/es/components/dropdown-menu/statistic-dropdown-menu.js +2 -2
  8. package/es/constants/index.js +3 -499
  9. package/es/dashboard.js +9 -87
  10. package/es/desktop-dashboard.js +51 -32
  11. package/es/index.js +56 -1
  12. package/es/mobile-dashboard.js +8 -16
  13. package/es/model/conver-statItem.js +124 -0
  14. package/es/service/chart-service.js +8 -27
  15. package/es/service/dashboard-service.js +25 -29
  16. package/es/stat-list/chart-preview.js +19 -20
  17. package/es/stat-list/index.js +17 -23
  18. package/es/stat-view/index.js +47 -156
  19. package/es/tabs/tab.js +18 -15
  20. package/es/utils/common-utils.js +2 -352
  21. package/es/utils/export-table-utils.js +0 -69
  22. package/es/utils/index.js +12 -89
  23. package/package.json +6 -9
  24. package/es/assets/css/color-picker.css +0 -53
  25. package/es/assets/css/color-rules-popover.css +0 -144
  26. package/es/assets/css/slider.css +0 -77
  27. package/es/assets/css/statistic-chart.module.css +0 -11
  28. package/es/assets/css/statistic-custom-title.module.css +0 -3
  29. package/es/assets/css/statistic-custom.module.css +0 -4
  30. package/es/assets/css/statistic-numeric-column-item.module.css +0 -43
  31. package/es/assets/css/statistic-time-picker.module.css +0 -21
  32. package/es/calculator/base-calculator.js +0 -80
  33. package/es/calculator/basic-chart-calculator.js +0 -349
  34. package/es/calculator/combination-calculator.js +0 -246
  35. package/es/calculator/compare-bar-calculator.js +0 -197
  36. package/es/calculator/completeness-calculator.js +0 -215
  37. package/es/calculator/copy-value.js +0 -53
  38. package/es/calculator/dashboard-calculator.js +0 -70
  39. package/es/calculator/heat-map-calculator.js +0 -148
  40. package/es/calculator/horizontal-bar-calculator.js +0 -67
  41. package/es/calculator/index.js +0 -81
  42. package/es/calculator/map-calculator.js +0 -103
  43. package/es/calculator/mirror-calculator.js +0 -146
  44. package/es/calculator/number-card-calculator.js +0 -60
  45. package/es/calculator/pivot-table-calculator.js +0 -821
  46. package/es/calculator/scatter-calculator.js +0 -75
  47. package/es/calculator/thread-manager.js +0 -57
  48. package/es/calculator/trend-calculator.js +0 -113
  49. package/es/calculator/workers/basic-chart-calculator-worker.js +0 -495
  50. package/es/calculator/workers/calculator.worker.js +0 -44
  51. package/es/calculator/workers/card-calculator-worker.js +0 -40
  52. package/es/calculator/workers/combination-calculator-worker.js +0 -276
  53. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +0 -150
  54. package/es/calculator/workers/completeness-calculator-worker.js +0 -208
  55. package/es/calculator/workers/dashboard-calculator-worker.js +0 -68
  56. package/es/calculator/workers/mirror-calculator-worker.js +0 -152
  57. package/es/calculator/workers/pivot-table-calculator-worker.js +0 -718
  58. package/es/calculator/workers/scatter-calculator-worker.js +0 -80
  59. package/es/calculator/workers/trend-calculator-worker.js +0 -108
  60. package/es/calculator/world-map-calculator.js +0 -124
  61. package/es/components/dialog/chart-addition-edit-dialog.js +0 -90
  62. package/es/components/dialog/chart-addition-widgets/chart-selector.js +0 -259
  63. package/es/components/dialog/chart-addition-widgets/statistic-chart-selector.module.css +0 -83
  64. package/es/components/dialog/statistic-types-dialog/index.css +0 -14
  65. package/es/components/dialog/statistic-types-dialog/index.js +0 -62
  66. package/es/components/popover/color-rules/color-rule.js +0 -183
  67. package/es/components/popover/color-rules/index.js +0 -87
  68. package/es/components/popover/color-rules/rule-filters/filter.js +0 -221
  69. package/es/components/popover/color-rules/rule-filters/index.css +0 -210
  70. package/es/components/popover/color-rules/rule-filters/index.js +0 -97
  71. package/es/components/popover/color-rules/rule-filters/number-input.js +0 -78
  72. package/es/components/popover/color-rules-popover.js +0 -218
  73. package/es/components/popover/color-selector-popover.js +0 -83
  74. package/es/constants/color-rules.js +0 -17
  75. package/es/constants/map.js +0 -13
  76. package/es/constants/model.js +0 -26
  77. package/es/constants/regions.js +0 -2111
  78. package/es/constants/zIndexes.js +0 -7
  79. package/es/custom-g2.js +0 -644
  80. package/es/model/bar-group.js +0 -58
  81. package/es/model/bar.js +0 -47
  82. package/es/model/base-model.js +0 -18
  83. package/es/model/basic-number-card.js +0 -25
  84. package/es/model/combination.js +0 -48
  85. package/es/model/compare-bar.js +0 -56
  86. package/es/model/completeness-group.js +0 -31
  87. package/es/model/completeness.js +0 -25
  88. package/es/model/custom-bar.js +0 -25
  89. package/es/model/dashboard.js +0 -20
  90. package/es/model/generic-model.js +0 -222
  91. package/es/model/heat-map.js +0 -33
  92. package/es/model/horizontal-bar-group.js +0 -55
  93. package/es/model/horizontal-bar.js +0 -47
  94. package/es/model/index.js +0 -187
  95. package/es/model/map.js +0 -38
  96. package/es/model/mirror.js +0 -33
  97. package/es/model/pie.js +0 -38
  98. package/es/model/ring.js +0 -40
  99. package/es/model/scatter.js +0 -22
  100. package/es/model/table.js +0 -32
  101. package/es/model/trend.js +0 -32
  102. package/es/model/world-map.js +0 -34
  103. package/es/service/map-json.js +0 -140
  104. package/es/stat-editor/chart-name-editor.js +0 -68
  105. package/es/stat-editor/index.js +0 -75
  106. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +0 -153
  107. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +0 -422
  108. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +0 -203
  109. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +0 -23
  110. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +0 -104
  111. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +0 -334
  112. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +0 -119
  113. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +0 -132
  114. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +0 -240
  115. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +0 -89
  116. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +0 -138
  117. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +0 -331
  118. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +0 -143
  119. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +0 -109
  120. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +0 -153
  121. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +0 -144
  122. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +0 -214
  123. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +0 -121
  124. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +0 -172
  125. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +0 -366
  126. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +0 -142
  127. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +0 -150
  128. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +0 -473
  129. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +0 -182
  130. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +0 -564
  131. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +0 -112
  132. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +0 -87
  133. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +0 -187
  134. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +0 -300
  135. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +0 -113
  136. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +0 -289
  137. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +0 -58
  138. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +0 -359
  139. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +0 -48
  140. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +0 -121
  141. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +0 -143
  142. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +0 -269
  143. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +0 -104
  144. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +0 -366
  145. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +0 -55
  146. package/es/stat-editor/stat-settings/color-setting/color-picker.js +0 -130
  147. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +0 -374
  148. package/es/stat-editor/stat-settings/map/map-level.js +0 -72
  149. package/es/stat-editor/stat-settings/map/map-province-city.js +0 -151
  150. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +0 -108
  151. package/es/stat-editor/stat-settings/public-setting/base-settings.js +0 -154
  152. package/es/stat-editor/stat-settings/public-setting/calender.js +0 -125
  153. package/es/stat-editor/stat-settings/public-setting/column-settings.js +0 -24
  154. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +0 -62
  155. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +0 -61
  156. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +0 -35
  157. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +0 -60
  158. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +0 -123
  159. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +0 -33
  160. package/es/stat-editor/stat-settings/public-setting/type-settings/index.css +0 -29
  161. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +0 -82
  162. package/es/stat-view/area-chart.js +0 -551
  163. package/es/stat-view/bar-chart.js +0 -582
  164. package/es/stat-view/base-chart.js +0 -132
  165. package/es/stat-view/basic-number-card.js +0 -201
  166. package/es/stat-view/combination-chart.js +0 -546
  167. package/es/stat-view/compare-chart.js +0 -483
  168. package/es/stat-view/completeness-chart.js +0 -390
  169. package/es/stat-view/custom-bar.js +0 -418
  170. package/es/stat-view/dashboard-chart.js +0 -266
  171. package/es/stat-view/heat-map.js +0 -463
  172. package/es/stat-view/horizontal-bar-chart.js +0 -562
  173. package/es/stat-view/line-chart.js +0 -518
  174. package/es/stat-view/map.js +0 -448
  175. package/es/stat-view/mirror.js +0 -275
  176. package/es/stat-view/pie-chart.js +0 -290
  177. package/es/stat-view/pivot-table/index.js +0 -196
  178. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +0 -156
  179. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +0 -176
  180. package/es/stat-view/pivot-table/pivot-table-display-name.js +0 -215
  181. package/es/stat-view/pivot-table/statistic-pivot-table.module.css +0 -132
  182. package/es/stat-view/pivot-table/two-dimension-table.js +0 -384
  183. package/es/stat-view/ring-chart.js +0 -392
  184. package/es/stat-view/scatter-chart.js +0 -306
  185. package/es/stat-view/treemap-chart.js +0 -253
  186. package/es/stat-view/trend-chart.js +0 -249
  187. package/es/stat-view/world-map.js +0 -431
  188. package/es/utils/basic-chart-utils.js +0 -29
  189. package/es/utils/cell-format.js +0 -115
  190. package/es/utils/collaborator.js +0 -50
  191. package/es/utils/color-utils.js +0 -134
  192. package/es/utils/column-utils.js +0 -110
  193. package/es/utils/column.js +0 -20
  194. package/es/utils/date-format.js +0 -71
  195. package/es/utils/map.js +0 -114
  196. package/es/utils/model.js +0 -19
  197. package/es/utils/row-utils.js +0 -134
  198. package/es/utils/search.js +0 -73
  199. package/es/utils/sql-utils.js +0 -359
  200. package/es/utils/stat-utils.js +0 -351
  201. package/es/utils/trend-utils.js +0 -135
@@ -1,384 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
4
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireWildcard(require("react"));
10
- var _reactIntlUniversal = _interopRequireDefault(require("react-intl-universal"));
11
- var _dtableUtils = require("dtable-utils");
12
- var _pivotTableDisplayName = _interopRequireDefault(require("./pivot-table-display-name"));
13
- var _utils = require("../../utils");
14
- var _pivotTable = require("../../utils/pivot-table");
15
- var _constants = require("../../constants");
16
- var _statisticPivotTableModule = _interopRequireDefault(require("./statistic-pivot-table.module.css"));
17
- class TwoDimensionTable extends _react.PureComponent {
18
- constructor() {
19
- var _this;
20
- super(...arguments);
21
- _this = this;
22
- this.toggleRecords = function (cell) {
23
- let {
24
- isColumn = false,
25
- isRow = false
26
- } = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
27
- if (_utils.isMobile) return;
28
- _this.props.toggleStatisticRecordsDialog(cell, _this.props.statItem, {
29
- isColumn,
30
- isRow
31
- });
32
- };
33
- this.onClickTotals = (recordsList, _ref) => {
34
- let {
35
- isCurrentView
36
- } = _ref;
37
- if (_utils.isMobile) return;
38
- const {
39
- getTableById,
40
- statItem
41
- } = this.props;
42
- const {
43
- table_id,
44
- view_id
45
- } = statItem;
46
- const table = getTableById(table_id);
47
- const view = (0, _dtableUtils.getViewById)(table.views, view_id);
48
- let rows = [];
49
- if (!(0, _dtableUtils.isArchiveView)(view)) {
50
- rows = recordsList.flat();
51
- }
52
- this.props.toggleStatisticRecordsDialog({
53
- rows
54
- }, statItem, {
55
- isCurrentView
56
- });
57
- };
58
- this.getNumberValue = val => {
59
- if ((0, _dtableUtils.isNumber)(val)) {
60
- return val;
61
- }
62
- return 0;
63
- };
64
- this.getCells = (row, summaryColumn) => {
65
- const {
66
- pivotResult,
67
- getSummaryValueDisplayString
68
- } = this.props;
69
- const {
70
- pivot_columns,
71
- pivot_summary_multiple_columns,
72
- formulaRows,
73
- isSqlQuery = false
74
- } = pivotResult;
75
- const {
76
- cells
77
- } = row;
78
- if (!Array.isArray(pivot_columns)) {
79
- return [];
80
- }
81
- return pivot_columns.map(item => {
82
- const cell = cells[item.key];
83
- const rowData = cell && cell.rows;
84
- let summary_multiple_columns = [];
85
- let formatted_summary_multiple_columns = [];
86
- pivot_summary_multiple_columns.forEach(column => {
87
- const {
88
- key,
89
- type,
90
- sqlKey,
91
- method
92
- } = column;
93
- if (Array.isArray(rowData)) {
94
- const sum = (0, _pivotTable.getPivotTableSummaryTotal)(type, key, sqlKey, _constants.STATISTICS_COUNT_TYPE.ADVANCED, method, rowData, formulaRows, isSqlQuery);
95
- summary_multiple_columns.push(sum);
96
- formatted_summary_multiple_columns.push(getSummaryValueDisplayString(column, sum, method));
97
- return;
98
- }
99
- summary_multiple_columns.push(0);
100
- formatted_summary_multiple_columns.push(getSummaryValueDisplayString(column, 0, method));
101
- });
102
- return {
103
- ...cells[item.key],
104
- group_original_name: item.original_name,
105
- group_name: item.key,
106
- column: summaryColumn,
107
- summary_multiple_columns,
108
- formatted_summary_multiple_columns
109
- };
110
- });
111
- };
112
- this.renderHeader = _ref2 => {
113
- let {
114
- groupbyColumn,
115
- columnGroupbyColumn
116
- } = _ref2;
117
- const {
118
- pivotResult,
119
- statItem
120
- } = this.props;
121
- const {
122
- column_groupby_column_key,
123
- column_groupby_multiple_numeric_column,
124
- display_total = true
125
- } = statItem;
126
- const {
127
- name: groupName
128
- } = groupbyColumn;
129
- const {
130
- name: rowGroupName
131
- } = columnGroupbyColumn || {};
132
- const {
133
- pivot_columns,
134
- pivot_summary_multiple_columns
135
- } = pivotResult;
136
- const isMultipleColumnHeader = column_groupby_multiple_numeric_column && column_groupby_column_key && pivot_summary_multiple_columns.length !== 0;
137
- return /*#__PURE__*/_react.default.createElement("thead", null, /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
138
- className: "pivot-table-header"
139
- }, !rowGroupName && groupName), Array.isArray(pivot_columns) && pivot_columns.map((item, index) => {
140
- const {
141
- original_key
142
- } = item;
143
- return /*#__PURE__*/_react.default.createElement("th", {
144
- className: 'pivot-table-header',
145
- key: "pivot-column-".concat(index)
146
- }, /*#__PURE__*/_react.default.createElement(_pivotTableDisplayName.default, {
147
- value: original_key,
148
- column: columnGroupbyColumn
149
- }));
150
- }), display_total && /*#__PURE__*/_react.default.createElement("th", {
151
- className: 'pivot-table-header'
152
- }, /*#__PURE__*/_react.default.createElement("div", null, _reactIntlUniversal.default.get(_constants.TITLE_TOTAL)))), isMultipleColumnHeader && /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("th", {
153
- className: "pivot-table-header"
154
- }), Array.isArray(pivot_columns) && pivot_columns.map((item, index) => {
155
- return /*#__PURE__*/_react.default.createElement("th", {
156
- className: "pivot-table-header ".concat(_statisticPivotTableModule.default['pivot-summary-multiple-columns-th']),
157
- key: "pivot-column-".concat(index)
158
- }, /*#__PURE__*/_react.default.createElement("div", {
159
- className: _statisticPivotTableModule.default['pivot-summary-multiple-columns-div']
160
- }, pivot_summary_multiple_columns.map((item, index) => {
161
- return /*#__PURE__*/_react.default.createElement("div", {
162
- key: index
163
- }, item.column_name);
164
- })));
165
- }), display_total && /*#__PURE__*/_react.default.createElement("th", {
166
- className: "pivot-table-header ".concat(_statisticPivotTableModule.default['pivot-empty-cell'])
167
- })));
168
- };
169
- this.renderRowTotal = (isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple) => {
170
- let rowTotal = summaryDisplayValue;
171
- if (firstSummaryColumnFromMultiple) {
172
- rowTotal = this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, summaryDisplayValue, firstSummaryColumnFromMultiple.method);
173
- }
174
- return /*#__PURE__*/_react.default.createElement("td", {
175
- className: "".concat(_statisticPivotTableModule.default['pivot-cell'], " ").concat(isValidSummaryDisplayValue ? '' : _statisticPivotTableModule.default['pivot-empty-cell']),
176
- title: isValidSummaryDisplayValue ? rowTotal : '',
177
- onClick: () => this.toggleRecords({
178
- rows: Array.isArray(cells) && cells.length > 0 ? pivotRowCells : rowItem.rows,
179
- name: rowItem.name,
180
- rowItem,
181
- original_name: rowItem.original_name
182
- }, {
183
- isRow: true
184
- })
185
- }, isValidSummaryDisplayValue ? /*#__PURE__*/_react.default.createElement("div", null, rowTotal) : /*#__PURE__*/_react.default.createElement("i", null));
186
- };
187
- this.renderAllTotal = (allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple) => {
188
- const isValidAllTotalDisplay = this.props.isValidValue(allTotalDisplay);
189
- let allTotal = allTotalDisplay;
190
- if (firstSummaryColumnFromMultiple) {
191
- allTotal = this.props.getSummaryValueDisplayString(firstSummaryColumnFromMultiple, allTotalDisplay, firstSummaryColumnFromMultiple.method);
192
- }
193
- return /*#__PURE__*/_react.default.createElement("td", {
194
- className: "".concat(_statisticPivotTableModule.default['pivot-cell'], " pivot-table-total ").concat(isValidAllTotalDisplay ? '' : _statisticPivotTableModule.default['pivot-empty-cell']),
195
- onClick: () => this.onClickTotals(pivotColumnCells, {
196
- isCurrentView: true
197
- }),
198
- title: isValidAllTotalDisplay ? allTotal : ''
199
- }, isValidAllTotalDisplay ? /*#__PURE__*/_react.default.createElement("div", null, allTotal) : /*#__PURE__*/_react.default.createElement("i", null));
200
- };
201
- this.renderRows = _ref3 => {
202
- let {
203
- table,
204
- groupbyColumn
205
- } = _ref3;
206
- const {
207
- pivotResult,
208
- statItem,
209
- getSummaryValueDisplayString
210
- } = this.props;
211
- const {
212
- summary_column_key,
213
- summary_method,
214
- column_groupby_multiple_numeric_column,
215
- display_total = true
216
- } = statItem;
217
- const {
218
- pivot_rows,
219
- pivot_columns,
220
- pivot_columns_total,
221
- pivot_table_total,
222
- pivot_summary_multiple_columns,
223
- formulaRows,
224
- isSqlQuery = false
225
- } = pivotResult;
226
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
227
- let allTotalDisplay = column_groupby_multiple_numeric_column ? 0 : getSummaryValueDisplayString(summaryColumn, pivot_table_total, summary_method);
228
- let firstSummaryColumnFromMultiple = column_groupby_multiple_numeric_column && pivot_summary_multiple_columns[0] || null;
229
- let pivotColumnCells = [];
230
- return /*#__PURE__*/_react.default.createElement("tbody", null, pivot_rows.map((rowItem, rowIdx) => {
231
- const {
232
- name,
233
- original_name,
234
- total
235
- } = rowItem;
236
- const cells = this.getCells(rowItem, summaryColumn);
237
- let pivotRowCells = [];
238
- if (!Array.isArray(pivot_columns)) {
239
- pivotColumnCells[rowIdx] = rowItem.rows || [];
240
- }
241
- let summaryDisplayValue = getSummaryValueDisplayString(summaryColumn, total, summary_method);
242
- if (column_groupby_multiple_numeric_column) {
243
- summaryDisplayValue = 0;
244
- }
245
- const isValidSummaryDisplayValue = this.props.isValidValue(summaryDisplayValue);
246
- return /*#__PURE__*/_react.default.createElement("tr", {
247
- key: 'table-row' + rowIdx
248
- }, /*#__PURE__*/_react.default.createElement("td", {
249
- className: 'pivot-row-name'
250
- }, /*#__PURE__*/_react.default.createElement(_pivotTableDisplayName.default, {
251
- value: original_name,
252
- column: groupbyColumn
253
- })), Array.isArray(cells) && cells.map((c, cellIdx) => {
254
- if (c && Array.isArray(c.rows) && c.rows.length > 0) {
255
- pivotRowCells.push(...c.rows);
256
- if (pivotColumnCells[cellIdx]) {
257
- pivotColumnCells[cellIdx].push(...c.rows);
258
- } else {
259
- pivotColumnCells[cellIdx] = [...c.rows];
260
- }
261
- }
262
- if (column_groupby_multiple_numeric_column) {
263
- const {
264
- summary_multiple_columns,
265
- formatted_summary_multiple_columns
266
- } = c;
267
- summary_multiple_columns.forEach(item => {
268
- summaryDisplayValue += this.getNumberValue(item);
269
- });
270
- return /*#__PURE__*/_react.default.createElement("td", {
271
- className: "".concat(_statisticPivotTableModule.default['pivot-cell'], " ").concat(_statisticPivotTableModule.default['pivot-summary-multiple-columns-td']),
272
- key: "table-cell-".concat(cellIdx),
273
- onClick: () => this.toggleRecords({
274
- rows: c.rows,
275
- name,
276
- rowItem,
277
- group_name: c.group_name,
278
- group_original_name: c.group_original_name,
279
- original_name: rowItem.original_name
280
- })
281
- }, /*#__PURE__*/_react.default.createElement("div", {
282
- className: _statisticPivotTableModule.default['pivot-summary-multiple-columns-div']
283
- }, formatted_summary_multiple_columns.map((label, index) => {
284
- return /*#__PURE__*/_react.default.createElement("div", {
285
- key: index,
286
- title: label
287
- }, label);
288
- })), /*#__PURE__*/_react.default.createElement("span", null));
289
- }
290
- const displayValue = getSummaryValueDisplayString(c.column, c.total, summary_method);
291
- const isValidDisplayValue = this.props.isValidValue(displayValue);
292
- return /*#__PURE__*/_react.default.createElement("td", {
293
- className: "".concat(_statisticPivotTableModule.default['pivot-cell'], " ").concat(isValidDisplayValue ? '' : _statisticPivotTableModule.default['pivot-empty-cell']),
294
- key: "table-cell-".concat(cellIdx),
295
- title: isValidDisplayValue ? displayValue : '',
296
- onClick: () => this.toggleRecords({
297
- rows: c.rows,
298
- name,
299
- rowItem,
300
- group_name: c.group_name,
301
- group_original_name: c.group_original_name,
302
- original_name: rowItem.original_name
303
- })
304
- }, isValidDisplayValue ? /*#__PURE__*/_react.default.createElement("div", null, displayValue) : /*#__PURE__*/_react.default.createElement("i", null), /*#__PURE__*/_react.default.createElement("span", null));
305
- }), display_total && this.renderRowTotal(isValidSummaryDisplayValue, summaryDisplayValue, cells, pivotRowCells, rowItem, firstSummaryColumnFromMultiple));
306
- }), display_total && /*#__PURE__*/_react.default.createElement("tr", null, /*#__PURE__*/_react.default.createElement("td", {
307
- className: 'pivot-column-total'
308
- }, /*#__PURE__*/_react.default.createElement("div", null, _reactIntlUniversal.default.get(_constants.TITLE_TOTAL))), Array.isArray(pivot_columns) && pivot_columns.map((c, index) => {
309
- const pivotColumnCell = pivotColumnCells[index] || [];
310
- const pivotColumnTotal = pivot_columns_total[c.key];
311
- let totalDisplayValue = 0;
312
- let isValidTotalDisplayValue = true;
313
- if (column_groupby_multiple_numeric_column) {
314
- let total = 0;
315
- pivot_summary_multiple_columns.forEach(summaryCol => {
316
- const {
317
- type,
318
- key,
319
- sqlKey,
320
- method
321
- } = summaryCol;
322
- total += (0, _pivotTable.getPivotTableSummaryTotal)(type, key, sqlKey, _constants.STATISTICS_COUNT_TYPE.ADVANCED, method, pivotColumnCell, formulaRows, isSqlQuery);
323
- });
324
- totalDisplayValue = total;
325
- allTotalDisplay += total;
326
- isValidTotalDisplayValue = this.props.isValidValue(totalDisplayValue);
327
- if (firstSummaryColumnFromMultiple) {
328
- totalDisplayValue = getSummaryValueDisplayString(firstSummaryColumnFromMultiple, totalDisplayValue, firstSummaryColumnFromMultiple.method);
329
- }
330
- } else {
331
- totalDisplayValue = getSummaryValueDisplayString(summaryColumn, pivotColumnTotal, summary_method);
332
- isValidTotalDisplayValue = this.props.isValidValue(totalDisplayValue);
333
- }
334
- return /*#__PURE__*/_react.default.createElement("td", {
335
- className: "".concat(_statisticPivotTableModule.default['pivot-cell'], " ").concat(isValidTotalDisplayValue ? '' : _statisticPivotTableModule.default['pivot-empty-cell']),
336
- key: "total-cell-".concat(index),
337
- title: isValidTotalDisplayValue ? totalDisplayValue : '',
338
- onClick: () => this.toggleRecords({
339
- group_name: c.key,
340
- rows: pivotColumnCell,
341
- group_original_name: c.original_name
342
- }, {
343
- isColumn: true
344
- })
345
- }, isValidTotalDisplayValue ? /*#__PURE__*/_react.default.createElement("div", null, totalDisplayValue) : /*#__PURE__*/_react.default.createElement("i", null));
346
- }), this.renderAllTotal(allTotalDisplay, pivotColumnCells, firstSummaryColumnFromMultiple)));
347
- };
348
- }
349
- render() {
350
- const {
351
- pivotResult,
352
- statItem,
353
- isPreview,
354
- textColor,
355
- getTableById
356
- } = this.props;
357
- if (!pivotResult) return '';
358
- const {
359
- table_id,
360
- groupby_column_key,
361
- column_groupby_column_key
362
- } = statItem;
363
- const table = getTableById(table_id);
364
- const groupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, groupby_column_key) || {};
365
- const columnGroupbyColumn = (0, _dtableUtils.getTableColumnByKey)(table, column_groupby_column_key) || {};
366
- return /*#__PURE__*/_react.default.createElement("table", {
367
- style: {
368
- color: textColor
369
- },
370
- className: "".concat(isPreview ? _statisticPivotTableModule.default['preview-pivot-table'] : _statisticPivotTableModule.default['large-pivot-table'], " ").concat(_statisticPivotTableModule.default['pivot-table'])
371
- }, /*#__PURE__*/_react.default.createElement("caption", {
372
- className: _statisticPivotTableModule.default['column-title']
373
- }, columnGroupbyColumn.name), /*#__PURE__*/_react.default.createElement("caption", {
374
- className: _statisticPivotTableModule.default['row-title']
375
- }, groupbyColumn.name), this.renderHeader({
376
- groupbyColumn,
377
- columnGroupbyColumn
378
- }), this.renderRows({
379
- table,
380
- groupbyColumn
381
- }));
382
- }
383
- }
384
- var _default = exports.default = TwoDimensionTable;