dtable-statistic 4.4.24 → 5.0.0-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (208) 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 +26 -33
  6. package/es/components/dropdown-menu/statistic-dropdown-menu.js +2 -2
  7. package/es/constants/index.js +3 -499
  8. package/es/dashboard.js +9 -87
  9. package/es/desktop-dashboard.js +51 -32
  10. package/es/index.js +56 -1
  11. package/es/mobile-dashboard.js +8 -16
  12. package/es/model/conver-statItem.js +124 -0
  13. package/es/service/chart-service.js +8 -27
  14. package/es/service/dashboard-service.js +25 -29
  15. package/es/stat-list/chart-preview.js +19 -20
  16. package/es/stat-list/index.js +15 -21
  17. package/es/stat-view/index.js +47 -156
  18. package/es/tabs/tab.js +17 -14
  19. package/es/utils/common-utils.js +2 -352
  20. package/es/utils/export-table-utils.js +0 -69
  21. package/es/utils/index.js +0 -89
  22. package/package.json +5 -7
  23. package/es/assets/css/color-picker.css +0 -53
  24. package/es/assets/css/color-rules-popover.css +0 -144
  25. package/es/assets/css/slider.css +0 -77
  26. package/es/assets/css/statistic-chart.module.css +0 -11
  27. package/es/assets/css/statistic-custom-title.module.css +0 -3
  28. package/es/assets/css/statistic-custom.module.css +0 -4
  29. package/es/assets/css/statistic-numeric-column-item.module.css +0 -43
  30. package/es/assets/css/statistic-time-picker.module.css +0 -21
  31. package/es/calculator/base-calculator.js +0 -80
  32. package/es/calculator/basic-chart-calculator.js +0 -349
  33. package/es/calculator/combination-calculator.js +0 -246
  34. package/es/calculator/compare-bar-calculator.js +0 -197
  35. package/es/calculator/completeness-calculator.js +0 -215
  36. package/es/calculator/copy-value.js +0 -53
  37. package/es/calculator/dashboard-calculator.js +0 -70
  38. package/es/calculator/heat-map-calculator.js +0 -148
  39. package/es/calculator/horizontal-bar-calculator.js +0 -67
  40. package/es/calculator/index.js +0 -81
  41. package/es/calculator/map-calculator.js +0 -103
  42. package/es/calculator/mirror-calculator.js +0 -146
  43. package/es/calculator/number-card-calculator.js +0 -60
  44. package/es/calculator/pivot-table-calculator.js +0 -821
  45. package/es/calculator/scatter-calculator.js +0 -75
  46. package/es/calculator/thread-manager.js +0 -57
  47. package/es/calculator/trend-calculator.js +0 -113
  48. package/es/calculator/workers/basic-chart-calculator-worker.js +0 -495
  49. package/es/calculator/workers/calculator.worker.js +0 -44
  50. package/es/calculator/workers/card-calculator-worker.js +0 -40
  51. package/es/calculator/workers/combination-calculator-worker.js +0 -276
  52. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +0 -150
  53. package/es/calculator/workers/completeness-calculator-worker.js +0 -208
  54. package/es/calculator/workers/dashboard-calculator-worker.js +0 -68
  55. package/es/calculator/workers/mirror-calculator-worker.js +0 -152
  56. package/es/calculator/workers/pivot-table-calculator-worker.js +0 -718
  57. package/es/calculator/workers/scatter-calculator-worker.js +0 -80
  58. package/es/calculator/workers/trend-calculator-worker.js +0 -108
  59. package/es/calculator/world-map-calculator.js +0 -124
  60. package/es/components/common-add-tool.js +0 -28
  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/dtable-popover.js +0 -97
  67. package/es/components/dtable-search-input.js +0 -135
  68. package/es/components/index.js +0 -55
  69. package/es/components/loading.js +0 -15
  70. package/es/components/modal-portal.js +0 -26
  71. package/es/components/popover/color-rules/color-rule.js +0 -183
  72. package/es/components/popover/color-rules/index.js +0 -87
  73. package/es/components/popover/color-rules/rule-filters/filter.js +0 -221
  74. package/es/components/popover/color-rules/rule-filters/index.css +0 -210
  75. package/es/components/popover/color-rules/rule-filters/index.js +0 -97
  76. package/es/components/popover/color-rules/rule-filters/number-input.js +0 -78
  77. package/es/components/popover/color-rules-popover.js +0 -217
  78. package/es/components/popover/color-selector-popover.js +0 -82
  79. package/es/components/seatable-radio/index.css +0 -51
  80. package/es/components/seatable-radio/index.js +0 -35
  81. package/es/constants/color-rules.js +0 -17
  82. package/es/constants/map.js +0 -13
  83. package/es/constants/model.js +0 -26
  84. package/es/constants/regions.js +0 -2111
  85. package/es/constants/zIndexes.js +0 -7
  86. package/es/custom-g2.js +0 -644
  87. package/es/model/bar-group.js +0 -58
  88. package/es/model/bar.js +0 -47
  89. package/es/model/base-model.js +0 -18
  90. package/es/model/basic-number-card.js +0 -25
  91. package/es/model/combination.js +0 -48
  92. package/es/model/compare-bar.js +0 -56
  93. package/es/model/completeness-group.js +0 -31
  94. package/es/model/completeness.js +0 -25
  95. package/es/model/custom-bar.js +0 -25
  96. package/es/model/dashboard.js +0 -20
  97. package/es/model/generic-model.js +0 -222
  98. package/es/model/heat-map.js +0 -33
  99. package/es/model/horizontal-bar-group.js +0 -55
  100. package/es/model/horizontal-bar.js +0 -47
  101. package/es/model/index.js +0 -187
  102. package/es/model/map.js +0 -38
  103. package/es/model/mirror.js +0 -33
  104. package/es/model/pie.js +0 -38
  105. package/es/model/ring.js +0 -40
  106. package/es/model/scatter.js +0 -22
  107. package/es/model/table.js +0 -32
  108. package/es/model/trend.js +0 -32
  109. package/es/model/world-map.js +0 -34
  110. package/es/service/map-json.js +0 -140
  111. package/es/stat-editor/chart-name-editor.js +0 -68
  112. package/es/stat-editor/index.js +0 -75
  113. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +0 -153
  114. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +0 -422
  115. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +0 -203
  116. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +0 -23
  117. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +0 -104
  118. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +0 -334
  119. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +0 -119
  120. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +0 -132
  121. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +0 -240
  122. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +0 -89
  123. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +0 -138
  124. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +0 -331
  125. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +0 -143
  126. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +0 -109
  127. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +0 -153
  128. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +0 -144
  129. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +0 -214
  130. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +0 -121
  131. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +0 -172
  132. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +0 -366
  133. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +0 -142
  134. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +0 -150
  135. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +0 -473
  136. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +0 -182
  137. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +0 -564
  138. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +0 -112
  139. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +0 -87
  140. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +0 -187
  141. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +0 -300
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +0 -113
  143. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +0 -289
  144. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +0 -58
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +0 -359
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +0 -48
  147. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +0 -121
  148. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +0 -143
  149. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +0 -269
  150. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +0 -104
  151. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +0 -366
  152. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +0 -55
  153. package/es/stat-editor/stat-settings/color-setting/color-picker.js +0 -130
  154. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +0 -374
  155. package/es/stat-editor/stat-settings/map/map-level.js +0 -72
  156. package/es/stat-editor/stat-settings/map/map-province-city.js +0 -151
  157. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +0 -108
  158. package/es/stat-editor/stat-settings/public-setting/base-settings.js +0 -154
  159. package/es/stat-editor/stat-settings/public-setting/calender.js +0 -125
  160. package/es/stat-editor/stat-settings/public-setting/column-settings.js +0 -24
  161. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +0 -62
  162. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +0 -61
  163. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +0 -35
  164. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +0 -60
  165. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +0 -123
  166. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +0 -33
  167. package/es/stat-editor/stat-settings/public-setting/type-settings/index.css +0 -29
  168. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +0 -82
  169. package/es/stat-view/area-chart.js +0 -551
  170. package/es/stat-view/bar-chart.js +0 -582
  171. package/es/stat-view/base-chart.js +0 -132
  172. package/es/stat-view/basic-number-card.js +0 -201
  173. package/es/stat-view/combination-chart.js +0 -546
  174. package/es/stat-view/compare-chart.js +0 -483
  175. package/es/stat-view/completeness-chart.js +0 -390
  176. package/es/stat-view/custom-bar.js +0 -418
  177. package/es/stat-view/dashboard-chart.js +0 -266
  178. package/es/stat-view/heat-map.js +0 -463
  179. package/es/stat-view/horizontal-bar-chart.js +0 -562
  180. package/es/stat-view/line-chart.js +0 -518
  181. package/es/stat-view/map.js +0 -448
  182. package/es/stat-view/mirror.js +0 -275
  183. package/es/stat-view/pie-chart.js +0 -290
  184. package/es/stat-view/pivot-table/index.js +0 -196
  185. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +0 -156
  186. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +0 -176
  187. package/es/stat-view/pivot-table/pivot-table-display-name.js +0 -215
  188. package/es/stat-view/pivot-table/statistic-pivot-table.module.css +0 -132
  189. package/es/stat-view/pivot-table/two-dimension-table.js +0 -384
  190. package/es/stat-view/ring-chart.js +0 -392
  191. package/es/stat-view/scatter-chart.js +0 -306
  192. package/es/stat-view/treemap-chart.js +0 -253
  193. package/es/stat-view/trend-chart.js +0 -249
  194. package/es/stat-view/world-map.js +0 -431
  195. package/es/utils/basic-chart-utils.js +0 -29
  196. package/es/utils/cell-format.js +0 -115
  197. package/es/utils/collaborator.js +0 -50
  198. package/es/utils/color-utils.js +0 -134
  199. package/es/utils/column-utils.js +0 -110
  200. package/es/utils/column.js +0 -20
  201. package/es/utils/date-format.js +0 -71
  202. package/es/utils/map.js +0 -114
  203. package/es/utils/model.js +0 -19
  204. package/es/utils/row-utils.js +0 -134
  205. package/es/utils/search.js +0 -73
  206. package/es/utils/sql-utils.js +0 -359
  207. package/es/utils/stat-utils.js +0 -351
  208. package/es/utils/trend-utils.js +0 -135
@@ -1,564 +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 _DTableSelect = _interopRequireDefault(require("dtable-ui-component/lib/DTableSelect"));
13
- var _baseSettings = _interopRequireDefault(require("../public-setting/base-settings"));
14
- var _groupbySettings = _interopRequireDefault(require("./groupby-settings"));
15
- var _numericSummaryItem = _interopRequireDefault(require("../public-setting/numeric-summary-item"));
16
- var _summaryMethodSetting = _interopRequireDefault(require("./summary-method-setting"));
17
- var _indToggleSetting = _interopRequireDefault(require("../public-setting/ind-toggle-setting"));
18
- var _constants = require("../../../constants");
19
- const GROUP_TYPES = {
20
- COUNT: 'count',
21
- SINGLE_NUMERIC_COLUMN: 'single_numeric_column',
22
- MULTIPLE_NUMERIC_COLUMN: 'multiple_numeric_column'
23
- };
24
- const GROUP_EXPLANATIONS = {
25
- COUNT: {
26
- name: _constants.STATISTICS_COUNT_SHOW['count'],
27
- content: 'Count_the_number_of_records_in_each_group'
28
- },
29
- SINGLE_NUMERIC_COLUMN: {
30
- name: _constants.STATISTICS_COUNT_SHOW['advanced'],
31
- content: 'Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_a_field'
32
- },
33
- MULTIPLE_NUMERIC_COLUMN: {
34
- name: 'Summarize_multiple_fields',
35
- content: 'Compute_the_sum_maximum_or_minimum_value_of_records_in_each_group_by_multiple_fields'
36
- }
37
- };
38
- class PivotSettings extends _react.Component {
39
- constructor(props) {
40
- super(props);
41
- this.getSummaryMethodsOptions = () => {
42
- return _constants.SUMMARY_METHOD.map(m => {
43
- return {
44
- value: m,
45
- label: /*#__PURE__*/_react.default.createElement("span", {
46
- className: 'select-module select-module-name'
47
- }, _reactIntlUniversal.default.get(_constants.STATISTICS_COUNT_SHOW[m]))
48
- };
49
- });
50
- };
51
- this.getGroupTypeOptions = () => {
52
- return Object.keys(GROUP_TYPES).map(key => {
53
- return {
54
- value: GROUP_TYPES[key],
55
- label: /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement("div", {
56
- className: 'select-module select-module-name'
57
- }, _reactIntlUniversal.default.get(GROUP_EXPLANATIONS[key].name)), /*#__PURE__*/_react.default.createElement("div", {
58
- className: "summary-type-explanation"
59
- }, _reactIntlUniversal.default.get(GROUP_EXPLANATIONS[key].content)))
60
- };
61
- });
62
- };
63
- this.onSelectGroupbyColumn = (type, groupbyColumnKey, groupbyDateGranularity, groupbyGeolocationGranularity) => {
64
- let updated;
65
- if (type === _constants.GROUPBY_TYPE.ROW) {
66
- updated = {
67
- groupby_column_key: groupbyColumnKey,
68
- groupby_date_granularity: groupbyDateGranularity,
69
- groupby_geolocation_granularity: groupbyGeolocationGranularity
70
- };
71
- } else {
72
- updated = {
73
- column_groupby_column_key: groupbyColumnKey,
74
- column_groupby_date_granularity: groupbyDateGranularity,
75
- column_groupby_geolocation_granularity: groupbyGeolocationGranularity
76
- };
77
- }
78
- const newStatItem = Object.assign({}, this.props.statItem, updated);
79
- this.groupTypeOptions = this.getGroupTypeOptions(newStatItem);
80
- this.props.updateStatItem(newStatItem);
81
- };
82
- this.onSelectGroupbyDateGranularity = (type, dateGranularity) => {
83
- let updated;
84
- if (type === _constants.GROUPBY_TYPE.ROW) {
85
- updated = {
86
- groupby_date_granularity: dateGranularity
87
- };
88
- } else {
89
- updated = {
90
- column_groupby_date_granularity: dateGranularity
91
- };
92
- }
93
- this.props.updateStatItem(Object.assign({}, this.props.statItem, updated));
94
- };
95
- this.onSelectGroupbyGeolocationGranularity = (type, geolocationGranularity) => {
96
- let updated;
97
- if (type === _constants.GROUPBY_TYPE.ROW) {
98
- updated = {
99
- groupby_geolocation_granularity: geolocationGranularity
100
- };
101
- } else {
102
- updated = {
103
- column_groupby_geolocation_granularity: geolocationGranularity
104
- };
105
- }
106
- this.props.updateStatItem(Object.assign({}, this.props.statItem, updated));
107
- };
108
- this.updatedSummaryType = (summaryType, summaryColumnKey, summaryMethod) => {
109
- let {
110
- statItem
111
- } = this.props;
112
- let updated = {
113
- summary_type: summaryType,
114
- summary_column_key: summaryColumnKey,
115
- summary_method: summaryMethod
116
- };
117
- this.props.updateStatItem(Object.assign({}, statItem, updated));
118
- };
119
- this.updateSummaryColumn = summaryColumnKey => {
120
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
121
- summary_column_key: summaryColumnKey
122
- }));
123
- };
124
- this.updateSummaryMethod = summaryMethod => {
125
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
126
- summary_method: summaryMethod
127
- }));
128
- };
129
- this.onChangeGroupType = option => {
130
- const value = option.value;
131
- const {
132
- statItem,
133
- pivotTableSummaryColumnOptions
134
- } = this.props;
135
- let {
136
- column_groupby_column_key,
137
- column_groupby_date_granularity,
138
- column_groupby_geolocation_granularity,
139
- column_groupby_multiple_numeric_column,
140
- summary_columns_option,
141
- summary_type,
142
- summary_method,
143
- summary_column_key
144
- } = this.props.statItem || {};
145
- if (value === GROUP_TYPES.SINGLE_NUMERIC_COLUMN) {
146
- summary_type = _constants.SUMMARY_TYPE.ADVANCED;
147
- column_groupby_multiple_numeric_column = false;
148
- summary_columns_option = [];
149
- summary_method = summary_method || _constants.SUMMARY_METHOD[0];
150
- } else if (value === GROUP_TYPES.COUNT) {
151
- column_groupby_multiple_numeric_column = false;
152
- summary_columns_option = [];
153
- summary_type = _constants.SUMMARY_TYPE.COUNT;
154
- column_groupby_date_granularity = null;
155
- column_groupby_geolocation_granularity = null;
156
- summary_column_key = null;
157
- } else if (value === GROUP_TYPES.MULTIPLE_NUMERIC_COLUMN) {
158
- summary_type = _constants.SUMMARY_TYPE.ADVANCED;
159
- column_groupby_multiple_numeric_column = true;
160
- if (column_groupby_column_key) {
161
- summary_columns_option = [{
162
- key: this.getNumericalColumnOptions()[0].value.key,
163
- method: _constants.SUMMARY_METHOD[0],
164
- type: this.getNumericalColumnOptions()[0].value.type
165
- }];
166
- } else {
167
- const pivotTableSummaryColumnOption = pivotTableSummaryColumnOptions[0];
168
- summary_columns_option = [];
169
- summary_column_key = pivotTableSummaryColumnOption && pivotTableSummaryColumnOption.value.key;
170
- summary_method = _constants.SUMMARY_METHOD[1];
171
- }
172
- }
173
- let updated = {
174
- column_groupby_column_key,
175
- column_groupby_date_granularity,
176
- column_groupby_geolocation_granularity,
177
- column_groupby_multiple_numeric_column,
178
- summary_columns_option,
179
- summary_type,
180
- summary_method,
181
- summary_column_key
182
- };
183
- this.setState({
184
- columnGroupbyType: value
185
- }, () => {
186
- this.props.updateStatItem(Object.assign({}, statItem, updated));
187
- });
188
- };
189
- this.getSelectedGroupType = () => {
190
- const {
191
- statItem
192
- } = this.props;
193
- const {
194
- column_groupby_multiple_numeric_column,
195
- summary_type,
196
- column_groupby_column_key
197
- } = statItem;
198
- if (summary_type === _constants.SUMMARY_TYPE.ADVANCED && column_groupby_column_key && !column_groupby_multiple_numeric_column) {
199
- return this.groupTypeOptions[1];
200
- }
201
- if (column_groupby_multiple_numeric_column) {
202
- return this.groupTypeOptions.find(item => item.value === GROUP_TYPES.MULTIPLE_NUMERIC_COLUMN);
203
- }
204
- if (summary_type === _constants.SUMMARY_TYPE.COUNT) {
205
- return this.groupTypeOptions[0];
206
- }
207
- if (summary_type === _constants.SUMMARY_TYPE.ADVANCED) {
208
- return this.groupTypeOptions[1];
209
- }
210
- };
211
- this.getNumericalColumnOptions = () => {
212
- const {
213
- getTableById,
214
- pivotTableSummaryColumnOptions,
215
- statItem
216
- } = this.props || {};
217
- const {
218
- table_id
219
- } = statItem || {};
220
- const table = getTableById(table_id);
221
- if (!table) return [];
222
- const newPivotTableSummaryColumnOptions = [];
223
- pivotTableSummaryColumnOptions.forEach(item => {
224
- const column = (0, _dtableUtils.getTableColumnByKey)(table, item.value.key) || {};
225
- if ((0, _dtableUtils.isNumericColumn)(column)) {
226
- newPivotTableSummaryColumnOptions.push(item);
227
- }
228
- });
229
- return newPivotTableSummaryColumnOptions;
230
- };
231
- this.canAddSummaryColumn = () => {
232
- const {
233
- pivotTableSummaryColumnOptions,
234
- statItem: {
235
- column_groupby_column_key
236
- }
237
- } = this.props;
238
- if (column_groupby_column_key) {
239
- const numericalColumnOptions = this.getNumericalColumnOptions();
240
- return Array.isArray(numericalColumnOptions) && numericalColumnOptions.length > 0;
241
- } else {
242
- return Array.isArray(pivotTableSummaryColumnOptions) && pivotTableSummaryColumnOptions.length > 0;
243
- }
244
- };
245
- this.onChangeGroupbyNumericColumn = (index, columnOption) => {
246
- if (index === 0) {
247
- const updated = {
248
- summary_column_key: columnOption.value.key
249
- };
250
- if (_constants.TIME_COLUMN_LIST.includes(columnOption.value.type)) {
251
- const {
252
- statItem
253
- } = this.props;
254
- const {
255
- summary_method
256
- } = statItem || {};
257
- if (summary_method === _constants.SUMMARY_METHOD_MAP.Sum || summary_method === _constants.SUMMARY_METHOD_MAP.Mean) {
258
- updated.summary_method = _constants.SUMMARY_METHOD_MAP.Min;
259
- }
260
- }
261
- this.props.updateStatItem(Object.assign({}, this.props.statItem, updated));
262
- } else {
263
- let {
264
- summary_columns_option
265
- } = this.props.statItem || {};
266
- summary_columns_option = summary_columns_option || [];
267
- summary_columns_option = [...summary_columns_option];
268
- let selectedItem = summary_columns_option[index - 1];
269
- const updated = {
270
- key: columnOption.value.key
271
- };
272
- if (_constants.TIME_COLUMN_LIST.includes(columnOption.value.type)) {
273
- if (selectedItem.method === _constants.SUMMARY_METHOD_MAP.Sum || selectedItem.method === _constants.SUMMARY_METHOD_MAP.Mean) {
274
- updated.method = _constants.SUMMARY_METHOD_MAP.Min;
275
- }
276
- }
277
- selectedItem = Object.assign({}, selectedItem, updated);
278
- summary_columns_option[index - 1] = selectedItem;
279
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
280
- summary_columns_option
281
- }));
282
- }
283
- };
284
- this.onChangeGroupbyMultiNumericColumn = (index, columnOption) => {
285
- let {
286
- column_groupby_multiple_numeric_column,
287
- column_groupby_column_key,
288
- summary_columns_option
289
- } = this.props.statItem || {};
290
- if (column_groupby_multiple_numeric_column && column_groupby_column_key) {
291
- const summaryColumnOption = summary_columns_option[index];
292
- const update = {
293
- key: columnOption.value.key,
294
- method: summaryColumnOption && summaryColumnOption.method || _constants.SUMMARY_METHOD_MAP.Sum
295
- };
296
- summary_columns_option = summary_columns_option || [];
297
- summary_columns_option = [...summary_columns_option];
298
- summary_columns_option[index] = update;
299
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
300
- summary_columns_option
301
- }));
302
- return;
303
- }
304
- };
305
- this.onDeleteNumericColumnItem = index => {
306
- let {
307
- summary_columns_option = [],
308
- column_groupby_column_key
309
- } = this.props.statItem || {};
310
- const deleteIndex = column_groupby_column_key ? index : index - 1;
311
- summary_columns_option = summary_columns_option.filter((_, index) => index !== deleteIndex);
312
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
313
- summary_columns_option: [...summary_columns_option]
314
- }));
315
- };
316
- this.onChangeSummaryMethod = (index, option) => {
317
- if (index === 0) {
318
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
319
- summary_method: option.value
320
- }));
321
- } else {
322
- let {
323
- summary_columns_option
324
- } = this.props.statItem || {};
325
- summary_columns_option = summary_columns_option || [];
326
- summary_columns_option = [...summary_columns_option];
327
- let selectedItem = summary_columns_option[index - 1];
328
- selectedItem = Object.assign({}, selectedItem, {
329
- method: option.value
330
- });
331
- summary_columns_option[index - 1] = selectedItem;
332
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
333
- summary_columns_option
334
- }));
335
- }
336
- };
337
- this.onChangeMultiSummaryMethod = (index, option) => {
338
- let {
339
- summary_columns_option
340
- } = this.props.statItem || {};
341
- summary_columns_option = Array.isArray(summary_columns_option) ? [...summary_columns_option] : [];
342
- summary_columns_option[index] = Object.assign({}, summary_columns_option[index], {
343
- method: option.value
344
- });
345
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
346
- summary_columns_option
347
- }));
348
- };
349
- this.onAddNumericColumn = () => {
350
- let {
351
- statItem,
352
- pivotTableSummaryColumnOptions
353
- } = this.props;
354
- let {
355
- summary_columns_option,
356
- column_groupby_column_key
357
- } = statItem || {};
358
- let newNumericColumnKey = column_groupby_column_key ? this.getNumericalColumnOptions()[0].value.key : pivotTableSummaryColumnOptions[0].value.key;
359
- if (Array.isArray(summary_columns_option)) {
360
- summary_columns_option = [...summary_columns_option];
361
- summary_columns_option.push({
362
- key: newNumericColumnKey,
363
- method: _constants.SUMMARY_METHOD[0]
364
- });
365
- } else {
366
- summary_columns_option = [{
367
- key: newNumericColumnKey,
368
- method: _constants.SUMMARY_METHOD[0]
369
- }];
370
- }
371
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
372
- summary_columns_option: [...summary_columns_option]
373
- }));
374
- };
375
- this.onToggleDisplayData = () => {
376
- const {
377
- statItem
378
- } = this.props;
379
- const {
380
- display_total
381
- } = statItem || {};
382
- const updated = {
383
- display_total: !display_total
384
- };
385
- this.props.updateStatItem(Object.assign({}, statItem, updated));
386
- };
387
- this.renderGroupbyNumericColumns = () => {
388
- const {
389
- statItem
390
- } = this.props;
391
- const {
392
- summary_columns_option,
393
- column_groupby_column_key
394
- } = statItem;
395
- if (!Array.isArray(summary_columns_option)) return null;
396
- if (column_groupby_column_key) {
397
- const [, ...restSummaryColumnsOption] = summary_columns_option;
398
- return restSummaryColumnsOption.map((item, index) => {
399
- return /*#__PURE__*/_react.default.createElement(_numericSummaryItem.default, {
400
- key: "number-column-".concat(index),
401
- statItem: statItem,
402
- index: index + 1,
403
- numericColumnItem: item,
404
- numericColumnsOptions: this.getNumericalColumnOptions(),
405
- summaryMethodOptions: this.summaryMethodsOptions,
406
- onChangeColumnOption: this.onChangeGroupbyMultiNumericColumn,
407
- onChangeSummaryMethod: this.onChangeMultiSummaryMethod,
408
- onDeleteNumericColumnItem: this.onDeleteNumericColumnItem
409
- });
410
- });
411
- }
412
- return summary_columns_option.map((item, index) => {
413
- return /*#__PURE__*/_react.default.createElement(_numericSummaryItem.default, {
414
- key: "number-column-".concat(index),
415
- statItem: statItem,
416
- numericColumnsOptions: this.props.pivotTableSummaryColumnOptions,
417
- summaryMethodOptions: this.summaryMethodsOptions,
418
- index: index + 1,
419
- numericColumnItem: item,
420
- onChangeColumnOption: this.onChangeGroupbyNumericColumn,
421
- onChangeSummaryMethod: this.onChangeSummaryMethod,
422
- onDeleteNumericColumnItem: this.onDeleteNumericColumnItem
423
- });
424
- });
425
- };
426
- this.groupTypeOptions = this.getGroupTypeOptions(props.statItem);
427
- this.summaryMethodsOptions = this.getSummaryMethodsOptions();
428
- }
429
- render() {
430
- let {
431
- settingType,
432
- statItem,
433
- selectedTable,
434
- generalColumnsOptions,
435
- pivotTableSummaryColumnOptions,
436
- dateGranularityOptions,
437
- geolocationGranularityOptions,
438
- renderIncludeEmpty
439
- } = this.props;
440
- let {
441
- table_id: selectedTableId,
442
- view_id: selectedViewId,
443
- groupby_column_key,
444
- groupby_date_granularity,
445
- groupby_geolocation_granularity,
446
- summary_type,
447
- summary_column_key,
448
- summary_method,
449
- column_groupby_column_key,
450
- column_groupby_date_granularity,
451
- column_groupby_geolocation_granularity,
452
- column_groupby_multiple_numeric_column,
453
- display_total = true,
454
- summary_columns_option
455
- } = statItem || {};
456
- const selectedGroupItem = this.getSelectedGroupType();
457
- if (settingType === 'style') {
458
- return null;
459
- }
460
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_baseSettings.default, {
461
- statItem: statItem,
462
- selectedTableId: selectedTableId,
463
- selectedViewId: selectedViewId,
464
- getTables: this.props.getTables,
465
- getViews: this.props.getViews,
466
- getTableById: this.props.getTableById,
467
- getConvertedChart: this.props.getConvertedChart,
468
- updateStatItem: this.props.updateStatItem
469
- }), /*#__PURE__*/_react.default.createElement("div", {
470
- className: "statistic-chart-parameter-divider"
471
- }), /*#__PURE__*/_react.default.createElement(_groupbySettings.default, {
472
- selectedTable: selectedTable,
473
- columnsOptions: generalColumnsOptions,
474
- dateGranularityOptions: dateGranularityOptions,
475
- geolocationGranularityOptions: geolocationGranularityOptions,
476
- label: _reactIntlUniversal.default.get('Row_grouping_field'),
477
- placeholder: _reactIntlUniversal.default.get('Select_column'),
478
- groupbyColumnKey: groupby_column_key,
479
- groupbyDateGranularity: groupby_date_granularity,
480
- groupbyGeolocationGranularity: groupby_geolocation_granularity,
481
- getSelectedColumnOption: this.props.getSelectedColumnOption,
482
- onSelectGroupbyColumn: this.onSelectGroupbyColumn.bind(this, _constants.GROUPBY_TYPE.ROW),
483
- onSelectGroupbyDateGranularity: this.onSelectGroupbyDateGranularity.bind(this, _constants.GROUPBY_TYPE.ROW),
484
- onSelectGroupbyGeolocationGranularity: this.onSelectGroupbyGeolocationGranularity.bind(this, _constants.GROUPBY_TYPE.ROW),
485
- renderIncludeEmpty: renderIncludeEmpty
486
- }), /*#__PURE__*/_react.default.createElement(_groupbySettings.default, {
487
- selectedTable: selectedTable,
488
- columnsOptions: generalColumnsOptions,
489
- dateGranularityOptions: dateGranularityOptions,
490
- geolocationGranularityOptions: geolocationGranularityOptions,
491
- label: _reactIntlUniversal.default.get('Column_grouping_field'),
492
- placeholder: _reactIntlUniversal.default.get('Select_column'),
493
- groupbyColumnKey: column_groupby_column_key,
494
- groupbyDateGranularity: column_groupby_date_granularity,
495
- groupbyGeolocationGranularity: column_groupby_geolocation_granularity,
496
- getSelectedColumnOption: this.props.getSelectedColumnOption,
497
- onSelectGroupbyColumn: this.onSelectGroupbyColumn.bind(this, _constants.GROUPBY_TYPE.COLUMN),
498
- onSelectGroupbyDateGranularity: this.onSelectGroupbyDateGranularity.bind(this, _constants.GROUPBY_TYPE.COLUMN),
499
- onSelectGroupbyGeolocationGranularity: this.onSelectGroupbyGeolocationGranularity.bind(this, _constants.GROUPBY_TYPE.COLUMN)
500
- }), /*#__PURE__*/_react.default.createElement("div", {
501
- className: "statistic-chart-parameter-divider"
502
- }), /*#__PURE__*/_react.default.createElement("div", {
503
- className: "statistic-chart-parameter-item"
504
- }, /*#__PURE__*/_react.default.createElement("label", null, _reactIntlUniversal.default.get('Summary_type')), /*#__PURE__*/_react.default.createElement(_DTableSelect.default, {
505
- classNamePrefix: "statistic-chart-summary-types",
506
- value: selectedGroupItem,
507
- options: this.groupTypeOptions,
508
- onChange: this.onChangeGroupType
509
- })), summary_type === _constants.SUMMARY_TYPE.ADVANCED && (column_groupby_multiple_numeric_column ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, column_groupby_column_key && /*#__PURE__*/_react.default.createElement(_numericSummaryItem.default, {
510
- statItem: statItem,
511
- key: "number-column-".concat(0),
512
- index: 0,
513
- numericColumnItem: {
514
- column_key: summary_columns_option[0] && summary_columns_option[0].key,
515
- summary_method: summary_columns_option[0] && summary_columns_option[0].method
516
- },
517
- numericColumnsOptions: this.getNumericalColumnOptions(),
518
- summaryMethodOptions: this.summaryMethodsOptions,
519
- onChangeColumnOption: this.onChangeGroupbyMultiNumericColumn,
520
- onChangeSummaryMethod: this.onChangeMultiSummaryMethod
521
- }), !column_groupby_column_key && /*#__PURE__*/_react.default.createElement(_numericSummaryItem.default, {
522
- statItem: statItem,
523
- key: "number-column-".concat(0),
524
- index: 0,
525
- numericColumnItem: {
526
- column_key: summary_column_key,
527
- summary_method: summary_method
528
- },
529
- numericColumnsOptions: pivotTableSummaryColumnOptions,
530
- summaryMethodOptions: this.summaryMethodsOptions,
531
- onChangeColumnOption: this.onChangeGroupbyNumericColumn,
532
- onChangeSummaryMethod: this.onChangeSummaryMethod
533
- })) : /*#__PURE__*/_react.default.createElement(_summaryMethodSetting.default, {
534
- statItem: statItem,
535
- numericColumnsOptions: pivotTableSummaryColumnOptions,
536
- summaryType: summary_type,
537
- summaryColumnKey: summary_column_key,
538
- summaryMethod: summary_method,
539
- getSelectedColumnOption: this.props.getSelectedColumnOption,
540
- onChangeSummaryType: this.updatedSummaryType,
541
- onSelectSummaryMethod: this.updateSummaryMethod,
542
- onSelectNumericColumn: this.updateSummaryColumn,
543
- updateStatItem: this.props.updateStatItem
544
- })), column_groupby_multiple_numeric_column && /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
545
- className: "statistics-add-number"
546
- }, this.renderGroupbyNumericColumns()), this.canAddSummaryColumn() && /*#__PURE__*/_react.default.createElement("div", {
547
- className: "statistics-add-number-column",
548
- onClick: this.onAddNumericColumn
549
- }, /*#__PURE__*/_react.default.createElement("span", {
550
- className: "number-column-item dtable-font dtable-icon-add-table"
551
- }), /*#__PURE__*/_react.default.createElement("span", {
552
- className: "number-column-item add-number-column-description"
553
- }, _reactIntlUniversal.default.get('Add_new_summary_column')))), /*#__PURE__*/_react.default.createElement("div", {
554
- className: "statistic-chart-parameter-divider"
555
- }), /*#__PURE__*/_react.default.createElement("div", {
556
- className: "statistic-chart-parameter-item"
557
- }, /*#__PURE__*/_react.default.createElement(_indToggleSetting.default, {
558
- isChecked: display_total,
559
- handleToggleChange: this.onToggleDisplayData,
560
- label: _reactIntlUniversal.default.get('Display_total')
561
- })));
562
- }
563
- }
564
- var _default = exports.default = PivotSettings;
@@ -1,112 +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 _baseSettings = _interopRequireDefault(require("../public-setting/base-settings"));
12
- var _barChartStyleSetting = _interopRequireDefault(require("./style-setting/bar-chart-style-setting"));
13
- var _columnSettings = _interopRequireDefault(require("../public-setting/column-settings"));
14
- class ScatterSettings extends _react.Component {
15
- constructor() {
16
- super(...arguments);
17
- this.onSelectXAxisColumn = option => {
18
- const {
19
- x_axis_column
20
- } = this.props.statItem;
21
- const new_column = option.value.key;
22
- if (x_axis_column === new_column) return;
23
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
24
- x_axis_column: new_column
25
- }));
26
- };
27
- this.onSelectYAxisColumn = option => {
28
- const {
29
- y_axis_column
30
- } = this.props.statItem;
31
- const new_column = option.value.key;
32
- if (y_axis_column === new_column) return;
33
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
34
- y_axis_column: new_column
35
- }));
36
- };
37
- this.onSelectGroupColumn = option => {
38
- const {
39
- group_column
40
- } = this.props.statItem;
41
- const new_column = option.value.key;
42
- if (group_column === new_column) return;
43
- this.props.updateStatItem(Object.assign({}, this.props.statItem, {
44
- group_column: new_column
45
- }));
46
- };
47
- }
48
- render() {
49
- const {
50
- getTableById,
51
- statItem,
52
- labelColorConfigs,
53
- eventBus,
54
- settingType,
55
- numericColumnsOptions,
56
- generalColumnsOptions,
57
- getSelectedColumnOption
58
- } = this.props;
59
- const {
60
- table_id: selectedTableId,
61
- view_id: selectedViewId,
62
- x_axis_column,
63
- y_axis_column,
64
- group_column
65
- } = statItem || {};
66
- if (settingType === 'style') {
67
- return /*#__PURE__*/_react.default.createElement(_barChartStyleSetting.default, {
68
- hideDisplayDataSetting: true,
69
- showRangeSetting: false,
70
- statItem: statItem,
71
- labelColorConfigs: labelColorConfigs,
72
- eventBus: eventBus,
73
- getTableById: getTableById,
74
- updateStatItem: this.props.updateStatItem
75
- });
76
- }
77
- const selectedXAxisColumn = getSelectedColumnOption(x_axis_column, numericColumnsOptions);
78
- const selectedYAxisColumn = getSelectedColumnOption(y_axis_column, numericColumnsOptions);
79
- const selectedGroupColumn = getSelectedColumnOption(group_column, generalColumnsOptions);
80
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_baseSettings.default, {
81
- statItem: statItem,
82
- selectedTableId: selectedTableId,
83
- selectedViewId: selectedViewId,
84
- getTables: this.props.getTables,
85
- getViews: this.props.getViews,
86
- getTableById: this.props.getTableById,
87
- getConvertedChart: this.props.getConvertedChart,
88
- updateStatItem: this.props.updateStatItem
89
- }), /*#__PURE__*/_react.default.createElement("div", {
90
- className: "statistic-chart-parameter-divider"
91
- }), /*#__PURE__*/_react.default.createElement("div", {
92
- className: "statistic-chart-parameter-item"
93
- }, /*#__PURE__*/_react.default.createElement("label", null, _reactIntlUniversal.default.get('X-axis')), /*#__PURE__*/_react.default.createElement(_columnSettings.default, {
94
- columnsOptions: numericColumnsOptions,
95
- selectedColumnOption: selectedXAxisColumn,
96
- onChangeSelectedColumn: this.onSelectXAxisColumn
97
- })), /*#__PURE__*/_react.default.createElement("div", {
98
- className: "statistic-chart-parameter-item"
99
- }, /*#__PURE__*/_react.default.createElement("label", null, _reactIntlUniversal.default.get('Y-axis')), /*#__PURE__*/_react.default.createElement(_columnSettings.default, {
100
- columnsOptions: numericColumnsOptions,
101
- selectedColumnOption: selectedYAxisColumn,
102
- onChangeSelectedColumn: this.onSelectYAxisColumn
103
- })), /*#__PURE__*/_react.default.createElement("div", {
104
- className: "statistic-chart-parameter-item"
105
- }, /*#__PURE__*/_react.default.createElement("label", null, _reactIntlUniversal.default.get('Group_by')), /*#__PURE__*/_react.default.createElement(_columnSettings.default, {
106
- columnsOptions: generalColumnsOptions,
107
- selectedColumnOption: selectedGroupColumn,
108
- onChangeSelectedColumn: this.onSelectGroupColumn
109
- })));
110
- }
111
- }
112
- var _default = exports.default = ScatterSettings;