dtable-statistic 4.2.2 → 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,53 +1,44 @@
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 } from 'react';
6
2
  import ReactDOM from 'react-dom';
7
3
  import html2canvas from 'html2canvas';
8
4
  import StatView from '../stat-view';
9
5
  import StatisticDropdownMenu from '../components/dropdown-menu/statistic-dropdown-menu';
10
6
  import { STAT_TYPE } from '../constants';
11
- var ChartPreview = /*#__PURE__*/function (_Component) {
12
- _inherits(ChartPreview, _Component);
13
- var _super = _createSuper(ChartPreview);
14
- function ChartPreview() {
15
- var _this;
16
- _classCallCheck(this, ChartPreview);
17
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
18
- args[_key] = arguments[_key];
19
- }
20
- _this = _super.call.apply(_super, [this].concat(args));
21
- _this.onToggleShowEnlarged = function (event) {
7
+ class ChartPreview extends Component {
8
+ constructor() {
9
+ super(...arguments);
10
+ this.onToggleShowEnlarged = event => {
22
11
  if (event) {
23
12
  event.preventDefault();
24
13
  event.stopPropagation();
25
14
  }
26
- _this.props.enlargeChart();
15
+ this.props.enlargeChart();
27
16
  };
28
- _this.onExportChart = function (statItem) {
29
- var exportContainerID = 'exported-chart-container';
30
- var exportContainer = document.createElement('div');
17
+ this.onExportChart = statItem => {
18
+ const exportContainerID = 'exported-chart-container';
19
+ const exportContainer = document.createElement('div');
31
20
  exportContainer.setAttribute('id', exportContainerID);
32
21
 
33
22
  // for charts rendered with `<canvas>`
34
- var id = statItem._id;
35
- var originalElement = document.querySelector("#stat-item-".concat(id, " .statistic-chart-container > div"));
23
+ const {
24
+ _id: id
25
+ } = statItem;
26
+ const originalElement = document.querySelector("#stat-item-".concat(id, " .statistic-chart-container > div"));
36
27
  if (originalElement) {
37
- var containerWidth = originalElement.scrollWidth + 15 * 2;
38
- var containerHeight = originalElement.scrollHeight + 15 * 2;
28
+ const containerWidth = originalElement.scrollWidth + 15 * 2;
29
+ const containerHeight = originalElement.scrollHeight + 15 * 2;
39
30
  exportContainer.setAttribute('style', "width: ".concat(containerWidth, "px; height: ").concat(containerHeight, "px;"));
40
31
  }
41
32
  document.body.appendChild(exportContainer);
42
- ReactDOM.render(_this.renderChart(statItem), exportContainer);
43
- setTimeout(function () {
44
- var ele = document.querySelector("#".concat(exportContainerID, " .statistic-chart-container"));
33
+ ReactDOM.render(this.renderChart(statItem), exportContainer);
34
+ setTimeout(() => {
35
+ const ele = document.querySelector("#".concat(exportContainerID, " .statistic-chart-container"));
45
36
  if (!ele) return;
46
37
  html2canvas(ele, {
47
38
  windowWidth: ele.scrollWidth,
48
39
  windowHeight: ele.scrollHeight
49
- }).then(function (canvas) {
50
- var eleA = document.createElement('a');
40
+ }).then(canvas => {
41
+ let eleA = document.createElement('a');
51
42
  eleA.href = canvas.toDataURL('image/png');
52
43
  eleA.download = "".concat(statItem.name || 'image', ".png");
53
44
  eleA.click();
@@ -55,29 +46,28 @@ var ChartPreview = /*#__PURE__*/function (_Component) {
55
46
  });
56
47
  }, 1000);
57
48
  };
58
- _this.onNewTableDialogToggle = function () {
59
- var statisticalResult = _this.chartView && _this.chartView.getStatData();
60
- statisticalResult && _this.props.showNewTableDialog({
61
- statisticalResult: statisticalResult
49
+ this.onNewTableDialogToggle = () => {
50
+ const statisticalResult = this.chartView && this.chartView.getStatData();
51
+ statisticalResult && this.props.showNewTableDialog({
52
+ statisticalResult
62
53
  });
63
54
  };
64
- _this.onUpdateTableDialogToggle = function () {
65
- var statisticalResult = _this.chartView && _this.chartView.getStatData();
66
- statisticalResult && _this.props.showSelectTableDialog({
67
- statisticalResult: statisticalResult
55
+ this.onUpdateTableDialogToggle = () => {
56
+ const statisticalResult = this.chartView && this.chartView.getStatData();
57
+ statisticalResult && this.props.showSelectTableDialog({
58
+ statisticalResult
68
59
  });
69
60
  };
70
- _this.renderChart = function (statItem) {
71
- var _this$props = _this.props,
72
- dtableChangedTime = _this$props.dtableChangedTime,
73
- chartCalculator = _this$props.chartCalculator,
74
- theme = _this$props.theme,
75
- colorThemeName = _this$props.colorThemeName,
76
- eventBus = _this$props.eventBus;
61
+ this.renderChart = statItem => {
62
+ const {
63
+ dtableChangedTime,
64
+ chartCalculator,
65
+ theme,
66
+ colorThemeName,
67
+ eventBus
68
+ } = this.props;
77
69
  return /*#__PURE__*/React.createElement(StatView, {
78
- ref: function ref(_ref) {
79
- return _this.chartView = _ref;
80
- },
70
+ ref: ref => this.chartView = ref,
81
71
  isPreview: true,
82
72
  isEnlarge: false,
83
73
  dtableChangedTime: dtableChangedTime,
@@ -86,60 +76,57 @@ var ChartPreview = /*#__PURE__*/function (_Component) {
86
76
  statItem: statItem,
87
77
  chartCalculator: chartCalculator,
88
78
  eventBus: eventBus,
89
- getTableById: _this.props.getTableById,
90
- queryMapJson: _this.props.queryMapJson,
91
- toggleStatisticRecordsDialog: _this.props.toggleStatisticRecordsDialog
79
+ getTableById: this.props.getTableById,
80
+ queryMapJson: this.props.queryMapJson,
81
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
92
82
  });
93
83
  };
94
- _this.moveChartToView = function (viewId) {
95
- var statItem = _this.props.statItem;
96
- _this.props.moveChartToView(statItem._id, viewId);
84
+ this.moveChartToView = viewId => {
85
+ const {
86
+ statItem
87
+ } = this.props;
88
+ this.props.moveChartToView(statItem._id, viewId);
97
89
  };
98
- return _this;
99
90
  }
100
- _createClass(ChartPreview, [{
101
- key: "render",
102
- value: function render() {
103
- var _this2 = this;
104
- var _this$props2 = this.props,
105
- isTableReadOnly = _this$props2.isTableReadOnly,
106
- statItem = _this$props2.statItem;
107
- var statId = statItem._id,
108
- statName = statItem.name,
109
- type = statItem.type;
110
- var showStatName = !(type === STAT_TYPE.BASIC_NUMBER_CARD || type === STAT_TYPE.DASHBOARD);
111
- return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
112
- className: "statistic-chart-preview-header"
113
- }, /*#__PURE__*/React.createElement("span", {
114
- className: "statistic-chart-preview-name"
115
- }, showStatName ? statName : ''), /*#__PURE__*/React.createElement("span", {
116
- className: "statistic-chart-preview-operations"
117
- }, /*#__PURE__*/React.createElement("span", {
118
- className: "statistic-chart-preview-microscope",
119
- onClick: this.onToggleShowEnlarged
120
- }, /*#__PURE__*/React.createElement("i", {
121
- className: "dtable-font dtable-icon-open"
122
- })), /*#__PURE__*/React.createElement(StatisticDropdownMenu, {
123
- isTableReadOnly: isTableReadOnly,
124
- chartType: type,
125
- getOtherStatistics: this.props.getOtherStatistics,
126
- onExportChart: function onExportChart() {
127
- return _this2.onExportChart(statItem);
128
- },
129
- editStatItem: this.props.onToggleEditChart.bind(this, statId),
130
- copyStatItem: this.props.copyChart.bind(this, statId),
131
- moveChartToView: this.moveChartToView,
132
- deleteStatItem: this.props.deleteChart.bind(this, statId),
133
- onNewTableDialogToggle: this.onNewTableDialogToggle,
134
- onUpdateTableDialogToggle: this.onUpdateTableDialogToggle
135
- }))), /*#__PURE__*/React.createElement("div", {
136
- id: "stat-item-".concat(statItem._id),
137
- className: "statistic-chart-preview-container"
138
- }, this.renderChart(statItem)), /*#__PURE__*/React.createElement("div", {
139
- className: "statistic-chart-preview-container-resize"
140
- }));
141
- }
142
- }]);
143
- return ChartPreview;
144
- }(Component);
91
+ render() {
92
+ const {
93
+ isTableReadOnly,
94
+ statItem
95
+ } = this.props;
96
+ const {
97
+ _id: statId,
98
+ name: statName,
99
+ type
100
+ } = statItem;
101
+ const showStatName = !(type === STAT_TYPE.BASIC_NUMBER_CARD || type === STAT_TYPE.DASHBOARD);
102
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
103
+ className: "statistic-chart-preview-header"
104
+ }, /*#__PURE__*/React.createElement("span", {
105
+ className: "statistic-chart-preview-name"
106
+ }, showStatName ? statName : ''), /*#__PURE__*/React.createElement("span", {
107
+ className: "statistic-chart-preview-operations"
108
+ }, /*#__PURE__*/React.createElement("span", {
109
+ className: "statistic-chart-preview-microscope",
110
+ onClick: this.onToggleShowEnlarged
111
+ }, /*#__PURE__*/React.createElement("i", {
112
+ className: "dtable-font dtable-icon-open"
113
+ })), /*#__PURE__*/React.createElement(StatisticDropdownMenu, {
114
+ isTableReadOnly: isTableReadOnly,
115
+ chartType: type,
116
+ getOtherStatistics: this.props.getOtherStatistics,
117
+ onExportChart: () => this.onExportChart(statItem),
118
+ editStatItem: this.props.onToggleEditChart.bind(this, statId),
119
+ copyStatItem: this.props.copyChart.bind(this, statId),
120
+ moveChartToView: this.moveChartToView,
121
+ deleteStatItem: this.props.deleteChart.bind(this, statId),
122
+ onNewTableDialogToggle: this.onNewTableDialogToggle,
123
+ onUpdateTableDialogToggle: this.onUpdateTableDialogToggle
124
+ }))), /*#__PURE__*/React.createElement("div", {
125
+ id: "stat-item-".concat(statItem._id),
126
+ className: "statistic-chart-preview-container"
127
+ }, this.renderChart(statItem)), /*#__PURE__*/React.createElement("div", {
128
+ className: "statistic-chart-preview-container-resize"
129
+ }));
130
+ }
131
+ }
145
132
  export default ChartPreview;
@@ -1,8 +1,3 @@
1
- import _objectSpread from "@babel/runtime/helpers/esm/objectSpread2";
2
- import _classCallCheck from "@babel/runtime/helpers/esm/classCallCheck";
3
- import _createClass from "@babel/runtime/helpers/esm/createClass";
4
- import _inherits from "@babel/runtime/helpers/esm/inherits";
5
- import _createSuper from "@babel/runtime/helpers/esm/createSuper";
6
1
  import React, { Component } from 'react';
7
2
  import GridLayout, { WidthProvider } from 'react-grid-layout';
8
3
  import intl from 'react-intl-universal';
@@ -12,246 +7,243 @@ import EnlargeChartDialog from '../components/dialog/enlarged-chart-dialog';
12
7
  import TableSelectDialog from '../components/dialog/table-select-dialog';
13
8
  import { exportStatisticToTable, updateStatisticToTable } from '../utils/export-table-utils';
14
9
  import { CommonEventTypes, STAT_TYPE } from '../constants';
15
- var ReactGridLayout = WidthProvider(GridLayout);
16
- var StatList = /*#__PURE__*/function (_Component) {
17
- _inherits(StatList, _Component);
18
- var _super = _createSuper(StatList);
19
- function StatList(props) {
20
- var _this;
21
- _classCallCheck(this, StatList);
22
- _this = _super.call(this, props);
23
- _this.getStatItemsLayout = function (statItems) {
24
- return Array.isArray(statItems) ? statItems.map(function (chart) {
10
+ const ReactGridLayout = WidthProvider(GridLayout);
11
+ class StatList extends Component {
12
+ constructor(props) {
13
+ super(props);
14
+ this.getStatItemsLayout = statItems => {
15
+ return Array.isArray(statItems) ? statItems.map(chart => {
25
16
  // eslint-disable-next-line
26
17
  if (chart.layout.y == null) {
27
- return _objectSpread(_objectSpread({}, chart.layout), {}, {
18
+ return {
19
+ ...chart.layout,
28
20
  y: Infinity
29
- });
21
+ };
30
22
  }
31
23
  return chart.layout;
32
24
  }) : [];
33
25
  };
34
- _this.editStatItem = function (id) {
35
- _this.props.editStatItem(id);
26
+ this.editStatItem = id => {
27
+ this.props.editStatItem(id);
36
28
  };
37
- _this.onLayoutChange = function (layout) {
38
- _this.props.modifyDashboardLayout(layout);
29
+ this.onLayoutChange = layout => {
30
+ this.props.modifyDashboardLayout(layout);
39
31
  };
40
- _this.enlargeChart = function (chartIndex) {
41
- _this.setState({
32
+ this.enlargeChart = chartIndex => {
33
+ this.setState({
42
34
  enlargedChartIndex: chartIndex
43
35
  });
44
36
  };
45
- _this.closeEnlargedChart = function (event) {
37
+ this.closeEnlargedChart = event => {
46
38
  if (event) {
47
39
  event.preventDefault();
48
40
  event.stopPropagation();
49
41
  }
50
- _this.setState({
42
+ this.setState({
51
43
  enlargedChartIndex: -1
52
44
  });
53
45
  };
54
- _this.showNewTableDialog = function (chartIndexExport2Table, statisticalResult) {
55
- _this.statisticalResult4Export = statisticalResult;
56
- _this.setState({
57
- chartIndexExport2Table: chartIndexExport2Table
46
+ this.showNewTableDialog = (chartIndexExport2Table, statisticalResult) => {
47
+ this.statisticalResult4Export = statisticalResult;
48
+ this.setState({
49
+ chartIndexExport2Table
58
50
  });
59
51
  };
60
- _this.exportChart2Table = function (tableName, chart) {
52
+ this.exportChart2Table = (tableName, chart) => {
61
53
  if (chart.type !== STAT_TYPE.PIVOT_TABLE) {
62
- _this.statisticalResult4Export = null;
54
+ this.statisticalResult4Export = null;
63
55
  toaster.danger(intl.get('Failed_export_statistic_to_Table'));
64
- _this.closeNewTableDialog();
56
+ this.closeNewTableDialog();
65
57
  return;
66
58
  }
67
- _this.closeNewTableDialog();
68
- if (!_this.statisticalResult4Export) {
59
+ this.closeNewTableDialog();
60
+ if (!this.statisticalResult4Export) {
69
61
  return;
70
62
  }
71
- var _exportStatisticToTab = exportStatisticToTable({
72
- statisticalResult: _this.statisticalResult4Export
73
- }),
74
- columns = _exportStatisticToTab.columns,
75
- rows = _exportStatisticToTab.rows;
63
+ const {
64
+ columns,
65
+ rows
66
+ } = exportStatisticToTable({
67
+ statisticalResult: this.statisticalResult4Export
68
+ });
76
69
  if (window.app && window.app.onExportStatisticToTable) {
77
70
  window.app.onExportStatisticToTable({
78
- tableName: tableName,
79
- columns: columns,
80
- rows: rows
71
+ tableName,
72
+ columns,
73
+ rows
81
74
  });
82
75
  }
83
- _this.statisticalResult4Export = null;
84
- _this.props.onCloseDashboard();
76
+ this.statisticalResult4Export = null;
77
+ this.props.onCloseDashboard();
85
78
  };
86
- _this.closeNewTableDialog = function () {
87
- _this.setState({
79
+ this.closeNewTableDialog = () => {
80
+ this.setState({
88
81
  chartIndexExport2Table: -1
89
82
  });
90
83
  };
91
- _this.showSelectTableDialog = function (chartIndexUpdate2Table, statisticalResult) {
92
- _this.statisticalResult4Update = statisticalResult;
93
- _this.setState({
94
- chartIndexUpdate2Table: chartIndexUpdate2Table
84
+ this.showSelectTableDialog = (chartIndexUpdate2Table, statisticalResult) => {
85
+ this.statisticalResult4Update = statisticalResult;
86
+ this.setState({
87
+ chartIndexUpdate2Table
95
88
  });
96
89
  };
97
- _this.updateChart2Table = function (selectedTableId, chartUpdate2Table) {
98
- var getTableById = _this.props.getTableById;
90
+ this.updateChart2Table = (selectedTableId, chartUpdate2Table) => {
91
+ const {
92
+ getTableById
93
+ } = this.props;
99
94
  if (chartUpdate2Table.type !== STAT_TYPE.PIVOT_TABLE) {
100
- _this.statisticalResult4Update = null;
95
+ this.statisticalResult4Update = null;
101
96
  toaster.danger(intl.get('Failed_export_statistic_to_Table'));
102
- _this.closeSelectTableDialog();
97
+ this.closeSelectTableDialog();
103
98
  return;
104
99
  }
105
- var updateTable = getTableById(selectedTableId);
106
- _this.closeSelectTableDialog();
107
- if (!_this.statisticalResult4Update || !updateTable) {
100
+ const updateTable = getTableById(selectedTableId);
101
+ this.closeSelectTableDialog();
102
+ if (!this.statisticalResult4Update || !updateTable) {
108
103
  return;
109
104
  }
110
- var _updateStatisticToTab = updateStatisticToTable({
111
- updateTable: updateTable,
112
- statisticalResult: _this.statisticalResult4Update
113
- }),
114
- newRows = _updateStatisticToTab.newRows,
115
- updatedRows = _updateStatisticToTab.updatedRows,
116
- rowIds = _updateStatisticToTab.rowIds,
117
- oldRows = _updateStatisticToTab.oldRows;
105
+ const {
106
+ newRows,
107
+ updatedRows,
108
+ rowIds,
109
+ oldRows
110
+ } = updateStatisticToTable({
111
+ updateTable,
112
+ statisticalResult: this.statisticalResult4Update
113
+ });
118
114
  if (window.app && window.app.onUpdateStatisticToTable) {
119
115
  window.app.onUpdateStatisticToTable({
120
116
  tableId: selectedTableId,
121
- newRows: newRows,
122
- updatedRows: updatedRows,
123
- rowIds: rowIds,
124
- oldRows: oldRows
117
+ newRows,
118
+ updatedRows,
119
+ rowIds,
120
+ oldRows
125
121
  });
126
122
 
127
123
  // refresh charts if has updates
128
124
  if (Array.isArray(rowIds) && rowIds.length > 0 || Array.isArray(newRows) && newRows.length > 0) {
129
- _this.props.eventBus.dispatch(CommonEventTypes.REFRESH_CHARTS);
125
+ this.props.eventBus.dispatch(CommonEventTypes.REFRESH_CHARTS);
130
126
  }
131
127
  }
132
- _this.statisticalResult4Update = null;
133
- _this.closeSelectTableDialog();
128
+ this.statisticalResult4Update = null;
129
+ this.closeSelectTableDialog();
134
130
  };
135
- _this.closeSelectTableDialog = function () {
136
- _this.setState({
131
+ this.closeSelectTableDialog = () => {
132
+ this.setState({
137
133
  chartIndexUpdate2Table: -1
138
134
  });
139
135
  };
140
- var _statItems = props.statItems;
141
- _this.state = {
142
- layout: _this.getStatItemsLayout(_statItems),
136
+ const {
137
+ statItems: _statItems
138
+ } = props;
139
+ this.state = {
140
+ layout: this.getStatItemsLayout(_statItems),
143
141
  enlargedChartIndex: -1,
144
142
  chartIndexExport2Table: -1,
145
143
  chartIndexUpdate2Table: -1
146
144
  };
147
- return _this;
148
145
  }
149
- _createClass(StatList, [{
150
- key: "UNSAFE_componentWillReceiveProps",
151
- value: function UNSAFE_componentWillReceiveProps(nextProps) {
152
- var statItems = nextProps.statItems;
153
- this.setState({
154
- layout: this.getStatItemsLayout(statItems)
155
- });
156
- }
157
- }, {
158
- key: "render",
159
- value: function render() {
160
- var _this2 = this;
161
- var _this$props = this.props,
162
- isTableReadOnly = _this$props.isTableReadOnly,
163
- dtableChangedTime = _this$props.dtableChangedTime,
164
- theme = _this$props.theme,
165
- colorThemeName = _this$props.colorThemeName,
166
- statItems = _this$props.statItems,
167
- chartCalculator = _this$props.chartCalculator,
168
- eventBus = _this$props.eventBus;
169
- var _this$state = this.state,
170
- layout = _this$state.layout,
171
- enlargedChartIndex = _this$state.enlargedChartIndex,
172
- chartIndexExport2Table = _this$state.chartIndexExport2Table,
173
- chartIndexUpdate2Table = _this$state.chartIndexUpdate2Table;
174
- var enlargedChart = enlargedChartIndex > -1 && statItems[enlargedChartIndex];
175
- var chartExport2Table = chartIndexExport2Table > -1 && statItems[chartIndexExport2Table];
176
- var chartUpdate2Table = chartIndexUpdate2Table > -1 && statItems[chartIndexUpdate2Table];
146
+ UNSAFE_componentWillReceiveProps(nextProps) {
147
+ const {
148
+ statItems
149
+ } = nextProps;
150
+ this.setState({
151
+ layout: this.getStatItemsLayout(statItems)
152
+ });
153
+ }
154
+ render() {
155
+ const {
156
+ isTableReadOnly,
157
+ dtableChangedTime,
158
+ theme,
159
+ colorThemeName,
160
+ statItems,
161
+ chartCalculator,
162
+ eventBus
163
+ } = this.props;
164
+ const {
165
+ layout,
166
+ enlargedChartIndex,
167
+ chartIndexExport2Table,
168
+ chartIndexUpdate2Table
169
+ } = this.state;
170
+ const enlargedChart = enlargedChartIndex > -1 && statItems[enlargedChartIndex];
171
+ const chartExport2Table = chartIndexExport2Table > -1 && statItems[chartIndexExport2Table];
172
+ const chartUpdate2Table = chartIndexUpdate2Table > -1 && statItems[chartIndexUpdate2Table];
173
+ return /*#__PURE__*/React.createElement("div", {
174
+ className: "statistic-list"
175
+ }, Array.isArray(statItems) && /*#__PURE__*/React.createElement(ReactGridLayout, {
176
+ className: "statistic-layout layout",
177
+ isDraggable: true,
178
+ rowHeight: 35,
179
+ layout: layout,
180
+ containerPadding: [15, 15],
181
+ margin: [10, 10],
182
+ draggableHandle: '.statistic-chart-preview-header',
183
+ onLayoutChange: this.onLayoutChange,
184
+ cols: 4,
185
+ useCSSTransforms: false
186
+ }, statItems.map((statItem, index) => {
187
+ const statId = statItem._id;
188
+ if (!statId) return null;
177
189
  return /*#__PURE__*/React.createElement("div", {
178
- className: "statistic-list"
179
- }, Array.isArray(statItems) && /*#__PURE__*/React.createElement(ReactGridLayout, {
180
- className: "statistic-layout layout",
181
- isDraggable: true,
182
- rowHeight: 35,
183
- layout: layout,
184
- containerPadding: [15, 15],
185
- margin: [10, 10],
186
- draggableHandle: '.statistic-chart-preview-header',
187
- onLayoutChange: this.onLayoutChange,
188
- cols: 4,
189
- useCSSTransforms: false
190
- }, statItems.map(function (statItem, index) {
191
- var statId = statItem._id;
192
- if (!statId) return null;
193
- return /*#__PURE__*/React.createElement("div", {
194
- id: statId,
195
- key: statId,
196
- className: "statistic-chart-preview"
197
- }, /*#__PURE__*/React.createElement(ChartPreview, {
198
- isTableReadOnly: isTableReadOnly,
199
- dtableChangedTime: dtableChangedTime,
200
- theme: theme,
201
- colorThemeName: colorThemeName,
202
- statItem: statItem,
203
- chartCalculator: chartCalculator,
204
- eventBus: eventBus,
205
- getOtherStatistics: _this2.props.getOtherStatistics,
206
- getTableById: _this2.props.getTableById,
207
- getTables: _this2.props.getTables,
208
- queryMapJson: _this2.props.queryMapJson,
209
- copyChart: _this2.props.copyChart,
210
- moveChartToView: _this2.props.moveChartToView,
211
- deleteChart: _this2.props.deleteChart,
212
- enlargeChart: function enlargeChart() {
213
- return _this2.enlargeChart(index);
214
- },
215
- showNewTableDialog: function showNewTableDialog(_ref) {
216
- var statisticalResult = _ref.statisticalResult;
217
- return _this2.showNewTableDialog(index, statisticalResult);
218
- },
219
- showSelectTableDialog: function showSelectTableDialog(_ref2) {
220
- var statisticalResult = _ref2.statisticalResult;
221
- return _this2.showSelectTableDialog(index, statisticalResult);
222
- },
223
- onToggleEditChart: _this2.props.onToggleEditChart,
224
- onCloseDashboard: _this2.props.onCloseDashboard,
225
- toggleStatisticRecordsDialog: _this2.props.toggleStatisticRecordsDialog
226
- }));
227
- })), enlargedChart && /*#__PURE__*/React.createElement(EnlargeChartDialog, {
190
+ id: statId,
191
+ key: statId,
192
+ className: "statistic-chart-preview"
193
+ }, /*#__PURE__*/React.createElement(ChartPreview, {
194
+ isTableReadOnly: isTableReadOnly,
228
195
  dtableChangedTime: dtableChangedTime,
196
+ theme: theme,
229
197
  colorThemeName: colorThemeName,
230
- statItem: enlargedChart,
231
- eventBus: eventBus,
198
+ statItem: statItem,
232
199
  chartCalculator: chartCalculator,
200
+ eventBus: eventBus,
201
+ getOtherStatistics: this.props.getOtherStatistics,
233
202
  getTableById: this.props.getTableById,
234
- queryMapJson: this.props.queryMapJson,
235
- onEnlargeToggle: this.closeEnlargedChart,
236
- onToggleShowEnlarged: this.closeEnlargedChart,
237
- toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
238
- }), chartExport2Table && /*#__PURE__*/React.createElement(NewTableDialog, {
239
203
  getTables: this.props.getTables,
240
- tableName: chartExport2Table.name,
241
- onNewTableConfirm: function onNewTableConfirm(tableName) {
242
- return _this2.exportChart2Table(tableName, chartExport2Table);
204
+ queryMapJson: this.props.queryMapJson,
205
+ copyChart: this.props.copyChart,
206
+ moveChartToView: this.props.moveChartToView,
207
+ deleteChart: this.props.deleteChart,
208
+ enlargeChart: () => this.enlargeChart(index),
209
+ showNewTableDialog: _ref => {
210
+ let {
211
+ statisticalResult
212
+ } = _ref;
213
+ return this.showNewTableDialog(index, statisticalResult);
243
214
  },
244
- onNewTableCancel: this.closeNewTableDialog
245
- }), chartUpdate2Table && /*#__PURE__*/React.createElement(TableSelectDialog, {
246
- tables: this.props.getTables(),
247
- title: intl.get('Update_to_a_table'),
248
- toggle: this.closeSelectTableDialog,
249
- onSelectTable: function onSelectTable(selectedTableId) {
250
- return _this2.updateChart2Table(selectedTableId, chartUpdate2Table);
251
- }
215
+ showSelectTableDialog: _ref2 => {
216
+ let {
217
+ statisticalResult
218
+ } = _ref2;
219
+ return this.showSelectTableDialog(index, statisticalResult);
220
+ },
221
+ onToggleEditChart: this.props.onToggleEditChart,
222
+ onCloseDashboard: this.props.onCloseDashboard,
223
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
252
224
  }));
253
- }
254
- }]);
255
- return StatList;
256
- }(Component);
225
+ })), enlargedChart && /*#__PURE__*/React.createElement(EnlargeChartDialog, {
226
+ dtableChangedTime: dtableChangedTime,
227
+ colorThemeName: colorThemeName,
228
+ statItem: enlargedChart,
229
+ eventBus: eventBus,
230
+ chartCalculator: chartCalculator,
231
+ getTableById: this.props.getTableById,
232
+ queryMapJson: this.props.queryMapJson,
233
+ onEnlargeToggle: this.closeEnlargedChart,
234
+ onToggleShowEnlarged: this.closeEnlargedChart,
235
+ toggleStatisticRecordsDialog: this.props.toggleStatisticRecordsDialog
236
+ }), chartExport2Table && /*#__PURE__*/React.createElement(NewTableDialog, {
237
+ getTables: this.props.getTables,
238
+ tableName: chartExport2Table.name,
239
+ onNewTableConfirm: tableName => this.exportChart2Table(tableName, chartExport2Table),
240
+ onNewTableCancel: this.closeNewTableDialog
241
+ }), chartUpdate2Table && /*#__PURE__*/React.createElement(TableSelectDialog, {
242
+ tables: this.props.getTables(),
243
+ title: intl.get('Update_to_a_table'),
244
+ toggle: this.closeSelectTableDialog,
245
+ onSelectTable: selectedTableId => this.updateChart2Table(selectedTableId, chartUpdate2Table)
246
+ }));
247
+ }
248
+ }
257
249
  export default StatList;