sea-chart 2.0.43 → 2.0.45

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 (302) hide show
  1. package/dist/api/index.js +4 -11
  2. package/dist/components/cell-factory/FormatterConfig.js +55 -62
  3. package/dist/components/cell-factory/SimpleCellFormatter.js +4 -11
  4. package/dist/components/cell-factory/SingleSelectOption.js +11 -18
  5. package/dist/components/cell-factory/cell-editor-factory.js +5 -12
  6. package/dist/components/cell-factory/cell-formatter-factory.js +4 -11
  7. package/dist/components/cell-factory/link-content.js +27 -35
  8. package/dist/components/chart-color-selector/color-selector.js +11 -18
  9. package/dist/components/collaborator/index.js +7 -14
  10. package/dist/components/color-picker/index.js +11 -18
  11. package/dist/components/color-popover/color-rules/color-rule.js +25 -33
  12. package/dist/components/color-popover/color-rules/index.js +6 -14
  13. package/dist/components/color-popover/color-rules/rule-filters/filter.js +27 -34
  14. package/dist/components/color-popover/color-rules/rule-filters/index.js +17 -25
  15. package/dist/components/color-popover/color-rules/rule-filters/number-input.js +10 -18
  16. package/dist/components/color-popover/color-rules-popover.js +26 -34
  17. package/dist/components/color-popover/color-selector-popover.js +10 -18
  18. package/dist/components/color-setting/color-group-selector.js +12 -20
  19. package/dist/components/common-add-tool/index.js +6 -13
  20. package/dist/components/data-process-setter/data-setting-header.js +7 -14
  21. package/dist/components/data-process-setter/hide-column-setter.js +12 -19
  22. package/dist/components/data-process-setter/index.js +4 -27
  23. package/dist/components/data-process-setter/sort-setter.js +16 -24
  24. package/dist/components/draggable/Draggable.js +7 -13
  25. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +42 -50
  26. package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +10 -18
  27. package/dist/components/drill-down-settings/index.js +11 -18
  28. package/dist/components/dtable-popover/index.js +13 -20
  29. package/dist/components/dtable-search-input/index.js +13 -21
  30. package/dist/components/font-settings/index.js +14 -22
  31. package/dist/components/goal-line-setting/goal-setting-item.js +6 -14
  32. package/dist/components/goal-line-setting/index.js +12 -19
  33. package/dist/components/highlighter/highlighter.js +7 -14
  34. package/dist/components/icon/index.js +4 -11
  35. package/dist/components/index.js +7 -48
  36. package/dist/components/loading/index.js +6 -13
  37. package/dist/components/number-input/index.js +4 -11
  38. package/dist/components/pixel-editor/index.js +15 -23
  39. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +8 -15
  40. package/dist/components/popover/hide-column-popover/hide-column-popover.js +25 -33
  41. package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +9 -18
  42. package/dist/components/popover/sort-popover/sort-popover.js +54 -64
  43. package/dist/components/resize-handle/ResizeHandle.js +6 -13
  44. package/dist/components/row-card/row-card-header-cell.js +15 -22
  45. package/dist/components/row-card/row-card-header.js +14 -21
  46. package/dist/components/row-card/row-card-item.js +33 -41
  47. package/dist/components/row-card/row-card.js +15 -23
  48. package/dist/components/statistic-record-dialog/index.js +56 -64
  49. package/dist/components/tooltip/index.js +21 -21
  50. package/dist/components/types-dialog/index.js +56 -64
  51. package/dist/components/types-dialog/use-force-update.js +4 -10
  52. package/dist/constants/color-rules.js +8 -14
  53. package/dist/constants/common-constants.js +8 -14
  54. package/dist/constants/error.js +2 -8
  55. package/dist/constants/geolocation.js +9 -15
  56. package/dist/constants/index.js +149 -273
  57. package/dist/constants/key-codes.js +0 -2
  58. package/dist/constants/model.js +3 -9
  59. package/dist/constants/regions.js +3 -8
  60. package/dist/constants/style.js +6 -12
  61. package/dist/constants/table.js +1 -7
  62. package/dist/constants/type-image.js +33 -39
  63. package/dist/constants/type.js +3 -9
  64. package/dist/context.js +20 -24
  65. package/dist/editor/index.js +8 -15
  66. package/dist/index.js +13 -104
  67. package/dist/intl.js +10 -17
  68. package/dist/locale/index.js +16 -23
  69. package/dist/locale/lang/de.js +1 -7
  70. package/dist/locale/lang/en.js +1 -7
  71. package/dist/locale/lang/es.js +1 -7
  72. package/dist/locale/lang/fr.js +1 -7
  73. package/dist/locale/lang/pt.js +1 -7
  74. package/dist/locale/lang/ru.js +1 -7
  75. package/dist/locale/lang/zh_CN.js +1 -7
  76. package/dist/model/area-group.js +12 -19
  77. package/dist/model/area.js +12 -19
  78. package/dist/model/bar-custom.js +11 -18
  79. package/dist/model/bar-group.js +12 -19
  80. package/dist/model/bar-stack.js +10 -17
  81. package/dist/model/bar.js +11 -18
  82. package/dist/model/base-model.js +8 -11
  83. package/dist/model/basic-number-card.js +13 -20
  84. package/dist/model/chart.js +7 -13
  85. package/dist/model/combination.js +19 -22
  86. package/dist/model/compare-bar.js +14 -21
  87. package/dist/model/completeness-group.js +11 -18
  88. package/dist/model/completeness.js +10 -17
  89. package/dist/model/dashboard.js +7 -14
  90. package/dist/model/funnel.js +14 -21
  91. package/dist/model/generic-model.js +135 -143
  92. package/dist/model/heat-map.js +9 -16
  93. package/dist/model/horizontal-bar.js +15 -18
  94. package/dist/model/horizontal-group-bar.js +14 -17
  95. package/dist/model/index.js +69 -93
  96. package/dist/model/line-group.js +13 -20
  97. package/dist/model/line.js +12 -19
  98. package/dist/model/map-bubble.js +12 -19
  99. package/dist/model/map.js +12 -19
  100. package/dist/model/mirror.js +13 -20
  101. package/dist/model/pie.js +12 -19
  102. package/dist/model/ring.js +12 -19
  103. package/dist/model/scatter.js +10 -17
  104. package/dist/model/stacked-horizontal-bar.js +15 -18
  105. package/dist/model/table-element.js +5 -12
  106. package/dist/model/table.js +7 -14
  107. package/dist/model/tree-map.js +7 -14
  108. package/dist/model/trend.js +11 -18
  109. package/dist/model/user.js +1 -7
  110. package/dist/model/world-map-bubble.js +12 -19
  111. package/dist/model/world-map.js +12 -19
  112. package/dist/services/map-json.js +7 -13
  113. package/dist/settings/advance-bar-settings/data-settings.js +36 -44
  114. package/dist/settings/advance-bar-settings/index.js +3 -20
  115. package/dist/settings/advance-bar-settings/style-settings.js +83 -74
  116. package/dist/settings/bar-settings/data-settings.js +39 -47
  117. package/dist/settings/bar-settings/index.js +3 -20
  118. package/dist/settings/bar-settings/style-settings.js +69 -60
  119. package/dist/settings/basic-number-card/data-settings.js +49 -57
  120. package/dist/settings/basic-number-card/index.js +3 -20
  121. package/dist/settings/basic-number-card/style-settings.js +18 -26
  122. package/dist/settings/combination-settings/data-settings.js +55 -63
  123. package/dist/settings/combination-settings/index.js +3 -20
  124. package/dist/settings/combination-settings/style-settings.js +94 -77
  125. package/dist/settings/completeness-settings/callbacks/callbacks.js +16 -27
  126. package/dist/settings/completeness-settings/data-settings/completion-settings.js +21 -28
  127. package/dist/settings/completeness-settings/data-settings/data-settings.js +25 -32
  128. package/dist/settings/completeness-settings/index.js +3 -20
  129. package/dist/settings/completeness-settings/style-settings.js +19 -26
  130. package/dist/settings/dashboard-settings/data-settings.js +43 -51
  131. package/dist/settings/dashboard-settings/index.js +2 -13
  132. package/dist/settings/data-settings.js +72 -79
  133. package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +12 -19
  134. package/dist/settings/funnel-settings/components/dnd-list.js +15 -23
  135. package/dist/settings/funnel-settings/components/funnel-label-setting.js +32 -40
  136. package/dist/settings/funnel-settings/components/funnel-layer-setting.js +20 -28
  137. package/dist/settings/funnel-settings/data-settings.js +23 -31
  138. package/dist/settings/funnel-settings/index.js +3 -20
  139. package/dist/settings/funnel-settings/style-settings.js +11 -19
  140. package/dist/settings/heat-map-settings/data-settings.js +18 -26
  141. package/dist/settings/heat-map-settings/index.js +3 -20
  142. package/dist/settings/heat-map-settings/style-settings.js +18 -26
  143. package/dist/settings/horizontal-bar-settings/data-settings.js +12 -19
  144. package/dist/settings/horizontal-bar-settings/index.js +3 -20
  145. package/dist/settings/horizontal-bar-settings/style-settings.js +12 -19
  146. package/dist/settings/index.js +52 -70
  147. package/dist/settings/map-settings/components/location-field-selector.js +10 -17
  148. package/dist/settings/map-settings/components/map-level-selector.js +11 -18
  149. package/dist/settings/map-settings/components/map-province-city-selector.js +19 -26
  150. package/dist/settings/map-settings/index.js +3 -20
  151. package/dist/settings/map-settings/map-data-settings.js +23 -30
  152. package/dist/settings/map-settings/map-style-settings.js +26 -34
  153. package/dist/settings/mirror-settings/data-settings.js +26 -34
  154. package/dist/settings/mirror-settings/index.js +2 -13
  155. package/dist/settings/pie-settings/data-settings.js +33 -41
  156. package/dist/settings/pie-settings/index.js +3 -20
  157. package/dist/settings/pie-settings/style-settings.js +47 -55
  158. package/dist/settings/scatter/data-settings.js +27 -34
  159. package/dist/settings/scatter/index.js +3 -12
  160. package/dist/settings/stacks-settings/index.js +19 -27
  161. package/dist/settings/stacks-settings/stack-item-settings.js +19 -27
  162. package/dist/settings/style-settings.js +64 -72
  163. package/dist/settings/table-element-settings/components/data-filter.js +30 -38
  164. package/dist/settings/table-element-settings/data-settings.js +21 -29
  165. package/dist/settings/table-element-settings/index.js +2 -13
  166. package/dist/settings/table-settings/data-settings.js +111 -119
  167. package/dist/settings/table-settings/index.js +2 -13
  168. package/dist/settings/time-comparison-settings/data-settings.js +43 -51
  169. package/dist/settings/time-comparison-settings/index.js +3 -20
  170. package/dist/settings/time-comparison-settings/style-settings.js +62 -53
  171. package/dist/settings/trend-settings/data-settings.js +24 -32
  172. package/dist/settings/trend-settings/index.js +3 -20
  173. package/dist/settings/trend-settings/style-setting.js +17 -25
  174. package/dist/settings/widgets/axis-title-font-settings/index.js +39 -0
  175. package/dist/settings/widgets/basic-summary/index.js +55 -63
  176. package/dist/settings/widgets/chart-type/index.js +18 -26
  177. package/dist/settings/widgets/color-settings/index.js +72 -80
  178. package/dist/settings/widgets/common-data-settings.js +21 -29
  179. package/dist/settings/widgets/data-filter/index.js +35 -43
  180. package/dist/settings/widgets/data-sort.js +16 -24
  181. package/dist/settings/widgets/date-summary-item.js +24 -32
  182. package/dist/settings/widgets/display-values-settings/index.js +14 -22
  183. package/dist/settings/widgets/divider/index.js +8 -16
  184. package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
  185. package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
  186. package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
  187. package/dist/settings/widgets/font-settings/index.js +4 -27
  188. package/dist/settings/widgets/group-by.js +51 -59
  189. package/dist/settings/widgets/min-max-setting.js +10 -18
  190. package/dist/settings/widgets/mininum-slice-percent.js +10 -18
  191. package/dist/settings/widgets/numeric-summary-item.js +23 -31
  192. package/dist/settings/widgets/select-line-type/index.js +10 -17
  193. package/dist/settings/widgets/select-table/index.js +9 -16
  194. package/dist/settings/widgets/select-view/index.js +20 -28
  195. package/dist/settings/widgets/stack.js +14 -22
  196. package/dist/settings/widgets/summary-method-setting.js +17 -25
  197. package/dist/settings/widgets/summary-settings.js +72 -80
  198. package/dist/settings/widgets/switch/index.js +8 -15
  199. package/dist/settings/widgets/text-horizontal-settings.js +15 -23
  200. package/dist/settings/widgets/time-picker.js +29 -37
  201. package/dist/settings/widgets/title-settings/index.js +29 -37
  202. package/dist/settings/widgets/title-settings/title-text.js +5 -12
  203. package/dist/settings/widgets/x-axios.js +0 -1
  204. package/dist/settings/widgets/y-axis-group-settings.js +63 -71
  205. package/dist/utils/cell-format-utils.js +18 -28
  206. package/dist/utils/cell-value-utils.js +5 -12
  207. package/dist/utils/chart-utils/base-utils.js +362 -334
  208. package/dist/utils/chart-utils/index.js +28 -41
  209. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +80 -86
  210. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +13 -20
  211. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
  212. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +19 -26
  213. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +32 -39
  214. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +16 -23
  215. package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
  216. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +21 -28
  217. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +91 -97
  218. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -26
  219. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +31 -38
  220. package/dist/utils/chart-utils/sql-statistics-utils.js +284 -246
  221. package/dist/utils/chart.js +9 -17
  222. package/dist/utils/collaborator-manager.js +3 -9
  223. package/dist/utils/collaborator-utils.js +18 -30
  224. package/dist/utils/collaborator.js +4 -13
  225. package/dist/utils/color-utils.js +18 -29
  226. package/dist/utils/column-utils.js +65 -92
  227. package/dist/utils/common-utils.js +27 -52
  228. package/dist/utils/concurrency-manager.js +1 -7
  229. package/dist/utils/contexts.js +5 -12
  230. package/dist/utils/date-translate.js +11 -19
  231. package/dist/utils/digital-sign-utils.js +7 -14
  232. package/dist/utils/event-bus.js +1 -7
  233. package/dist/utils/hotkey.js +5 -11
  234. package/dist/utils/index.js +54 -221
  235. package/dist/utils/key-generator.js +2 -9
  236. package/dist/utils/map.js +22 -31
  237. package/dist/utils/object-utils.js +1 -7
  238. package/dist/utils/options-utils.js +8 -16
  239. package/dist/utils/row-record-utils.js +182 -178
  240. package/dist/utils/row-utils.js +27 -38
  241. package/dist/utils/search.js +24 -32
  242. package/dist/utils/sql/chart-data-sql.js +49 -55
  243. package/dist/utils/sql/column-2-sql-column.js +146 -154
  244. package/dist/utils/sql/index.js +3 -27
  245. package/dist/utils/trend-utils.js +39 -47
  246. package/dist/view/index.css +0 -17
  247. package/dist/view/index.js +89 -95
  248. package/dist/view/title/index.js +15 -23
  249. package/dist/view/wrapper/area-group.js +57 -74
  250. package/dist/view/wrapper/area.js +51 -72
  251. package/dist/view/wrapper/bar-compare.js +47 -58
  252. package/dist/view/wrapper/bar-custom-stack.js +53 -121
  253. package/dist/view/wrapper/bar-group.js +55 -96
  254. package/dist/view/wrapper/bar-stack.js +58 -92
  255. package/dist/view/wrapper/bar.js +45 -66
  256. package/dist/view/wrapper/basic-number-card.js +25 -26
  257. package/dist/view/wrapper/chart-component.js +600 -166
  258. package/dist/view/wrapper/combination.js +79 -87
  259. package/dist/view/wrapper/completeness-group.js +46 -98
  260. package/dist/view/wrapper/completeness.js +45 -97
  261. package/dist/view/wrapper/dashboard.js +33 -47
  262. package/dist/view/wrapper/funnel.js +65 -64
  263. package/dist/view/wrapper/heat-map.js +126 -104
  264. package/dist/view/wrapper/horizontal-bar-group.js +61 -78
  265. package/dist/view/wrapper/horizontal-bar-stack.js +60 -111
  266. package/dist/view/wrapper/horizontal-bar.js +45 -68
  267. package/dist/view/wrapper/index.js +110 -115
  268. package/dist/view/wrapper/line-group.js +52 -68
  269. package/dist/view/wrapper/line.js +47 -67
  270. package/dist/view/wrapper/map-bubble.js +46 -59
  271. package/dist/view/wrapper/map-world-bubble.js +45 -58
  272. package/dist/view/wrapper/map-world.js +47 -60
  273. package/dist/view/wrapper/map.js +48 -60
  274. package/dist/view/wrapper/mirror.js +45 -64
  275. package/dist/view/wrapper/pie.js +51 -59
  276. package/dist/view/wrapper/ring.js +57 -64
  277. package/dist/view/wrapper/scatter.js +53 -69
  278. package/dist/view/wrapper/table/index.js +13 -21
  279. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
  280. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +50 -58
  281. package/dist/view/wrapper/table/pivot-table-display-name.js +83 -91
  282. package/dist/view/wrapper/table/two-dimension-table.js +76 -84
  283. package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
  284. package/dist/view/wrapper/table-element/components/formatter.js +96 -105
  285. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +22 -31
  286. package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
  287. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +73 -80
  288. package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
  289. package/dist/view/wrapper/table-element/components/link-formatter.js +73 -80
  290. package/dist/view/wrapper/table-element/components/record.js +10 -17
  291. package/dist/view/wrapper/table-element/components/records-body.js +17 -19
  292. package/dist/view/wrapper/table-element/components/records-header/index.js +7 -15
  293. package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
  294. package/dist/view/wrapper/table-element/components/records.js +23 -33
  295. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +5 -12
  296. package/dist/view/wrapper/table-element/components/utils.js +5 -15
  297. package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
  298. package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
  299. package/dist/view/wrapper/table-element/index.js +18 -26
  300. package/dist/view/wrapper/treemap.js +39 -57
  301. package/dist/view/wrapper/trend.js +41 -48
  302. package/package.json +1 -1
@@ -1,22 +1,13 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var d3 = _interopRequireWildcard(require("d3"));
12
- var _classnames = _interopRequireDefault(require("classnames"));
13
- var _dtableUtils = require("dtable-utils");
14
- var _constants = require("../../constants");
15
- var _chartUtils = require("../../utils/chart-utils");
16
- var _intl = _interopRequireDefault(require("../../intl"));
17
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
18
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
19
- class BarCompare extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { getNumberDisplayString } from 'dtable-utils';
5
+ import { CHART_SUMMARY_SHOW, TITLE_AMOUNT, TITLE_INCREASE, CHART_THEME_COLOR } from '../../constants';
6
+ import { BaseUtils } from '../../utils/chart-utils';
7
+ import intl from '../../intl';
8
+ import ToolTip from '../../components/tooltip';
9
+ import ChartComponent from './chart-component';
10
+ class BarCompare extends ChartComponent {
20
11
  constructor(props) {
21
12
  super(props);
22
13
  this.createChart = () => {
@@ -30,8 +21,8 @@ class BarCompare extends _chartComponent.default {
30
21
  const initConfig = {
31
22
  insertPadding: 30,
32
23
  borderRadius: 0.2,
33
- marginLeft: y_axis_show_label ? 20 : 0,
34
- marginBottom: x_axis_show_label ? 20 : 0
24
+ marginLeft: y_axis_show_label ? this.getAxisTitleHeight(chart.config.y_axis_label_font_size) : 0,
25
+ marginBottom: x_axis_show_label ? this.getAxisTitleHeight(chart.config.x_axis_label_font_size) : 0
35
26
  };
36
27
  this.initChart(this.container, chart === null || chart === void 0 ? void 0 : chart.id, initConfig);
37
28
  };
@@ -39,19 +30,21 @@ class BarCompare extends _chartComponent.default {
39
30
  let {
40
31
  result: data
41
32
  } = this.props;
42
- data = _chartUtils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
33
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
43
34
  if (!Array.isArray(data)) return;
44
35
  this.draw(data);
45
36
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
46
37
  };
47
38
  this.draw = data => {
39
+ const fullData = data;
40
+ data = this.getVisibleLegendData(data, 'group_name');
48
41
  const {
49
42
  chart,
50
43
  globalTheme,
51
44
  chartColorTheme,
52
45
  columnGroupbyColumn
53
46
  } = this.props;
54
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
47
+ const theme = CHART_THEME_COLOR[globalTheme];
55
48
  const {
56
49
  display_increase,
57
50
  y_axis_auto_range = true,
@@ -68,9 +61,9 @@ class BarCompare extends _chartComponent.default {
68
61
  const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, d3.max(data, d => d.value)] : [y_axis_min, y_axis_max]).range([chartHeight - insertPadding, insertPadding]);
69
62
 
70
63
  // Y axis
71
- this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', `translate(${insertPadding},0)`).call(d3.axisLeft(y).tickSizeInner(0).ticks(5).tickFormat(d => _chartUtils.BaseUtils.getSummaryValueDisplayString(columnGroupbyColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
64
+ this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', `translate(${insertPadding},0)`).call(d3.axisLeft(y).tickSizeInner(0).ticks(5).tickFormat(d => BaseUtils.getSummaryValueDisplayString(columnGroupbyColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
72
65
  const fx = d3.scaleBand().domain(d3.group(data, d => d.name).keys()).range([insertPadding + this.horizontalOverflowOffset, chartWidth - insertPadding]).paddingInner(0.5).paddingOuter(0.1);
73
- const color = d3.scaleOrdinal().domain(d3.group(data, d => d.group_name).keys()).range(_chartUtils.BaseUtils.getCurrentTheme(chartColorTheme).colors).unknown('#ccc');
66
+ const color = d3.scaleOrdinal().domain(d3.group(data, d => d.group_name).keys()).range(BaseUtils.getCurrentTheme(chartColorTheme).colors).unknown('#ccc');
74
67
  const x = d3.scaleBand().domain(d3.group(data, d => d.group_name).keys()).range([0, fx.bandwidth()]).paddingInner(0).paddingOuter(0);
75
68
 
76
69
  // X axis
@@ -93,14 +86,11 @@ class BarCompare extends _chartComponent.default {
93
86
  .selectAll().data(_ref2 => {
94
87
  let [a, d] = _ref2;
95
88
  return d;
96
- }).join('rect').attr('opacity', 1).attr('x', (d, index) => index * x.bandwidth()).attr('y', d => y(d.value)).attr('width', x.bandwidth()).attr('height', d => y(0) - y(d.value) === 0 ? 0 : y(0) - y(d.value)).attr('fill', d => color(d.group_name)).attr('data-value', d => d.value).attr('data-groupName', d => d.name).attr('data-slugid', d => d.slugId).call(g => {
89
+ }).join('rect').attr('opacity', 1).attr('x', (d, index) => index * x.bandwidth()).attr('y', d => y(d.value)).attr('width', x.bandwidth()).attr('height', d => y(0) - y(d.value) === 0 ? 0 : y(0) - y(d.value)).attr('fill', d => color(d.group_name)).attr('data-value', d => d.value).attr('data-groupName', d => d.name).call(g => {
97
90
  g.nodes().forEach(rect => {
98
- const parentNode = rect.parentNode;
99
91
  // add rect borderRadius
100
92
  this.addClipPath({
101
- rect,
102
- parentNode,
103
- rectId: rect.getAttribute('data-slugid')
93
+ rect
104
94
  });
105
95
  });
106
96
  }).on('click', (event, data) => {
@@ -113,17 +103,20 @@ class BarCompare extends _chartComponent.default {
113
103
  }).on('mouseleave', event => {
114
104
  this.hiddenTooltip();
115
105
  this.handleAcitveAndInActiveState('active', event);
106
+ }).call(g => {
107
+ this.animateRectGrowInY(g);
108
+ this.animateFadeIn(this.chart.select('.content-wrapper').selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
116
109
  });
117
110
  if (display_increase) {
118
111
  const increaseData = this.getIncreaseData(data);
119
112
  this.drawIncreaseLine(increaseData);
120
113
  }
121
- this.setColorMap(data, chartColorTheme);
114
+ this.setColorMap(fullData, chartColorTheme);
122
115
  this.setLegend({
123
116
  legendName: 'group_name',
124
117
  theme,
125
118
  legendPosition: 'top-right',
126
- data
119
+ data: fullData
127
120
  });
128
121
  };
129
122
  this.showTooltip = (event, colorScale, isCircle) => {
@@ -140,7 +133,7 @@ class BarCompare extends _chartComponent.default {
140
133
  if (isCircle) {
141
134
  const circleEl = event.target;
142
135
  newTooltipData = {
143
- title: _intl.default.get(_constants.TITLE_INCREASE),
136
+ title: intl.get(TITLE_INCREASE),
144
137
  items: [{
145
138
  color: increase_line_color || '#fbd44a',
146
139
  name: circleEl.getAttribute('data-name'),
@@ -151,7 +144,7 @@ class BarCompare extends _chartComponent.default {
151
144
  const curGroup = event.target.parentNode;
152
145
  const [, data] = curGroup.__data__;
153
146
  newTooltipData = {
154
- title: y_axis_summary_type === 'count' ? _intl.default.get(_constants.TITLE_AMOUNT) : _intl.default.get(_constants.CHART_SUMMARY_SHOW[y_axis_summary_method]),
147
+ title: y_axis_summary_type === 'count' ? intl.get(TITLE_AMOUNT) : intl.get(CHART_SUMMARY_SHOW[y_axis_summary_method]),
155
148
  items: data.map(item => {
156
149
  return {
157
150
  color: colorScale(item.group_name),
@@ -193,7 +186,7 @@ class BarCompare extends _chartComponent.default {
193
186
  chart,
194
187
  globalTheme
195
188
  } = this.props;
196
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
189
+ const theme = CHART_THEME_COLOR[globalTheme];
197
190
  const {
198
191
  label_font_size,
199
192
  y_axis_min,
@@ -248,7 +241,7 @@ class BarCompare extends _chartComponent.default {
248
241
  // circle label
249
242
  if (display_increase_percentage) {
250
243
  const curCircleEl = g.node();
251
- wrapper.append('text').attr('stroke', '#fff').attr('stroke-width', 1).attr('paint-order', 'stroke').attr('fill', theme.labelColor).attr('font-size', _chartUtils.BaseUtils.getLabelFontSize(label_font_size)).text(curCircleEl.getAttribute('data-text')).call(g => {
244
+ wrapper.append('text').attr('stroke', '#fff').attr('stroke-width', 1).attr('paint-order', 'stroke').attr('fill', theme.labelColor).attr('font-size', BaseUtils.getLabelFontSize(label_font_size)).text(curCircleEl.getAttribute('data-text')).call(g => {
252
245
  const {
253
246
  width
254
247
  } = g.node().getBoundingClientRect();
@@ -275,7 +268,7 @@ class BarCompare extends _chartComponent.default {
275
268
  const increaseValue = value.filter(d => (d === null || d === void 0 ? void 0 : d.increase_value) !== undefined) || [{
276
269
  increaseValue: 0
277
270
  }];
278
- const formatValue = (0, _dtableUtils.getNumberDisplayString)((_increaseValue$ = increaseValue[0]) === null || _increaseValue$ === void 0 ? void 0 : _increaseValue$.increase_value, {
271
+ const formatValue = getNumberDisplayString((_increaseValue$ = increaseValue[0]) === null || _increaseValue$ === void 0 ? void 0 : _increaseValue$.increase_value, {
279
272
  format: 'percent'
280
273
  });
281
274
  const data = {
@@ -311,10 +304,11 @@ class BarCompare extends _chartComponent.default {
311
304
  componentDidMount() {
312
305
  this.createChart();
313
306
  this.drawChart();
307
+ super.componentDidMount();
314
308
  }
315
309
  componentDidUpdate(prevProps) {
316
310
  super.componentDidUpdate(prevProps);
317
- if (_chartUtils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
311
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
318
312
  this.destroyChart();
319
313
  this.createChart();
320
314
  this.drawChart();
@@ -322,22 +316,17 @@ class BarCompare extends _chartComponent.default {
322
316
  }
323
317
  componentWillUnmount() {
324
318
  this.destroyChart();
319
+ super.componentWillUnmount();
325
320
  }
326
321
  render() {
327
- const {
328
- chart
329
- } = this.props;
330
322
  const {
331
323
  tooltipData,
332
324
  toolTipPosition
333
325
  } = this.state;
334
- return /*#__PURE__*/_react.default.createElement("div", {
326
+ return /*#__PURE__*/React.createElement("div", {
335
327
  ref: ref => this.container = ref,
336
- className: (0, _classnames.default)('sea-chart-container', {
337
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
338
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
339
- })
340
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
328
+ className: "sea-chart-container"
329
+ }, /*#__PURE__*/React.createElement(ToolTip, {
341
330
  tooltipData: tooltipData,
342
331
  toolTipPosition: toolTipPosition,
343
332
  chart: this.chart
@@ -345,15 +334,15 @@ class BarCompare extends _chartComponent.default {
345
334
  }
346
335
  }
347
336
  BarCompare.propTypes = {
348
- canvasStyle: _propTypes.default.object,
349
- chart: _propTypes.default.object,
350
- groupbyColumn: _propTypes.default.object,
351
- columnGroupbyColumn: _propTypes.default.object,
352
- summaryColumn: _propTypes.default.object,
353
- result: _propTypes.default.array,
354
- tables: _propTypes.default.array,
355
- globalTheme: _propTypes.default.string,
356
- chartColorTheme: _propTypes.default.string,
357
- toggleRecords: _propTypes.default.func
337
+ canvasStyle: PropTypes.object,
338
+ chart: PropTypes.object,
339
+ groupbyColumn: PropTypes.object,
340
+ columnGroupbyColumn: PropTypes.object,
341
+ summaryColumn: PropTypes.object,
342
+ result: PropTypes.array,
343
+ tables: PropTypes.array,
344
+ globalTheme: PropTypes.string,
345
+ chartColorTheme: PropTypes.string,
346
+ toggleRecords: PropTypes.func
358
347
  };
359
- var _default = exports.default = BarCompare;
348
+ export default BarCompare;
@@ -1,30 +1,15 @@
1
- "use strict";
2
-
3
- var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
4
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- exports.default = void 0;
9
- var _react = _interopRequireDefault(require("react"));
10
- var _propTypes = _interopRequireDefault(require("prop-types"));
11
- var _lodashEs = require("lodash-es");
12
- var d3 = _interopRequireWildcard(require("d3"));
13
- var _slugid = _interopRequireDefault(require("slugid"));
14
- var _classnames = _interopRequireDefault(require("classnames"));
15
- var _intl = _interopRequireDefault(require("../../intl"));
16
- var _chartUtils = require("../../utils/chart-utils");
17
- var _constants = require("../../constants");
18
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
19
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
20
- class BarCustom extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import slugid from 'slugid';
5
+ import intl from '../../intl';
6
+ import { BaseUtils } from '../../utils/chart-utils';
7
+ import { EMPTY_NAME, CHART_THEME_COLOR } from '../../constants';
8
+ import ToolTip from '../../components/tooltip';
9
+ import ChartComponent from './chart-component';
10
+ class BarCustom extends ChartComponent {
21
11
  constructor(props) {
22
12
  super(props);
23
- this.handleResize = (0, _lodashEs.debounce)(() => {
24
- this.destroyChart();
25
- this.createChart();
26
- this.drawChart();
27
- }, 300);
28
13
  this.createChart = () => {
29
14
  const {
30
15
  chart
@@ -36,8 +21,8 @@ class BarCustom extends _chartComponent.default {
36
21
  const initConfig = {
37
22
  insertPadding: 30,
38
23
  borderRadius: 0.2,
39
- marginLeft: y_axis_show_label ? 20 : 0,
40
- marginBottom: x_axis_show_label ? 20 : 0
24
+ marginLeft: y_axis_show_label ? this.getAxisTitleHeight(chart.config.y_axis_label_font_size) : 0,
25
+ marginBottom: x_axis_show_label ? this.getAxisTitleHeight(chart.config.x_axis_label_font_size) : 0
41
26
  };
42
27
  this.initChart(this.container, chart === null || chart === void 0 ? void 0 : chart.id, initConfig);
43
28
  };
@@ -45,7 +30,7 @@ class BarCustom extends _chartComponent.default {
45
30
  let {
46
31
  result: data
47
32
  } = this.props;
48
- data = _chartUtils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
33
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
49
34
  if (!Array.isArray(data)) return;
50
35
  this.draw(data);
51
36
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
@@ -106,7 +91,7 @@ class BarCustom extends _chartComponent.default {
106
91
  key: itemKey,
107
92
  value,
108
93
  series,
109
- slugid: _slugid.default.nice()
94
+ slugid: slugid.nice()
110
95
  });
111
96
  });
112
97
  stacksData.push({
@@ -128,12 +113,14 @@ class BarCustom extends _chartComponent.default {
128
113
  return allSeries;
129
114
  };
130
115
  this.draw = data => {
116
+ const fullData = data;
117
+ data = this.getVisibleLegendData(data, 'group_name');
131
118
  const {
132
119
  chart,
133
120
  globalTheme,
134
121
  chartColorTheme
135
122
  } = this.props;
136
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
123
+ const theme = CHART_THEME_COLOR[globalTheme];
137
124
  const {
138
125
  display_each_block_data
139
126
  } = chart.config;
@@ -148,7 +135,7 @@ class BarCustom extends _chartComponent.default {
148
135
  insertPadding
149
136
  } = this.chartBoundingClientRect;
150
137
  const organizedData = this.organizeData(data);
151
- const color = d3.scaleOrdinal().domain(d3.group(data, d => d.group_name).keys()).range(_chartUtils.BaseUtils.getCurrentTheme(chartColorTheme).colors).unknown('#ccc');
138
+ const color = d3.scaleOrdinal().domain(d3.group(fullData, d => d.group_name).keys()).range(BaseUtils.getCurrentTheme(chartColorTheme).colors).unknown('#ccc');
152
139
  const allSeries = this.getAllSeries(organizedData);
153
140
  const niceEnd = d3.nice(0, d3.max(allSeries, d => d[1]), 5)[1];
154
141
  const y = d3.scaleLinear().domain([0, niceEnd]).range([chartHeight - insertPadding, insertPadding]);
@@ -182,9 +169,6 @@ class BarCustom extends _chartComponent.default {
182
169
  const height = y(d[0][0]) - y(d[0][1]);
183
170
  return isNaN(height) ? 0 : height;
184
171
  }).attr('fill', d => color(d.key)).attr('data-value', d => d.stackData.value).attr('data-rectId', d => d.stackData.slugId).attr('data-groupName', d => d.stackData.group_name).attr('data-title', d => d.stackData.name).call(g => {
185
- const {
186
- borderRadius
187
- } = this.chartBoundingClientRect;
188
172
  const xWidth = x.bandwidth();
189
173
  const stackGroupNodes = Array.from(g._parents);
190
174
  const nameGroups = [];
@@ -196,28 +180,19 @@ class BarCustom extends _chartComponent.default {
196
180
  });
197
181
  nameGroups.forEach(nameGroup => {
198
182
  const stackGroups = Array.from(nameGroup.children);
199
- let groupBorderRadius = Infinity;
200
183
  stackGroups.forEach(stackGroup => {
201
184
  const topRect = Array.from(stackGroup.children).reverse().find(rect => Number(rect.getAttribute('height')) !== 0);
202
185
  if (!topRect) return;
203
- const rectHeight = Number(topRect.getAttribute('height'));
204
- const computedBorderRadius = Math.min(xWidth * borderRadius, rectHeight / 2, xWidth / 2);
205
- groupBorderRadius = Math.min(groupBorderRadius, computedBorderRadius);
206
- });
207
- if (!Number.isFinite(groupBorderRadius)) {
208
- groupBorderRadius = 0;
209
- }
210
- stackGroups.forEach(stackGroup => {
211
- const topRect = Array.from(stackGroup.children).reverse().find(rect => Number(rect.getAttribute('height')) !== 0);
212
- if (!topRect) return;
213
- this.addMaskRect(stackGroup, topRect, xWidth, color, groupBorderRadius);
186
+ this.addMaskRect(stackGroup, topRect, xWidth);
214
187
  });
215
188
  });
216
189
  if (display_each_block_data) {
217
190
  this.handleLabelToRectCenter(g, xWidth);
218
191
  }
192
+ this.animateFadeIn(this.chart.select('.content-wrapper').selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
193
+ this.animateStackGrowInY(g, rect => rect.parentNode.getAttribute('data-slugid'));
219
194
  }).on('click', (event, data) => {
220
- this.props.toggleRecords(data);
195
+ this.props.toggleRecords(data.stackData);
221
196
  }).on('mouseover', event => {
222
197
  this.showTooltip(event, color);
223
198
  this.handleStacksAcitveAndInActiveState('inActive', event);
@@ -234,7 +209,7 @@ class BarCustom extends _chartComponent.default {
234
209
  legendName: 'group_name',
235
210
  theme,
236
211
  legendPosition: 'top-right',
237
- data,
212
+ data: fullData,
238
213
  colorScale: color
239
214
  });
240
215
  };
@@ -246,10 +221,9 @@ class BarCustom extends _chartComponent.default {
246
221
  const {
247
222
  label_font_size
248
223
  } = chart.config;
249
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
224
+ const theme = CHART_THEME_COLOR[globalTheme];
250
225
  Array.from(g._parents).forEach(group => {
251
226
  Array.from(group.children).forEach(rect => {
252
- // The height is 0, and the label is not displayed.
253
227
  if (Number(rect.getAttribute('height')) === 0) return;
254
228
  this.addLabelToRectCenter({
255
229
  container: rect.parentNode,
@@ -264,28 +238,8 @@ class BarCustom extends _chartComponent.default {
264
238
  });
265
239
  });
266
240
  };
267
- this.addMaskRect = (topG, rect, xWidth, colorScale, borderRadiusVal) => {
268
- const {
269
- borderRadius
270
- } = this.chartBoundingClientRect;
271
- const rectHeight = Number(rect.getAttribute('height'));
272
- const computedBorderRadius = Math.min(xWidth * borderRadius, rectHeight / 2, xWidth / 2);
273
- const safeBorderRadius = Math.min(borderRadiusVal !== null && borderRadiusVal !== void 0 ? borderRadiusVal : computedBorderRadius, rectHeight / 2, xWidth / 2);
274
- // Add mask rect
275
- d3.select(topG).append('foreignObject').attr('class', 'stack-wrapper').attr('opacity', rect.getAttribute('opacity')).attr('x', rect.getAttribute('x')).attr('data-x', topG.parentNode.getAttribute('data-transform')).attr('y', rect.getAttribute('y')).attr('width', xWidth).attr('height', rect.getAttribute('height')).attr('data-groupName', rect.getAttribute('data-groupName')).attr('data-value', rect.getAttribute('data-value')).attr('data-title', rect.getAttribute('data-title')).attr('data-rectId', rect.getAttribute('data-rectId')).on('click', (event, data) => {
276
- this.props.toggleRecords(data);
277
- }).on('mouseover', event => {
278
- this.showTooltip(event, colorScale, true);
279
- this.handleStacksAcitveAndInActiveState('inActive', event);
280
- }).on('mousemove', event => {
281
- this.moveTooltip(event, true);
282
- }).on('mouseleave', (event, data) => {
283
- this.hiddenTooltip();
284
- this.handleStacksAcitveAndInActiveState('active', event);
285
- }).append('xhtml:div').attr('class', 'stack').attr('data-rectId', rect.getAttribute('data-rectId')).attr('style', `width: 100%; height: 100%; background-color: ${rect.getAttribute('fill')}; border-radius: ${safeBorderRadius}px ${safeBorderRadius}px 0px 0px`);
286
-
287
- // Remove old rect
288
- d3.select(rect).remove();
241
+ this.addMaskRect = (topG, rect, xWidth) => {
242
+ return this.addRoundedClip(rect, 'y', xWidth);
289
243
  };
290
244
  this.handleStacksAcitveAndInActiveState = (state, event) => {
291
245
  const rectsWrapper = event.currentTarget.parentNode.parentNode.parentNode;
@@ -294,10 +248,8 @@ class BarCustom extends _chartComponent.default {
294
248
  allGroup.forEach(group => {
295
249
  Array.from(group.children).forEach(rectGroup => {
296
250
  Array.from(rectGroup.children).forEach(rect => {
297
- const isDiv = rect.getAttribute('class') === 'stack-wrapper';
298
- const curRect = isDiv ? rect.children[0] : rect;
299
- if (curRect.getAttribute('class') === 'stack') {
300
- isDiv ? d3.select(curRect.parentNode).transition().duration(this.transitionDuration).attr('opacity', 1) : d3.select(curRect).transition().duration(this.transitionDuration).attr('opacity', 1);
251
+ if (rect.getAttribute('class') === 'stack') {
252
+ d3.select(rect).transition().duration(this.interactionDuration).attr('opacity', 1);
301
253
  }
302
254
  });
303
255
  });
@@ -308,35 +260,27 @@ class BarCustom extends _chartComponent.default {
308
260
  allGroup.forEach(group => {
309
261
  Array.from(group.children).forEach(rectGroup => {
310
262
  Array.from(rectGroup.children).forEach(rect => {
311
- const isDiv = rect.getAttribute('class') === 'stack-wrapper';
312
- const curRect = isDiv ? rect.children[0] : rect;
313
- if (curRect.getAttribute('class') === 'stack' && curRect.getAttribute('data-rectId') !== curRectId) {
314
- isDiv ? d3.select(curRect.parentNode).transition().duration(this.transitionDuration).attr('opacity', 0.3) : d3.select(curRect).transition().duration(this.transitionDuration).attr('opacity', 0.3);
263
+ if (rect.getAttribute('class') === 'stack' && rect.getAttribute('data-rectId') !== curRectId) {
264
+ d3.select(rect).transition().duration(this.interactionDuration).attr('opacity', 0.3);
315
265
  }
316
266
  });
317
267
  });
318
268
  });
319
269
  }
320
270
  };
321
- this.showTooltip = (event, colorScale, isDiv) => {
322
- let {
271
+ this.showTooltip = (event, colorScale) => {
272
+ const {
323
273
  offsetX,
324
274
  offsetY
325
275
  } = event;
326
- if (isDiv) {
327
- const initX = Number(event.currentTarget.getAttribute('data-x'));
328
- const initY = Number(event.currentTarget.getAttribute('y'));
329
- offsetX = offsetX + initX;
330
- offsetY = offsetY + initY;
331
- }
332
276
  const title = event.currentTarget.getAttribute('data-title');
333
277
  const name = event.currentTarget.getAttribute('data-groupName');
334
278
  const value = event.currentTarget.getAttribute('data-value');
335
279
  const newTooltipData = {
336
- title: !title && typeof title !== 'number' ? _intl.default.get(_constants.EMPTY_NAME) : title,
280
+ title: !title && typeof title !== 'number' ? intl.get(EMPTY_NAME) : title,
337
281
  items: [{
338
282
  color: colorScale(name),
339
- name: !name && typeof name !== 'number' ? _intl.default.get(_constants.EMPTY_NAME) : name,
283
+ name: !name && typeof name !== 'number' ? intl.get(EMPTY_NAME) : name,
340
284
  value
341
285
  }]
342
286
  };
@@ -350,17 +294,11 @@ class BarCustom extends _chartComponent.default {
350
294
  }
351
295
  });
352
296
  };
353
- this.moveTooltip = (event, isDiv) => {
354
- let {
297
+ this.moveTooltip = event => {
298
+ const {
355
299
  offsetX,
356
300
  offsetY
357
301
  } = event;
358
- if (isDiv) {
359
- const initX = Number(event.currentTarget.getAttribute('data-x'));
360
- const initY = Number(event.currentTarget.getAttribute('y'));
361
- offsetX = offsetX + initX;
362
- offsetY = offsetY + initY;
363
- }
364
302
  this.setState({
365
303
  toolTipPosition: {
366
304
  offsetX,
@@ -382,11 +320,11 @@ class BarCustom extends _chartComponent.default {
382
320
  componentDidMount() {
383
321
  this.createChart();
384
322
  this.drawChart();
385
- window.addEventListener('resize', this.handleResize);
323
+ super.componentDidMount();
386
324
  }
387
325
  componentDidUpdate(prevProps) {
388
326
  super.componentDidUpdate(prevProps);
389
- if (_chartUtils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
327
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
390
328
  this.destroyChart();
391
329
  this.createChart();
392
330
  this.drawChart();
@@ -394,23 +332,17 @@ class BarCustom extends _chartComponent.default {
394
332
  }
395
333
  componentWillUnmount() {
396
334
  this.destroyChart();
397
- window.removeEventListener('resize', this.handleResize);
335
+ super.componentWillUnmount();
398
336
  }
399
337
  render() {
400
- const {
401
- chart
402
- } = this.props;
403
338
  const {
404
339
  tooltipData,
405
340
  toolTipPosition
406
341
  } = this.state;
407
- return /*#__PURE__*/_react.default.createElement("div", {
342
+ return /*#__PURE__*/React.createElement("div", {
408
343
  ref: ref => this.container = ref,
409
- className: (0, _classnames.default)('sea-chart-container', {
410
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
411
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
412
- })
413
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
344
+ className: "sea-chart-container"
345
+ }, /*#__PURE__*/React.createElement(ToolTip, {
414
346
  tooltipData: tooltipData,
415
347
  toolTipPosition: toolTipPosition,
416
348
  chart: this.chart
@@ -418,15 +350,15 @@ class BarCustom extends _chartComponent.default {
418
350
  }
419
351
  }
420
352
  BarCustom.propTypes = {
421
- canvasStyle: _propTypes.default.object,
422
- chart: _propTypes.default.object,
423
- groupbyColumn: _propTypes.default.object,
424
- columnGroupbyColumn: _propTypes.default.object,
425
- summaryColumn: _propTypes.default.object,
426
- result: _propTypes.default.array,
427
- tables: _propTypes.default.array,
428
- globalTheme: _propTypes.default.string,
429
- chartColorTheme: _propTypes.default.string,
430
- toggleRecords: _propTypes.default.func
353
+ canvasStyle: PropTypes.object,
354
+ chart: PropTypes.object,
355
+ groupbyColumn: PropTypes.object,
356
+ columnGroupbyColumn: PropTypes.object,
357
+ summaryColumn: PropTypes.object,
358
+ result: PropTypes.array,
359
+ tables: PropTypes.array,
360
+ globalTheme: PropTypes.string,
361
+ chartColorTheme: PropTypes.string,
362
+ toggleRecords: PropTypes.func
431
363
  };
432
- var _default = exports.default = BarCustom;
364
+ export default BarCustom;