sea-chart 2.0.36 → 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 (300) hide show
  1. package/dist/api/index.js +8 -15
  2. package/dist/components/cell-factory/FormatterConfig.js +55 -62
  3. package/dist/components/cell-factory/SimpleCellFormatter.js +5 -12
  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 +30 -38
  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 +12 -19
  11. package/dist/components/color-popover/color-rules/color-rule.js +26 -34
  12. package/dist/components/color-popover/color-rules/index.js +7 -15
  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 +9 -17
  16. package/dist/components/color-popover/color-rules-popover.js +30 -38
  17. package/dist/components/color-popover/color-selector-popover.js +12 -20
  18. package/dist/components/color-setting/color-group-selector.js +13 -21
  19. package/dist/components/common-add-tool/index.js +8 -15
  20. package/dist/components/data-process-setter/data-setting-header.js +7 -14
  21. package/dist/components/data-process-setter/hide-column-setter.js +13 -20
  22. package/dist/components/data-process-setter/index.js +4 -27
  23. package/dist/components/data-process-setter/sort-setter.js +18 -26
  24. package/dist/components/draggable/Draggable.js +7 -13
  25. package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +40 -48
  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 +5 -12
  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 +26 -34
  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 +55 -65
  43. package/dist/components/resize-handle/ResizeHandle.js +6 -13
  44. package/dist/components/row-card/row-card-header-cell.js +17 -24
  45. package/dist/components/row-card/row-card-header.js +15 -22
  46. package/dist/components/row-card/row-card-item.js +35 -43
  47. package/dist/components/row-card/row-card.js +17 -25
  48. package/dist/components/statistic-record-dialog/index.js +56 -64
  49. package/dist/components/tooltip/index.js +14 -21
  50. package/dist/components/types-dialog/index.js +62 -70
  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 +142 -271
  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 +13 -20
  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 +4 -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 +15 -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 +11 -18
  94. package/dist/model/horizontal-group-bar.js +10 -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 +11 -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 +11 -17
  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 +63 -71
  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 +49 -57
  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 +19 -27
  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 +65 -73
  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 +27 -35
  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 +65 -73
  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 +112 -120
  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 +42 -50
  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 +19 -27
  174. package/dist/settings/widgets/basic-summary/index.js +55 -63
  175. package/dist/settings/widgets/chart-type/index.js +18 -26
  176. package/dist/settings/widgets/color-settings/index.js +72 -80
  177. package/dist/settings/widgets/common-data-settings.js +21 -29
  178. package/dist/settings/widgets/data-filter/index.js +35 -43
  179. package/dist/settings/widgets/data-sort.js +16 -24
  180. package/dist/settings/widgets/date-summary-item.js +26 -34
  181. package/dist/settings/widgets/display-values-settings/index.js +14 -22
  182. package/dist/settings/widgets/divider/index.js +8 -16
  183. package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
  184. package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
  185. package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
  186. package/dist/settings/widgets/font-settings/index.js +4 -27
  187. package/dist/settings/widgets/group-by.js +51 -59
  188. package/dist/settings/widgets/min-max-setting.js +10 -18
  189. package/dist/settings/widgets/mininum-slice-percent.js +10 -18
  190. package/dist/settings/widgets/numeric-summary-item.js +25 -33
  191. package/dist/settings/widgets/select-line-type/index.js +10 -17
  192. package/dist/settings/widgets/select-table/index.js +9 -16
  193. package/dist/settings/widgets/select-view/index.js +20 -28
  194. package/dist/settings/widgets/stack.js +14 -22
  195. package/dist/settings/widgets/summary-method-setting.js +17 -25
  196. package/dist/settings/widgets/summary-settings.js +74 -82
  197. package/dist/settings/widgets/switch/index.js +9 -16
  198. package/dist/settings/widgets/text-horizontal-settings.js +15 -23
  199. package/dist/settings/widgets/time-picker.js +29 -37
  200. package/dist/settings/widgets/title-settings/index.js +29 -37
  201. package/dist/settings/widgets/title-settings/title-text.js +5 -12
  202. package/dist/settings/widgets/x-axios.js +0 -1
  203. package/dist/settings/widgets/y-axis-group-settings.js +64 -72
  204. package/dist/utils/cell-format-utils.js +17 -27
  205. package/dist/utils/cell-value-utils.js +4 -11
  206. package/dist/utils/chart-utils/base-utils.js +324 -332
  207. package/dist/utils/chart-utils/index.js +28 -41
  208. package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +77 -84
  209. package/dist/utils/chart-utils/original-data-utils/card-calculator.js +13 -20
  210. package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
  211. package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +21 -28
  212. package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +33 -40
  213. package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +16 -23
  214. package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
  215. package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +19 -26
  216. package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +90 -96
  217. package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -26
  218. package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +31 -38
  219. package/dist/utils/chart-utils/sql-statistics-utils.js +229 -237
  220. package/dist/utils/chart.js +9 -17
  221. package/dist/utils/collaborator-manager.js +3 -9
  222. package/dist/utils/collaborator-utils.js +19 -31
  223. package/dist/utils/collaborator.js +6 -15
  224. package/dist/utils/color-utils.js +18 -29
  225. package/dist/utils/column-utils.js +77 -104
  226. package/dist/utils/common-utils.js +28 -53
  227. package/dist/utils/concurrency-manager.js +1 -7
  228. package/dist/utils/contexts.js +5 -12
  229. package/dist/utils/date-translate.js +12 -20
  230. package/dist/utils/digital-sign-utils.js +7 -14
  231. package/dist/utils/event-bus.js +1 -7
  232. package/dist/utils/hotkey.js +5 -11
  233. package/dist/utils/index.js +54 -221
  234. package/dist/utils/key-generator.js +2 -9
  235. package/dist/utils/map.js +22 -31
  236. package/dist/utils/object-utils.js +2 -8
  237. package/dist/utils/options-utils.js +10 -18
  238. package/dist/utils/row-record-utils.js +166 -178
  239. package/dist/utils/row-utils.js +27 -38
  240. package/dist/utils/search.js +24 -32
  241. package/dist/utils/sql/chart-data-sql.js +106 -112
  242. package/dist/utils/sql/column-2-sql-column.js +158 -168
  243. package/dist/utils/sql/index.js +3 -27
  244. package/dist/utils/trend-utils.js +39 -47
  245. package/dist/view/index.js +90 -96
  246. package/dist/view/title/index.js +16 -24
  247. package/dist/view/wrapper/area-group.js +45 -53
  248. package/dist/view/wrapper/area.js +43 -51
  249. package/dist/view/wrapper/bar-compare.js +38 -46
  250. package/dist/view/wrapper/bar-custom-stack.js +39 -47
  251. package/dist/view/wrapper/bar-group.js +45 -53
  252. package/dist/view/wrapper/bar-stack.js +48 -56
  253. package/dist/view/wrapper/bar.js +40 -48
  254. package/dist/view/wrapper/basic-number-card.js +26 -34
  255. package/dist/view/wrapper/chart-component.js +123 -131
  256. package/dist/view/wrapper/combination.js +55 -63
  257. package/dist/view/wrapper/completeness-group.js +40 -48
  258. package/dist/view/wrapper/completeness.js +36 -44
  259. package/dist/view/wrapper/dashboard.js +39 -44
  260. package/dist/view/wrapper/funnel.js +40 -43
  261. package/dist/view/wrapper/heat-map.js +62 -70
  262. package/dist/view/wrapper/horizontal-bar-group.js +52 -60
  263. package/dist/view/wrapper/horizontal-bar-stack.js +47 -55
  264. package/dist/view/wrapper/horizontal-bar.js +41 -49
  265. package/dist/view/wrapper/index.js +107 -115
  266. package/dist/view/wrapper/line-group.js +43 -51
  267. package/dist/view/wrapper/line.js +42 -50
  268. package/dist/view/wrapper/map-bubble.js +40 -48
  269. package/dist/view/wrapper/map-world-bubble.js +39 -47
  270. package/dist/view/wrapper/map-world.js +41 -49
  271. package/dist/view/wrapper/map.js +42 -50
  272. package/dist/view/wrapper/mirror.js +41 -49
  273. package/dist/view/wrapper/pie.js +44 -52
  274. package/dist/view/wrapper/ring.js +49 -57
  275. package/dist/view/wrapper/scatter.js +42 -50
  276. package/dist/view/wrapper/table/index.js +14 -22
  277. package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
  278. package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +53 -61
  279. package/dist/view/wrapper/table/pivot-table-display-name.js +82 -90
  280. package/dist/view/wrapper/table/two-dimension-table.js +85 -93
  281. package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
  282. package/dist/view/wrapper/table-element/components/formatter.js +90 -99
  283. package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +23 -32
  284. package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
  285. package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +90 -97
  286. package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
  287. package/dist/view/wrapper/table-element/components/link-formatter.js +90 -97
  288. package/dist/view/wrapper/table-element/components/record.js +13 -20
  289. package/dist/view/wrapper/table-element/components/records-body.js +9 -17
  290. package/dist/view/wrapper/table-element/components/records-header/index.js +7 -15
  291. package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
  292. package/dist/view/wrapper/table-element/components/records.js +25 -33
  293. package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +5 -12
  294. package/dist/view/wrapper/table-element/components/utils.js +6 -16
  295. package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
  296. package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
  297. package/dist/view/wrapper/table-element/index.js +18 -26
  298. package/dist/view/wrapper/treemap.js +38 -46
  299. package/dist/view/wrapper/trend.js +58 -66
  300. package/package.json +5 -5
@@ -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 _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 { debounce } from 'lodash-es';
4
+ import * as d3 from 'd3';
5
+ import classNames from 'classnames';
6
+ import { TYPE_COLOR_USING, CHART_STYLE_COLORS, CHART_THEME_COLOR, CHART_LINE_TYPES } from '../../constants';
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 Line extends ChartComponent {
20
12
  constructor(props) {
21
13
  super(props);
22
14
  this.handleResize = () => {
@@ -48,11 +40,11 @@ class Line extends _chartComponent.default {
48
40
  let {
49
41
  result: data
50
42
  } = this.props;
51
- data = _utils.BaseUtils.formatEmptyName(data, '', _intl.default.get('Empty'));
43
+ data = BaseUtils.formatEmptyName(data, '', intl.get('Empty'));
52
44
  if (!Array.isArray(data)) return;
53
45
  this.draw(data);
54
46
  this.renderAxisLabel(this.props.chart, this.props.tables, this.container);
55
- (0, _utils.isFunction)(customRender) && customRender(this.chart);
47
+ isFunction(customRender) && customRender(this.chart);
56
48
  };
57
49
  this.showTooltip = (event, data, title) => {
58
50
  const {
@@ -71,7 +63,7 @@ class Line extends _chartComponent.default {
71
63
  items: [{
72
64
  color: this.getLineColor(),
73
65
  name: data.name,
74
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
66
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
75
67
  }]
76
68
  };
77
69
  this.setState({
@@ -101,7 +93,7 @@ class Line extends _chartComponent.default {
101
93
  items: [{
102
94
  color: this.getLineColor(),
103
95
  name: data.name,
104
- value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
96
+ value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data.value), y_axis_summary_method)
105
97
  }]
106
98
  };
107
99
  this.setState({
@@ -126,7 +118,7 @@ class Line extends _chartComponent.default {
126
118
  tables,
127
119
  summaryColumn
128
120
  } = this.props;
129
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
121
+ const theme = CHART_THEME_COLOR[globalTheme];
130
122
  const {
131
123
  display_goal_line,
132
124
  goal_value,
@@ -157,12 +149,12 @@ class Line extends _chartComponent.default {
157
149
  // Y axis
158
150
  const niceEnd = d3.nice(0, d3.max(data, d => d.value), 5)[1];
159
151
  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(".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));
152
+ 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
153
 
162
154
  // X axis
163
155
  const xDomain = data.map(item => item.name);
164
156
  const x = d3.scaleBand().domain(xDomain).range([insertPadding + this.horizontalOverflowOffset, chartWidth - insertPadding]).paddingInner(0.4).paddingOuter(0.1);
165
- 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 => {
157
+ 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 => {
166
158
  this.ticksAddName(g);
167
159
  g.selectAll('.domain').attr('stroke', theme.XAxisColor);
168
160
  g.selectAll('.tick line').attr('stroke', theme.XAxisColor);
@@ -183,7 +175,7 @@ class Line extends _chartComponent.default {
183
175
  circleData[index]['y'] = yVal;
184
176
  circleData[index]['value'] = d.value;
185
177
  return yVal;
186
- }).curve(line_type === _constants.CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
178
+ }).curve(line_type === CHART_LINE_TYPES[1] ? d3.curveBumpX : d3.curveLinear);
187
179
  const contentWrapper = this.chart.append('g').attr('class', 'content-wrapper');
188
180
  contentWrapper.append('path').attr('fill', 'none').attr('stroke', chartBarColor).attr('stroke-width', 2).attr('d', () => line(data));
189
181
 
@@ -193,13 +185,13 @@ class Line extends _chartComponent.default {
193
185
  // circle label
194
186
  if (y_axis_show_value) {
195
187
  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 => {
188
+ 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
189
  const {
198
190
  width
199
191
  } = g.node().getBoundingClientRect();
200
192
  const translateX = Number(curCircleEl.getAttribute('cx')) - width / 2;
201
193
  const translateY = Number(curCircleEl.getAttribute('cy')) - 10;
202
- g.attr('transform', "translate(".concat(translateX, ", ").concat(translateY, ")"));
194
+ g.attr('transform', `translate(${translateX}, ${translateY})`);
203
195
  });
204
196
  }
205
197
  }).on('click', (event, data) => {
@@ -273,7 +265,7 @@ class Line extends _chartComponent.default {
273
265
  }
274
266
  });
275
267
  // line
276
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
268
+ const theme = CHART_THEME_COLOR[globalTheme];
277
269
  this.clearOldVerticalAnnotation(contentWrapper);
278
270
  this.addVerticalAnnotation(contentWrapper, minDistanceItem, theme);
279
271
  } else {
@@ -306,11 +298,11 @@ class Line extends _chartComponent.default {
306
298
  y_axis_label_color,
307
299
  color_option
308
300
  } = chart.config;
309
- let chartBarColor = _constants.CHART_STYLE_COLORS[0];
301
+ let chartBarColor = CHART_STYLE_COLORS[0];
310
302
  if (chartColorTheme) {
311
- chartBarColor = _utils.BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
303
+ chartBarColor = BaseUtils.getCurrentTheme(chartColorTheme).colors[0];
312
304
  }
313
- if (color_option === _constants.TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
305
+ if (color_option === TYPE_COLOR_USING.USE_SPECIFIC_COLORS && y_axis_label_color) {
314
306
  chartBarColor = y_axis_label_color;
315
307
  }
316
308
  return chartBarColor;
@@ -324,12 +316,12 @@ class Line extends _chartComponent.default {
324
316
  componentDidMount() {
325
317
  this.createChart();
326
318
  this.drawChart();
327
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
319
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
328
320
  window.addEventListener('resize', this.debouncedHandleResize);
329
321
  }
330
322
  componentDidUpdate(prevProps) {
331
323
  super.componentDidUpdate(prevProps);
332
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
324
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
333
325
  this.destroyChart();
334
326
  this.createChart();
335
327
  this.drawChart();
@@ -347,13 +339,13 @@ class Line extends _chartComponent.default {
347
339
  tooltipData,
348
340
  toolTipPosition
349
341
  } = this.state;
350
- return /*#__PURE__*/_react.default.createElement("div", {
342
+ return /*#__PURE__*/React.createElement("div", {
351
343
  ref: ref => this.container = ref,
352
- className: (0, _classnames.default)('sea-chart-container', {
344
+ className: classNames('sea-chart-container', {
353
345
  'show-x-axis-label': this.isShowXAxisLabel(chart),
354
346
  'show-y-axis-label': this.isShowYAxisLabel(chart)
355
347
  })
356
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
348
+ }, /*#__PURE__*/React.createElement(ToolTip, {
357
349
  tooltipData: tooltipData,
358
350
  toolTipPosition: toolTipPosition,
359
351
  chart: this.chart
@@ -361,16 +353,16 @@ class Line extends _chartComponent.default {
361
353
  }
362
354
  }
363
355
  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
356
+ canvasStyle: PropTypes.object,
357
+ chart: PropTypes.object,
358
+ groupbyColumn: PropTypes.object,
359
+ columnGroupbyColumn: PropTypes.object,
360
+ summaryColumn: PropTypes.object,
361
+ result: PropTypes.array,
362
+ tables: PropTypes.array,
363
+ globalTheme: PropTypes.string,
364
+ chartColorTheme: PropTypes.string,
365
+ toggleRecords: PropTypes.func,
366
+ customRender: PropTypes.func
375
367
  };
376
- var _default = exports.default = Line;
368
+ export default Line;
@@ -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 _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 _topojson = require("topojson");
14
- var _dtableUtils = require("dtable-utils");
15
- var _constants = require("../../constants");
16
- var _utils = require("../../utils");
17
- var _context = _interopRequireDefault(require("../../context"));
18
- var _mapJson = _interopRequireDefault(require("../../services/map-json"));
19
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
20
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
21
- class MapBubble extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { debounce } from 'lodash-es';
4
+ import * as d3 from 'd3';
5
+ import { feature } from 'topojson';
6
+ import { getTableById, getTableColumnByKey } from 'dtable-utils';
7
+ import { CHART_SUMMARY_TYPE, MAP_LEVEL, DEFAULT_NUMBER_FORMAT_OBJECT, CHART_THEME_COLOR } from '../../constants';
8
+ import { BaseUtils } from '../../utils';
9
+ import context from '../../context';
10
+ import fetchMapJson from '../../services/map-json';
11
+ import ToolTip from '../../components/tooltip';
12
+ import ChartComponent from './chart-component';
13
+ class MapBubble extends ChartComponent {
22
14
  constructor(props) {
23
15
  super(props);
24
16
  this.handleResize = () => {
@@ -43,13 +35,13 @@ class MapBubble extends _chartComponent.default {
43
35
  if (!Array.isArray(data)) return;
44
36
  const {
45
37
  map_location,
46
- map_level = _constants.MAP_LEVEL.COUNTRY,
38
+ map_level = MAP_LEVEL.COUNTRY,
47
39
  type
48
40
  } = chart.config;
49
- const mediaUrl = _context.default.getSetting('mediaUrl');
50
- const mapJson = await (0, _mapJson.default)(map_level, map_location, mediaUrl);
41
+ const mediaUrl = context.getSetting('mediaUrl');
42
+ const mapJson = await fetchMapJson(map_level, map_location, mediaUrl);
51
43
  if (!mapJson) return;
52
- const newMapJson = map_level === _constants.MAP_LEVEL.COUNTRY ? (0, _topojson.feature)(mapJson, mapJson.objects) : mapJson;
44
+ const newMapJson = map_level === MAP_LEVEL.COUNTRY ? feature(mapJson, mapJson.objects) : mapJson;
53
45
  const statisticNewData = this.formatMapStatisticData(data, newMapJson, type);
54
46
  this.draw(statisticNewData, newMapJson);
55
47
  };
@@ -101,7 +93,7 @@ class MapBubble extends _chartComponent.default {
101
93
  globalTheme,
102
94
  canvasStyle
103
95
  } = this.props;
104
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
96
+ const theme = CHART_THEME_COLOR[globalTheme];
105
97
  const {
106
98
  legend_size,
107
99
  legend_direction,
@@ -136,7 +128,7 @@ class MapBubble extends _chartComponent.default {
136
128
  theme,
137
129
  legendDirection: legend_direction,
138
130
  legendSize: legend_size,
139
- legendTextRange: [_utils.BaseUtils.getSummaryValueDisplayString(columnData, d3.min(data, d => d.value), summary_method), _utils.BaseUtils.getSummaryValueDisplayString(columnData, d3.max(data, d => d.value), summary_method)],
131
+ legendTextRange: [BaseUtils.getSummaryValueDisplayString(columnData, d3.min(data, d => d.value), summary_method), BaseUtils.getSummaryValueDisplayString(columnData, d3.max(data, d => d.value), summary_method)],
140
132
  type,
141
133
  bubbleColor: bubble_color
142
134
  });
@@ -157,11 +149,11 @@ class MapBubble extends _chartComponent.default {
157
149
  summary_column_key,
158
150
  table_id
159
151
  } = chart.config;
160
- let columnData = _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
161
- if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
162
- const table = (0, _dtableUtils.getTableById)(table_id);
163
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
164
- columnData = summaryColumn.data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
152
+ let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
153
+ if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
154
+ const table = getTableById(table_id);
155
+ const summaryColumn = getTableColumnByKey(table, summary_column_key) || {};
156
+ columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
165
157
  }
166
158
  return columnData;
167
159
  };
@@ -222,12 +214,12 @@ class MapBubble extends _chartComponent.default {
222
214
  componentDidMount() {
223
215
  this.createChart();
224
216
  this.drawChart();
225
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
217
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
226
218
  window.addEventListener('resize', this.debouncedHandleResize);
227
219
  }
228
220
  componentDidUpdate(prevProps) {
229
221
  super.componentDidUpdate(prevProps);
230
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
222
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
231
223
  this.destroyChart();
232
224
  this.createChart();
233
225
  this.drawChart();
@@ -242,10 +234,10 @@ class MapBubble extends _chartComponent.default {
242
234
  tooltipData,
243
235
  toolTipPosition
244
236
  } = this.state;
245
- return /*#__PURE__*/_react.default.createElement("div", {
237
+ return /*#__PURE__*/React.createElement("div", {
246
238
  ref: ref => this.container = ref,
247
239
  className: "sea-chart-container"
248
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
240
+ }, /*#__PURE__*/React.createElement(ToolTip, {
249
241
  tooltipData: tooltipData,
250
242
  toolTipPosition: toolTipPosition,
251
243
  chart: this.chart
@@ -253,16 +245,16 @@ class MapBubble extends _chartComponent.default {
253
245
  }
254
246
  }
255
247
  MapBubble.propTypes = {
256
- canvasStyle: _propTypes.default.object,
257
- chart: _propTypes.default.object,
258
- groupbyColumn: _propTypes.default.object,
259
- columnGroupbyColumn: _propTypes.default.object,
260
- summaryColumn: _propTypes.default.object,
261
- result: _propTypes.default.array,
262
- tables: _propTypes.default.array,
263
- globalTheme: _propTypes.default.string,
264
- chartColorTheme: _propTypes.default.string,
265
- toggleRecords: _propTypes.default.func,
266
- customRender: _propTypes.default.func
248
+ canvasStyle: PropTypes.object,
249
+ chart: PropTypes.object,
250
+ groupbyColumn: PropTypes.object,
251
+ columnGroupbyColumn: PropTypes.object,
252
+ summaryColumn: PropTypes.object,
253
+ result: PropTypes.array,
254
+ tables: PropTypes.array,
255
+ globalTheme: PropTypes.string,
256
+ chartColorTheme: PropTypes.string,
257
+ toggleRecords: PropTypes.func,
258
+ customRender: PropTypes.func
267
259
  };
268
- var _default = exports.default = MapBubble;
260
+ export default MapBubble;
@@ -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 _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 _topojson = require("topojson");
14
- var _dtableUtils = require("dtable-utils");
15
- var _constants = require("../../constants");
16
- var _utils = require("../../utils");
17
- var _context = _interopRequireDefault(require("../../context"));
18
- var _mapJson = _interopRequireDefault(require("../../services/map-json"));
19
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
20
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
21
- class MapBubble extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { debounce } from 'lodash-es';
4
+ import * as d3 from 'd3';
5
+ import { feature } from 'topojson';
6
+ import { getTableById, getTableColumnByKey } from 'dtable-utils';
7
+ import { CHART_SUMMARY_TYPE, MAP_LEVEL, DEFAULT_NUMBER_FORMAT_OBJECT, CHART_THEME_COLOR } from '../../constants';
8
+ import { BaseUtils } from '../../utils';
9
+ import context from '../../context';
10
+ import fetchMapJson from '../../services/map-json';
11
+ import ToolTip from '../../components/tooltip';
12
+ import ChartComponent from './chart-component';
13
+ class MapBubble extends ChartComponent {
22
14
  constructor(props) {
23
15
  super(props);
24
16
  this.handleResize = () => {
@@ -44,10 +36,10 @@ class MapBubble extends _chartComponent.default {
44
36
  const {
45
37
  type
46
38
  } = chart.config;
47
- const mediaUrl = _context.default.getSetting('mediaUrl');
48
- const mapJson = await (0, _mapJson.default)(_constants.MAP_LEVEL.WORLD, '', mediaUrl);
39
+ const mediaUrl = context.getSetting('mediaUrl');
40
+ const mapJson = await fetchMapJson(MAP_LEVEL.WORLD, '', mediaUrl);
49
41
  if (!mapJson) return;
50
- const newMapJson = (0, _topojson.feature)(mapJson, mapJson.objects);
42
+ const newMapJson = feature(mapJson, mapJson.objects);
51
43
  const statisticNewData = this.formatWorldMapStatisticData(data, newMapJson, type);
52
44
  this.draw(statisticNewData, newMapJson);
53
45
  };
@@ -101,7 +93,7 @@ class MapBubble extends _chartComponent.default {
101
93
  globalTheme,
102
94
  canvasStyle
103
95
  } = this.props;
104
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
96
+ const theme = CHART_THEME_COLOR[globalTheme];
105
97
  const {
106
98
  legend_size,
107
99
  legend_direction,
@@ -136,7 +128,7 @@ class MapBubble extends _chartComponent.default {
136
128
  theme,
137
129
  legendDirection: legend_direction,
138
130
  legendSize: legend_size,
139
- legendTextRange: [_utils.BaseUtils.getSummaryValueDisplayString(columnData, d3.min(data, d => d.value), summary_method), _utils.BaseUtils.getSummaryValueDisplayString(columnData, d3.max(data, d => d.value), summary_method)],
131
+ legendTextRange: [BaseUtils.getSummaryValueDisplayString(columnData, d3.min(data, d => d.value), summary_method), BaseUtils.getSummaryValueDisplayString(columnData, d3.max(data, d => d.value), summary_method)],
140
132
  type,
141
133
  bubbleColor: bubble_color || '#2a67d1'
142
134
  });
@@ -157,11 +149,11 @@ class MapBubble extends _chartComponent.default {
157
149
  summary_column_key,
158
150
  table_id
159
151
  } = chart.config;
160
- let columnData = _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
161
- if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
162
- const table = (0, _dtableUtils.getTableById)(table_id);
163
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
164
- columnData = summaryColumn.data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
152
+ let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
153
+ if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
154
+ const table = getTableById(table_id);
155
+ const summaryColumn = getTableColumnByKey(table, summary_column_key) || {};
156
+ columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
165
157
  }
166
158
  return columnData;
167
159
  };
@@ -222,12 +214,12 @@ class MapBubble extends _chartComponent.default {
222
214
  componentDidMount() {
223
215
  this.createChart();
224
216
  this.drawChart();
225
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
217
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
226
218
  window.addEventListener('resize', this.debouncedHandleResize);
227
219
  }
228
220
  componentDidUpdate(prevProps) {
229
221
  super.componentDidUpdate(prevProps);
230
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
222
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
231
223
  this.destroyChart();
232
224
  this.createChart();
233
225
  this.drawChart();
@@ -242,10 +234,10 @@ class MapBubble extends _chartComponent.default {
242
234
  tooltipData,
243
235
  toolTipPosition
244
236
  } = this.state;
245
- return /*#__PURE__*/_react.default.createElement("div", {
237
+ return /*#__PURE__*/React.createElement("div", {
246
238
  ref: ref => this.container = ref,
247
239
  className: "sea-chart-container"
248
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
240
+ }, /*#__PURE__*/React.createElement(ToolTip, {
249
241
  tooltipData: tooltipData,
250
242
  toolTipPosition: toolTipPosition,
251
243
  chart: this.chart
@@ -253,16 +245,16 @@ class MapBubble extends _chartComponent.default {
253
245
  }
254
246
  }
255
247
  MapBubble.propTypes = {
256
- canvasStyle: _propTypes.default.object,
257
- chart: _propTypes.default.object,
258
- groupbyColumn: _propTypes.default.object,
259
- columnGroupbyColumn: _propTypes.default.object,
260
- summaryColumn: _propTypes.default.object,
261
- result: _propTypes.default.array,
262
- tables: _propTypes.default.array,
263
- globalTheme: _propTypes.default.string,
264
- chartColorTheme: _propTypes.default.string,
265
- toggleRecords: _propTypes.default.func,
266
- customRender: _propTypes.default.func
248
+ canvasStyle: PropTypes.object,
249
+ chart: PropTypes.object,
250
+ groupbyColumn: PropTypes.object,
251
+ columnGroupbyColumn: PropTypes.object,
252
+ summaryColumn: PropTypes.object,
253
+ result: PropTypes.array,
254
+ tables: PropTypes.array,
255
+ globalTheme: PropTypes.string,
256
+ chartColorTheme: PropTypes.string,
257
+ toggleRecords: PropTypes.func,
258
+ customRender: PropTypes.func
267
259
  };
268
- var _default = exports.default = MapBubble;
260
+ export default MapBubble;
@@ -1,25 +1,17 @@
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 _topojson = require("topojson");
14
- var _dtableUtils = require("dtable-utils");
15
- var _constants = require("../../constants");
16
- var _utils = require("../../utils");
17
- var _colorRules = require("../../constants/color-rules");
18
- var _context = _interopRequireDefault(require("../../context"));
19
- var _mapJson = _interopRequireDefault(require("../../services/map-json"));
20
- var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
21
- var _chartComponent = _interopRequireDefault(require("./chart-component"));
22
- class Map extends _chartComponent.default {
1
+ import React from 'react';
2
+ import PropTypes from 'prop-types';
3
+ import { debounce } from 'lodash-es';
4
+ import * as d3 from 'd3';
5
+ import { feature } from 'topojson';
6
+ import { getTableById, getTableColumnByKey } from 'dtable-utils';
7
+ import { CHART_SUMMARY_TYPE, MAP_LEVEL, DEFAULT_NUMBER_FORMAT_OBJECT, CHART_THEME_COLOR } from '../../constants';
8
+ import { BaseUtils } from '../../utils';
9
+ import { COLOR_OPTIONS } from '../../constants/color-rules';
10
+ import context from '../../context';
11
+ import fetchMapJson from '../../services/map-json';
12
+ import ToolTip from '../../components/tooltip';
13
+ import ChartComponent from './chart-component';
14
+ class Map extends ChartComponent {
23
15
  constructor(props) {
24
16
  super(props);
25
17
  this.handleResize = () => {
@@ -45,10 +37,10 @@ class Map extends _chartComponent.default {
45
37
  const {
46
38
  type
47
39
  } = chart.config;
48
- const mediaUrl = _context.default.getSetting('mediaUrl');
49
- const mapJson = await (0, _mapJson.default)(_constants.MAP_LEVEL.WORLD, '', mediaUrl);
40
+ const mediaUrl = context.getSetting('mediaUrl');
41
+ const mapJson = await fetchMapJson(MAP_LEVEL.WORLD, '', mediaUrl);
50
42
  if (!mapJson) return;
51
- const newMapJson = (0, _topojson.feature)(mapJson, mapJson.objects);
43
+ const newMapJson = feature(mapJson, mapJson.objects);
52
44
  const statisticNewData = this.formatWorldMapStatisticData(data, newMapJson, type);
53
45
  this.draw(statisticNewData, newMapJson);
54
46
  };
@@ -103,7 +95,7 @@ class Map extends _chartComponent.default {
103
95
  canvasStyle,
104
96
  isCalculateByView
105
97
  } = this.props;
106
- const theme = _constants.CHART_THEME_COLOR[globalTheme];
98
+ const theme = CHART_THEME_COLOR[globalTheme];
107
99
  const {
108
100
  data_color,
109
101
  legend_size,
@@ -115,7 +107,7 @@ class Map extends _chartComponent.default {
115
107
  height: chartHeight,
116
108
  insertPadding
117
109
  } = this.chartBoundingClientRect;
118
- const currentColorOption = _colorRules.COLOR_OPTIONS.filter(item => item.name === data_color)[0] || _colorRules.COLOR_OPTIONS[0];
110
+ const currentColorOption = COLOR_OPTIONS.filter(item => item.name === data_color)[0] || COLOR_OPTIONS[0];
119
111
  const {
120
112
  exampleColors,
121
113
  highlightedBorderColor
@@ -192,7 +184,7 @@ class Map extends _chartComponent.default {
192
184
  colorRange: exampleColors,
193
185
  legendDirection: legend_direction,
194
186
  legendSize: legend_size,
195
- legendTextRange: [_utils.BaseUtils.getSummaryValueDisplayString(columnData, minVal, summary_method), _utils.BaseUtils.getSummaryValueDisplayString(columnData, maxVal, summary_method)]
187
+ legendTextRange: [BaseUtils.getSummaryValueDisplayString(columnData, minVal, summary_method), BaseUtils.getSummaryValueDisplayString(columnData, maxVal, summary_method)]
196
188
  });
197
189
  };
198
190
  this.handleAcitveAndInActiveState = (state, event, highlightedBorderColor) => {
@@ -217,11 +209,11 @@ class Map extends _chartComponent.default {
217
209
  summary_column_key,
218
210
  table_id
219
211
  } = chart.config;
220
- let columnData = _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
221
- if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
222
- const table = (0, _dtableUtils.getTableById)(table_id);
223
- const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column_key) || {};
224
- columnData = summaryColumn.data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
212
+ let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
213
+ if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
214
+ const table = getTableById(table_id);
215
+ const summaryColumn = getTableColumnByKey(table, summary_column_key) || {};
216
+ columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
225
217
  }
226
218
  return columnData;
227
219
  };
@@ -235,12 +227,12 @@ class Map extends _chartComponent.default {
235
227
  componentDidMount() {
236
228
  this.createChart();
237
229
  this.drawChart();
238
- this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
230
+ this.debouncedHandleResize = debounce(this.handleResize, 300);
239
231
  window.addEventListener('resize', this.debouncedHandleResize);
240
232
  }
241
233
  componentDidUpdate(prevProps) {
242
234
  super.componentDidUpdate(prevProps);
243
- if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
235
+ if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
244
236
  this.destroyChart();
245
237
  this.createChart();
246
238
  this.drawChart();
@@ -255,10 +247,10 @@ class Map extends _chartComponent.default {
255
247
  tooltipData,
256
248
  toolTipPosition
257
249
  } = this.state;
258
- return /*#__PURE__*/_react.default.createElement("div", {
250
+ return /*#__PURE__*/React.createElement("div", {
259
251
  ref: ref => this.container = ref,
260
252
  className: "sea-chart-container"
261
- }, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
253
+ }, /*#__PURE__*/React.createElement(ToolTip, {
262
254
  tooltipData: tooltipData,
263
255
  toolTipPosition: toolTipPosition,
264
256
  chart: this.chart
@@ -266,16 +258,16 @@ class Map extends _chartComponent.default {
266
258
  }
267
259
  }
268
260
  Map.propTypes = {
269
- canvasStyle: _propTypes.default.object,
270
- chart: _propTypes.default.object,
271
- groupbyColumn: _propTypes.default.object,
272
- columnGroupbyColumn: _propTypes.default.object,
273
- summaryColumn: _propTypes.default.object,
274
- result: _propTypes.default.array,
275
- tables: _propTypes.default.array,
276
- globalTheme: _propTypes.default.string,
277
- chartColorTheme: _propTypes.default.string,
278
- toggleRecords: _propTypes.default.func,
279
- customRender: _propTypes.default.func
261
+ canvasStyle: PropTypes.object,
262
+ chart: PropTypes.object,
263
+ groupbyColumn: PropTypes.object,
264
+ columnGroupbyColumn: PropTypes.object,
265
+ summaryColumn: PropTypes.object,
266
+ result: PropTypes.array,
267
+ tables: PropTypes.array,
268
+ globalTheme: PropTypes.string,
269
+ chartColorTheme: PropTypes.string,
270
+ toggleRecords: PropTypes.func,
271
+ customRender: PropTypes.func
280
272
  };
281
- var _default = exports.default = Map;
273
+ export default Map;