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 DataSet from '@antv/data-set';
@@ -12,7 +8,7 @@ import BaseChart from './base-chart';
12
8
  import { getChartGroups } from '../utils/basic-chart-utils';
13
9
  import { getCurrentTheme } from '../utils/common-utils';
14
10
  import { EMPTY_NAME, LABEL_CONFIG_CHANGED, TITLE_AMOUNT } from '../constants';
15
- var propTypes = {
11
+ const propTypes = {
16
12
  isPreview: PropTypes.bool,
17
13
  isEdit: PropTypes.bool,
18
14
  statItem: PropTypes.object,
@@ -22,44 +18,43 @@ var propTypes = {
22
18
  colorThemeName: PropTypes.string,
23
19
  toggleStatisticRecordsDialog: PropTypes.func
24
20
  };
25
- var CustomBar = /*#__PURE__*/function (_BaseChart) {
26
- _inherits(CustomBar, _BaseChart);
27
- var _super = _createSuper(CustomBar);
28
- function CustomBar(props) {
29
- var _this;
30
- _classCallCheck(this, CustomBar);
31
- _this = _super.call(this, props);
32
- _this.drawChart = function (originalData) {
21
+ class CustomBar extends BaseChart {
22
+ constructor(props) {
23
+ super(props);
24
+ this.drawChart = originalData => {
33
25
  // just support custom stack-bar
34
- var _this$props = _this.props,
35
- statItem = _this$props.statItem,
36
- colorThemeName = _this$props.colorThemeName;
37
- _this.initChartHandler();
38
- var data = originalData;
39
- _this.chart.on('interval:click', function (e) {
40
- _this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
26
+ const {
27
+ statItem,
28
+ colorThemeName
29
+ } = this.props;
30
+ this.initChartHandler();
31
+ let data = originalData;
32
+ this.chart.on('interval:click', e => {
33
+ this.props.toggleStatisticRecordsDialog(e.data.data, statItem);
41
34
  });
42
- _this.chart.scale('group_name', {
35
+ this.chart.scale('group_name', {
43
36
  type: 'cat'
44
37
  });
45
- _this.chart.data(data, {
38
+ this.chart.data(data, {
46
39
  'name': {
47
40
  type: 'cat',
48
41
  nice: false
49
42
  }
50
43
  });
51
- var width = _this.chart.coordinateBBox.width;
52
- var chartData = getChartGroups(data);
53
- var ticks = _this.getTicks(chartData, width);
44
+ const {
45
+ width
46
+ } = this.chart.coordinateBBox;
47
+ const chartData = getChartGroups(data);
48
+ const ticks = this.getTicks(chartData, width);
54
49
  if (ticks.length > 0) {
55
- _this.chart.scale('name', {
56
- ticks: ticks
50
+ this.chart.scale('name', {
51
+ ticks
57
52
  });
58
53
  }
59
54
 
60
55
  // set Coord type
61
- _this.chart.coordinate('rect');
62
- _this.chart.scale({
56
+ this.chart.coordinate('rect');
57
+ this.chart.scale({
63
58
  // Set the type of the name column so that g2 can draw correctly
64
59
  name: {
65
60
  type: 'cat'
@@ -67,7 +62,7 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
67
62
  });
68
63
 
69
64
  // get the total value of each stack
70
- var dv = new DataSet.DataView().source(data);
65
+ const dv = new DataSet.DataView().source(data);
71
66
  dv.transform({
72
67
  type: 'aggregate',
73
68
  fields: ['value'],
@@ -75,31 +70,34 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
75
70
  as: ['value_sum'],
76
71
  groupBy: ['name', 'y_axis_type']
77
72
  });
78
- _this.chart.scale({
73
+ this.chart.scale({
79
74
  group_name: {
80
75
  type: 'cat'
81
76
  }
82
77
  });
83
- var currentTheme = getCurrentTheme(colorThemeName);
84
- var themeColors = _this.getThemeColors();
85
- _this.drawBar({
86
- themeColors: themeColors,
87
- currentTheme: currentTheme
78
+ const currentTheme = getCurrentTheme(colorThemeName);
79
+ const themeColors = this.getThemeColors();
80
+ this.drawBar({
81
+ themeColors,
82
+ currentTheme
88
83
  });
89
- _this.setTooltip();
90
- _this.setAxis(themeColors);
91
- _this.setLegend(themeColors);
92
- _this.chart.interaction('active-region');
93
- _this.chart.render();
94
- _this.renderAxisLabel();
84
+ this.setTooltip();
85
+ this.setAxis(themeColors);
86
+ this.setLegend(themeColors);
87
+ this.chart.interaction('active-region');
88
+ this.chart.render();
89
+ this.renderAxisLabel();
95
90
  };
96
- _this.initChartHandler = function () {
97
- var _this$props2 = _this.props,
98
- isPreview = _this$props2.isPreview,
99
- statItem = _this$props2.statItem;
100
- var display_data = statItem.display_data;
101
- var config = {
102
- container: _this.container,
91
+ this.initChartHandler = () => {
92
+ const {
93
+ isPreview,
94
+ statItem
95
+ } = this.props;
96
+ const {
97
+ display_data
98
+ } = statItem;
99
+ let config = {
100
+ container: this.container,
103
101
  autoFit: true,
104
102
  appendPadding: [display_data ? 17 : 0, 0, 0, 0]
105
103
  };
@@ -107,32 +105,36 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
107
105
  config.height = 400;
108
106
  config.width = 700;
109
107
  }
110
- _this.chart = new Chart(config);
108
+ this.chart = new Chart(config);
111
109
  };
112
- _this.drawBar = function (_ref) {
113
- var themeColors = _ref.themeColors,
114
- currentTheme = _ref.currentTheme;
115
- var display_each_block_data = _this.props.statItem.display_each_block_data;
116
- var displayData = display_each_block_data;
117
- var labelCfg = {
110
+ this.drawBar = _ref => {
111
+ let {
112
+ themeColors,
113
+ currentTheme
114
+ } = _ref;
115
+ const {
116
+ display_each_block_data
117
+ } = this.props.statItem;
118
+ const displayData = display_each_block_data;
119
+ let labelCfg = {
118
120
  style: {
119
- fontSize: _this.getLabelFontSize(),
121
+ fontSize: this.getLabelFontSize(),
120
122
  fill: themeColors.textColor
121
123
  }
122
124
  };
123
125
  if (displayData) {
124
126
  labelCfg.position = 'middle';
125
127
  }
126
- var groupColorCallback = currentTheme && currentTheme.colors;
127
- _this.chart.interval().label(displayData ? 'formatted_value' : false, labelCfg).position('name*value').color('group_name', groupColorCallback).tooltip('name*formatted_value*group_name*raw_name', function (name, value, group_name, raw_name) {
128
- var nameContent = group_name;
128
+ const groupColorCallback = currentTheme && currentTheme.colors;
129
+ this.chart.interval().label(displayData ? 'formatted_value' : false, labelCfg).position('name*value').color('group_name', groupColorCallback).tooltip('name*formatted_value*group_name*raw_name', (name, value, group_name, raw_name) => {
130
+ let nameContent = group_name;
129
131
  if (!group_name && typeof group_name !== 'number') {
130
132
  nameContent = intl.get(EMPTY_NAME);
131
133
  }
132
- var title = !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name;
134
+ const title = !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name;
133
135
  return {
134
- value: value,
135
- title: title,
136
+ value,
137
+ title,
136
138
  name: nameContent
137
139
  };
138
140
  }).adjust([{
@@ -149,20 +151,20 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
149
151
  }
150
152
  });
151
153
  };
152
- _this.setTooltip = function () {
153
- _this.chart.tooltip({
154
+ this.setTooltip = () => {
155
+ this.chart.tooltip({
154
156
  showTitle: true,
155
157
  showMarkers: false,
156
158
  containerTpl: '<div class="g2-tooltip"><div class="g2-tooltip-list"></div></div>',
157
159
  itemTpl: '<div class="g2-tooltip-content"><div class="tooltip-name">{title}<div><div class="tooltip-item">{name}: {value}<div></div>',
158
160
  domStyles: {
159
- 'g2-tooltip': _this.getDefaultChartStyleByKey('g2-tooltip'),
160
- 'tooltip-item': _this.getDefaultChartStyleByKey('tooltip-item')
161
+ 'g2-tooltip': this.getDefaultChartStyleByKey('g2-tooltip'),
162
+ 'tooltip-item': this.getDefaultChartStyleByKey('tooltip-item')
161
163
  }
162
164
  });
163
165
  };
164
- _this.setAxis = function (themeColors) {
165
- _this.chart.axis('name', {
166
+ this.setAxis = themeColors => {
167
+ this.chart.axis('name', {
166
168
  line: {
167
169
  style: themeColors.gridColor
168
170
  },
@@ -171,10 +173,10 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
171
173
  style: {
172
174
  fill: themeColors.textColor
173
175
  },
174
- formatter: _this.labelFormatter
176
+ formatter: this.labelFormatter
175
177
  }
176
178
  });
177
- _this.chart.axis('value', {
179
+ this.chart.axis('value', {
178
180
  label: {
179
181
  style: {
180
182
  fill: themeColors.textColor
@@ -189,15 +191,15 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
189
191
  }
190
192
  });
191
193
  };
192
- _this.setLegend = function (themeColors) {
193
- var legendPosition = 'bottom';
194
- _this.chart.legend('group_name', {
194
+ this.setLegend = themeColors => {
195
+ let legendPosition = 'bottom';
196
+ this.chart.legend('group_name', {
195
197
  position: legendPosition,
196
198
  itemName: {
197
199
  style: {
198
200
  fill: themeColors.textColor
199
201
  },
200
- formatter: function formatter(name) {
202
+ formatter: name => {
201
203
  if (!name && typeof name !== 'number') {
202
204
  return intl.get(EMPTY_NAME);
203
205
  }
@@ -220,34 +222,36 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
220
222
  }
221
223
  });
222
224
  };
223
- _this.renderAxisLabel = function (newStatItem) {
224
- var _this$props3 = _this.props,
225
- getTableById = _this$props3.getTableById,
226
- statItem = _this$props3.statItem;
225
+ this.renderAxisLabel = newStatItem => {
226
+ let {
227
+ getTableById,
228
+ statItem
229
+ } = this.props;
227
230
  if (newStatItem && newStatItem._id !== statItem._id) {
228
231
  return;
229
232
  }
230
- if (!_this.chart) return;
233
+ if (!this.chart) return;
231
234
  statItem = newStatItem || statItem;
232
- var _statItem = statItem,
233
- table_id = _statItem.table_id,
234
- x_axis_column_key = _statItem.x_axis_column_key,
235
- show_y_axis_label = _statItem.show_y_axis_label,
236
- show_x_axis_label = _statItem.show_x_axis_label,
237
- y_axis_label_position = _statItem.y_axis_label_position,
238
- x_axis_label_position = _statItem.x_axis_label_position,
239
- title_name = _statItem.title_name;
240
- var table = getTableById(table_id);
241
- var autoPadding = _this.chart.autoPadding;
242
- var textColor = _this.getAxisLabelColor();
243
- var xAxisID = "chart-x-axis-label_".concat(statItem._id);
244
- var chartContainer = _this.chart.getCanvas().get('container');
245
- var xLabel = chartContainer.querySelector("#".concat(xAxisID));
235
+ const {
236
+ table_id,
237
+ x_axis_column_key,
238
+ show_y_axis_label,
239
+ show_x_axis_label,
240
+ y_axis_label_position,
241
+ x_axis_label_position,
242
+ title_name
243
+ } = statItem;
244
+ const table = getTableById(table_id);
245
+ const autoPadding = this.chart.autoPadding;
246
+ const textColor = this.getAxisLabelColor();
247
+ const xAxisID = "chart-x-axis-label_".concat(statItem._id);
248
+ const chartContainer = this.chart.getCanvas().get('container');
249
+ const xLabel = chartContainer.querySelector("#".concat(xAxisID));
246
250
  if (!xLabel && show_x_axis_label) {
247
- var div = document.createElement('div');
251
+ const div = document.createElement('div');
248
252
  div.id = xAxisID;
249
253
  div.className = 'statistic-chart-axis-label';
250
- var column = TableUtils.getTableColumnByKey(table, x_axis_column_key);
254
+ const column = TableUtils.getTableColumnByKey(table, x_axis_column_key);
251
255
  div.innerHTML = "".concat(column ? column.name : '');
252
256
  div.setAttribute('style', "color:".concat(textColor, "; width: 100%; padding-left: ").concat(autoPadding.left, "px; text-align: ").concat(x_axis_label_position, "; bottom: -20px"));
253
257
  chartContainer.appendChild(div);
@@ -258,156 +262,150 @@ var CustomBar = /*#__PURE__*/function (_BaseChart) {
258
262
  if (xLabel && !show_x_axis_label) {
259
263
  xLabel.parentNode.removeChild(xLabel);
260
264
  }
261
- var yAxisID = "chart-y-axis-label_".concat(statItem._id);
262
- var yLabel = chartContainer.querySelector("#".concat(yAxisID));
263
- var paddingLeft = autoPadding.bottom + (show_x_axis_label ? 10 : 0);
265
+ const yAxisID = "chart-y-axis-label_".concat(statItem._id);
266
+ const yLabel = chartContainer.querySelector("#".concat(yAxisID));
267
+ let paddingLeft = autoPadding.bottom + (show_x_axis_label ? 10 : 0);
264
268
  if (!yLabel && show_y_axis_label) {
265
- var _div = document.createElement('div');
266
- _div.id = yAxisID;
267
- _div.className = 'statistic-chart-axis-label';
268
- _div.innerHTML = title_name || intl.get(TITLE_AMOUNT);
269
- var containerHeight = chartContainer.offsetHeight;
270
- var textAlign = 'center';
269
+ const div = document.createElement('div');
270
+ div.id = yAxisID;
271
+ div.className = 'statistic-chart-axis-label';
272
+ div.innerHTML = title_name || intl.get(TITLE_AMOUNT);
273
+ const containerHeight = chartContainer.offsetHeight;
274
+ let textAlign = 'center';
271
275
  if (y_axis_label_position === 'bottom') textAlign = 'left';
272
276
  if (y_axis_label_position === 'top') textAlign = 'right';
273
- _div.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
274
- chartContainer.appendChild(_div);
277
+ div.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
278
+ chartContainer.appendChild(div);
275
279
  }
276
280
  if (yLabel && show_y_axis_label) {
277
- var _containerHeight = chartContainer.offsetHeight;
278
- var _textAlign = 'center';
279
- if (y_axis_label_position === 'bottom') _textAlign = 'left';
280
- if (y_axis_label_position === 'top') _textAlign = 'right';
281
- yLabel.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(_containerHeight, "px; text-align: ").concat(_textAlign, "; top: 0; left: 0px; transform: translate(-").concat(_containerHeight / 2 + 12, "px, ").concat((_containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
281
+ const containerHeight = chartContainer.offsetHeight;
282
+ let textAlign = 'center';
283
+ if (y_axis_label_position === 'bottom') textAlign = 'left';
284
+ if (y_axis_label_position === 'top') textAlign = 'right';
285
+ yLabel.setAttribute('style', "color:".concat(textColor, "; padding-right: ").concat(autoPadding.top, "px; padding-left: ").concat(paddingLeft, "px; position: absolute; width: ").concat(containerHeight, "px; text-align: ").concat(textAlign, "; top: 0; left: 0px; transform: translate(-").concat(containerHeight / 2 + 12, "px, ").concat((containerHeight - autoPadding.bottom) / 2 + autoPadding.bottom / 4, "px) rotate(-90deg)"));
282
286
  }
283
287
  if (yLabel && !show_y_axis_label) {
284
288
  yLabel.parentNode.removeChild(yLabel);
285
289
  }
286
290
  };
287
- _this.destroyChart = function () {
288
- _this.chart.destroy();
289
- _this.chart = null;
291
+ this.destroyChart = () => {
292
+ this.chart.destroy();
293
+ this.chart = null;
290
294
  };
291
- _this.state = {
295
+ this.state = {
292
296
  isCalculatingData: true,
293
297
  showResultDescription: true
294
298
  };
295
- _this.calculateData = null;
296
- return _this;
299
+ this.calculateData = null;
297
300
  }
298
- _createClass(CustomBar, [{
299
- key: "componentDidMount",
300
- value: function componentDidMount() {
301
- var _this2 = this;
302
- var _this$props4 = this.props,
303
- statItem = _this$props4.statItem,
304
- chartCalculator = _this$props4.chartCalculator,
305
- eventBus = _this$props4.eventBus;
306
- this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, function (newStatItem) {
307
- _this2.renderAxisLabel(newStatItem);
308
- });
309
- chartCalculator.calculate(statItem).then(function (data) {
310
- if (!_this2.container) return;
311
- var showResultDescription = data.length > 0 ? false : true;
312
- _this2.setState({
313
- isCalculatingData: false,
314
- showResultDescription: showResultDescription
315
- }, function () {
316
- if (!showResultDescription) {
317
- _this2.drawChart(data);
318
- _this2.calculateData = data;
319
- }
320
- });
301
+ componentDidMount() {
302
+ const {
303
+ statItem,
304
+ chartCalculator,
305
+ eventBus
306
+ } = this.props;
307
+ this.unsubscribeStyleChange = eventBus.subscribe(LABEL_CONFIG_CHANGED, newStatItem => {
308
+ this.renderAxisLabel(newStatItem);
309
+ });
310
+ chartCalculator.calculate(statItem).then(data => {
311
+ if (!this.container) return;
312
+ let showResultDescription = data.length > 0 ? false : true;
313
+ this.setState({
314
+ isCalculatingData: false,
315
+ showResultDescription
316
+ }, () => {
317
+ if (!showResultDescription) {
318
+ this.drawChart(data);
319
+ this.calculateData = data;
320
+ }
321
321
  });
322
+ });
323
+ }
324
+ shouldComponentUpdate(nextProps, nextState) {
325
+ const {
326
+ statItem,
327
+ colorThemeName
328
+ } = this.props;
329
+ const {
330
+ statItem: nextStatItem
331
+ } = nextProps;
332
+ if (this.canUpdate(this.props, nextProps) || statItem.y_axises !== nextStatItem.y_axises) {
333
+ return true;
322
334
  }
323
- }, {
324
- key: "shouldComponentUpdate",
325
- value: function shouldComponentUpdate(nextProps, nextState) {
326
- var _this$props5 = this.props,
327
- statItem = _this$props5.statItem,
328
- colorThemeName = _this$props5.colorThemeName;
329
- var nextStatItem = nextProps.statItem;
330
- if (this.canUpdate(this.props, nextProps) || statItem.y_axises !== nextStatItem.y_axises) {
331
- return true;
332
- }
333
- if (nextState.isCalculatingData !== this.state.isCalculatingData) {
334
- return true;
335
- }
336
- if (nextProps.colorThemeName !== colorThemeName) {
337
- return true;
338
- }
339
- return false;
335
+ if (nextState.isCalculatingData !== this.state.isCalculatingData) {
336
+ return true;
337
+ }
338
+ if (nextProps.colorThemeName !== colorThemeName) {
339
+ return true;
340
340
  }
341
- }, {
342
- key: "componentDidUpdate",
343
- value: function componentDidUpdate(preProps, preState) {
344
- var _this3 = this;
345
- var _this$props6 = this.props,
346
- statItem = _this$props6.statItem,
347
- chartCalculator = _this$props6.chartCalculator;
348
- var isCalculatingData = this.state.isCalculatingData;
349
- if (isCalculatingData !== preState.isCalculatingData) return;
350
- if (this.shouldCalculateStatItem(preProps, this.props) || preProps.statItem.y_axises !== statItem.y_axises) {
341
+ return false;
342
+ }
343
+ componentDidUpdate(preProps, preState) {
344
+ const {
345
+ statItem,
346
+ chartCalculator
347
+ } = this.props;
348
+ const {
349
+ isCalculatingData
350
+ } = this.state;
351
+ if (isCalculatingData !== preState.isCalculatingData) return;
352
+ if (this.shouldCalculateStatItem(preProps, this.props) || preProps.statItem.y_axises !== statItem.y_axises) {
353
+ this.setState({
354
+ isCalculatingData: true
355
+ });
356
+ chartCalculator.calculate(statItem).then(data => {
357
+ let showResultDescription = data.length > 0 ? false : true;
358
+ if (this.chart) {
359
+ this.destroyChart();
360
+ }
361
+ if (!this.container) return;
362
+ this.calculateData = data;
351
363
  this.setState({
352
- isCalculatingData: true
353
- });
354
- chartCalculator.calculate(statItem).then(function (data) {
355
- var showResultDescription = data.length > 0 ? false : true;
356
- if (_this3.chart) {
357
- _this3.destroyChart();
364
+ isCalculatingData: false,
365
+ showResultDescription
366
+ }, () => {
367
+ if (!showResultDescription) {
368
+ this.drawChart(data);
369
+ if (this.props.isPreview) this.chart.forceFit();
358
370
  }
359
- if (!_this3.container) return;
360
- _this3.calculateData = data;
361
- _this3.setState({
362
- isCalculatingData: false,
363
- showResultDescription: showResultDescription
364
- }, function () {
365
- if (!showResultDescription) {
366
- _this3.drawChart(data);
367
- if (_this3.props.isPreview) _this3.chart.forceFit();
368
- }
369
- });
370
371
  });
371
- } else {
372
- if (!this.state.showResultDescription) {
373
- if (this.chart) {
374
- this.destroyChart();
375
- }
376
- this.drawChart(this.calculateData);
377
- if (this.props.isPreview) {
378
- this.chart.forceFit();
379
- }
372
+ });
373
+ } else {
374
+ if (!this.state.showResultDescription) {
375
+ if (this.chart) {
376
+ this.destroyChart();
377
+ }
378
+ this.drawChart(this.calculateData);
379
+ if (this.props.isPreview) {
380
+ this.chart.forceFit();
380
381
  }
381
382
  }
382
383
  }
383
- }, {
384
- key: "componentWillUnmount",
385
- value: function componentWillUnmount() {
386
- this.container = null;
387
- this.unsubscribeStyleChange();
388
- }
389
- }, {
390
- key: "render",
391
- value: function render() {
392
- var _this4 = this;
393
- var statItem = this.props.statItem;
394
- var _this$state = this.state,
395
- isCalculatingData = _this$state.isCalculatingData,
396
- showResultDescription = _this$state.showResultDescription;
397
- var show_y_axis_label = statItem.show_y_axis_label,
398
- show_x_axis_label = statItem.show_x_axis_label;
399
- return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
400
- ref: function ref(_ref2) {
401
- return _this4.container = _ref2;
402
- },
403
- style: {
404
- padding: show_y_axis_label || show_x_axis_label ? 30 : 20
405
- },
406
- className: "statistic-chart-container"
407
- }));
408
- }
409
- }]);
410
- return CustomBar;
411
- }(BaseChart);
384
+ }
385
+ componentWillUnmount() {
386
+ this.container = null;
387
+ this.unsubscribeStyleChange();
388
+ }
389
+ render() {
390
+ const {
391
+ statItem
392
+ } = this.props;
393
+ const {
394
+ isCalculatingData,
395
+ showResultDescription
396
+ } = this.state;
397
+ const {
398
+ show_y_axis_label,
399
+ show_x_axis_label
400
+ } = statItem;
401
+ return /*#__PURE__*/React.createElement(React.Fragment, null, isCalculatingData && this.renderLoading(), showResultDescription && this.renderEmpty(), /*#__PURE__*/React.createElement("div", {
402
+ ref: ref => this.container = ref,
403
+ style: {
404
+ padding: show_y_axis_label || show_x_axis_label ? 30 : 20
405
+ },
406
+ className: "statistic-chart-container"
407
+ }));
408
+ }
409
+ }
412
410
  CustomBar.propTypes = propTypes;
413
411
  export default CustomBar;