sea-chart 2.0.43 → 2.0.44

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 +53 -72
  250. package/dist/view/wrapper/area.js +51 -72
  251. package/dist/view/wrapper/bar-compare.js +43 -56
  252. package/dist/view/wrapper/bar-custom-stack.js +50 -120
  253. package/dist/view/wrapper/bar-group.js +51 -94
  254. package/dist/view/wrapper/bar-stack.js +54 -90
  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 +539 -162
  258. package/dist/view/wrapper/combination.js +63 -83
  259. package/dist/view/wrapper/completeness-group.js +42 -96
  260. package/dist/view/wrapper/completeness.js +42 -96
  261. package/dist/view/wrapper/dashboard.js +33 -47
  262. package/dist/view/wrapper/funnel.js +36 -56
  263. package/dist/view/wrapper/heat-map.js +126 -104
  264. package/dist/view/wrapper/horizontal-bar-group.js +57 -76
  265. package/dist/view/wrapper/horizontal-bar-stack.js +56 -109
  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 +48 -66
  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 +40 -61
  275. package/dist/view/wrapper/pie.js +48 -59
  276. package/dist/view/wrapper/ring.js +52 -63
  277. package/dist/view/wrapper/scatter.js +49 -67
  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,29 +1,14 @@
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 _classnames = _interopRequireDefault(require("classnames"));
14
- var _constants = require("../../constants");
15
- var _utils = require("../../utils");
16
- var _intl = _interopRequireDefault(require("../../intl"));
17
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
18
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
19
- class Completeness extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { CHART_THEME_COLOR } from '../../constants';
5
+ import { BaseUtils } from '../../utils';
6
+ import intl from '../../intl';
7
+ import ToolTip from '../../components/tooltip';
8
+ import ChartComponent from './chart-component';
9
+ class Completeness extends ChartComponent {
20
10
  constructor(props) {
21
11
  super(props);
22
- this.handleResize = () => {
23
- this.destroyChart();
24
- this.createChart();
25
- this.drawChart();
26
- };
27
12
  this.createChart = () => {
28
13
  const {
29
14
  chart
@@ -42,7 +27,7 @@ class Completeness extends _chartComponent.default {
42
27
  let {
43
28
  result: data
44
29
  } = this.props;
45
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
30
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
46
31
  if (!Array.isArray(data)) return;
47
32
  this.draw(data);
48
33
  };
@@ -52,7 +37,7 @@ class Completeness extends _chartComponent.default {
52
37
  globalTheme,
53
38
  chartColorTheme
54
39
  } = this.props;
55
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
40
+ const theme = CHART_THEME_COLOR[globalTheme];
56
41
  const {
57
42
  y_axis_auto_range,
58
43
  y_axis_min,
@@ -66,7 +51,7 @@ class Completeness extends _chartComponent.default {
66
51
  insertPadding,
67
52
  marginRight
68
53
  } = this.chartBoundingClientRect;
69
- const colors = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors;
54
+ const colors = BaseUtils.getCurrentTheme(chartColorTheme).colors;
70
55
  this.markFirstOrLast(data, 'last');
71
56
  const series = d3.stack().keys(d3.union(data.map(d => d.group_name))).value((_ref, key) => {
72
57
  var _group$get;
@@ -91,7 +76,7 @@ class Completeness extends _chartComponent.default {
91
76
  });
92
77
 
93
78
  // X axis
94
- const niceEnd = d3.nice(0, d3.max(newSeries, d => d[1].sumValue), 5)[1];
79
+ const niceEnd = d3.nice(0, d3.max(newSeries, d => d[1].sumValue) || 0, 5)[1];
95
80
  const x = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min || 0, y_axis_max || niceEnd]).range([Number(yAxis.node().getAttribute('data-axisWidth')), chartWidth - insertPadding - marginRight]);
96
81
  this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', `translate(0, ${chartHeight - insertPadding})`).call(d3.axisBottom(x).tickSizeInner(0).ticks(5)).call(g => {
97
82
  g.selectAll('.domain').remove();
@@ -142,7 +127,7 @@ class Completeness extends _chartComponent.default {
142
127
  });
143
128
  }
144
129
  }).on('click', (event, data) => {
145
- this.props.toggleRecords(data);
130
+ this.toggleRecords(data.data);
146
131
  }).on('mouseover', event => {
147
132
  this.showTooltip(event);
148
133
  this.handleAcitveAndInActiveState('inActive', event);
@@ -151,6 +136,9 @@ class Completeness extends _chartComponent.default {
151
136
  }).on('mouseleave', (event, data) => {
152
137
  this.hiddenTooltip();
153
138
  this.handleAcitveAndInActiveState('active', event);
139
+ }).call(g => {
140
+ this.animateStackGrowInX(g);
141
+ this.animateFadeIn(contentWrapper.selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
154
142
  });
155
143
  this.setLegend({
156
144
  legendName: 'group_name',
@@ -165,26 +153,20 @@ class Completeness extends _chartComponent.default {
165
153
  const curGroupName = event.currentTarget.getAttribute('data-groupName');
166
154
  this.setActiveAndInActiveState(state, allGroup, curGroupName);
167
155
  };
168
- this.showTooltip = (event, isDiv) => {
169
- let {
156
+ this.showTooltip = event => {
157
+ const {
170
158
  offsetX,
171
159
  offsetY
172
160
  } = event;
173
- if (isDiv) {
174
- const initX = Number(event.currentTarget.getAttribute('data-x'));
175
- const initY = Number(event.currentTarget.getAttribute('y'));
176
- offsetX = offsetX + initX;
177
- offsetY = offsetY + initY;
178
- }
179
161
  const {
180
162
  chartColorTheme
181
163
  } = this.props;
182
- const colors = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors;
164
+ const colors = BaseUtils.getCurrentTheme(chartColorTheme).colors;
183
165
  const newTooltipData = {
184
166
  title: event.currentTarget.getAttribute('data-tooltipTitle'),
185
167
  items: [{
186
- color: event.currentTarget.getAttribute('data-tooltipTitle') === 'rest' ? '#bdbdbd' : colors[0],
187
- name: _intl.default.get(event.currentTarget.getAttribute('data-tooltipName')),
168
+ color: event.currentTarget.getAttribute('data-tooltipName') === 'rest' ? '#bdbdbd' : colors[0],
169
+ name: intl.get(event.currentTarget.getAttribute('data-tooltipName')),
188
170
  value: event.currentTarget.getAttribute('data-value')
189
171
  }]
190
172
  };
@@ -198,17 +180,11 @@ class Completeness extends _chartComponent.default {
198
180
  }
199
181
  });
200
182
  };
201
- this.moveTooltip = (event, isDiv) => {
202
- let {
183
+ this.moveTooltip = event => {
184
+ const {
203
185
  offsetX,
204
186
  offsetY
205
187
  } = event;
206
- if (isDiv) {
207
- const initX = Number(event.currentTarget.getAttribute('data-x'));
208
- const initY = Number(event.currentTarget.getAttribute('y'));
209
- offsetX = offsetX + initX;
210
- offsetY = offsetY + initY;
211
- }
212
188
  this.setState({
213
189
  toolTipPosition: {
214
190
  offsetX,
@@ -261,28 +237,7 @@ class Completeness extends _chartComponent.default {
261
237
  return allGroup;
262
238
  };
263
239
  this.addMaskRect = (topG, rect, yAxis) => {
264
- const xWidth = Number(rect.getAttribute('height'));
265
- const {
266
- borderRadius
267
- } = this.chartBoundingClientRect;
268
- // Add mask rect
269
- d3.select(topG).append('foreignObject').attr('opacity', rect.getAttribute('opacity')).attr('x', rect.getAttribute('x')).attr('y', rect.getAttribute('y')).attr('width', rect.getAttribute('width')).attr('height', rect.getAttribute('height')).attr('data-groupName', rect.getAttribute('data-groupName')).attr('data-value', rect.getAttribute('data-value')).attr('data-tooltipTitle', rect.getAttribute('data-tooltipTitle')).attr('data-tooltipName', rect.getAttribute('data-tooltipName')).attr('data-x', () => {
270
- const x = Number(rect.getAttribute('x'));
271
- return x + Number(yAxis.node().getAttribute('data-axisWidth'));
272
- }).on('click', (event, data) => {
273
- this.props.toggleRecords(data);
274
- }).on('mouseover', event => {
275
- this.showTooltip(event, true);
276
- this.handleAcitveAndInActiveState('inActive', event);
277
- }).on('mousemove', event => {
278
- this.moveTooltip(event, true);
279
- }).on('mouseleave', event => {
280
- this.hiddenTooltip();
281
- this.handleAcitveAndInActiveState('active', event);
282
- }).append('xhtml:div').attr('style', `width: 100%; height: 100%; background-color: ${rect.getAttribute('fill')}; border-radius: 0px ${xWidth * borderRadius}px ${xWidth * borderRadius}px 0px`);
283
-
284
- // Remove old rect
285
- d3.select(rect).remove();
240
+ return this.addRoundedClip(rect, 'x');
286
241
  };
287
242
  this.chart = null;
288
243
  this.state = {
@@ -291,40 +246,31 @@ class Completeness extends _chartComponent.default {
291
246
  };
292
247
  }
293
248
  componentDidMount() {
294
- super.componentDidMount();
295
249
  this.createChart();
296
250
  this.drawChart();
297
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
298
- window.addEventListener('resize', this.debouncedHandleResize);
251
+ super.componentDidMount();
299
252
  }
300
253
  componentDidUpdate(prevProps) {
301
254
  super.componentDidUpdate(prevProps);
302
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
255
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
303
256
  this.destroyChart();
304
257
  this.createChart();
305
258
  this.drawChart();
306
259
  }
307
260
  }
308
261
  componentWillUnmount() {
309
- super.componentWillUnmount();
310
262
  this.destroyChart();
311
- window.removeEventListener('resize', this.debouncedHandleResize);
263
+ super.componentWillUnmount();
312
264
  }
313
265
  render() {
314
- const {
315
- chart
316
- } = this.props;
317
266
  const {
318
267
  tooltipData,
319
268
  toolTipPosition
320
269
  } = this.state;
321
- return /*#__PURE__*/_react.default.createElement("div", {
270
+ return /*#__PURE__*/React.createElement("div", {
322
271
  ref: ref => this.container = ref,
323
- className: (0, _classnames.default)('sea-chart-container', {
324
- 'show-x-axis-label': this.isShowHorizontalAxisLabel(chart),
325
- 'show-y-axis-label': this.isShowVerticalAxisLabel(chart)
326
- })
327
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
272
+ className: "sea-chart-container"
273
+ }, /*#__PURE__*/React.createElement(ToolTip, {
328
274
  tooltipData: tooltipData,
329
275
  toolTipPosition: toolTipPosition,
330
276
  chart: this.chart
@@ -332,15 +278,15 @@ class Completeness extends _chartComponent.default {
332
278
  }
333
279
  }
334
280
  Completeness.propTypes = {
335
- canvasStyle: _propTypes.default.object,
336
- chart: _propTypes.default.object,
337
- groupbyColumn: _propTypes.default.object,
338
- columnGroupbyColumn: _propTypes.default.object,
339
- summaryColumn: _propTypes.default.object,
340
- result: _propTypes.default.array,
341
- tables: _propTypes.default.array,
342
- globalTheme: _propTypes.default.string,
343
- chartColorTheme: _propTypes.default.string,
344
- toggleRecords: _propTypes.default.func
281
+ canvasStyle: PropTypes.object,
282
+ chart: PropTypes.object,
283
+ groupbyColumn: PropTypes.object,
284
+ columnGroupbyColumn: PropTypes.object,
285
+ summaryColumn: PropTypes.object,
286
+ result: PropTypes.array,
287
+ tables: PropTypes.array,
288
+ globalTheme: PropTypes.string,
289
+ chartColorTheme: PropTypes.string,
290
+ toggleRecords: PropTypes.func
345
291
  };
346
- var _default = exports.default = Completeness;
292
+ export default Completeness;
@@ -1,20 +1,11 @@
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 _constants = require("../../constants");
14
- var _utils = require("../../utils");
15
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
16
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
17
- class Dashboard extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { CHART_THEME_COLOR } from '../../constants';
5
+ import { BaseUtils, isFunction } from '../../utils';
6
+ import ToolTip from '../../components/tooltip';
7
+ import ChartComponent from './chart-component';
8
+ class Dashboard extends ChartComponent {
18
9
  constructor(props) {
19
10
  super(props);
20
11
  this.handleClickNumber = () => {
@@ -33,17 +24,6 @@ class Dashboard extends _chartComponent.default {
33
24
  });
34
25
  }
35
26
  };
36
- this.componentDidMount = () => {
37
- this.createChart();
38
- this.drawChart();
39
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
40
- window.addEventListener('resize', this.debouncedHandleResize);
41
- };
42
- this.handleResize = () => {
43
- this.destroyChart();
44
- this.createChart();
45
- this.drawChart();
46
- };
47
27
  this.createChart = () => {
48
28
  const {
49
29
  chart
@@ -59,7 +39,7 @@ class Dashboard extends _chartComponent.default {
59
39
  customRender
60
40
  } = this.props;
61
41
  this.draw(data);
62
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
42
+ isFunction(customRender) && customRender(this.chart);
63
43
  };
64
44
  this.draw = data => {
65
45
  const {
@@ -67,7 +47,7 @@ class Dashboard extends _chartComponent.default {
67
47
  height: chartHeight,
68
48
  insertPadding
69
49
  } = this.chartBoundingClientRect;
70
- const value = Number(data) * 100;
50
+ const value = (Number(data) || 0) * 100;
71
51
  const formatValue = value >= 100 ? 100 : value.toFixed(1);
72
52
  const innerRadius = Math.min(chartWidth, chartHeight) / 2 * 0.7;
73
53
  const outerRadius = Math.min(chartWidth, chartHeight) / 2 * 0.75;
@@ -106,12 +86,13 @@ class Dashboard extends _chartComponent.default {
106
86
  // Draw total
107
87
  this.drawTotal(g.node().parentNode, formatValue);
108
88
  });
89
+ this.animateFadeIn(this.chart.selectAll('path, circle, rect, line, text'));
109
90
  };
110
91
  this.drawTicks = (left, offsetX, top, offsetY, startAngle, endAngle, arc) => {
111
92
  const {
112
93
  globalTheme
113
94
  } = this.props;
114
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
95
+ const theme = CHART_THEME_COLOR[globalTheme];
115
96
  const ticks = Array.from({
116
97
  length: 51
117
98
  }, (_, i) => i);
@@ -173,7 +154,7 @@ class Dashboard extends _chartComponent.default {
173
154
  const {
174
155
  name
175
156
  } = chart.config;
176
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
157
+ const theme = CHART_THEME_COLOR[globalTheme];
177
158
  const {
178
159
  height: chartHeight
179
160
  } = this.chartBoundingClientRect;
@@ -234,9 +215,14 @@ class Dashboard extends _chartComponent.default {
234
215
  toolTipPosition: null
235
216
  };
236
217
  }
218
+ componentDidMount() {
219
+ this.createChart();
220
+ this.drawChart();
221
+ super.componentDidMount();
222
+ }
237
223
  componentDidUpdate(prevProps) {
238
224
  super.componentDidUpdate(prevProps);
239
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
225
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
240
226
  this.destroyChart();
241
227
  this.createChart();
242
228
  this.drawChart();
@@ -244,17 +230,17 @@ class Dashboard extends _chartComponent.default {
244
230
  }
245
231
  componentWillUnmount() {
246
232
  this.destroyChart();
247
- window.removeEventListener('resize', this.debouncedHandleResize);
233
+ super.componentWillUnmount();
248
234
  }
249
235
  render() {
250
236
  const {
251
237
  tooltipData,
252
238
  toolTipPosition
253
239
  } = this.state;
254
- return /*#__PURE__*/_react.default.createElement("div", {
240
+ return /*#__PURE__*/React.createElement("div", {
255
241
  ref: ref => this.container = ref,
256
242
  className: "sea-chart-container"
257
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
243
+ }, /*#__PURE__*/React.createElement(ToolTip, {
258
244
  tooltipData: tooltipData,
259
245
  toolTipPosition: toolTipPosition,
260
246
  chart: this.chart
@@ -262,15 +248,15 @@ class Dashboard extends _chartComponent.default {
262
248
  }
263
249
  }
264
250
  Dashboard.propTypes = {
265
- canvasStyle: _propTypes.default.object,
266
- chart: _propTypes.default.object,
267
- groupbyColumn: _propTypes.default.object,
268
- summaryColumn: _propTypes.default.object,
269
- result: _propTypes.default.oneOfType([_propTypes.default.number, _propTypes.default.object]),
270
- tables: _propTypes.default.array,
271
- globalTheme: _propTypes.default.string,
272
- chartColorTheme: _propTypes.default.string,
273
- toggleRecords: _propTypes.default.func,
274
- customRender: _propTypes.default.func
251
+ canvasStyle: PropTypes.object,
252
+ chart: PropTypes.object,
253
+ groupbyColumn: PropTypes.object,
254
+ summaryColumn: PropTypes.object,
255
+ result: PropTypes.oneOfType([PropTypes.number, PropTypes.object]),
256
+ tables: PropTypes.array,
257
+ globalTheme: PropTypes.string,
258
+ chartColorTheme: PropTypes.string,
259
+ toggleRecords: PropTypes.func,
260
+ customRender: PropTypes.func
275
261
  };
276
- var _default = exports.default = Dashboard;
262
+ export default Dashboard;
@@ -1,28 +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 _lodashEs = require("lodash-es");
12
- var d3 = _interopRequireWildcard(require("d3"));
13
- var _classnames = _interopRequireDefault(require("classnames"));
14
- var _constants = require("../../constants");
15
- var _utils = require("../../utils");
16
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
17
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
18
- class Funnel extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { FUNNEL_LABEL_FORMAT, FUNNEL_LABEL_POSITIONS, CHART_THEME_COLOR } from '../../constants';
5
+ import { BaseUtils, getSortedDataByGivenOrder } from '../../utils';
6
+ import ToolTip from '../../components/tooltip';
7
+ import ChartComponent from './chart-component';
8
+ class Funnel extends ChartComponent {
19
9
  constructor(props) {
20
10
  super(props);
21
- this.handleResize = () => {
22
- this.destroyChart();
23
- this.createChart();
24
- this.drawChart();
25
- };
26
11
  this.createChart = () => {
27
12
  const {
28
13
  chart
@@ -42,7 +27,7 @@ class Funnel extends _chartComponent.default {
42
27
  funnel_accumulate_values
43
28
  } = chart.config;
44
29
  if (!x_axis_option_list.length) return;
45
- const sortedData = (0, _utils.getSortedDataByGivenOrder)(data, x_axis_option_list);
30
+ const sortedData = getSortedDataByGivenOrder(data, x_axis_option_list);
46
31
  const formatSortedData = this.formatSortedData(sortedData, funnel_accumulate_values);
47
32
  this.draw(formatSortedData);
48
33
  };
@@ -63,7 +48,7 @@ class Funnel extends _chartComponent.default {
63
48
  items: [{
64
49
  color: colorScale(data === null || data === void 0 ? void 0 : data.name),
65
50
  name: data === null || data === void 0 ? void 0 : data.name,
66
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data === null || data === void 0 ? void 0 : data.value), y_axis_summary_method)
51
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data === null || data === void 0 ? void 0 : data.value), y_axis_summary_method)
67
52
  }]
68
53
  };
69
54
  this.setState({
@@ -116,8 +101,8 @@ class Funnel extends _chartComponent.default {
116
101
  height: chartHeight,
117
102
  insertPadding
118
103
  } = this.chartBoundingClientRect;
119
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
120
- const isInside = funnel_label_position === _constants.FUNNEL_LABEL_POSITIONS.INSIDE;
104
+ const theme = CHART_THEME_COLOR[globalTheme];
105
+ const isInside = funnel_label_position === FUNNEL_LABEL_POSITIONS.INSIDE;
121
106
  const title = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
122
107
  const nameDomain = new Set(data.map(item => item.name));
123
108
 
@@ -142,7 +127,7 @@ class Funnel extends _chartComponent.default {
142
127
  let points3X = x(curValue) + curOffsetX;
143
128
  let points3Y = y(curName) + y.bandwidth();
144
129
  let points4X = x(0) + curOffsetX;
145
- let points4Y = y(curName) + +y.bandwidth();
130
+ let points4Y = y(curName) + y.bandwidth();
146
131
  const nextD = data[index + 1];
147
132
  if (nextD) {
148
133
  const {
@@ -218,6 +203,8 @@ class Funnel extends _chartComponent.default {
218
203
  this.hiddenTooltip(event);
219
204
  });
220
205
  });
206
+ this.animateFadeIn(contentWrapper.selectAll('polygon'));
207
+ this.animateFadeIn(contentWrapper.selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
221
208
  if (funnel_show_legend) {
222
209
  this.setLegend({
223
210
  legendName: 'name',
@@ -250,20 +237,19 @@ class Funnel extends _chartComponent.default {
250
237
  toolTipPosition: null
251
238
  };
252
239
  this.contentFormatterMap = {
253
- [_constants.FUNNEL_LABEL_FORMAT.NUMBER]: obj => obj === null || obj === void 0 ? void 0 : obj.value,
254
- [_constants.FUNNEL_LABEL_FORMAT.PERCENTAGE]: obj => ((obj === null || obj === void 0 ? void 0 : obj.percent) || 0) + '%',
255
- [_constants.FUNNEL_LABEL_FORMAT.NUMBER_AND_PERCENTAGE]: obj => `${obj === null || obj === void 0 ? void 0 : obj.value} (${(obj === null || obj === void 0 ? void 0 : obj.percent) || 0}%)`
240
+ [FUNNEL_LABEL_FORMAT.NUMBER]: obj => obj === null || obj === void 0 ? void 0 : obj.value,
241
+ [FUNNEL_LABEL_FORMAT.PERCENTAGE]: obj => ((obj === null || obj === void 0 ? void 0 : obj.percent) || 0) + '%',
242
+ [FUNNEL_LABEL_FORMAT.NUMBER_AND_PERCENTAGE]: obj => `${obj === null || obj === void 0 ? void 0 : obj.value} (${(obj === null || obj === void 0 ? void 0 : obj.percent) || 0}%)`
256
243
  };
257
244
  }
258
245
  componentDidMount() {
259
246
  this.createChart();
260
247
  this.drawChart();
261
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
262
- window.addEventListener('resize', this.debouncedHandleResize);
248
+ super.componentDidMount();
263
249
  }
264
250
  componentDidUpdate(prevProps) {
265
251
  super.componentDidUpdate(prevProps);
266
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
252
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
267
253
  this.destroyChart();
268
254
  this.createChart();
269
255
  this.drawChart();
@@ -271,23 +257,17 @@ class Funnel extends _chartComponent.default {
271
257
  }
272
258
  componentWillUnmount() {
273
259
  this.destroyChart();
274
- window.removeEventListener('resize', this.debouncedHandleResize);
260
+ super.componentWillUnmount();
275
261
  }
276
262
  render() {
277
- const {
278
- chart
279
- } = this.props;
280
263
  const {
281
264
  tooltipData,
282
265
  toolTipPosition
283
266
  } = this.state;
284
- return /*#__PURE__*/_react.default.createElement("div", {
267
+ return /*#__PURE__*/React.createElement("div", {
285
268
  ref: ref => this.container = ref,
286
- className: (0, _classnames.default)('sea-chart-container', {
287
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
288
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
289
- })
290
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
269
+ className: "sea-chart-container"
270
+ }, /*#__PURE__*/React.createElement(ToolTip, {
291
271
  tooltipData: tooltipData,
292
272
  toolTipPosition: toolTipPosition,
293
273
  chart: this.chart
@@ -295,16 +275,16 @@ class Funnel extends _chartComponent.default {
295
275
  }
296
276
  }
297
277
  Funnel.propTypes = {
298
- canvasStyle: _propTypes.default.object,
299
- chart: _propTypes.default.object,
300
- groupbyColumn: _propTypes.default.object,
301
- columnGroupbyColumn: _propTypes.default.object,
302
- summaryColumn: _propTypes.default.object,
303
- result: _propTypes.default.array,
304
- tables: _propTypes.default.array,
305
- globalTheme: _propTypes.default.string,
306
- chartColorTheme: _propTypes.default.string,
307
- toggleRecords: _propTypes.default.func,
308
- customRender: _propTypes.default.func
278
+ canvasStyle: PropTypes.object,
279
+ chart: PropTypes.object,
280
+ groupbyColumn: PropTypes.object,
281
+ columnGroupbyColumn: PropTypes.object,
282
+ summaryColumn: PropTypes.object,
283
+ result: PropTypes.array,
284
+ tables: PropTypes.array,
285
+ globalTheme: PropTypes.string,
286
+ chartColorTheme: PropTypes.string,
287
+ toggleRecords: PropTypes.func,
288
+ customRender: PropTypes.func
309
289
  };
310
- var _default = exports.default = Funnel;
290
+ export default Funnel;