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,31 +1,16 @@
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 _dtableUtils = require("dtable-utils");
15
- var _constants = require("../../constants");
16
- var _colorRules = require("../../constants/color-rules");
17
- var _utils = require("../../utils");
18
- var _intl = _interopRequireDefault(require("../../intl"));
19
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
20
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
21
- class LineGroup extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { CellType } from 'dtable-utils';
5
+ import { EMPTY_NAME, CHART_THEME_COLOR, CHART_LINE_TYPES } from '../../constants';
6
+ import { SUPPORT_SINGLE_SELECT_THEMES_OPTIONS } from '../../constants/color-rules';
7
+ import { BaseUtils, isFunction } from '../../utils';
8
+ import intl from '../../intl';
9
+ import ToolTip from '../../components/tooltip';
10
+ import ChartComponent from './chart-component';
11
+ class LineGroup extends ChartComponent {
22
12
  constructor(props) {
23
13
  super(props);
24
- this.handleResize = () => {
25
- this.destroyChart();
26
- this.createChart();
27
- this.drawChart();
28
- };
29
14
  this.createChart = () => {
30
15
  const {
31
16
  chart
@@ -37,8 +22,8 @@ class LineGroup extends _chartComponent.default {
37
22
  } = chart.config;
38
23
  const initConfig = {
39
24
  insertPadding: 30,
40
- marginLeft: y_axis_show_label ? 20 : 0,
41
- marginBottom: x_axis_show_label ? 20 : 0,
25
+ marginLeft: y_axis_show_label ? this.getAxisTitleHeight(chart.config.y_axis_label_font_size) : 0,
26
+ marginBottom: x_axis_show_label ? this.getAxisTitleHeight(chart.config.x_axis_label_font_size) : 0,
42
27
  marginTop: y_axis_show_value ? 15 : 0
43
28
  };
44
29
  this.initChart(this.container, chart === null || chart === void 0 ? void 0 : chart.id, initConfig);
@@ -50,11 +35,11 @@ class LineGroup extends _chartComponent.default {
50
35
  let {
51
36
  result: data
52
37
  } = this.props;
53
- data = _utils.BaseUtils.formatEmptyName(data, 'group_name', _intl.default.get('Empty'));
38
+ data = BaseUtils.formatEmptyName(data, 'group_name', intl.get('Empty'));
54
39
  if (!Array.isArray(data)) return;
55
40
  this.draw(data);
56
41
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
57
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
42
+ isFunction(customRender) && customRender(this.chart);
58
43
  };
59
44
  this.showTooltip = (event, data, contentWrapper) => {
60
45
  const {
@@ -116,14 +101,14 @@ class LineGroup extends _chartComponent.default {
116
101
  const {
117
102
  y_axis_summary_method
118
103
  } = chart.config;
119
- const title = !data.name && typeof data.name !== 'number' ? _intl.default.get(_constants.EMPTY_NAME) : data.name;
104
+ const title = !data.name && typeof data.name !== 'number' ? intl.get(EMPTY_NAME) : data.name;
120
105
  const circleList = (_contentWrapper$selec = contentWrapper.selectAll('circle')) === null || _contentWrapper$selec === void 0 ? void 0 : _contentWrapper$selec.nodes();
121
106
  const items = circleList.filter(circle => circle.getAttribute('data-name') === title).map(circle => {
122
- const groupName = circle.getAttribute('data-groupName') || _intl.default.get(_constants.EMPTY_NAME);
107
+ const groupName = circle.getAttribute('data-groupName') || intl.get(EMPTY_NAME);
123
108
  return {
124
109
  color: this.colorMap[groupName],
125
110
  name: groupName,
126
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(circle.getAttribute('data-text')), y_axis_summary_method)
111
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(circle.getAttribute('data-text')), y_axis_summary_method)
127
112
  };
128
113
  });
129
114
  items.sort((a, b) => String(a.name).localeCompare(String(b.name), undefined, {
@@ -143,7 +128,7 @@ class LineGroup extends _chartComponent.default {
143
128
  chartColorTheme,
144
129
  summaryColumn
145
130
  } = this.props;
146
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
131
+ const theme = CHART_THEME_COLOR[globalTheme];
147
132
  const {
148
133
  display_goal_line,
149
134
  goal_value,
@@ -165,13 +150,13 @@ class LineGroup extends _chartComponent.default {
165
150
  insertPadding,
166
151
  marginTop
167
152
  } = this.chartBoundingClientRect;
168
- const useSingleSelectColumnColor = (columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
153
+ const useSingleSelectColumnColor = (columnGroupbyColumn === null || columnGroupbyColumn === void 0 ? void 0 : columnGroupbyColumn.type) === CellType.SINGLE_SELECT && color_theme === SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
169
154
  useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
170
155
 
171
156
  // Y axis
172
157
  const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
173
158
  const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min || 0, y_axis_max || niceEnd]).range([chartHeight - insertPadding, insertPadding + marginTop]);
174
- this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', `translate(${insertPadding}, 0)`).call(d3.axisLeft(y).tickSizeInner(0).ticks(5).tickFormat(d => _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
159
+ 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(summaryColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
175
160
 
176
161
  // X axis
177
162
  const xDomain = data.map(item => item.name);
@@ -195,13 +180,14 @@ class LineGroup extends _chartComponent.default {
195
180
  const xVal = x(d.name) + x.bandwidth() / 2;
196
181
  circleData[index]['x'] = xVal;
197
182
  circleData[index]['name'] = d.name;
183
+ circleData[index]['originalData'] = d;
198
184
  return xVal;
199
185
  }).y((d, index) => {
200
186
  const yVal = y(d.value);
201
187
  circleData[index]['y'] = yVal;
202
188
  circleData[index]['value'] = d.value;
203
189
  return yVal;
204
- }).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
190
+ }).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
205
191
  const group_name = item[0];
206
192
  const data = item[1];
207
193
  contentWrapper.append('path').attr('fill', 'none').attr('stroke', () => {
@@ -222,14 +208,14 @@ class LineGroup extends _chartComponent.default {
222
208
  } = _ref;
223
209
  circleData.forEach(item => {
224
210
  if (Object.keys(item).length > 0) {
225
- contentWrapper.append('circle').attr('cx', item.x).attr('cy', item.y).attr('r', 3).attr('fill', () => {
211
+ contentWrapper.append('circle').datum(item).attr('cx', item.x).attr('cy', item.y).attr('r', 3).attr('fill', () => {
226
212
  const colorKey = group_name || group_name === 0 ? group_name : '';
227
213
  return this.colorMap[colorKey];
228
214
  }).attr('opacity', y_axis_show_value ? 1 : 0).attr('data-groupName', group_name).attr('data-text', item.value).attr('data-name', item.name).call(g => {
229
215
  // circle label
230
216
  if (y_axis_show_value) {
231
217
  const curCircleEl = g.node();
232
- contentWrapper.append('text').attr('stroke', '#fff').attr('stroke-width', 1).attr('paint-order', 'stroke').attr('fill', theme.labelColor).attr('font-size', _utils.BaseUtils.getLabelFontSize(label_font_size)).text(_utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(curCircleEl.getAttribute('data-text')), y_axis_summary_method)).call(g => {
218
+ contentWrapper.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(BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(curCircleEl.getAttribute('data-text')), y_axis_summary_method)).call(g => {
233
219
  const {
234
220
  width
235
221
  } = g.node().getBoundingClientRect();
@@ -239,11 +225,14 @@ class LineGroup extends _chartComponent.default {
239
225
  });
240
226
  }
241
227
  }).on('click', (event, data) => {
242
- this.props.toggleRecords(data);
228
+ this.props.toggleRecords(data.originalData || data);
243
229
  });
244
230
  }
245
231
  });
246
232
  });
233
+ this.animateFadeIn(contentWrapper.selectAll('path'), this.transitionDuration);
234
+ this.animateFadeIn(contentWrapper.selectAll('circle'), this.transitionDuration, this.transitionDuration * 0.5);
235
+ this.animateFadeIn(contentWrapper.selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
247
236
  this.chart.on('mouseover', event => {
248
237
  this.updateCircleAndTickStyle({
249
238
  event,
@@ -325,7 +314,7 @@ class LineGroup extends _chartComponent.default {
325
314
  }
326
315
  });
327
316
  // line
328
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
317
+ const theme = CHART_THEME_COLOR[globalTheme];
329
318
  this.clearOldVerticalAnnotation(contentWrapper);
330
319
  this.addVerticalAnnotation(contentWrapper, minDistanceItem, theme);
331
320
  } else {
@@ -358,12 +347,11 @@ class LineGroup extends _chartComponent.default {
358
347
  componentDidMount() {
359
348
  this.createChart();
360
349
  this.drawChart();
361
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
362
- window.addEventListener('resize', this.debouncedHandleResize);
350
+ super.componentDidMount();
363
351
  }
364
352
  componentDidUpdate(prevProps) {
365
353
  super.componentDidUpdate(prevProps);
366
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
354
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
367
355
  this.destroyChart();
368
356
  this.createChart();
369
357
  this.drawChart();
@@ -371,23 +359,17 @@ class LineGroup extends _chartComponent.default {
371
359
  }
372
360
  componentWillUnmount() {
373
361
  this.destroyChart();
374
- window.removeEventListener('resize', this.debouncedHandleResize);
362
+ super.componentWillUnmount();
375
363
  }
376
364
  render() {
377
- const {
378
- chart
379
- } = this.props;
380
365
  const {
381
366
  tooltipData,
382
367
  toolTipPosition
383
368
  } = this.state;
384
- return /*#__PURE__*/_react.default.createElement("div", {
369
+ return /*#__PURE__*/React.createElement("div", {
385
370
  ref: ref => this.container = ref,
386
- className: (0, _classnames.default)('sea-chart-container', {
387
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
388
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
389
- })
390
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
371
+ className: "sea-chart-container"
372
+ }, /*#__PURE__*/React.createElement(ToolTip, {
391
373
  tooltipData: tooltipData,
392
374
  toolTipPosition: toolTipPosition,
393
375
  chart: this.chart
@@ -395,16 +377,16 @@ class LineGroup extends _chartComponent.default {
395
377
  }
396
378
  }
397
379
  LineGroup.propTypes = {
398
- canvasStyle: _propTypes.default.object,
399
- chart: _propTypes.default.object,
400
- groupbyColumn: _propTypes.default.object,
401
- columnGroupbyColumn: _propTypes.default.object,
402
- summaryColumn: _propTypes.default.object,
403
- result: _propTypes.default.array,
404
- tables: _propTypes.default.array,
405
- globalTheme: _propTypes.default.string,
406
- chartColorTheme: _propTypes.default.string,
407
- toggleRecords: _propTypes.default.func,
408
- customRender: _propTypes.default.func
380
+ canvasStyle: PropTypes.object,
381
+ chart: PropTypes.object,
382
+ groupbyColumn: PropTypes.object,
383
+ columnGroupbyColumn: PropTypes.object,
384
+ summaryColumn: PropTypes.object,
385
+ result: PropTypes.array,
386
+ tables: PropTypes.array,
387
+ globalTheme: PropTypes.string,
388
+ chartColorTheme: PropTypes.string,
389
+ toggleRecords: PropTypes.func,
390
+ customRender: PropTypes.func
409
391
  };
410
- var _default = exports.default = LineGroup;
392
+ export default LineGroup;
@@ -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 Line extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import * as d3 from 'd3';
4
+ import { TYPE_COLOR_USING, CHART_STYLE_COLORS, CHART_THEME_COLOR, CHART_LINE_TYPES } from '../../constants';
5
+ import { BaseUtils, isFunction } from '../../utils';
6
+ import intl from '../../intl';
7
+ import ToolTip from '../../components/tooltip';
8
+ import ChartComponent from './chart-component';
9
+ class Line 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
@@ -35,8 +20,8 @@ class Line extends _chartComponent.default {
35
20
  } = chart.config;
36
21
  const initConfig = {
37
22
  insertPadding: 30,
38
- marginLeft: y_axis_show_label ? 20 : 0,
39
- marginBottom: x_axis_show_label ? 20 : 0,
23
+ marginLeft: y_axis_show_label ? this.getAxisTitleHeight(chart.config.y_axis_label_font_size) : 0,
24
+ marginBottom: x_axis_show_label ? this.getAxisTitleHeight(chart.config.x_axis_label_font_size) : 0,
40
25
  marginTop: y_axis_show_value ? 15 : 0
41
26
  };
42
27
  this.initChart(this.container, chart === null || chart === void 0 ? void 0 : chart.id, initConfig);
@@ -48,11 +33,11 @@ class Line extends _chartComponent.default {
48
33
  let {
49
34
  result: data
50
35
  } = this.props;
51
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
36
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
52
37
  if (!Array.isArray(data)) return;
53
38
  this.draw(data);
54
39
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
55
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
40
+ isFunction(customRender) && customRender(this.chart);
56
41
  };
57
42
  this.showTooltip = (event, data, title) => {
58
43
  const {
@@ -71,7 +56,7 @@ class Line extends _chartComponent.default {
71
56
  items: [{
72
57
  color: this.getLineColor(),
73
58
  name: data.name,
74
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
59
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
75
60
  }]
76
61
  };
77
62
  this.setState({
@@ -101,7 +86,7 @@ class Line extends _chartComponent.default {
101
86
  items: [{
102
87
  color: this.getLineColor(),
103
88
  name: data.name,
104
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
89
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
105
90
  }]
106
91
  };
107
92
  this.setState({
@@ -126,7 +111,7 @@ class Line extends _chartComponent.default {
126
111
  tables,
127
112
  summaryColumn
128
113
  } = this.props;
129
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
114
+ const theme = CHART_THEME_COLOR[globalTheme];
130
115
  const {
131
116
  display_goal_line,
132
117
  goal_value,
@@ -157,7 +142,7 @@ class Line extends _chartComponent.default {
157
142
  // Y axis
158
143
  const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
159
144
  const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min || 0, y_axis_max || niceEnd]).range([chartHeight - insertPadding, insertPadding + marginTop]);
160
- this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', `translate(${insertPadding}, 0)`).call(d3.axisLeft(y).tickSizeInner(0).ticks(5).tickFormat(d => _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
145
+ 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(summaryColumn, d, y_axis_summary_method))).call(g => this.drawYaxis(g, theme));
161
146
 
162
147
  // X axis
163
148
  const xDomain = data.map(item => item.name);
@@ -177,23 +162,23 @@ class Line extends _chartComponent.default {
177
162
  const xVal = x(d.name) + x.bandwidth() / 2;
178
163
  circleData[index]['x'] = xVal;
179
164
  circleData[index]['name'] = d.name;
165
+ circleData[index]['originalData'] = d;
180
166
  return xVal;
181
167
  }).y((d, index) => {
182
168
  const yVal = y(d.value);
183
169
  circleData[index]['y'] = yVal;
184
170
  circleData[index]['value'] = d.value;
185
171
  return yVal;
186
- }).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
172
+ }).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
187
173
  const contentWrapper = this.chart.append('g').attr('class', 'content-wrapper');
188
- contentWrapper.append('path').attr('fill', 'none').attr('stroke', chartBarColor).attr('stroke-width', 2).attr('d', () => line(data));
174
+ contentWrapper.append('path').attr('fill', 'none').attr('stroke', chartBarColor).attr('stroke-width', 2).attr('d', () => line(data)).call(g => this.animateFadeIn(g));
189
175
 
190
176
  // circle
191
177
  circleData.forEach(item => {
192
- contentWrapper.append('circle').attr('cx', item.x).attr('cy', item.y).attr('r', 3).attr('fill', chartBarColor).attr('opacity', y_axis_show_value ? 1 : 0).attr('data-text', item.value).attr('data-name', item.name).call(g => {
193
- // circle label
178
+ contentWrapper.append('circle').datum(item).attr('cx', item.x).attr('cy', item.y).attr('r', 3).attr('fill', chartBarColor).attr('opacity', y_axis_show_value ? 1 : 0).attr('data-text', item.value).attr('data-name', item.name).call(g => {
194
179
  if (y_axis_show_value) {
195
180
  const curCircleEl = g.node();
196
- contentWrapper.append('text').attr('stroke', '#fff').attr('stroke-width', 1).attr('paint-order', 'stroke').attr('fill', theme.labelColor).attr('font-size', _utils.BaseUtils.getLabelFontSize(label_font_size)).text(_utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(curCircleEl.getAttribute('data-text')), y_axis_summary_method)).call(g => {
181
+ contentWrapper.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(BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(curCircleEl.getAttribute('data-text')), y_axis_summary_method)).call(g => {
197
182
  const {
198
183
  width
199
184
  } = g.node().getBoundingClientRect();
@@ -203,9 +188,11 @@ class Line extends _chartComponent.default {
203
188
  });
204
189
  }
205
190
  }).on('click', (event, data) => {
206
- this.props.toggleRecords(data);
191
+ this.props.toggleRecords(data.originalData || data);
207
192
  });
208
193
  });
194
+ this.animateFadeIn(contentWrapper.selectAll('circle'), this.transitionDuration, this.transitionDuration * 0.5);
195
+ this.animateFadeIn(contentWrapper.selectAll('text'), this.transitionDuration, this.transitionDuration * 0.5);
209
196
  this.chart.on('mouseover', event => {
210
197
  this.updateCircleAndTickStyle({
211
198
  event,
@@ -273,7 +260,7 @@ class Line extends _chartComponent.default {
273
260
  }
274
261
  });
275
262
  // line
276
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
263
+ const theme = CHART_THEME_COLOR[globalTheme];
277
264
  this.clearOldVerticalAnnotation(contentWrapper);
278
265
  this.addVerticalAnnotation(contentWrapper, minDistanceItem, theme);
279
266
  } else {
@@ -306,11 +293,11 @@ class Line extends _chartComponent.default {
306
293
  y_axis_label_color,
307
294
  color_option
308
295
  } = chart.config;
309
- let chartBarColor = _constants.CHART_STYLE_COLORS[0];
296
+ let chartBarColor = CHART_STYLE_COLORS[0];
310
297
  if (chartColorTheme) {
311
- chartBarColor = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
298
+ chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
312
299
  }
313
- if (color_option === _constants.TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
300
+ if (color_option === TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
314
301
  chartBarColor = y_axis_label_color;
315
302
  }
316
303
  return chartBarColor;
@@ -324,12 +311,11 @@ class Line extends _chartComponent.default {
324
311
  componentDidMount() {
325
312
  this.createChart();
326
313
  this.drawChart();
327
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
328
- window.addEventListener('resize', this.debouncedHandleResize);
314
+ super.componentDidMount();
329
315
  }
330
316
  componentDidUpdate(prevProps) {
331
317
  super.componentDidUpdate(prevProps);
332
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
318
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
333
319
  this.destroyChart();
334
320
  this.createChart();
335
321
  this.drawChart();
@@ -337,23 +323,17 @@ class Line extends _chartComponent.default {
337
323
  }
338
324
  componentWillUnmount() {
339
325
  this.destroyChart();
340
- window.removeEventListener('resize', this.debouncedHandleResize);
326
+ super.componentWillUnmount();
341
327
  }
342
328
  render() {
343
- const {
344
- chart
345
- } = this.props;
346
329
  const {
347
330
  tooltipData,
348
331
  toolTipPosition
349
332
  } = this.state;
350
- return /*#__PURE__*/_react.default.createElement("div", {
333
+ return /*#__PURE__*/React.createElement("div", {
351
334
  ref: ref => this.container = ref,
352
- className: (0, _classnames.default)('sea-chart-container', {
353
- 'show-x-axis-label': this.isShowXAxisLabel(chart),
354
- 'show-y-axis-label': this.isShowYAxisLabel(chart)
355
- })
356
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
335
+ className: "sea-chart-container"
336
+ }, /*#__PURE__*/React.createElement(ToolTip, {
357
337
  tooltipData: tooltipData,
358
338
  toolTipPosition: toolTipPosition,
359
339
  chart: this.chart
@@ -361,16 +341,16 @@ class Line extends _chartComponent.default {
361
341
  }
362
342
  }
363
343
  Line.propTypes = {
364
- canvasStyle: _propTypes.default.object,
365
- chart: _propTypes.default.object,
366
- groupbyColumn: _propTypes.default.object,
367
- columnGroupbyColumn: _propTypes.default.object,
368
- summaryColumn: _propTypes.default.object,
369
- result: _propTypes.default.array,
370
- tables: _propTypes.default.array,
371
- globalTheme: _propTypes.default.string,
372
- chartColorTheme: _propTypes.default.string,
373
- toggleRecords: _propTypes.default.func,
374
- customRender: _propTypes.default.func
344
+ canvasStyle: PropTypes.object,
345
+ chart: PropTypes.object,
346
+ groupbyColumn: PropTypes.object,
347
+ columnGroupbyColumn: PropTypes.object,
348
+ summaryColumn: PropTypes.object,
349
+ result: PropTypes.array,
350
+ tables: PropTypes.array,
351
+ globalTheme: PropTypes.string,
352
+ chartColorTheme: PropTypes.string,
353
+ toggleRecords: PropTypes.func,
354
+ customRender: PropTypes.func
375
355
  };
376
- var _default = exports.default = Line;
356
+ export default Line;