sea-chart 2.0.37 → 2.0.38

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 (304) hide show
  1. package/dist/api/index.js +20 -69
  2. package/dist/assets/css/sea-chart-d3-tooltip.css +0 -1
  3. package/dist/components/cell-factory/FormatterConfig.js +55 -62
  4. package/dist/components/cell-factory/SimpleCellFormatter.js +5 -12
  5. package/dist/components/cell-factory/SingleSelectOption.js +11 -18
  6. package/dist/components/cell-factory/cell-editor-factory.js +5 -12
  7. package/dist/components/cell-factory/cell-formatter-factory.js +4 -11
  8. package/dist/components/cell-factory/link-content.js +30 -38
  9. package/dist/components/chart-color-selector/color-selector.js +11 -18
  10. package/dist/components/collaborator/index.js +7 -14
  11. package/dist/components/color-picker/index.js +12 -19
  12. package/dist/components/color-popover/color-rules/color-rule.js +26 -34
  13. package/dist/components/color-popover/color-rules/index.js +7 -15
  14. package/dist/components/color-popover/color-rules/rule-filters/filter.js +27 -34
  15. package/dist/components/color-popover/color-rules/rule-filters/index.js +17 -25
  16. package/dist/components/color-popover/color-rules/rule-filters/number-input.js +9 -17
  17. package/dist/components/color-popover/color-rules-popover.js +31 -37
  18. package/dist/components/color-popover/color-selector-popover.js +12 -20
  19. package/dist/components/color-setting/color-group-selector.js +13 -21
  20. package/dist/components/common-add-tool/index.js +8 -15
  21. package/dist/components/data-process-setter/data-setting-header.js +7 -14
  22. package/dist/components/data-process-setter/hide-column-setter.js +13 -20
  23. package/dist/components/data-process-setter/index.js +4 -27
  24. package/dist/components/data-process-setter/sort-setter.js +18 -26
  25. package/dist/components/draggable/Draggable.js +7 -13
  26. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +41 -48
  27. package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +10 -18
  28. package/dist/components/drill-down-settings/index.js +11 -18
  29. package/dist/components/dtable-popover/index.js +13 -20
  30. package/dist/components/dtable-search-input/index.js +13 -21
  31. package/dist/components/font-settings/index.js +14 -22
  32. package/dist/components/goal-line-setting/goal-setting-item.js +6 -14
  33. package/dist/components/goal-line-setting/index.js +12 -19
  34. package/dist/components/highlighter/highlighter.js +7 -14
  35. package/dist/components/icon/index.js +12 -23
  36. package/dist/components/index.js +7 -48
  37. package/dist/components/loading/index.js +6 -13
  38. package/dist/components/number-input/index.js +11 -24
  39. package/dist/components/pixel-editor/index.js +15 -23
  40. package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +13 -16
  41. package/dist/components/popover/hide-column-popover/hide-column-popover.css +5 -1
  42. package/dist/components/popover/hide-column-popover/hide-column-popover.js +28 -38
  43. package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +9 -18
  44. package/dist/components/popover/sort-popover/sort-popover.js +58 -69
  45. package/dist/components/resize-handle/ResizeHandle.js +6 -13
  46. package/dist/components/row-card/row-card-header-cell.js +17 -24
  47. package/dist/components/row-card/row-card-header.js +15 -22
  48. package/dist/components/row-card/row-card-item.js +35 -43
  49. package/dist/components/row-card/row-card.js +17 -25
  50. package/dist/components/statistic-record-dialog/index.js +61 -68
  51. package/dist/components/tooltip/index.js +39 -28
  52. package/dist/components/types-dialog/index.js +62 -70
  53. package/dist/components/types-dialog/use-force-update.js +4 -10
  54. package/dist/constants/color-rules.js +8 -14
  55. package/dist/constants/common-constants.js +8 -14
  56. package/dist/constants/error.js +2 -8
  57. package/dist/constants/geolocation.js +9 -15
  58. package/dist/constants/index.js +142 -271
  59. package/dist/constants/key-codes.js +0 -2
  60. package/dist/constants/model.js +3 -9
  61. package/dist/constants/regions.js +3 -8
  62. package/dist/constants/style.js +6 -12
  63. package/dist/constants/table.js +1 -7
  64. package/dist/constants/type-image.js +33 -39
  65. package/dist/constants/type.js +3 -9
  66. package/dist/context.js +13 -20
  67. package/dist/editor/index.js +13 -16
  68. package/dist/index.js +13 -104
  69. package/dist/intl.js +10 -17
  70. package/dist/locale/index.js +16 -23
  71. package/dist/locale/lang/de.js +2 -7
  72. package/dist/locale/lang/en.js +2 -7
  73. package/dist/locale/lang/es.js +2 -7
  74. package/dist/locale/lang/fr.js +2 -7
  75. package/dist/locale/lang/pt.js +2 -7
  76. package/dist/locale/lang/ru.js +2 -7
  77. package/dist/locale/lang/zh_CN.js +2 -7
  78. package/dist/model/area-group.js +12 -19
  79. package/dist/model/area.js +12 -19
  80. package/dist/model/bar-custom.js +11 -18
  81. package/dist/model/bar-group.js +12 -19
  82. package/dist/model/bar-stack.js +10 -17
  83. package/dist/model/bar.js +11 -18
  84. package/dist/model/base-model.js +4 -11
  85. package/dist/model/basic-number-card.js +13 -20
  86. package/dist/model/chart.js +7 -13
  87. package/dist/model/combination.js +15 -22
  88. package/dist/model/compare-bar.js +14 -21
  89. package/dist/model/completeness-group.js +11 -18
  90. package/dist/model/completeness.js +10 -17
  91. package/dist/model/dashboard.js +7 -14
  92. package/dist/model/funnel.js +14 -21
  93. package/dist/model/generic-model.js +135 -143
  94. package/dist/model/heat-map.js +9 -16
  95. package/dist/model/horizontal-bar.js +11 -18
  96. package/dist/model/horizontal-group-bar.js +10 -17
  97. package/dist/model/index.js +69 -93
  98. package/dist/model/line-group.js +13 -20
  99. package/dist/model/line.js +12 -19
  100. package/dist/model/map-bubble.js +14 -17
  101. package/dist/model/map.js +12 -19
  102. package/dist/model/mirror.js +13 -20
  103. package/dist/model/pie.js +12 -19
  104. package/dist/model/ring.js +12 -19
  105. package/dist/model/scatter.js +10 -17
  106. package/dist/model/stacked-horizontal-bar.js +11 -18
  107. package/dist/model/table-element.js +5 -12
  108. package/dist/model/table.js +7 -14
  109. package/dist/model/tree-map.js +7 -14
  110. package/dist/model/trend.js +11 -18
  111. package/dist/model/user.js +1 -7
  112. package/dist/model/world-map-bubble.js +12 -19
  113. package/dist/model/world-map.js +12 -19
  114. package/dist/services/map-json.js +14 -17
  115. package/dist/settings/advance-bar-settings/data-settings.js +36 -44
  116. package/dist/settings/advance-bar-settings/index.js +3 -20
  117. package/dist/settings/advance-bar-settings/style-settings.js +66 -73
  118. package/dist/settings/bar-settings/data-settings.js +39 -47
  119. package/dist/settings/bar-settings/index.js +3 -20
  120. package/dist/settings/bar-settings/style-settings.js +51 -59
  121. package/dist/settings/basic-number-card/data-settings.js +50 -57
  122. package/dist/settings/basic-number-card/index.js +3 -20
  123. package/dist/settings/basic-number-card/style-settings.js +19 -27
  124. package/dist/settings/combination-settings/data-settings.js +55 -64
  125. package/dist/settings/combination-settings/index.js +3 -20
  126. package/dist/settings/combination-settings/style-settings.js +67 -75
  127. package/dist/settings/completeness-settings/callbacks/callbacks.js +16 -27
  128. package/dist/settings/completeness-settings/data-settings/completion-settings.js +21 -28
  129. package/dist/settings/completeness-settings/data-settings/data-settings.js +25 -32
  130. package/dist/settings/completeness-settings/index.js +3 -20
  131. package/dist/settings/completeness-settings/style-settings.js +19 -26
  132. package/dist/settings/dashboard-settings/data-settings.js +44 -51
  133. package/dist/settings/dashboard-settings/index.js +2 -13
  134. package/dist/settings/data-settings.js +72 -79
  135. package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +12 -19
  136. package/dist/settings/funnel-settings/components/dnd-list.js +15 -23
  137. package/dist/settings/funnel-settings/components/funnel-label-setting.js +32 -40
  138. package/dist/settings/funnel-settings/components/funnel-layer-setting.js +22 -30
  139. package/dist/settings/funnel-settings/data-settings.js +23 -31
  140. package/dist/settings/funnel-settings/index.js +3 -20
  141. package/dist/settings/funnel-settings/style-settings.js +11 -19
  142. package/dist/settings/heat-map-settings/data-settings.js +18 -26
  143. package/dist/settings/heat-map-settings/index.js +3 -20
  144. package/dist/settings/heat-map-settings/style-settings.js +18 -26
  145. package/dist/settings/horizontal-bar-settings/data-settings.js +12 -19
  146. package/dist/settings/horizontal-bar-settings/index.js +3 -20
  147. package/dist/settings/horizontal-bar-settings/style-settings.js +12 -19
  148. package/dist/settings/index.js +57 -70
  149. package/dist/settings/map-settings/components/location-field-selector.js +10 -17
  150. package/dist/settings/map-settings/components/map-level-selector.js +11 -18
  151. package/dist/settings/map-settings/components/map-province-city-selector.js +19 -26
  152. package/dist/settings/map-settings/index.js +3 -20
  153. package/dist/settings/map-settings/map-data-settings.js +23 -30
  154. package/dist/settings/map-settings/map-style-settings.js +27 -35
  155. package/dist/settings/mirror-settings/data-settings.js +26 -34
  156. package/dist/settings/mirror-settings/index.js +2 -13
  157. package/dist/settings/pie-settings/data-settings.js +33 -41
  158. package/dist/settings/pie-settings/index.js +3 -20
  159. package/dist/settings/pie-settings/style-settings.js +47 -55
  160. package/dist/settings/scatter/data-settings.js +27 -34
  161. package/dist/settings/scatter/index.js +3 -12
  162. package/dist/settings/stacks-settings/index.js +19 -27
  163. package/dist/settings/stacks-settings/stack-item-settings.js +19 -27
  164. package/dist/settings/style-settings.js +65 -73
  165. package/dist/settings/table-element-settings/components/data-filter.js +49 -58
  166. package/dist/settings/table-element-settings/data-settings.js +21 -29
  167. package/dist/settings/table-element-settings/index.css +1 -31
  168. package/dist/settings/table-element-settings/index.js +2 -13
  169. package/dist/settings/table-settings/data-settings.js +113 -120
  170. package/dist/settings/table-settings/index.js +2 -13
  171. package/dist/settings/time-comparison-settings/data-settings.js +43 -51
  172. package/dist/settings/time-comparison-settings/index.js +3 -20
  173. package/dist/settings/time-comparison-settings/style-settings.js +44 -52
  174. package/dist/settings/trend-settings/data-settings.js +24 -32
  175. package/dist/settings/trend-settings/index.js +3 -20
  176. package/dist/settings/trend-settings/style-setting.js +19 -27
  177. package/dist/settings/widgets/basic-summary/index.js +59 -66
  178. package/dist/settings/widgets/chart-type/index.js +18 -26
  179. package/dist/settings/widgets/color-settings/index.js +72 -80
  180. package/dist/settings/widgets/common-data-settings.js +27 -34
  181. package/dist/settings/widgets/data-filter/index.js +59 -59
  182. package/dist/settings/widgets/data-sort.js +16 -24
  183. package/dist/settings/widgets/date-summary-item.js +26 -34
  184. package/dist/settings/widgets/display-values-settings/index.js +14 -22
  185. package/dist/settings/widgets/divider/index.js +8 -16
  186. package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
  187. package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
  188. package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
  189. package/dist/settings/widgets/font-settings/index.js +4 -27
  190. package/dist/settings/widgets/group-by.js +52 -59
  191. package/dist/settings/widgets/min-max-setting.js +10 -18
  192. package/dist/settings/widgets/mininum-slice-percent.js +10 -18
  193. package/dist/settings/widgets/numeric-summary-item.js +25 -33
  194. package/dist/settings/widgets/select-line-type/index.js +10 -17
  195. package/dist/settings/widgets/select-table/index.js +9 -16
  196. package/dist/settings/widgets/select-view/index.js +20 -28
  197. package/dist/settings/widgets/stack.js +14 -22
  198. package/dist/settings/widgets/summary-method-setting.js +17 -25
  199. package/dist/settings/widgets/summary-settings.js +75 -82
  200. package/dist/settings/widgets/switch/index.js +9 -16
  201. package/dist/settings/widgets/text-horizontal-settings.js +15 -23
  202. package/dist/settings/widgets/time-picker.js +29 -37
  203. package/dist/settings/widgets/title-settings/index.js +29 -37
  204. package/dist/settings/widgets/title-settings/title-text.js +5 -12
  205. package/dist/settings/widgets/x-axios.js +0 -1
  206. package/dist/settings/widgets/y-axis-group-settings.js +65 -72
  207. package/dist/utils/cell-format-utils.js +25 -33
  208. package/dist/utils/cell-value-utils.js +4 -11
  209. package/dist/utils/chart-utils/base-utils.js +467 -367
  210. package/dist/utils/chart-utils/index.js +29 -40
  211. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +78 -85
  212. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -21
  213. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
  214. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +21 -28
  215. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +33 -40
  216. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +28 -26
  217. package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
  218. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +19 -26
  219. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +94 -97
  220. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -25
  221. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +50 -36
  222. package/dist/utils/chart-utils/sql-statistics-utils.js +385 -388
  223. package/dist/utils/chart.js +9 -17
  224. package/dist/utils/collaborator-manager.js +3 -9
  225. package/dist/utils/collaborator-utils.js +19 -31
  226. package/dist/utils/collaborator.js +6 -15
  227. package/dist/utils/color-utils.js +18 -29
  228. package/dist/utils/column-utils.js +88 -102
  229. package/dist/utils/common-utils.js +28 -53
  230. package/dist/utils/concurrency-manager.js +1 -7
  231. package/dist/utils/contexts.js +7 -11
  232. package/dist/utils/date-translate.js +12 -20
  233. package/dist/utils/digital-sign-utils.js +7 -14
  234. package/dist/utils/event-bus.js +1 -7
  235. package/dist/utils/hotkey.js +5 -11
  236. package/dist/utils/index.js +73 -219
  237. package/dist/utils/key-generator.js +2 -9
  238. package/dist/utils/map.js +22 -31
  239. package/dist/utils/object-utils.js +2 -8
  240. package/dist/utils/options-utils.js +10 -18
  241. package/dist/utils/row-record-utils.js +251 -183
  242. package/dist/utils/row-utils.js +27 -38
  243. package/dist/utils/search.js +24 -32
  244. package/dist/utils/sql/chart-data-sql.js +106 -112
  245. package/dist/utils/sql/column-2-sql-column.js +162 -172
  246. package/dist/utils/sql/index.js +3 -27
  247. package/dist/utils/trend-utils.js +50 -45
  248. package/dist/view/index.css +2 -8
  249. package/dist/view/index.js +102 -103
  250. package/dist/view/title/index.js +16 -24
  251. package/dist/view/wrapper/area-group.js +57 -57
  252. package/dist/view/wrapper/area.js +43 -51
  253. package/dist/view/wrapper/bar-compare.js +56 -48
  254. package/dist/view/wrapper/bar-custom-stack.js +73 -55
  255. package/dist/view/wrapper/bar-group.js +94 -73
  256. package/dist/view/wrapper/bar-stack.js +49 -57
  257. package/dist/view/wrapper/bar.js +40 -48
  258. package/dist/view/wrapper/basic-number-card.js +50 -34
  259. package/dist/view/wrapper/chart-component.js +164 -569
  260. package/dist/view/wrapper/combination.js +55 -63
  261. package/dist/view/wrapper/completeness-group.js +140 -93
  262. package/dist/view/wrapper/completeness.js +36 -44
  263. package/dist/view/wrapper/dashboard.js +104 -59
  264. package/dist/view/wrapper/funnel.js +40 -43
  265. package/dist/view/wrapper/heat-map.js +62 -70
  266. package/dist/view/wrapper/horizontal-bar-group.js +70 -58
  267. package/dist/view/wrapper/horizontal-bar-stack.js +48 -56
  268. package/dist/view/wrapper/horizontal-bar.js +41 -49
  269. package/dist/view/wrapper/index.js +107 -115
  270. package/dist/view/wrapper/line-group.js +49 -52
  271. package/dist/view/wrapper/line.js +42 -50
  272. package/dist/view/wrapper/map-bubble.js +40 -48
  273. package/dist/view/wrapper/map-world-bubble.js +40 -47
  274. package/dist/view/wrapper/map-world.js +42 -49
  275. package/dist/view/wrapper/map.js +42 -50
  276. package/dist/view/wrapper/mirror.js +41 -49
  277. package/dist/view/wrapper/pie.js +45 -53
  278. package/dist/view/wrapper/ring.js +50 -58
  279. package/dist/view/wrapper/scatter.js +50 -56
  280. package/dist/view/wrapper/table/index.js +14 -22
  281. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
  282. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +53 -61
  283. package/dist/view/wrapper/table/pivot-table-display-name.js +82 -90
  284. package/dist/view/wrapper/table/two-dimension-table.js +85 -92
  285. package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
  286. package/dist/view/wrapper/table-element/components/formatter.js +90 -99
  287. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +23 -32
  288. package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
  289. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +90 -97
  290. package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
  291. package/dist/view/wrapper/table-element/components/link-formatter.js +90 -97
  292. package/dist/view/wrapper/table-element/components/record.js +13 -20
  293. package/dist/view/wrapper/table-element/components/records-body.js +9 -17
  294. package/dist/view/wrapper/table-element/components/records-header/index.js +7 -16
  295. package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
  296. package/dist/view/wrapper/table-element/components/records.js +25 -33
  297. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +8 -13
  298. package/dist/view/wrapper/table-element/components/utils.js +6 -16
  299. package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
  300. package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
  301. package/dist/view/wrapper/table-element/index.js +30 -43
  302. package/dist/view/wrapper/treemap.js +38 -46
  303. package/dist/view/wrapper/trend.js +80 -65
  304. package/package.json +15 -12
@@ -1,24 +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 _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _lodashEs = require("lodash-es");
13
- var _dtableUtils = require("dtable-utils");
14
- var d3 = _interopRequireWildcard(require("d3"));
15
- var _constants = require("../../constants");
16
- var _colorRules = require("../../constants/color-rules");
17
- var _intl = _interopRequireDefault(require("../../intl"));
18
- var _utils = require("../../utils");
19
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
20
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
21
- class AreaGroup extends _chartComponent.default {
1
+ import PropTypes from 'prop-types';
2
+ import React from 'react';
3
+ import classNames from 'classnames';
4
+ import { debounce } from 'lodash-es';
5
+ import { CellType } from 'dtable-utils';
6
+ import * as d3 from 'd3';
7
+ import { CHART_LINE_TYPES, CHART_THEME_COLOR } from '../../constants';
8
+ import { SUPPORT_SINGLE_SELECT_THEMES_OPTIONS } from '../../constants/color-rules';
9
+ import intl from '../../intl';
10
+ import { BaseUtils, isFunction } from '../../utils';
11
+ import ToolTip from '../../components/tooltip';
12
+ import ChartComponent from './chart-component';
13
+ class AreaGroup extends ChartComponent {
22
14
  constructor(props) {
23
15
  super(props);
24
16
  this.handleResize = () => {
@@ -48,10 +40,10 @@ class AreaGroup extends _chartComponent.default {
48
40
  result: data,
49
41
  customRender
50
42
  } = this.props;
51
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
43
+ data = BaseUtils.formatEmptyName(data, 'group_name', intl.get('Empty'));
52
44
  if (!Array.isArray(data)) return;
53
45
  this.draw(data);
54
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
46
+ isFunction(customRender) && customRender(this.chart);
55
47
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
56
48
  };
57
49
  this.draw = data => {
@@ -63,7 +55,7 @@ class AreaGroup extends _chartComponent.default {
63
55
  chartColorTheme,
64
56
  summaryColumn
65
57
  } = this.props;
66
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
58
+ const theme = CHART_THEME_COLOR[globalTheme];
67
59
  const {
68
60
  display_goal_line,
69
61
  goal_label,
@@ -89,19 +81,19 @@ class AreaGroup extends _chartComponent.default {
89
81
  insertPadding,
90
82
  marginTop
91
83
  } = this.chartBoundingClientRect;
92
- 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;
84
+ 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;
93
85
  useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme, 'group_name', columnGroupbyColumn, chart);
94
86
  const tooltipTitle = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
95
87
 
96
88
  // Y axis
97
89
  const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
98
90
  const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min || 0, y_axis_max || niceEnd]).range([chartHeight - insertPadding, insertPadding + marginTop]);
99
- this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', "translate(".concat(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));
91
+ 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));
100
92
 
101
93
  // X axis
102
94
  const xDomain = data.map(item => item.name);
103
95
  const x = d3.scaleBand().domain(xDomain).range([insertPadding + this.horizontalOverflowOffset, chartWidth - insertPadding]).paddingInner(0.5).paddingOuter(0.1);
104
- this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', "translate(0, ".concat(chartHeight - insertPadding, ")")).call(d3.axisBottom(x).tickSizeOuter(0).tickSizeInner(5)).call(g => {
96
+ this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', `translate(0, ${chartHeight - insertPadding})`).call(d3.axisBottom(x).tickSizeOuter(0).tickSizeInner(5)).call(g => {
105
97
  this.ticksAddName(g);
106
98
  g.selectAll('.domain').attr('stroke', theme.XAxisColor);
107
99
  g.selectAll('.tick line').attr('stroke', theme.XAxisColor);
@@ -128,7 +120,7 @@ class AreaGroup extends _chartComponent.default {
128
120
  circleData[index]['y'] = yVal;
129
121
  circleData[index]['value'] = d.value;
130
122
  return yVal;
131
- }).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
123
+ }).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
132
124
  contentWrapper.append('path').attr('opacity', 1).attr('fill', 'none').attr('class', 'line').attr('stroke', this.colorMap[group_name]).attr('stroke-width', 2).attr('d', () => line(data));
133
125
  circleDatas.push({
134
126
  group_name,
@@ -142,7 +134,7 @@ class AreaGroup extends _chartComponent.default {
142
134
  const area = d3.area().x(d => {
143
135
  const xVal = x(d.name) + x.bandwidth() / 2;
144
136
  return xVal;
145
- }).y0(y(0)).y1(d => y(d.value)).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
137
+ }).y0(y(0)).y1(d => y(d.value)).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
146
138
  contentWrapper.append('path').attr('class', 'area').attr('fill', this.colorMap[group_name]).attr('d', () => area(data)).attr('opacity', '0.3');
147
139
  });
148
140
 
@@ -158,13 +150,13 @@ class AreaGroup extends _chartComponent.default {
158
150
  // circle label
159
151
  if (y_axis_show_value) {
160
152
  const curCircleEl = g.node();
161
- 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 => {
153
+ 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 => {
162
154
  const {
163
155
  width
164
156
  } = g.node().getBoundingClientRect();
165
157
  const translateX = Number(curCircleEl.getAttribute('cx')) - width / 2;
166
158
  const translateY = Number(curCircleEl.getAttribute('cy')) - 10;
167
- g.attr('transform', "translate(".concat(translateX, ", ").concat(translateY, ")"));
159
+ g.attr('transform', `translate(${translateX}, ${translateY})`);
168
160
  });
169
161
  }
170
162
  }).on('click', (event, data) => {
@@ -255,7 +247,7 @@ class AreaGroup extends _chartComponent.default {
255
247
  contentWrapper.selectAll('.area').transition().duration(this.areaTransitionDuration).attr('opacity', 0.1);
256
248
  contentWrapper.selectAll('.line').transition().duration(this.areaTransitionDuration).attr('opacity', 0.3);
257
249
  // line
258
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
250
+ const theme = CHART_THEME_COLOR[globalTheme];
259
251
  this.clearOldVerticalAnnotation(contentWrapper);
260
252
  this.addVerticalAnnotation(contentWrapper, minDistanceItem, theme);
261
253
  } else {
@@ -300,12 +292,16 @@ class AreaGroup extends _chartComponent.default {
300
292
  const newTooltipData = {
301
293
  title: title,
302
294
  items: data.map(item => {
295
+ const groupName = item.group_name || intl.get('Empty');
303
296
  return {
304
- color: this.colorMap[item.group_name],
305
- name: item.group_name,
306
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, item.value, y_axis_summary_method)
297
+ color: this.colorMap[groupName],
298
+ name: groupName,
299
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, item.value, y_axis_summary_method)
307
300
  };
308
- })
301
+ }).sort((a, b) => String(a.name).localeCompare(String(b.name), undefined, {
302
+ numeric: true,
303
+ sensitivity: 'base'
304
+ }))
309
305
  };
310
306
  this.setState({
311
307
  tooltipData: newTooltipData
@@ -332,12 +328,16 @@ class AreaGroup extends _chartComponent.default {
332
328
  const newTooltipData = {
333
329
  title: title,
334
330
  items: data.map(item => {
331
+ const groupName = item.group_name || intl.get('Empty');
335
332
  return {
336
- color: this.colorMap[item.group_name],
337
- name: item.group_name,
338
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, item.value, y_axis_summary_method)
333
+ color: this.colorMap[groupName],
334
+ name: groupName,
335
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, item.value, y_axis_summary_method)
339
336
  };
340
- })
337
+ }).sort((a, b) => String(a.name).localeCompare(String(b.name), undefined, {
338
+ numeric: true,
339
+ sensitivity: 'base'
340
+ }))
341
341
  };
342
342
  this.setState({
343
343
  tooltipData: newTooltipData
@@ -363,13 +363,13 @@ class AreaGroup extends _chartComponent.default {
363
363
  componentDidMount() {
364
364
  this.createChart();
365
365
  this.drawChart();
366
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
366
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
367
367
  window.addEventListener('resize', this.debouncedHandleResize);
368
368
  super.componentDidMount();
369
369
  }
370
370
  componentDidUpdate(prevProps) {
371
371
  super.componentDidUpdate(prevProps);
372
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
372
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
373
373
  this.destroyChart();
374
374
  this.createChart();
375
375
  this.drawChart();
@@ -388,13 +388,13 @@ class AreaGroup extends _chartComponent.default {
388
388
  tooltipData,
389
389
  toolTipPosition
390
390
  } = this.state;
391
- return /*#__PURE__*/_react.default.createElement("div", {
391
+ return /*#__PURE__*/React.createElement("div", {
392
392
  ref: ref => this.container = ref,
393
- className: (0, _classnames.default)('sea-chart-container', {
393
+ className: classNames('sea-chart-container', {
394
394
  'show-x-axis-label': this.isShowXAxisLabel(chart),
395
395
  'show-y-axis-label': this.isShowYAxisLabel(chart)
396
396
  })
397
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
397
+ }, /*#__PURE__*/React.createElement(ToolTip, {
398
398
  tooltipData: tooltipData,
399
399
  toolTipPosition: toolTipPosition,
400
400
  chart: this.chart
@@ -402,16 +402,16 @@ class AreaGroup extends _chartComponent.default {
402
402
  }
403
403
  }
404
404
  AreaGroup.propTypes = {
405
- canvasStyle: _propTypes.default.object,
406
- chart: _propTypes.default.object,
407
- groupbyColumn: _propTypes.default.object,
408
- columnGroupbyColumn: _propTypes.default.object,
409
- summaryColumn: _propTypes.default.object,
410
- result: _propTypes.default.array,
411
- tables: _propTypes.default.array,
412
- globalTheme: _propTypes.default.string,
413
- chartColorTheme: _propTypes.default.string,
414
- toggleRecords: _propTypes.default.func,
415
- customRender: _propTypes.default.func
405
+ canvasStyle: PropTypes.object,
406
+ chart: PropTypes.object,
407
+ groupbyColumn: PropTypes.object,
408
+ columnGroupbyColumn: PropTypes.object,
409
+ summaryColumn: PropTypes.object,
410
+ result: PropTypes.array,
411
+ tables: PropTypes.array,
412
+ globalTheme: PropTypes.string,
413
+ chartColorTheme: PropTypes.string,
414
+ toggleRecords: PropTypes.func,
415
+ customRender: PropTypes.func
416
416
  };
417
- var _default = exports.default = AreaGroup;
417
+ export default AreaGroup;
@@ -1,22 +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 _propTypes = _interopRequireDefault(require("prop-types"));
10
- var _react = _interopRequireDefault(require("react"));
11
- var _classnames = _interopRequireDefault(require("classnames"));
12
- var _lodashEs = require("lodash-es");
13
- var d3 = _interopRequireWildcard(require("d3"));
14
- var _constants = require("../../constants");
15
- var _intl = _interopRequireDefault(require("../../intl"));
16
- var _utils = require("../../utils");
17
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
18
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
19
- class Area extends _chartComponent.default {
1
+ import PropTypes from 'prop-types';
2
+ import React from 'react';
3
+ import classNames from 'classnames';
4
+ import { debounce } from 'lodash-es';
5
+ import * as d3 from 'd3';
6
+ import { CHART_LINE_TYPES, CHART_STYLE_COLORS, CHART_THEME_COLOR, TYPE_COLOR_USING } from '../../constants';
7
+ import intl from '../../intl';
8
+ import { BaseUtils, isFunction } from '../../utils';
9
+ import ToolTip from '../../components/tooltip';
10
+ import ChartComponent from './chart-component';
11
+ class Area extends ChartComponent {
20
12
  constructor(props) {
21
13
  super(props);
22
14
  this.handleResize = () => {
@@ -46,10 +38,10 @@ class Area extends _chartComponent.default {
46
38
  result: data,
47
39
  customRender
48
40
  } = this.props;
49
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
41
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
50
42
  if (!Array.isArray(data)) return;
51
43
  this.draw(data);
52
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
44
+ isFunction(customRender) && customRender(this.chart);
53
45
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
54
46
  };
55
47
  this.draw = data => {
@@ -59,7 +51,7 @@ class Area extends _chartComponent.default {
59
51
  tables,
60
52
  summaryColumn
61
53
  } = this.props;
62
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
54
+ const theme = CHART_THEME_COLOR[globalTheme];
63
55
  const {
64
56
  display_goal_line,
65
57
  goal_label,
@@ -89,12 +81,12 @@ class Area extends _chartComponent.default {
89
81
  // Y axis
90
82
  const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
91
83
  const y = d3.scaleLinear().domain(y_axis_auto_range ? [0, niceEnd] : [y_axis_min || 0, y_axis_max || niceEnd]).range([chartHeight - insertPadding, insertPadding + marginTop]);
92
- this.chart.append('g').attr('class', 'y-axis-wrapper').attr('transform', "translate(".concat(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));
84
+ 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));
93
85
 
94
86
  // X axis
95
87
  const xDomain = data.map(item => item.name);
96
88
  const x = d3.scaleBand().domain(xDomain).range([insertPadding + this.horizontalOverflowOffset, chartWidth - insertPadding]).paddingInner(0.5).paddingOuter(0.1);
97
- this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', "translate(0, ".concat(chartHeight - insertPadding, ")")).call(d3.axisBottom(x).tickSizeOuter(0).tickSizeInner(5)).call(g => {
89
+ this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', `translate(0, ${chartHeight - insertPadding})`).call(d3.axisBottom(x).tickSizeOuter(0).tickSizeInner(5)).call(g => {
98
90
  this.ticksAddName(g);
99
91
  g.selectAll('.domain').attr('stroke', theme.XAxisColor);
100
92
  g.selectAll('.tick line').attr('stroke', theme.XAxisColor);
@@ -116,14 +108,14 @@ class Area extends _chartComponent.default {
116
108
  circleData[index]['y'] = yVal;
117
109
  circleData[index]['value'] = d.value;
118
110
  return yVal;
119
- }).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
111
+ }).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
120
112
  this.Line = contentWrapper.append('path').attr('opacity', 1).attr('fill', 'none').attr('stroke', this.getAreaColor()).attr('stroke-width', 2).attr('d', () => line(data));
121
113
 
122
114
  // Area
123
115
  const area = d3.area().x(d => {
124
116
  const xVal = x(d.name) + x.bandwidth() / 2;
125
117
  return xVal;
126
- }).y0(y(0)).y1(d => y(d.value)).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
118
+ }).y0(y(0)).y1(d => y(d.value)).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
127
119
  this.Area = contentWrapper.append('path').attr('fill', this.getAreaColor()).attr('d', () => area(data)).attr('opacity', '0.3');
128
120
 
129
121
  // circle
@@ -132,13 +124,13 @@ class Area extends _chartComponent.default {
132
124
  // circle label
133
125
  if (y_axis_show_value) {
134
126
  const curCircleEl = g.node();
135
- 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 => {
127
+ 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 => {
136
128
  const {
137
129
  width
138
130
  } = g.node().getBoundingClientRect();
139
131
  const translateX = Number(curCircleEl.getAttribute('cx')) - width / 2;
140
132
  const translateY = Number(curCircleEl.getAttribute('cy')) - 10;
141
- g.attr('transform', "translate(".concat(translateX, ", ").concat(translateY, ")"));
133
+ g.attr('transform', `translate(${translateX}, ${translateY})`);
142
134
  });
143
135
  }
144
136
  }).on('click', (event, data) => {
@@ -214,7 +206,7 @@ class Area extends _chartComponent.default {
214
206
  this.Area.transition().duration(this.areaTransitionDuration).attr('opacity', 0.1);
215
207
  this.Line.transition().duration(this.areaTransitionDuration).attr('opacity', 0.3);
216
208
  // line
217
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
209
+ const theme = CHART_THEME_COLOR[globalTheme];
218
210
  this.clearOldVerticalAnnotation(contentWrapper);
219
211
  this.addVerticalAnnotation(contentWrapper, minDistanceItem, theme);
220
212
  } else {
@@ -261,7 +253,7 @@ class Area extends _chartComponent.default {
261
253
  items: [{
262
254
  color: this.getAreaColor(),
263
255
  name: data.name,
264
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, data.value, y_axis_summary_method)
256
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, data.value, y_axis_summary_method)
265
257
  }]
266
258
  };
267
259
  this.setState({
@@ -291,7 +283,7 @@ class Area extends _chartComponent.default {
291
283
  items: [{
292
284
  color: this.getAreaColor(),
293
285
  name: data.name,
294
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, data.value, y_axis_summary_method)
286
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, data.value, y_axis_summary_method)
295
287
  }]
296
288
  };
297
289
  this.setState({
@@ -318,11 +310,11 @@ class Area extends _chartComponent.default {
318
310
  y_axis_label_color,
319
311
  color_option
320
312
  } = chart.config;
321
- let chartBarColor = _constants.CHART_STYLE_COLORS[0];
313
+ let chartBarColor = CHART_STYLE_COLORS[0];
322
314
  if (chartColorTheme) {
323
- chartBarColor = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
315
+ chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
324
316
  }
325
- if (color_option === _constants.TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
317
+ if (color_option === TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
326
318
  chartBarColor = y_axis_label_color;
327
319
  }
328
320
  return chartBarColor;
@@ -336,13 +328,13 @@ class Area extends _chartComponent.default {
336
328
  componentDidMount() {
337
329
  this.createChart();
338
330
  this.drawChart();
339
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
331
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
340
332
  window.addEventListener('resize', this.debouncedHandleResize);
341
333
  super.componentDidMount();
342
334
  }
343
335
  componentDidUpdate(prevProps) {
344
336
  super.componentDidUpdate(prevProps);
345
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
337
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
346
338
  this.destroyChart();
347
339
  this.createChart();
348
340
  this.drawChart();
@@ -361,13 +353,13 @@ class Area extends _chartComponent.default {
361
353
  tooltipData,
362
354
  toolTipPosition
363
355
  } = this.state;
364
- return /*#__PURE__*/_react.default.createElement("div", {
356
+ return /*#__PURE__*/React.createElement("div", {
365
357
  ref: ref => this.container = ref,
366
- className: (0, _classnames.default)('sea-chart-container', {
358
+ className: classNames('sea-chart-container', {
367
359
  'show-x-axis-label': this.isShowXAxisLabel(chart),
368
360
  'show-y-axis-label': this.isShowYAxisLabel(chart)
369
361
  })
370
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
362
+ }, /*#__PURE__*/React.createElement(ToolTip, {
371
363
  tooltipData: tooltipData,
372
364
  toolTipPosition: toolTipPosition,
373
365
  chart: this.chart
@@ -375,16 +367,16 @@ class Area extends _chartComponent.default {
375
367
  }
376
368
  }
377
369
  Area.propTypes = {
378
- canvasStyle: _propTypes.default.object,
379
- chart: _propTypes.default.object,
380
- groupbyColumn: _propTypes.default.object,
381
- columnGroupbyColumn: _propTypes.default.object,
382
- summaryColumn: _propTypes.default.object,
383
- result: _propTypes.default.array,
384
- tables: _propTypes.default.array,
385
- globalTheme: _propTypes.default.string,
386
- chartColorTheme: _propTypes.default.string,
387
- toggleRecords: _propTypes.default.func,
388
- customRender: _propTypes.default.func
370
+ canvasStyle: PropTypes.object,
371
+ chart: PropTypes.object,
372
+ groupbyColumn: PropTypes.object,
373
+ columnGroupbyColumn: PropTypes.object,
374
+ summaryColumn: PropTypes.object,
375
+ result: PropTypes.array,
376
+ tables: PropTypes.array,
377
+ globalTheme: PropTypes.string,
378
+ chartColorTheme: PropTypes.string,
379
+ toggleRecords: PropTypes.func,
380
+ customRender: PropTypes.func
389
381
  };
390
- var _default = exports.default = Area;
382
+ export default Area;