dtable-statistic 4.2.1 → 4.3.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 (219) hide show
  1. package/es/api/dtable-db-api.js +31 -37
  2. package/es/calculator/base-calculator.js +49 -99
  3. package/es/calculator/basic-chart-calculator.js +335 -559
  4. package/es/calculator/combination-calculator.js +231 -299
  5. package/es/calculator/compare-bar-calculator.js +184 -281
  6. package/es/calculator/completeness-calculator.js +203 -288
  7. package/es/calculator/copy-value.js +18 -18
  8. package/es/calculator/dashboard-calculator.js +68 -137
  9. package/es/calculator/heat-map-calculator.js +139 -220
  10. package/es/calculator/horizontal-bar-calculator.js +64 -93
  11. package/es/calculator/index.js +53 -69
  12. package/es/calculator/map-calculator.js +98 -174
  13. package/es/calculator/mirror-calculator.js +137 -216
  14. package/es/calculator/number-card-calculator.js +58 -126
  15. package/es/calculator/pivot-table-calculator.js +750 -792
  16. package/es/calculator/scatter-calculator.js +72 -140
  17. package/es/calculator/thread-manager.js +48 -67
  18. package/es/calculator/trend-calculator.js +107 -191
  19. package/es/calculator/workers/basic-chart-calculator-worker.js +194 -165
  20. package/es/calculator/workers/calculator.worker.js +22 -6
  21. package/es/calculator/workers/card-calculator-worker.js +16 -14
  22. package/es/calculator/workers/combination-calculator-worker.js +128 -135
  23. package/es/calculator/workers/compare-bar-chart-calculator-worker.js +80 -96
  24. package/es/calculator/workers/completeness-calculator-worker.js +56 -49
  25. package/es/calculator/workers/dashboard-calculator-worker.js +24 -22
  26. package/es/calculator/workers/mirror-calculator-worker.js +52 -52
  27. package/es/calculator/workers/pivot-table-calculator-worker.js +247 -230
  28. package/es/calculator/workers/scatter-calculator-worker.js +34 -32
  29. package/es/calculator/workers/trend-calculator-worker.js +33 -29
  30. package/es/calculator/world-map-calculator.js +120 -197
  31. package/es/components/common-add-tool.js +7 -5
  32. package/es/components/dialog/chart-addition-edit-dialog.js +67 -77
  33. package/es/components/dialog/chart-addition-widgets/chart-selector.js +57 -67
  34. package/es/components/dialog/color-theme-dialog.js +34 -47
  35. package/es/components/dialog/delete-confirmation-dialog.js +7 -5
  36. package/es/components/dialog/enlarged-chart-dialog.js +68 -81
  37. package/es/components/dialog/new-table-dialog.js +62 -80
  38. package/es/components/dialog/new-view-dialog.js +50 -62
  39. package/es/components/dialog/rename-view-dialog.js +49 -58
  40. package/es/components/dialog/statistic-record-dialog/index.js +233 -231
  41. package/es/components/dialog/statistic-types-dialog/index.js +40 -49
  42. package/es/components/dialog/table-select-dialog.js +61 -70
  43. package/es/components/dropdown-menu/statistic-dropdown-menu.js +129 -142
  44. package/es/components/dtable-popover.js +62 -81
  45. package/es/components/dtable-search-input.js +89 -99
  46. package/es/components/dtable-select.js +55 -74
  47. package/es/components/icon.js +5 -3
  48. package/es/components/loading.js +1 -1
  49. package/es/components/modal-portal.js +15 -32
  50. package/es/components/popover/color-rules/color-rule.js +137 -141
  51. package/es/components/popover/color-rules/index.js +58 -66
  52. package/es/components/popover/color-rules/rule-filters/filter.js +124 -124
  53. package/es/components/popover/color-rules/rule-filters/index.js +50 -58
  54. package/es/components/popover/color-rules/rule-filters/number-input.js +42 -57
  55. package/es/components/popover/color-rules-popover.js +117 -121
  56. package/es/components/popover/color-selector-popover.js +60 -70
  57. package/es/components/seatable-radio/index.js +2 -2
  58. package/es/components/select/option-group.js +139 -157
  59. package/es/components/select/option.js +26 -40
  60. package/es/components/select/select.js +97 -112
  61. package/es/components/toast/alert.js +65 -80
  62. package/es/components/toast/index.js +1 -1
  63. package/es/components/toast/toast.js +76 -103
  64. package/es/components/toast/toastManager.js +57 -93
  65. package/es/components/toast/toaster.js +58 -56
  66. package/es/constants/color-rules.js +8 -5
  67. package/es/constants/dtable-select-style.js +44 -48
  68. package/es/constants/event-types.js +4 -4
  69. package/es/constants/index.js +328 -242
  70. package/es/constants/map.js +2 -2
  71. package/es/constants/model.js +20 -20
  72. package/es/constants/regions.js +1 -1
  73. package/es/constants/zIndexes.js +1 -1
  74. package/es/custom-g2.js +11 -11
  75. package/es/dashboard.js +343 -333
  76. package/es/desktop-dashboard.js +217 -224
  77. package/es/index.js +45 -58
  78. package/es/locale/index.js +3 -3
  79. package/es/locale/lang/de.js +1 -1
  80. package/es/locale/lang/en.js +7 -7
  81. package/es/locale/lang/fr.js +1 -1
  82. package/es/locale/lang/zh_CN.js +1 -1
  83. package/es/mobile-dashboard.js +76 -89
  84. package/es/model/bar-group.js +34 -44
  85. package/es/model/bar.js +26 -36
  86. package/es/model/base-model.js +11 -12
  87. package/es/model/basic-number-card.js +10 -20
  88. package/es/model/collaborators.js +10 -11
  89. package/es/model/combination.js +32 -42
  90. package/es/model/compare-bar.js +30 -40
  91. package/es/model/completeness-group.js +19 -29
  92. package/es/model/completeness.js +14 -24
  93. package/es/model/custom-bar.js +14 -24
  94. package/es/model/dashboard.js +9 -19
  95. package/es/model/generic-model.js +187 -197
  96. package/es/model/heat-map.js +16 -26
  97. package/es/model/horizontal-bar-group.js +32 -42
  98. package/es/model/horizontal-bar.js +26 -36
  99. package/es/model/index.js +31 -3
  100. package/es/model/map.js +20 -30
  101. package/es/model/mirror.js +15 -25
  102. package/es/model/pie.js +21 -31
  103. package/es/model/ring.js +23 -33
  104. package/es/model/scatter.js +11 -21
  105. package/es/model/statistic-dashboard.js +7 -8
  106. package/es/model/table.js +19 -29
  107. package/es/model/trend.js +15 -25
  108. package/es/model/world-map.js +17 -27
  109. package/es/service/chart-service.js +69 -65
  110. package/es/service/dashboard-service.js +421 -419
  111. package/es/service/map-json.js +112 -132
  112. package/es/stat-editor/chart-name-editor.js +44 -58
  113. package/es/stat-editor/index.js +59 -70
  114. package/es/stat-editor/stat-settings/advance-chart-settings/basic-number-card-settings.js +93 -98
  115. package/es/stat-editor/stat-settings/advance-chart-settings/combination-settings.js +246 -248
  116. package/es/stat-editor/stat-settings/advance-chart-settings/dashboard-chart-settings.js +127 -126
  117. package/es/stat-editor/stat-settings/advance-chart-settings/geo-granularity-settings.js +5 -3
  118. package/es/stat-editor/stat-settings/advance-chart-settings/heat-map-settings.js +78 -90
  119. package/es/stat-editor/stat-settings/advance-chart-settings/index.js +146 -150
  120. package/es/stat-editor/stat-settings/advance-chart-settings/map-settings.js +88 -98
  121. package/es/stat-editor/stat-settings/advance-chart-settings/mirror-settings.js +100 -118
  122. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/combination-style-setting.js +161 -148
  123. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/heat-map-settings.js +58 -66
  124. package/es/stat-editor/stat-settings/advance-chart-settings/style-setting/map-setting.js +58 -60
  125. package/es/stat-editor/stat-settings/advance-chart-settings/summary-settings.js +152 -148
  126. package/es/stat-editor/stat-settings/advance-chart-settings/trend-chart-settings.js +101 -105
  127. package/es/stat-editor/stat-settings/advance-chart-settings/world-map-settings.js +81 -91
  128. package/es/stat-editor/stat-settings/basic-chart-settings/advance-bar-chart-settings.js +110 -122
  129. package/es/stat-editor/stat-settings/basic-chart-settings/bar-settings.js +101 -113
  130. package/es/stat-editor/stat-settings/basic-chart-settings/completeness-chart-settings.js +130 -120
  131. package/es/stat-editor/stat-settings/basic-chart-settings/custom-bar-settings.js +88 -102
  132. package/es/stat-editor/stat-settings/basic-chart-settings/groupby-settings.js +88 -102
  133. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-axis-group-settings.js +200 -194
  134. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-bar-settings.js +98 -110
  135. package/es/stat-editor/stat-settings/basic-chart-settings/horizontal-group-chart-settings.js +106 -118
  136. package/es/stat-editor/stat-settings/basic-chart-settings/index.js +212 -223
  137. package/es/stat-editor/stat-settings/basic-chart-settings/pie-settings.js +109 -119
  138. package/es/stat-editor/stat-settings/basic-chart-settings/pivot-table-settings.js +329 -319
  139. package/es/stat-editor/stat-settings/basic-chart-settings/scatter-settings.js +82 -90
  140. package/es/stat-editor/stat-settings/basic-chart-settings/stack-item-settings.js +58 -65
  141. package/es/stat-editor/stat-settings/basic-chart-settings/stacks-settings.js +126 -116
  142. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/bar-chart-style-setting.js +201 -182
  143. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/completeness-style.js +79 -79
  144. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/horizontal-bar-chart-style.js +196 -175
  145. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/label-font-size-editor.js +35 -50
  146. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/pie-chart-style-settings.js +180 -147
  147. package/es/stat-editor/stat-settings/basic-chart-settings/style-setting/time-compare-style.js +31 -40
  148. package/es/stat-editor/stat-settings/basic-chart-settings/summary-method-setting.js +56 -67
  149. package/es/stat-editor/stat-settings/basic-chart-settings/summary-settings.js +60 -69
  150. package/es/stat-editor/stat-settings/basic-chart-settings/time-comparison-settings.js +165 -158
  151. package/es/stat-editor/stat-settings/basic-chart-settings/timer-picker.js +61 -74
  152. package/es/stat-editor/stat-settings/basic-chart-settings/y-axis-group-settings.js +199 -193
  153. package/es/stat-editor/stat-settings/color-setting/color-group-selector.js +25 -38
  154. package/es/stat-editor/stat-settings/color-setting/color-picker.js +79 -86
  155. package/es/stat-editor/stat-settings/color-setting/color-use-type-selector.js +138 -120
  156. package/es/stat-editor/stat-settings/map/map-level.js +31 -43
  157. package/es/stat-editor/stat-settings/map/map-province-city.js +82 -83
  158. package/es/stat-editor/stat-settings/public-setting/axis-label-position-setting.js +48 -50
  159. package/es/stat-editor/stat-settings/public-setting/base-settings.js +96 -96
  160. package/es/stat-editor/stat-settings/public-setting/calender.js +69 -75
  161. package/es/stat-editor/stat-settings/public-setting/column-settings.js +5 -3
  162. package/es/stat-editor/stat-settings/public-setting/custom-title-setting.js +36 -41
  163. package/es/stat-editor/stat-settings/public-setting/data-sort-setting.js +37 -41
  164. package/es/stat-editor/stat-settings/public-setting/ind-toggle-setting.js +25 -38
  165. package/es/stat-editor/stat-settings/public-setting/min-max-setting.js +40 -52
  166. package/es/stat-editor/stat-settings/public-setting/numeric-summary-item.js +90 -93
  167. package/es/stat-editor/stat-settings/public-setting/toggle-setting.js +23 -36
  168. package/es/stat-editor/stat-settings/public-setting/type-settings/index.js +39 -44
  169. package/es/stat-list/chart-preview.js +85 -98
  170. package/es/stat-list/index.js +170 -178
  171. package/es/stat-view/area-chart.js +282 -274
  172. package/es/stat-view/bar-chart.js +300 -292
  173. package/es/stat-view/base-chart.js +58 -52
  174. package/es/stat-view/basic-number-card.js +115 -168
  175. package/es/stat-view/combination-chart.js +298 -334
  176. package/es/stat-view/compare-chart.js +256 -254
  177. package/es/stat-view/completeness-chart.js +194 -206
  178. package/es/stat-view/custom-bar.js +221 -223
  179. package/es/stat-view/dashboard-chart.js +122 -180
  180. package/es/stat-view/heat-map.js +268 -294
  181. package/es/stat-view/horizontal-bar-chart.js +291 -281
  182. package/es/stat-view/index.js +136 -152
  183. package/es/stat-view/line-chart.js +267 -265
  184. package/es/stat-view/map.js +246 -246
  185. package/es/stat-view/mirror.js +141 -152
  186. package/es/stat-view/pie-chart.js +143 -156
  187. package/es/stat-view/pivot-table/index.js +113 -118
  188. package/es/stat-view/pivot-table/one-dimension-table-no-numeric-columns.js +104 -102
  189. package/es/stat-view/pivot-table/one-dimension-table-with-numeric-columns.js +116 -118
  190. package/es/stat-view/pivot-table/pivot-table-display-name.js +96 -95
  191. package/es/stat-view/pivot-table/two-dimension-table.js +238 -229
  192. package/es/stat-view/ring-chart.js +189 -200
  193. package/es/stat-view/scatter-chart.js +162 -213
  194. package/es/stat-view/treemap-chart.js +136 -200
  195. package/es/stat-view/trend-chart.js +137 -183
  196. package/es/stat-view/world-map.js +233 -243
  197. package/es/tabs/index.js +164 -169
  198. package/es/tabs/tab.js +101 -116
  199. package/es/utils/basic-chart-utils.js +7 -9
  200. package/es/utils/cell-format.js +48 -51
  201. package/es/utils/cell-value.js +1 -1
  202. package/es/utils/collaborator.js +15 -14
  203. package/es/utils/color-utils.js +48 -37
  204. package/es/utils/column-utils.js +47 -33
  205. package/es/utils/column.js +1 -1
  206. package/es/utils/common-utils.js +111 -117
  207. package/es/utils/date-format.js +17 -17
  208. package/es/utils/export-table-utils.js +507 -396
  209. package/es/utils/index.js +6 -6
  210. package/es/utils/map.js +30 -34
  211. package/es/utils/model.js +3 -5
  212. package/es/utils/object.js +4 -4
  213. package/es/utils/pivot-table.js +20 -20
  214. package/es/utils/row-utils.js +41 -33
  215. package/es/utils/search.js +18 -20
  216. package/es/utils/sql-utils.js +132 -98
  217. package/es/utils/stat-utils.js +303 -320
  218. package/es/utils/trend-utils.js +57 -67
  219. package/package.json +2 -2
@@ -1,7 +1,3 @@
1
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
2
- import _createClass from "@babel/runtime/helpers/esm/createClass";
3
- import _inherits from "@babel/runtime/helpers/esm/inherits";
4
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
5
1
  import React, { Component, Fragment } from 'react';
6
2
  import { Input } from 'reactstrap';
7
3
  import intl from 'react-intl-universal';
@@ -13,23 +9,19 @@ import CombinationStyleSettings from './style-setting/combination-style-setting'
13
9
  import ToggleSetting from '../public-setting/toggle-setting';
14
10
  import SummarySettings from './summary-settings';
15
11
  import { BASIC_CHART_COLUMN_LIST, DATE_GRANULARITY, GEOLOCATION_GRANULARITY, STATISTICS_COUNT_SHOW, SUMMARY_METHOD, SUMMARY_TYPE } from '../../../constants';
16
- var DATE_COLUMN_OPTIONS = ['date', 'mtime', 'ctime'];
17
- var DATE_GRANULARITY_LIST = [DATE_GRANULARITY.DAY, DATE_GRANULARITY.WEEK, DATE_GRANULARITY.MONTH, DATE_GRANULARITY.QUARTER, DATE_GRANULARITY.YEAR];
18
- var GEOLOCATION_GRANULARITY_LIST = [GEOLOCATION_GRANULARITY.PROVINCE, GEOLOCATION_GRANULARITY.CITY, GEOLOCATION_GRANULARITY.DISTRICT];
19
- var GROUP_TYPES = {
12
+ const DATE_COLUMN_OPTIONS = ['date', 'mtime', 'ctime'];
13
+ const DATE_GRANULARITY_LIST = [DATE_GRANULARITY.DAY, DATE_GRANULARITY.WEEK, DATE_GRANULARITY.MONTH, DATE_GRANULARITY.QUARTER, DATE_GRANULARITY.YEAR];
14
+ const GEOLOCATION_GRANULARITY_LIST = [GEOLOCATION_GRANULARITY.PROVINCE, GEOLOCATION_GRANULARITY.CITY, GEOLOCATION_GRANULARITY.DISTRICT];
15
+ const GROUP_TYPES = {
20
16
  COUNT: 'count',
21
17
  SINGLE_NUMERIC_COLUMN: 'single_numeric_column',
22
18
  MULTIPLE_NUMERIC_COLUMN: 'multiple_numeric_column'
23
19
  };
24
- var CombinationSettings = /*#__PURE__*/function (_Component) {
25
- _inherits(CombinationSettings, _Component);
26
- var _super = _createSuper(CombinationSettings);
27
- function CombinationSettings(props) {
28
- var _this;
29
- _classCallCheck(this, CombinationSettings);
30
- _this = _super.call(this, props);
31
- _this.getGranularityOptions = function (options) {
32
- return options.map(function (g) {
20
+ class CombinationSettings extends Component {
21
+ constructor(props) {
22
+ super(props);
23
+ this.getGranularityOptions = options => {
24
+ return options.map(g => {
33
25
  return {
34
26
  value: g,
35
27
  label: /*#__PURE__*/React.createElement("span", {
@@ -38,90 +30,88 @@ var CombinationSettings = /*#__PURE__*/function (_Component) {
38
30
  };
39
31
  });
40
32
  };
41
- _this.renderGroupbyDateGranularity = function () {
42
- var statItem = _this.props.statItem;
43
- var selectedDateGranularity = _this.getSelectedDateGranularity(statItem.x_axis_date_granularity);
33
+ this.renderGroupbyDateGranularity = () => {
34
+ const {
35
+ statItem
36
+ } = this.props;
37
+ let selectedDateGranularity = this.getSelectedDateGranularity(statItem.x_axis_date_granularity);
44
38
  return /*#__PURE__*/React.createElement("div", {
45
39
  className: "mt-1"
46
40
  }, /*#__PURE__*/React.createElement(DTableSelect, {
47
41
  value: selectedDateGranularity,
48
- onChange: _this.onSelectGroupbyDateGranularity,
49
- options: _this.dateGranularityOptions
42
+ onChange: this.onSelectGroupbyDateGranularity,
43
+ options: this.dateGranularityOptions
50
44
  }));
51
45
  };
52
- _this.onSelectGroupbyDateGranularity = function (option) {
53
- var newDateGranularity = option.value;
54
- if (newDateGranularity === _this.props.statItem.x_axis_date_granularity) return;
55
- _this.props.updateStatItem(Object.assign({}, _this.props.statItem, {
46
+ this.onSelectGroupbyDateGranularity = option => {
47
+ let newDateGranularity = option.value;
48
+ if (newDateGranularity === this.props.statItem.x_axis_date_granularity) return;
49
+ this.props.updateStatItem(Object.assign({}, this.props.statItem, {
56
50
  x_axis_date_granularity: newDateGranularity
57
51
  }));
58
52
  };
59
- _this.renderGroupbyGeolocationGranularity = function () {
60
- var statItem = _this.props.statItem;
61
- var selectedGeolocationGranularity = _this.getSelectedGeolocationGranularity(statItem.x_axis_geolocation_granularity);
62
- if (_this.geolocationGranularityOptions.length === 0) return null;
53
+ this.renderGroupbyGeolocationGranularity = () => {
54
+ const {
55
+ statItem
56
+ } = this.props;
57
+ let selectedGeolocationGranularity = this.getSelectedGeolocationGranularity(statItem.x_axis_geolocation_granularity);
58
+ if (this.geolocationGranularityOptions.length === 0) return null;
63
59
  return /*#__PURE__*/React.createElement("div", {
64
60
  className: "mt-1"
65
61
  }, /*#__PURE__*/React.createElement(DTableSelect, {
66
62
  value: selectedGeolocationGranularity,
67
- onChange: _this.onSelectGroupbyGeolocationGranularity,
68
- options: _this.geolocationGranularityOptions
63
+ onChange: this.onSelectGroupbyGeolocationGranularity,
64
+ options: this.geolocationGranularityOptions
69
65
  }));
70
66
  };
71
- _this.getSelectedGeolocationGranularity = function (geolocationGranularity) {
72
- return _this.geolocationGranularityOptions.find(function (g) {
73
- return g.value === geolocationGranularity;
74
- }) || _this.geolocationGranularityOptions[2];
67
+ this.getSelectedGeolocationGranularity = geolocationGranularity => {
68
+ return this.geolocationGranularityOptions.find(g => g.value === geolocationGranularity) || this.geolocationGranularityOptions[2];
75
69
  };
76
- _this.getSelectedDateGranularity = function (dateGranularity) {
77
- return _this.dateGranularityOptions.find(function (g) {
78
- return g.value === dateGranularity;
79
- }) || _this.dateGranularityOptions[2];
70
+ this.getSelectedDateGranularity = dateGranularity => {
71
+ return this.dateGranularityOptions.find(g => g.value === dateGranularity) || this.dateGranularityOptions[2];
80
72
  };
81
- _this.onSelectGroupbyGeolocationGranularity = function (geolocationGranularityOption) {
82
- var newGeolocationGranularity = geolocationGranularityOption.value;
83
- if (newGeolocationGranularity === _this.props.statItem.x_axis_geolocation_granularity) return;
84
- _this.props.updateStatItem(Object.assign({}, _this.props.statItem, {
73
+ this.onSelectGroupbyGeolocationGranularity = geolocationGranularityOption => {
74
+ let newGeolocationGranularity = geolocationGranularityOption.value;
75
+ if (newGeolocationGranularity === this.props.statItem.x_axis_geolocation_granularity) return;
76
+ this.props.updateStatItem(Object.assign({}, this.props.statItem, {
85
77
  x_axis_geolocation_granularity: newGeolocationGranularity
86
78
  }));
87
79
  };
88
- _this.getAvailableColumns = function (columns) {
80
+ this.getAvailableColumns = columns => {
89
81
  if (!columns || !Array.isArray(columns)) return [];
90
- return columns.filter(function (c) {
91
- return BASIC_CHART_COLUMN_LIST.includes(c.type);
92
- });
82
+ return columns.filter(c => BASIC_CHART_COLUMN_LIST.includes(c.type));
93
83
  };
94
- _this.getSelectedStatColumnOption = function () {
95
- return _this.columnsOptions.find(function (option) {
96
- return option.value.key === _this.props.statItem.x_axis_column_key;
97
- });
84
+ this.getSelectedStatColumnOption = () => {
85
+ return this.columnsOptions.find(option => option.value.key === this.props.statItem.x_axis_column_key);
98
86
  };
99
- _this.onSelectStatColumn = function (option) {
100
- var _this$props = _this.props,
101
- getTableById = _this$props.getTableById,
102
- selectedTableId = _this$props.selectedTableId,
103
- statItem = _this$props.statItem;
104
- var _this$props$statItem = _this.props.statItem,
105
- x_axis_column_key = _this$props$statItem.x_axis_column_key,
106
- x_axis_geolocation_granularity = _this$props$statItem.x_axis_geolocation_granularity,
107
- x_axis_date_granularity = _this$props$statItem.x_axis_date_granularity;
108
- var new_column = option.value.key;
87
+ this.onSelectStatColumn = option => {
88
+ const {
89
+ getTableById,
90
+ selectedTableId,
91
+ statItem
92
+ } = this.props;
93
+ let {
94
+ x_axis_column_key,
95
+ x_axis_geolocation_granularity,
96
+ x_axis_date_granularity
97
+ } = this.props.statItem;
98
+ const new_column = option.value.key;
109
99
  if (x_axis_column_key === new_column) return;
110
- var _option$value = option.value,
111
- type = _option$value.type,
112
- key = _option$value.key;
100
+ const {
101
+ type,
102
+ key
103
+ } = option.value;
113
104
  if (type === CellType.DATE) {
114
- x_axis_date_granularity = _this.dateGranularityOptions[2].value;
105
+ x_axis_date_granularity = this.dateGranularityOptions[2].value;
115
106
  } else {
116
107
  x_axis_date_granularity = null;
117
108
  }
118
109
  if (type === CellType.GEOLOCATION) {
119
- var selectedTable = getTableById(selectedTableId);
120
- var geoColumn = selectedTable.columns.find(function (column) {
121
- return column.key === key;
122
- }) || {};
123
- var _ref = geoColumn.data || {},
124
- geo_format = _ref.geo_format;
110
+ const selectedTable = getTableById(selectedTableId);
111
+ const geoColumn = selectedTable.columns.find(column => column.key === key) || {};
112
+ const {
113
+ geo_format
114
+ } = geoColumn.data || {};
125
115
  if (geo_format === 'province') {
126
116
  x_axis_geolocation_granularity = 'province';
127
117
  } else if (geo_format === 'province_city') {
@@ -134,14 +124,14 @@ var CombinationSettings = /*#__PURE__*/function (_Component) {
134
124
  } else {
135
125
  x_axis_geolocation_granularity = null;
136
126
  }
137
- _this.props.updateStatItem(Object.assign({}, statItem, {
127
+ this.props.updateStatItem(Object.assign({}, statItem, {
138
128
  x_axis_column_key: new_column,
139
- x_axis_date_granularity: x_axis_date_granularity,
140
- x_axis_geolocation_granularity: x_axis_geolocation_granularity
129
+ x_axis_date_granularity,
130
+ x_axis_geolocation_granularity
141
131
  }));
142
132
  };
143
- _this.getSummaryMethodsOptions = function () {
144
- return SUMMARY_METHOD.map(function (method) {
133
+ this.getSummaryMethodsOptions = () => {
134
+ return SUMMARY_METHOD.map(method => {
145
135
  return {
146
136
  label: /*#__PURE__*/React.createElement("span", {
147
137
  className: "select-option-name"
@@ -150,39 +140,45 @@ var CombinationSettings = /*#__PURE__*/function (_Component) {
150
140
  };
151
141
  });
152
142
  };
153
- _this.getSelectedMethodOption = function (method, summaryMethodsOptions) {
154
- return summaryMethodsOptions.find(function (m) {
155
- return m.value === method;
156
- }) || summaryMethodsOptions[0];
143
+ this.getSelectedMethodOption = (method, summaryMethodsOptions) => {
144
+ return summaryMethodsOptions.find(m => m.value === method) || summaryMethodsOptions[0];
157
145
  };
158
- _this.onSaveName = function (event) {
159
- _this.props.updateStatItem(Object.assign({}, _this.props.statItem, {
160
- name: _this.state.statName
146
+ this.onSaveName = event => {
147
+ this.props.updateStatItem(Object.assign({}, this.props.statItem, {
148
+ name: this.state.statName
161
149
  }));
162
150
  };
163
- _this.getStyleSetting = function () {
164
- var statItem = _this.props.statItem;
165
- var statName = _this.state.statName;
151
+ this.getStyleSetting = () => {
152
+ const {
153
+ statItem
154
+ } = this.props;
155
+ const {
156
+ statName
157
+ } = this.state;
166
158
  return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement("div", {
167
159
  className: "statistic-chart-parameter-item"
168
160
  }, /*#__PURE__*/React.createElement("label", null, intl.get('X-axis')), /*#__PURE__*/React.createElement(Input, {
169
161
  type: "text",
170
- onBlur: _this.onSaveName,
171
- onChange: _this.onChangeName,
162
+ onBlur: this.onSaveName,
163
+ onChange: this.onChangeName,
172
164
  value: statName,
173
165
  placeholder: statItem.name
174
166
  })));
175
167
  };
176
- _this.onChangeSummaryType = function (option, position) {
177
- var statItem = _this.props.statItem;
178
- var y_axis_right_summary_type = statItem.y_axis_right_summary_type,
179
- y_axis_left_summary_type = statItem.y_axis_left_summary_type,
180
- y_axis_right_summary_column = statItem.y_axis_right_summary_column,
181
- y_axis_left_summary_column = statItem.y_axis_left_summary_column,
182
- y_axis_left_group_by_multiple_numeric_column = statItem.y_axis_left_group_by_multiple_numeric_column,
183
- y_axis_left_summary_method = statItem.y_axis_left_summary_method,
184
- y_axis_left_group_by_numeric_columns = statItem.y_axis_left_group_by_numeric_columns;
185
- var newSummaryType = option === GROUP_TYPES.COUNT ? SUMMARY_TYPE.COUNT : SUMMARY_TYPE.ADVANCED;
168
+ this.onChangeSummaryType = (option, position) => {
169
+ const {
170
+ statItem
171
+ } = this.props;
172
+ let {
173
+ y_axis_right_summary_type,
174
+ y_axis_left_summary_type,
175
+ y_axis_right_summary_column,
176
+ y_axis_left_summary_column,
177
+ y_axis_left_group_by_multiple_numeric_column,
178
+ y_axis_left_summary_method,
179
+ y_axis_left_group_by_numeric_columns
180
+ } = statItem;
181
+ let newSummaryType = option === GROUP_TYPES.COUNT ? SUMMARY_TYPE.COUNT : SUMMARY_TYPE.ADVANCED;
186
182
  if (position === 'left') {
187
183
  if (newSummaryType === SUMMARY_TYPE.COUNT && y_axis_left_summary_type === SUMMARY_TYPE.COUNT) return;
188
184
  if (option === GROUP_TYPES.SINGLE_NUMERIC_COLUMN && !y_axis_left_group_by_multiple_numeric_column && y_axis_left_summary_type !== SUMMARY_TYPE.COUNT) return;
@@ -205,43 +201,47 @@ var CombinationSettings = /*#__PURE__*/function (_Component) {
205
201
  y_axis_left_group_by_multiple_numeric_column = true;
206
202
  y_axis_left_group_by_numeric_columns = [];
207
203
  }
208
- _this.props.updateStatItem(Object.assign({}, statItem, {
204
+ this.props.updateStatItem(Object.assign({}, statItem, {
209
205
  y_axis_left_summary_type: newSummaryType,
210
- y_axis_left_summary_column: y_axis_left_summary_column,
211
- y_axis_left_summary_method: y_axis_left_summary_method,
212
- y_axis_left_group_by_multiple_numeric_column: y_axis_left_group_by_multiple_numeric_column,
213
- y_axis_left_group_by_numeric_columns: y_axis_left_group_by_numeric_columns
206
+ y_axis_left_summary_column,
207
+ y_axis_left_summary_method,
208
+ y_axis_left_group_by_multiple_numeric_column,
209
+ y_axis_left_group_by_numeric_columns
214
210
  }));
215
211
  return;
216
212
  }
217
213
  if (y_axis_right_summary_type === newSummaryType) return;
218
214
  y_axis_right_summary_type = newSummaryType;
219
- var y_axis_right_summary_method = SUMMARY_METHOD[0];
215
+ let y_axis_right_summary_method = SUMMARY_METHOD[0];
220
216
  if (newSummaryType === SUMMARY_TYPE.COUNT) {
221
217
  y_axis_right_summary_column = null;
222
218
  y_axis_right_summary_method = null;
223
219
  }
224
- _this.props.updateStatItem(Object.assign({}, statItem, {
220
+ this.props.updateStatItem(Object.assign({}, statItem, {
225
221
  y_axis_right_summary_type: newSummaryType,
226
- y_axis_right_summary_column: y_axis_right_summary_column,
227
- y_axis_right_summary_method: y_axis_right_summary_method
222
+ y_axis_right_summary_column,
223
+ y_axis_right_summary_method
228
224
  }));
229
225
  };
230
- _this.onSelectSummaryColumn = function (option, position) {
231
- var statItem = _this.props.statItem;
232
- var y_axis_right_summary_column = statItem.y_axis_right_summary_column,
233
- y_axis_left_summary_column = statItem.y_axis_left_summary_column,
234
- y_axis_left_summary_method = statItem.y_axis_left_summary_method,
235
- y_axis_right_summary_method = statItem.y_axis_right_summary_method;
236
- var newSummaryColumnKey = option;
226
+ this.onSelectSummaryColumn = (option, position) => {
227
+ const {
228
+ statItem
229
+ } = this.props;
230
+ let {
231
+ y_axis_right_summary_column,
232
+ y_axis_left_summary_column,
233
+ y_axis_left_summary_method,
234
+ y_axis_right_summary_method
235
+ } = statItem;
236
+ const newSummaryColumnKey = option;
237
237
  if (position === 'left') {
238
238
  if (y_axis_left_summary_column === newSummaryColumnKey) return;
239
239
  if (!y_axis_left_summary_method) {
240
240
  y_axis_left_summary_method = 'Sum';
241
241
  }
242
- _this.props.updateStatItem(Object.assign({}, statItem, {
242
+ this.props.updateStatItem(Object.assign({}, statItem, {
243
243
  y_axis_left_summary_column: newSummaryColumnKey,
244
- y_axis_left_summary_method: y_axis_left_summary_method
244
+ y_axis_left_summary_method
245
245
  }));
246
246
  return;
247
247
  }
@@ -249,168 +249,166 @@ var CombinationSettings = /*#__PURE__*/function (_Component) {
249
249
  if (!y_axis_right_summary_method) {
250
250
  y_axis_right_summary_method = 'Sum';
251
251
  }
252
- _this.props.updateStatItem(Object.assign({}, statItem, {
252
+ this.props.updateStatItem(Object.assign({}, statItem, {
253
253
  y_axis_right_summary_column: newSummaryColumnKey,
254
- y_axis_right_summary_method: y_axis_right_summary_method
254
+ y_axis_right_summary_method
255
255
  }));
256
256
  };
257
- _this.onSelectSummaryMethod = function (option, position) {
258
- var statItem = _this.props.statItem;
259
- var y_axis_right_summary_method = statItem.y_axis_right_summary_method,
260
- y_axis_left_summary_method = statItem.y_axis_left_summary_method;
261
- var newSummaryColumnMethod = option;
257
+ this.onSelectSummaryMethod = (option, position) => {
258
+ const {
259
+ statItem
260
+ } = this.props;
261
+ const {
262
+ y_axis_right_summary_method,
263
+ y_axis_left_summary_method
264
+ } = statItem;
265
+ const newSummaryColumnMethod = option;
262
266
  if (position === 'left') {
263
267
  if (y_axis_left_summary_method !== newSummaryColumnMethod) {
264
- _this.props.updateStatItem(Object.assign({}, statItem, {
268
+ this.props.updateStatItem(Object.assign({}, statItem, {
265
269
  y_axis_left_summary_method: newSummaryColumnMethod
266
270
  }));
267
271
  }
268
272
  return;
269
273
  }
270
274
  if (y_axis_right_summary_method !== newSummaryColumnMethod) {
271
- _this.props.updateStatItem(Object.assign({}, statItem, {
275
+ this.props.updateStatItem(Object.assign({}, statItem, {
272
276
  y_axis_right_summary_method: newSummaryColumnMethod
273
277
  }));
274
278
  }
275
279
  };
276
- _this.onToggleIncludeEmpty = function () {
277
- var statItem = _this.props.statItem;
278
- var _ref2 = statItem || {},
279
- x_axis_include_empty = _ref2.x_axis_include_empty;
280
- var updated = {
280
+ this.onToggleIncludeEmpty = () => {
281
+ let {
282
+ statItem
283
+ } = this.props;
284
+ let {
285
+ x_axis_include_empty
286
+ } = statItem || {};
287
+ let updated = {
281
288
  x_axis_include_empty: !x_axis_include_empty
282
289
  };
283
- _this.props.updateStatItem(Object.assign({}, statItem, updated));
290
+ this.props.updateStatItem(Object.assign({}, statItem, updated));
284
291
  };
285
- _this.renderIncludeEmpty = function () {
286
- var statItem = _this.props.statItem;
287
- var _ref3 = statItem || {},
288
- x_axis_include_empty = _ref3.x_axis_include_empty;
292
+ this.renderIncludeEmpty = () => {
293
+ const {
294
+ statItem
295
+ } = this.props;
296
+ let {
297
+ x_axis_include_empty
298
+ } = statItem || {};
289
299
  return /*#__PURE__*/React.createElement("div", {
290
300
  className: "mt-1"
291
301
  }, /*#__PURE__*/React.createElement(ToggleSetting, {
292
302
  isChecked: x_axis_include_empty || false,
293
- handleToggleChange: _this.onToggleIncludeEmpty,
303
+ handleToggleChange: this.onToggleIncludeEmpty,
294
304
  label: intl.get('Including_empty_cell')
295
305
  }));
296
306
  };
297
- var getColumnsOptions = props.getColumnsOptions,
298
- _statItem = props.statItem,
299
- _columns = props.columns;
300
- var availableColumns = _this.getAvailableColumns(_columns);
301
- _this.columnsOptions = getColumnsOptions(availableColumns);
302
- _this.summaryMethodsOptions = _this.getSummaryMethodsOptions();
303
- _this.dateGranularityOptions = _this.getGranularityOptions(DATE_GRANULARITY_LIST);
304
- _this.geolocationGranularityOptions = _this.getGranularityOptions(GEOLOCATION_GRANULARITY_LIST);
305
- _this.state = {
307
+ const {
308
+ getColumnsOptions,
309
+ statItem: _statItem,
310
+ columns: _columns
311
+ } = props;
312
+ const availableColumns = this.getAvailableColumns(_columns);
313
+ this.columnsOptions = getColumnsOptions(availableColumns);
314
+ this.summaryMethodsOptions = this.getSummaryMethodsOptions();
315
+ this.dateGranularityOptions = this.getGranularityOptions(DATE_GRANULARITY_LIST);
316
+ this.geolocationGranularityOptions = this.getGranularityOptions(GEOLOCATION_GRANULARITY_LIST);
317
+ this.state = {
306
318
  statName: _statItem.name
307
319
  };
308
- return _this;
309
320
  }
310
- _createClass(CombinationSettings, [{
311
- key: "UNSAFE_componentWillReceiveProps",
312
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
313
- if (nextProps.selectedTableId !== this.props.selectedTableId) {
314
- var getColumnsOptions = nextProps.getColumnsOptions,
315
- columns = nextProps.columns;
316
- var availableColumns = this.getAvailableColumns(columns);
317
- this.columnsOptions = getColumnsOptions(availableColumns);
318
- }
321
+ UNSAFE_componentWillReceiveProps(nextProps) {
322
+ if (nextProps.selectedTableId !== this.props.selectedTableId) {
323
+ const {
324
+ getColumnsOptions,
325
+ columns
326
+ } = nextProps;
327
+ const availableColumns = this.getAvailableColumns(columns);
328
+ this.columnsOptions = getColumnsOptions(availableColumns);
319
329
  }
320
- }, {
321
- key: "render",
322
- value: function render() {
323
- var _this2 = this;
324
- var selectedColumnOption = this.getSelectedStatColumnOption();
325
- var _this$props2 = this.props,
326
- getTables = _this$props2.getTables,
327
- getViews = _this$props2.getViews,
328
- getTableById = _this$props2.getTableById,
329
- statItem = _this$props2.statItem,
330
- eventBus = _this$props2.eventBus,
331
- updateStatItem = _this$props2.updateStatItem,
332
- selectedTableId = _this$props2.selectedTableId,
333
- settingType = _this$props2.settingType,
334
- getColumnsOptions = _this$props2.getColumnsOptions;
335
- var x_axis_column_key = statItem.x_axis_column_key,
336
- y_axis_left_summary_type = statItem.y_axis_left_summary_type,
337
- y_axis_right_summary_type = statItem.y_axis_right_summary_type,
338
- y_axis_left_summary_method = statItem.y_axis_left_summary_method,
339
- y_axis_right_summary_method = statItem.y_axis_right_summary_method,
340
- y_axis_left_summary_column = statItem.y_axis_left_summary_column,
341
- y_axis_right_summary_column = statItem.y_axis_right_summary_column;
342
- var selectedTable = getTableById(selectedTableId);
343
- var groupbyColumn = x_axis_column_key && TableUtils.getTableColumnByKey(selectedTable, x_axis_column_key);
344
- var _ref4 = groupbyColumn || {},
345
- groupbyColumnType = _ref4.type;
346
- if (settingType === 'style') {
347
- return /*#__PURE__*/React.createElement(CombinationStyleSettings, {
348
- selectedTableId: selectedTableId,
349
- statItem: statItem,
350
- eventBus: eventBus,
351
- updateStatItem: updateStatItem
352
- });
353
- }
354
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(BaseSettings, {
355
- statItem: statItem,
330
+ }
331
+ render() {
332
+ const selectedColumnOption = this.getSelectedStatColumnOption();
333
+ const {
334
+ getTables,
335
+ getViews,
336
+ getTableById,
337
+ statItem,
338
+ eventBus,
339
+ updateStatItem,
340
+ selectedTableId,
341
+ settingType,
342
+ getColumnsOptions
343
+ } = this.props;
344
+ const {
345
+ x_axis_column_key,
346
+ y_axis_left_summary_type,
347
+ y_axis_right_summary_type,
348
+ y_axis_left_summary_method,
349
+ y_axis_right_summary_method,
350
+ y_axis_left_summary_column,
351
+ y_axis_right_summary_column
352
+ } = statItem;
353
+ const selectedTable = getTableById(selectedTableId);
354
+ let groupbyColumn = x_axis_column_key && TableUtils.getTableColumnByKey(selectedTable, x_axis_column_key);
355
+ let {
356
+ type: groupbyColumnType
357
+ } = groupbyColumn || {};
358
+ if (settingType === 'style') {
359
+ return /*#__PURE__*/React.createElement(CombinationStyleSettings, {
356
360
  selectedTableId: selectedTableId,
357
- selectedViewId: statItem.view_id,
358
- getTables: getTables,
359
- getViews: getViews,
360
- getTableById: this.props.getTableById,
361
- getConvertedChart: this.props.getConvertedChart,
362
- updateStatItem: updateStatItem
363
- }), /*#__PURE__*/React.createElement("div", {
364
- className: "statistic-chart-parameter-divider"
365
- }), /*#__PURE__*/React.createElement("div", {
366
- className: "statistic-chart-parameter-item"
367
- }, /*#__PURE__*/React.createElement("label", null, intl.get('X-axis')), /*#__PURE__*/React.createElement(ColumnSettings, {
368
- columnsOptions: this.columnsOptions,
369
- selectedColumnOption: selectedColumnOption,
370
- onChangeSelectedColumn: this.onSelectStatColumn
371
- }), DATE_COLUMN_OPTIONS.includes(groupbyColumnType) && this.renderGroupbyDateGranularity(), groupbyColumnType === CellType.GEOLOCATION && this.renderGroupbyGeolocationGranularity(), this.renderIncludeEmpty()), /*#__PURE__*/React.createElement(SummarySettings, {
372
- useMultipleSummaryColumns: true,
373
- chartType: 'combination_chart',
374
- label: intl.get('Y-axis(left side)'),
375
361
  statItem: statItem,
376
- selectedTableId: selectedTableId,
377
- summaryType: y_axis_left_summary_type,
378
- summaryMethod: y_axis_left_summary_method,
379
- summaryColumn: y_axis_left_summary_column,
380
- numericColumns: this.props.numericColumns,
381
- getColumnsOptions: getColumnsOptions,
382
- onChangeSummaryType: function onChangeSummaryType(option) {
383
- return _this2.onChangeSummaryType(option, 'left');
384
- },
385
- onSelectSummaryColumn: function onSelectSummaryColumn(option) {
386
- return _this2.onSelectSummaryColumn(option, 'left');
387
- },
388
- onSelectSummaryMethod: function onSelectSummaryMethod(option) {
389
- return _this2.onSelectSummaryMethod(option, 'left');
390
- },
362
+ eventBus: eventBus,
391
363
  updateStatItem: updateStatItem
392
- }), /*#__PURE__*/React.createElement(SummarySettings, {
393
- chartType: 'combination_chart',
394
- label: intl.get('Y-axis(right side)'),
395
- statItem: statItem,
396
- selectedTableId: selectedTableId,
397
- summaryType: y_axis_right_summary_type,
398
- summaryMethod: y_axis_right_summary_method,
399
- summaryColumn: y_axis_right_summary_column,
400
- numericColumns: this.props.numericColumns,
401
- getColumnsOptions: getColumnsOptions,
402
- onChangeSummaryType: function onChangeSummaryType(option) {
403
- return _this2.onChangeSummaryType(option, 'right');
404
- },
405
- onSelectSummaryColumn: function onSelectSummaryColumn(option) {
406
- return _this2.onSelectSummaryColumn(option, 'right');
407
- },
408
- onSelectSummaryMethod: function onSelectSummaryMethod(option) {
409
- return _this2.onSelectSummaryMethod(option, 'right');
410
- }
411
- }));
364
+ });
412
365
  }
413
- }]);
414
- return CombinationSettings;
415
- }(Component);
366
+ return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(BaseSettings, {
367
+ statItem: statItem,
368
+ selectedTableId: selectedTableId,
369
+ selectedViewId: statItem.view_id,
370
+ getTables: getTables,
371
+ getViews: getViews,
372
+ getTableById: this.props.getTableById,
373
+ getConvertedChart: this.props.getConvertedChart,
374
+ updateStatItem: updateStatItem
375
+ }), /*#__PURE__*/React.createElement("div", {
376
+ className: "statistic-chart-parameter-divider"
377
+ }), /*#__PURE__*/React.createElement("div", {
378
+ className: "statistic-chart-parameter-item"
379
+ }, /*#__PURE__*/React.createElement("label", null, intl.get('X-axis')), /*#__PURE__*/React.createElement(ColumnSettings, {
380
+ columnsOptions: this.columnsOptions,
381
+ selectedColumnOption: selectedColumnOption,
382
+ onChangeSelectedColumn: this.onSelectStatColumn
383
+ }), DATE_COLUMN_OPTIONS.includes(groupbyColumnType) && this.renderGroupbyDateGranularity(), groupbyColumnType === CellType.GEOLOCATION && this.renderGroupbyGeolocationGranularity(), this.renderIncludeEmpty()), /*#__PURE__*/React.createElement(SummarySettings, {
384
+ useMultipleSummaryColumns: true,
385
+ chartType: 'combination_chart',
386
+ label: intl.get('Y-axis(left side)'),
387
+ statItem: statItem,
388
+ selectedTableId: selectedTableId,
389
+ summaryType: y_axis_left_summary_type,
390
+ summaryMethod: y_axis_left_summary_method,
391
+ summaryColumn: y_axis_left_summary_column,
392
+ numericColumns: this.props.numericColumns,
393
+ getColumnsOptions: getColumnsOptions,
394
+ onChangeSummaryType: option => this.onChangeSummaryType(option, 'left'),
395
+ onSelectSummaryColumn: option => this.onSelectSummaryColumn(option, 'left'),
396
+ onSelectSummaryMethod: option => this.onSelectSummaryMethod(option, 'left'),
397
+ updateStatItem: updateStatItem
398
+ }), /*#__PURE__*/React.createElement(SummarySettings, {
399
+ chartType: 'combination_chart',
400
+ label: intl.get('Y-axis(right side)'),
401
+ statItem: statItem,
402
+ selectedTableId: selectedTableId,
403
+ summaryType: y_axis_right_summary_type,
404
+ summaryMethod: y_axis_right_summary_method,
405
+ summaryColumn: y_axis_right_summary_column,
406
+ numericColumns: this.props.numericColumns,
407
+ getColumnsOptions: getColumnsOptions,
408
+ onChangeSummaryType: option => this.onChangeSummaryType(option, 'right'),
409
+ onSelectSummaryColumn: option => this.onSelectSummaryColumn(option, 'right'),
410
+ onSelectSummaryMethod: option => this.onSelectSummaryMethod(option, 'right')
411
+ }));
412
+ }
413
+ }
416
414
  export default CombinationSettings;