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,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 from 'react';
6
2
  import PropTypes from 'prop-types';
7
3
  import intl from 'react-intl-universal';
@@ -10,7 +6,7 @@ import BaseChart from './base-chart';
10
6
  import { Chart } from '../custom-g2';
11
7
  import { getCurrentTheme } from '../utils/common-utils';
12
8
  import { EMPTY_NAME, STAT_TYPE } from '../constants';
13
- var propTypes = {
9
+ const propTypes = {
14
10
  isPreview: PropTypes.bool,
15
11
  isEdit: PropTypes.bool,
16
12
  colorThemeName: PropTypes.string,
@@ -19,96 +15,98 @@ var propTypes = {
19
15
  getTableById: PropTypes.func,
20
16
  toggleStatisticRecordsDialog: PropTypes.func
21
17
  };
22
- var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
23
- _inherits(CompletenessChart, _BaseChart);
24
- var _super = _createSuper(CompletenessChart);
25
- function CompletenessChart(props) {
26
- var _this;
27
- _classCallCheck(this, CompletenessChart);
28
- _this = _super.call(this, props);
29
- _this.destroyChart = function () {
30
- _this.chart.destroy();
31
- _this.chart = null;
18
+ class CompletenessChart extends BaseChart {
19
+ constructor(props) {
20
+ super(props);
21
+ this.destroyChart = () => {
22
+ this.chart.destroy();
23
+ this.chart = null;
32
24
  };
33
- _this.sortData = function (data, sortType) {
34
- var compareCompleteness = sortType == 'ascending' ? function (a, b) {
25
+ this.sortData = (data, sortType) => {
26
+ const compareCompleteness = sortType == 'ascending' ? function (a, b) {
35
27
  return a - b;
36
28
  } : function (a, b) {
37
29
  return b - a;
38
30
  };
39
- var sortBy = function sortBy(a, b) {
31
+ const sortBy = (a, b) => {
40
32
  if (a.name === b.name) {
41
33
  return a.type == 'completed' ? -1 : 1;
42
34
  }
43
- var aCompleteness = a.current_value / a.target_value;
44
- var bCompleteness = b.current_value / b.target_value;
35
+ const aCompleteness = a.current_value / a.target_value;
36
+ const bCompleteness = b.current_value / b.target_value;
45
37
  return compareCompleteness(aCompleteness, bCompleteness);
46
38
  };
47
39
  return data.sort(sortBy);
48
40
  };
49
- _this.drawChart = function (data) {
50
- var _this$props = _this.props,
51
- getTableById = _this$props.getTableById,
52
- statItem = _this$props.statItem,
53
- colorThemeName = _this$props.colorThemeName;
54
- var sort_type = statItem.sort_type,
55
- completed_column = statItem.completed_column,
56
- target_column = statItem.target_column,
57
- table_id = statItem.table_id;
58
- var isGroupChart = statItem.type === STAT_TYPE.GROUP_COMPLETENESS_CHART;
59
- var currentTheme = getCurrentTheme(colorThemeName);
60
- _this.initChartHandler();
61
- var selectedTable = getTableById(table_id);
62
- var completedColumn = TableUtils.getTableColumnByKey(selectedTable, completed_column);
63
- var targetColumn = TableUtils.getTableColumnByKey(selectedTable, target_column);
41
+ this.drawChart = data => {
42
+ const {
43
+ getTableById,
44
+ statItem,
45
+ colorThemeName
46
+ } = this.props;
47
+ const {
48
+ sort_type,
49
+ completed_column,
50
+ target_column,
51
+ table_id
52
+ } = statItem;
53
+ const isGroupChart = statItem.type === STAT_TYPE.GROUP_COMPLETENESS_CHART;
54
+ const currentTheme = getCurrentTheme(colorThemeName);
55
+ this.initChartHandler();
56
+ const selectedTable = getTableById(table_id);
57
+ const completedColumn = TableUtils.getTableColumnByKey(selectedTable, completed_column);
58
+ const targetColumn = TableUtils.getTableColumnByKey(selectedTable, target_column);
64
59
 
65
60
  // 数据颜色映射value设置当前主题色
66
61
  if (isGroupChart) {
67
- var newColorMap = {};
68
- Object.keys(data.colorMap).forEach(function (item, index) {
62
+ const newColorMap = {};
63
+ Object.keys(data.colorMap).forEach((item, index) => {
69
64
  newColorMap[item] = currentTheme && currentTheme.colors[index];
70
65
  });
71
66
  data.colorMap = newColorMap;
72
67
  }
73
68
  if (sort_type && !isGroupChart) {
74
- _this.sortData(data, sort_type);
69
+ this.sortData(data, sort_type);
75
70
  }
76
- _this.chart.on('element:click', function (e) {
77
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
71
+ this.chart.on('element:click', e => {
72
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
78
73
  });
79
- _this.chart.data(data, {
74
+ this.chart.data(data, {
80
75
  'name': {
81
76
  type: 'cat',
82
77
  nice: false
83
78
  }
84
79
  });
85
- _this.chart.coordinate('rect');
86
- _this.handleAutoRange(targetColumn);
87
- var themeColors = _this.getThemeColors();
88
- _this.drawBar({
89
- data: data,
90
- currentTheme: currentTheme,
91
- themeColors: themeColors,
92
- isGroupChart: isGroupChart,
93
- completedColumn: completedColumn,
94
- targetColumn: targetColumn
80
+ this.chart.coordinate('rect');
81
+ this.handleAutoRange(targetColumn);
82
+ const themeColors = this.getThemeColors();
83
+ this.drawBar({
84
+ data,
85
+ currentTheme,
86
+ themeColors,
87
+ isGroupChart,
88
+ completedColumn,
89
+ targetColumn
95
90
  });
96
- _this.setTooltip();
97
- _this.setAxis(themeColors);
98
- _this.chart.interaction('active-region');
99
- _this.chart.coordinate().transpose();
91
+ this.setTooltip();
92
+ this.setAxis(themeColors);
93
+ this.chart.interaction('active-region');
94
+ this.chart.coordinate().transpose();
100
95
  if (isGroupChart) {
101
- _this.setLegendGroup(themeColors);
96
+ this.setLegendGroup(themeColors);
102
97
  }
103
- _this.chart.render();
98
+ this.chart.render();
104
99
  };
105
- _this.initChartHandler = function () {
106
- var _this$props2 = _this.props,
107
- isPreview = _this$props2.isPreview,
108
- statItem = _this$props2.statItem;
109
- var display_percentage = statItem.display_percentage;
110
- var config = {
111
- container: _this.container,
100
+ this.initChartHandler = () => {
101
+ const {
102
+ isPreview,
103
+ statItem
104
+ } = this.props;
105
+ const {
106
+ display_percentage
107
+ } = statItem;
108
+ let config = {
109
+ container: this.container,
112
110
  autoFit: true,
113
111
  appendPadding: [0, display_percentage ? 30 : 0, 0, 0]
114
112
  };
@@ -116,20 +114,18 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
116
114
  config.height = 400;
117
115
  config.width = 700;
118
116
  }
119
- _this.chart = new Chart(config);
117
+ this.chart = new Chart(config);
120
118
  };
121
- _this.handleAutoRange = function (targetColumn) {
122
- var _this$props$statItem = _this.props.statItem,
123
- _this$props$statItem$ = _this$props$statItem.y_axis_auto_range,
124
- y_axis_auto_range = _this$props$statItem$ === void 0 ? true : _this$props$statItem$,
125
- _this$props$statItem$2 = _this$props$statItem.y_axis_min,
126
- y_axis_min = _this$props$statItem$2 === void 0 ? 0 : _this$props$statItem$2,
127
- _this$props$statItem$3 = _this$props$statItem.y_axis_max,
128
- y_axis_max = _this$props$statItem$3 === void 0 ? 0 : _this$props$statItem$3;
129
- var valueScaleOptions = {
119
+ this.handleAutoRange = targetColumn => {
120
+ const {
121
+ y_axis_auto_range = true,
122
+ y_axis_min = 0,
123
+ y_axis_max = 0
124
+ } = this.props.statItem;
125
+ let valueScaleOptions = {
130
126
  nice: true,
131
- formatter: function formatter(value) {
132
- return _this.getNumberDisplayString(value, targetColumn.data);
127
+ formatter: value => {
128
+ return this.getNumberDisplayString(value, targetColumn.data);
133
129
  }
134
130
  };
135
131
  if (!y_axis_auto_range) {
@@ -138,7 +134,7 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
138
134
  max: y_axis_max
139
135
  });
140
136
  }
141
- _this.chart.scale({
137
+ this.chart.scale({
142
138
  name: {
143
139
  type: 'cat'
144
140
  },
@@ -146,31 +142,34 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
146
142
  value: valueScaleOptions
147
143
  });
148
144
  };
149
- _this.drawBar = function (_ref) {
150
- var data = _ref.data,
151
- themeColors = _ref.themeColors,
152
- currentTheme = _ref.currentTheme,
153
- isGroupChart = _ref.isGroupChart,
154
- completedColumn = _ref.completedColumn,
155
- targetColumn = _ref.targetColumn;
156
- var _this$props$statItem2 = _this.props.statItem,
157
- group_column = _this$props$statItem2.group_column,
158
- display_percentage = _this$props$statItem2.display_percentage;
159
- var adjustType = isGroupChart ? [{
145
+ this.drawBar = _ref => {
146
+ let {
147
+ data,
148
+ themeColors,
149
+ currentTheme,
150
+ isGroupChart,
151
+ completedColumn,
152
+ targetColumn
153
+ } = _ref;
154
+ const {
155
+ group_column,
156
+ display_percentage
157
+ } = this.props.statItem;
158
+ const adjustType = isGroupChart ? [{
160
159
  type: 'dodge',
161
160
  dodgeBy: 'group_label'
162
161
  }, {
163
162
  type: 'stack'
164
163
  }] : 'stack';
165
- _this.chart.interval().label(display_percentage ? 'current_value*target_value' : false, {
164
+ this.chart.interval().label(display_percentage ? 'current_value*target_value' : false, {
166
165
  position: 'right',
167
166
  offset: 3,
168
167
  style: {
169
- fontSize: _this.getLabelFontSize(),
168
+ fontSize: this.getLabelFontSize(),
170
169
  fill: themeColors.textColor
171
170
  },
172
- content: function content(data) {
173
- var currentValue = data.current_value,
171
+ content: function (data) {
172
+ const currentValue = data.current_value,
174
173
  targetValue = data.target_value || 1;
175
174
  if (data.type === 'completed') {
176
175
  if (currentValue >= targetValue) {
@@ -180,7 +179,7 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
180
179
  }
181
180
  return Math.round(currentValue / targetValue * 100) + '%';
182
181
  }
183
- }).position('name*value').color('group_label*type', function (group_label, type) {
182
+ }).position('name*value').color('group_label*type', (group_label, type) => {
184
183
  if (type === 'uncompleted') {
185
184
  return '#bdbdbd';
186
185
  }
@@ -188,23 +187,23 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
188
187
  return currentTheme && currentTheme.colors[0] || 'red';
189
188
  }
190
189
  return data.colorMap[group_label];
191
- }).adjust(adjustType).tooltip('name*current_value*target_value*type', function (name, current_value, target_value, type) {
192
- var tooltipName = intl.get('Completed');
193
- var value;
190
+ }).adjust(adjustType).tooltip('name*current_value*target_value*type', (name, current_value, target_value, type) => {
191
+ let tooltipName = intl.get('Completed');
192
+ let value;
194
193
  if (type === 'uncompleted') {
195
194
  tooltipName = intl.get('Uncompleted');
196
- value = _this.getNumberDisplayString(target_value - current_value, targetColumn.data);
195
+ value = this.getNumberDisplayString(target_value - current_value, targetColumn.data);
197
196
  } else {
198
- value = _this.getNumberDisplayString(current_value, completedColumn.data);
197
+ value = this.getNumberDisplayString(current_value, completedColumn.data);
199
198
  }
200
- var tooltipTitle = name;
199
+ let tooltipTitle = name;
201
200
  if (!tooltipTitle && typeof tooltipTitle !== 'number') {
202
201
  tooltipTitle = intl.get(EMPTY_NAME);
203
202
  }
204
203
  return {
205
204
  title: tooltipTitle,
206
205
  name: tooltipName,
207
- value: value
206
+ value
208
207
  };
209
208
  }).state({
210
209
  active: {
@@ -214,23 +213,23 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
214
213
  }
215
214
  });
216
215
  };
217
- _this.setTooltip = function () {
218
- _this.chart.tooltip({
216
+ this.setTooltip = () => {
217
+ this.chart.tooltip({
219
218
  showTitle: true,
220
219
  showMarkers: false,
221
220
  containerTpl: '<div class="g2-tooltip"><div class="g2-tooltip-list"></div></div>',
222
221
  itemTpl: '<div class="g2-tooltip-content"><div class="tooltip-name">{title}<div><div class="tooltip-item">{name}: {value}<div></div>',
223
222
  domStyles: {
224
- 'g2-tooltip': _this.getDefaultChartStyleByKey('g2-tooltip'),
225
- 'tooltip-item': _this.getDefaultChartStyleByKey('tooltip-item')
223
+ 'g2-tooltip': this.getDefaultChartStyleByKey('g2-tooltip'),
224
+ 'tooltip-item': this.getDefaultChartStyleByKey('tooltip-item')
226
225
  }
227
226
  });
228
227
  };
229
- _this.setAxis = function (themeColors) {
230
- _this.chart.axis('name', {
228
+ this.setAxis = themeColors => {
229
+ this.chart.axis('name', {
231
230
  label: {
232
- formatter: function formatter(name) {
233
- var label = name;
231
+ formatter: name => {
232
+ let label = name;
234
233
  if (!name && typeof name !== 'number') {
235
234
  label = intl.get(EMPTY_NAME);
236
235
  }
@@ -244,7 +243,7 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
244
243
  style: themeColors.gridColor
245
244
  }
246
245
  });
247
- _this.chart.axis('value', {
246
+ this.chart.axis('value', {
248
247
  label: {
249
248
  style: {
250
249
  fill: themeColors.textColor
@@ -259,13 +258,13 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
259
258
  }
260
259
  });
261
260
  };
262
- _this.setLegendGroup = function (themeColors) {
263
- _this.chart.legend('group_label', {
261
+ this.setLegendGroup = themeColors => {
262
+ this.chart.legend('group_label', {
264
263
  itemName: {
265
264
  style: {
266
265
  fill: themeColors.textColor
267
266
  },
268
- formatter: function formatter(name) {
267
+ formatter: name => {
269
268
  return !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name;
270
269
  }
271
270
  },
@@ -285,111 +284,100 @@ var CompletenessChart = /*#__PURE__*/function (_BaseChart) {
285
284
  }
286
285
  });
287
286
  };
288
- _this.state = {
287
+ this.state = {
289
288
  isCalculatingData: true,
290
289
  showResultDescription: true
291
290
  };
292
- _this.calculateData = null;
293
- return _this;
291
+ this.calculateData = null;
294
292
  }
295
- _createClass(CompletenessChart, [{
296
- key: "componentDidMount",
297
- value: function componentDidMount() {
298
- var _this2 = this;
299
- var _this$props3 = this.props,
300
- statItem = _this$props3.statItem,
301
- chartCalculator = _this$props3.chartCalculator;
302
- if (this.container) {
303
- chartCalculator.calculate(statItem).then(function (data) {
304
- var showResultDescription = data.length > 0 ? false : true;
305
- _this2.setState({
306
- isCalculatingData: false,
307
- showResultDescription: showResultDescription
308
- }, function () {
309
- if (!showResultDescription) {
310
- _this2.drawChart(data);
311
- _this2.calculateData = data;
312
- }
313
- });
293
+ componentDidMount() {
294
+ const {
295
+ statItem,
296
+ chartCalculator
297
+ } = this.props;
298
+ if (this.container) {
299
+ chartCalculator.calculate(statItem).then(data => {
300
+ const showResultDescription = data.length > 0 ? false : true;
301
+ this.setState({
302
+ isCalculatingData: false,
303
+ showResultDescription
304
+ }, () => {
305
+ if (!showResultDescription) {
306
+ this.drawChart(data);
307
+ this.calculateData = data;
308
+ }
314
309
  });
315
- }
310
+ });
316
311
  }
317
- }, {
318
- key: "shouldComponentUpdate",
319
- value: function shouldComponentUpdate(nextProps, nextState) {
320
- var colorThemeName = this.props.colorThemeName;
321
- if (this.canUpdate(this.props, nextProps)) {
322
- return true;
323
- }
324
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
325
- return true;
326
- }
327
- if (nextProps.colorThemeName !== colorThemeName) {
328
- return true;
329
- }
330
- return false;
312
+ }
313
+ shouldComponentUpdate(nextProps, nextState) {
314
+ const {
315
+ colorThemeName
316
+ } = this.props;
317
+ if (this.canUpdate(this.props, nextProps)) {
318
+ return true;
319
+ }
320
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
321
+ return true;
331
322
  }
332
- }, {
333
- key: "componentDidUpdate",
334
- value: function componentDidUpdate(preProps, preState) {
335
- var _this3 = this;
336
- var _this$props4 = this.props,
337
- statItem = _this$props4.statItem,
338
- chartCalculator = _this$props4.chartCalculator;
339
- var isCalculatingData = this.state.isCalculatingData;
340
- if (isCalculatingData !== preState.isCalculatingData) return;
341
- if (this.shouldCalculateStatItem(preProps, this.props)) {
323
+ if (nextProps.colorThemeName !== colorThemeName) {
324
+ return true;
325
+ }
326
+ return false;
327
+ }
328
+ componentDidUpdate(preProps, preState) {
329
+ const {
330
+ statItem,
331
+ chartCalculator
332
+ } = this.props;
333
+ const {
334
+ isCalculatingData
335
+ } = this.state;
336
+ if (isCalculatingData !== preState.isCalculatingData) return;
337
+ if (this.shouldCalculateStatItem(preProps, this.props)) {
338
+ this.setState({
339
+ isCalculatingData: true
340
+ });
341
+ chartCalculator.calculate(statItem).then(data => {
342
+ const showResultDescription = data.length > 0 ? false : true;
343
+ this.chart && this.destroyChart();
344
+ this.calculateData = data;
342
345
  this.setState({
343
- isCalculatingData: true
344
- });
345
- chartCalculator.calculate(statItem).then(function (data) {
346
- var showResultDescription = data.length > 0 ? false : true;
347
- _this3.chart && _this3.destroyChart();
348
- _this3.calculateData = data;
349
- _this3.setState({
350
- isCalculatingData: false,
351
- showResultDescription: showResultDescription
352
- }, function () {
353
- if (!showResultDescription) {
354
- _this3.drawChart(data);
355
- if (_this3.props.isPreview) _this3.chart.forceFit();
356
- }
357
- });
358
- });
359
- } else {
360
- if (!this.state.showResultDescription) {
361
- this.chart && this.destroyChart();
362
- this.drawChart(this.calculateData);
363
- if (this.props.isPreview) {
364
- this.chart.forceFit();
346
+ isCalculatingData: false,
347
+ showResultDescription
348
+ }, () => {
349
+ if (!showResultDescription) {
350
+ this.drawChart(data);
351
+ if (this.props.isPreview) this.chart.forceFit();
365
352
  }
353
+ });
354
+ });
355
+ } else {
356
+ if (!this.state.showResultDescription) {
357
+ this.chart && this.destroyChart();
358
+ this.drawChart(this.calculateData);
359
+ if (this.props.isPreview) {
360
+ this.chart.forceFit();
366
361
  }
367
362
  }
368
363
  }
369
- }, {
370
- key: "componentWillUnmount",
371
- value: function componentWillUnmount() {
372
- this.container = null;
373
- }
374
- }, {
375
- key: "render",
376
- value: function render() {
377
- var _this4 = this;
378
- var _this$state = this.state,
379
- isCalculatingData = _this$state.isCalculatingData,
380
- showResultDescription = _this$state.showResultDescription;
381
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
382
- ref: function ref(_ref2) {
383
- return _this4.container = _ref2;
384
- },
385
- style: {
386
- padding: 20
387
- },
388
- className: "statistic-chart-container"
389
- }));
390
- }
391
- }]);
392
- return CompletenessChart;
393
- }(BaseChart);
364
+ }
365
+ componentWillUnmount() {
366
+ this.container = null;
367
+ }
368
+ render() {
369
+ const {
370
+ isCalculatingData,
371
+ showResultDescription
372
+ } = this.state;
373
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
374
+ ref: ref => this.container = ref,
375
+ style: {
376
+ padding: 20
377
+ },
378
+ className: "statistic-chart-container"
379
+ }));
380
+ }
381
+ }
394
382
  CompletenessChart.propTypes = propTypes;
395
383
  export default CompletenessChart;