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.
- package/dist/api/index.js +8 -15
- package/dist/components/cell-factory/FormatterConfig.js +55 -62
- package/dist/components/cell-factory/SimpleCellFormatter.js +5 -12
- package/dist/components/cell-factory/SingleSelectOption.js +11 -18
- package/dist/components/cell-factory/cell-editor-factory.js +5 -12
- package/dist/components/cell-factory/cell-formatter-factory.js +4 -11
- package/dist/components/cell-factory/link-content.js +30 -38
- package/dist/components/chart-color-selector/color-selector.js +11 -18
- package/dist/components/collaborator/index.js +7 -14
- package/dist/components/color-picker/index.js +12 -19
- package/dist/components/color-popover/color-rules/color-rule.js +26 -34
- package/dist/components/color-popover/color-rules/index.js +7 -15
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +27 -34
- package/dist/components/color-popover/color-rules/rule-filters/index.js +17 -25
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +9 -17
- package/dist/components/color-popover/color-rules-popover.js +30 -38
- package/dist/components/color-popover/color-selector-popover.js +12 -20
- package/dist/components/color-setting/color-group-selector.js +13 -21
- package/dist/components/common-add-tool/index.js +8 -15
- package/dist/components/data-process-setter/data-setting-header.js +7 -14
- package/dist/components/data-process-setter/hide-column-setter.js +13 -20
- package/dist/components/data-process-setter/index.js +4 -27
- package/dist/components/data-process-setter/sort-setter.js +18 -26
- package/dist/components/draggable/Draggable.js +7 -13
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +40 -48
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +10 -18
- package/dist/components/drill-down-settings/index.js +11 -18
- package/dist/components/dtable-popover/index.js +13 -20
- package/dist/components/dtable-search-input/index.js +13 -21
- package/dist/components/font-settings/index.js +14 -22
- package/dist/components/goal-line-setting/goal-setting-item.js +6 -14
- package/dist/components/goal-line-setting/index.js +12 -19
- package/dist/components/highlighter/highlighter.js +7 -14
- package/dist/components/icon/index.js +5 -12
- package/dist/components/index.js +7 -48
- package/dist/components/loading/index.js +6 -13
- package/dist/components/number-input/index.js +4 -11
- package/dist/components/pixel-editor/index.js +15 -23
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +8 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +26 -34
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +9 -18
- package/dist/components/popover/sort-popover/sort-popover.js +55 -65
- package/dist/components/resize-handle/ResizeHandle.js +6 -13
- package/dist/components/row-card/row-card-header-cell.js +17 -24
- package/dist/components/row-card/row-card-header.js +15 -22
- package/dist/components/row-card/row-card-item.js +35 -43
- package/dist/components/row-card/row-card.js +17 -25
- package/dist/components/statistic-record-dialog/index.js +56 -64
- package/dist/components/tooltip/index.js +14 -21
- package/dist/components/types-dialog/index.js +62 -70
- package/dist/components/types-dialog/use-force-update.js +4 -10
- package/dist/constants/color-rules.js +8 -14
- package/dist/constants/common-constants.js +8 -14
- package/dist/constants/error.js +2 -8
- package/dist/constants/geolocation.js +9 -15
- package/dist/constants/index.js +142 -271
- package/dist/constants/key-codes.js +0 -2
- package/dist/constants/model.js +3 -9
- package/dist/constants/regions.js +3 -8
- package/dist/constants/style.js +6 -12
- package/dist/constants/table.js +1 -7
- package/dist/constants/type-image.js +33 -39
- package/dist/constants/type.js +3 -9
- package/dist/context.js +13 -20
- package/dist/editor/index.js +8 -15
- package/dist/index.js +13 -104
- package/dist/intl.js +10 -17
- package/dist/locale/index.js +16 -23
- package/dist/locale/lang/de.js +1 -7
- package/dist/locale/lang/en.js +1 -7
- package/dist/locale/lang/es.js +1 -7
- package/dist/locale/lang/fr.js +1 -7
- package/dist/locale/lang/pt.js +1 -7
- package/dist/locale/lang/ru.js +1 -7
- package/dist/locale/lang/zh_CN.js +1 -7
- package/dist/model/area-group.js +12 -19
- package/dist/model/area.js +12 -19
- package/dist/model/bar-custom.js +11 -18
- package/dist/model/bar-group.js +12 -19
- package/dist/model/bar-stack.js +10 -17
- package/dist/model/bar.js +11 -18
- package/dist/model/base-model.js +4 -11
- package/dist/model/basic-number-card.js +13 -20
- package/dist/model/chart.js +7 -13
- package/dist/model/combination.js +15 -22
- package/dist/model/compare-bar.js +14 -21
- package/dist/model/completeness-group.js +11 -18
- package/dist/model/completeness.js +10 -17
- package/dist/model/dashboard.js +7 -14
- package/dist/model/funnel.js +14 -21
- package/dist/model/generic-model.js +135 -143
- package/dist/model/heat-map.js +9 -16
- package/dist/model/horizontal-bar.js +11 -18
- package/dist/model/horizontal-group-bar.js +10 -17
- package/dist/model/index.js +69 -93
- package/dist/model/line-group.js +13 -20
- package/dist/model/line.js +12 -19
- package/dist/model/map-bubble.js +12 -19
- package/dist/model/map.js +12 -19
- package/dist/model/mirror.js +13 -20
- package/dist/model/pie.js +12 -19
- package/dist/model/ring.js +12 -19
- package/dist/model/scatter.js +10 -17
- package/dist/model/stacked-horizontal-bar.js +11 -18
- package/dist/model/table-element.js +5 -12
- package/dist/model/table.js +7 -14
- package/dist/model/tree-map.js +7 -14
- package/dist/model/trend.js +11 -18
- package/dist/model/user.js +1 -7
- package/dist/model/world-map-bubble.js +12 -19
- package/dist/model/world-map.js +12 -19
- package/dist/services/map-json.js +11 -17
- package/dist/settings/advance-bar-settings/data-settings.js +36 -44
- package/dist/settings/advance-bar-settings/index.js +3 -20
- package/dist/settings/advance-bar-settings/style-settings.js +63 -71
- package/dist/settings/bar-settings/data-settings.js +39 -47
- package/dist/settings/bar-settings/index.js +3 -20
- package/dist/settings/bar-settings/style-settings.js +49 -57
- package/dist/settings/basic-number-card/data-settings.js +49 -57
- package/dist/settings/basic-number-card/index.js +3 -20
- package/dist/settings/basic-number-card/style-settings.js +19 -27
- package/dist/settings/combination-settings/data-settings.js +55 -63
- package/dist/settings/combination-settings/index.js +3 -20
- package/dist/settings/combination-settings/style-settings.js +65 -73
- package/dist/settings/completeness-settings/callbacks/callbacks.js +16 -27
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +21 -28
- package/dist/settings/completeness-settings/data-settings/data-settings.js +25 -32
- package/dist/settings/completeness-settings/index.js +3 -20
- package/dist/settings/completeness-settings/style-settings.js +19 -26
- package/dist/settings/dashboard-settings/data-settings.js +43 -51
- package/dist/settings/dashboard-settings/index.js +2 -13
- package/dist/settings/data-settings.js +72 -79
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +12 -19
- package/dist/settings/funnel-settings/components/dnd-list.js +15 -23
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +32 -40
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +20 -28
- package/dist/settings/funnel-settings/data-settings.js +23 -31
- package/dist/settings/funnel-settings/index.js +3 -20
- package/dist/settings/funnel-settings/style-settings.js +11 -19
- package/dist/settings/heat-map-settings/data-settings.js +18 -26
- package/dist/settings/heat-map-settings/index.js +3 -20
- package/dist/settings/heat-map-settings/style-settings.js +18 -26
- package/dist/settings/horizontal-bar-settings/data-settings.js +12 -19
- package/dist/settings/horizontal-bar-settings/index.js +3 -20
- package/dist/settings/horizontal-bar-settings/style-settings.js +12 -19
- package/dist/settings/index.js +52 -70
- package/dist/settings/map-settings/components/location-field-selector.js +10 -17
- package/dist/settings/map-settings/components/map-level-selector.js +11 -18
- package/dist/settings/map-settings/components/map-province-city-selector.js +19 -26
- package/dist/settings/map-settings/index.js +3 -20
- package/dist/settings/map-settings/map-data-settings.js +23 -30
- package/dist/settings/map-settings/map-style-settings.js +27 -35
- package/dist/settings/mirror-settings/data-settings.js +26 -34
- package/dist/settings/mirror-settings/index.js +2 -13
- package/dist/settings/pie-settings/data-settings.js +33 -41
- package/dist/settings/pie-settings/index.js +3 -20
- package/dist/settings/pie-settings/style-settings.js +47 -55
- package/dist/settings/scatter/data-settings.js +27 -34
- package/dist/settings/scatter/index.js +3 -12
- package/dist/settings/stacks-settings/index.js +19 -27
- package/dist/settings/stacks-settings/stack-item-settings.js +19 -27
- package/dist/settings/style-settings.js +65 -73
- package/dist/settings/table-element-settings/components/data-filter.js +30 -38
- package/dist/settings/table-element-settings/data-settings.js +21 -29
- package/dist/settings/table-element-settings/index.js +2 -13
- package/dist/settings/table-settings/data-settings.js +112 -120
- package/dist/settings/table-settings/index.js +2 -13
- package/dist/settings/time-comparison-settings/data-settings.js +43 -51
- package/dist/settings/time-comparison-settings/index.js +3 -20
- package/dist/settings/time-comparison-settings/style-settings.js +42 -50
- package/dist/settings/trend-settings/data-settings.js +24 -32
- package/dist/settings/trend-settings/index.js +3 -20
- package/dist/settings/trend-settings/style-setting.js +19 -27
- package/dist/settings/widgets/basic-summary/index.js +55 -63
- package/dist/settings/widgets/chart-type/index.js +18 -26
- package/dist/settings/widgets/color-settings/index.js +72 -80
- package/dist/settings/widgets/common-data-settings.js +21 -29
- package/dist/settings/widgets/data-filter/index.js +35 -43
- package/dist/settings/widgets/data-sort.js +16 -24
- package/dist/settings/widgets/date-summary-item.js +26 -34
- package/dist/settings/widgets/display-values-settings/index.js +14 -22
- package/dist/settings/widgets/divider/index.js +8 -16
- package/dist/settings/widgets/font-settings/font-color-settings.js +11 -19
- package/dist/settings/widgets/font-settings/font-size-settings.js +14 -22
- package/dist/settings/widgets/font-settings/font-weight-settings.js +17 -25
- package/dist/settings/widgets/font-settings/index.js +4 -27
- package/dist/settings/widgets/group-by.js +51 -59
- package/dist/settings/widgets/min-max-setting.js +10 -18
- package/dist/settings/widgets/mininum-slice-percent.js +10 -18
- package/dist/settings/widgets/numeric-summary-item.js +25 -33
- package/dist/settings/widgets/select-line-type/index.js +10 -17
- package/dist/settings/widgets/select-table/index.js +9 -16
- package/dist/settings/widgets/select-view/index.js +20 -28
- package/dist/settings/widgets/stack.js +14 -22
- package/dist/settings/widgets/summary-method-setting.js +17 -25
- package/dist/settings/widgets/summary-settings.js +74 -82
- package/dist/settings/widgets/switch/index.js +9 -16
- package/dist/settings/widgets/text-horizontal-settings.js +15 -23
- package/dist/settings/widgets/time-picker.js +29 -37
- package/dist/settings/widgets/title-settings/index.js +29 -37
- package/dist/settings/widgets/title-settings/title-text.js +5 -12
- package/dist/settings/widgets/x-axios.js +0 -1
- package/dist/settings/widgets/y-axis-group-settings.js +64 -72
- package/dist/utils/cell-format-utils.js +17 -27
- package/dist/utils/cell-value-utils.js +4 -11
- package/dist/utils/chart-utils/base-utils.js +324 -332
- package/dist/utils/chart-utils/index.js +28 -41
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +77 -84
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +13 -20
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +45 -52
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +21 -28
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +33 -40
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +16 -23
- package/dist/utils/chart-utils/original-data-utils/index.js +50 -57
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +19 -26
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +90 -96
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +19 -26
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +31 -38
- package/dist/utils/chart-utils/sql-statistics-utils.js +229 -237
- package/dist/utils/chart.js +9 -17
- package/dist/utils/collaborator-manager.js +3 -9
- package/dist/utils/collaborator-utils.js +19 -31
- package/dist/utils/collaborator.js +6 -15
- package/dist/utils/color-utils.js +18 -29
- package/dist/utils/column-utils.js +77 -104
- package/dist/utils/common-utils.js +28 -53
- package/dist/utils/concurrency-manager.js +1 -7
- package/dist/utils/contexts.js +5 -12
- package/dist/utils/date-translate.js +12 -20
- package/dist/utils/digital-sign-utils.js +7 -14
- package/dist/utils/event-bus.js +1 -7
- package/dist/utils/hotkey.js +5 -11
- package/dist/utils/index.js +54 -221
- package/dist/utils/key-generator.js +2 -9
- package/dist/utils/map.js +22 -31
- package/dist/utils/object-utils.js +2 -8
- package/dist/utils/options-utils.js +10 -18
- package/dist/utils/row-record-utils.js +166 -178
- package/dist/utils/row-utils.js +27 -38
- package/dist/utils/search.js +24 -32
- package/dist/utils/sql/chart-data-sql.js +106 -112
- package/dist/utils/sql/column-2-sql-column.js +158 -168
- package/dist/utils/sql/index.js +3 -27
- package/dist/utils/trend-utils.js +39 -47
- package/dist/view/index.js +90 -96
- package/dist/view/title/index.js +16 -24
- package/dist/view/wrapper/area-group.js +45 -53
- package/dist/view/wrapper/area.js +43 -51
- package/dist/view/wrapper/bar-compare.js +38 -46
- package/dist/view/wrapper/bar-custom-stack.js +39 -47
- package/dist/view/wrapper/bar-group.js +45 -53
- package/dist/view/wrapper/bar-stack.js +48 -56
- package/dist/view/wrapper/bar.js +40 -48
- package/dist/view/wrapper/basic-number-card.js +26 -34
- package/dist/view/wrapper/chart-component.js +123 -131
- package/dist/view/wrapper/combination.js +55 -63
- package/dist/view/wrapper/completeness-group.js +40 -48
- package/dist/view/wrapper/completeness.js +36 -44
- package/dist/view/wrapper/dashboard.js +39 -44
- package/dist/view/wrapper/funnel.js +40 -43
- package/dist/view/wrapper/heat-map.js +62 -70
- package/dist/view/wrapper/horizontal-bar-group.js +52 -60
- package/dist/view/wrapper/horizontal-bar-stack.js +47 -55
- package/dist/view/wrapper/horizontal-bar.js +41 -49
- package/dist/view/wrapper/index.js +107 -115
- package/dist/view/wrapper/line-group.js +43 -51
- package/dist/view/wrapper/line.js +42 -50
- package/dist/view/wrapper/map-bubble.js +40 -48
- package/dist/view/wrapper/map-world-bubble.js +39 -47
- package/dist/view/wrapper/map-world.js +41 -49
- package/dist/view/wrapper/map.js +42 -50
- package/dist/view/wrapper/mirror.js +41 -49
- package/dist/view/wrapper/pie.js +44 -52
- package/dist/view/wrapper/ring.js +49 -57
- package/dist/view/wrapper/scatter.js +42 -50
- package/dist/view/wrapper/table/index.js +14 -22
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +49 -57
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +53 -61
- package/dist/view/wrapper/table/pivot-table-display-name.js +82 -90
- package/dist/view/wrapper/table/two-dimension-table.js +85 -93
- package/dist/view/wrapper/table-element/components/dataset-utils.js +23 -36
- package/dist/view/wrapper/table-element/components/formatter.js +90 -99
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +23 -32
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +9 -16
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +90 -97
- package/dist/view/wrapper/table-element/components/formula-formatter.js +9 -16
- package/dist/view/wrapper/table-element/components/link-formatter.js +90 -97
- package/dist/view/wrapper/table-element/components/record.js +13 -20
- package/dist/view/wrapper/table-element/components/records-body.js +9 -17
- package/dist/view/wrapper/table-element/components/records-header/index.js +7 -15
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +8 -16
- package/dist/view/wrapper/table-element/components/records.js +25 -33
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +5 -12
- package/dist/view/wrapper/table-element/components/utils.js +6 -16
- package/dist/view/wrapper/table-element/components/value-display-utils.js +4 -11
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +6 -13
- package/dist/view/wrapper/table-element/index.js +18 -26
- package/dist/view/wrapper/treemap.js +38 -46
- package/dist/view/wrapper/trend.js +58 -66
- package/package.json +5 -5
package/dist/view/wrapper/map.js
CHANGED
|
@@ -1,25 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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 = () => {
|
|
@@ -44,13 +36,13 @@ class Map extends _chartComponent.default {
|
|
|
44
36
|
if (!Array.isArray(data)) return;
|
|
45
37
|
const {
|
|
46
38
|
map_location,
|
|
47
|
-
map_level =
|
|
39
|
+
map_level = MAP_LEVEL.COUNTRY,
|
|
48
40
|
type
|
|
49
41
|
} = chart.config;
|
|
50
|
-
const mediaUrl =
|
|
51
|
-
const mapJson = await (
|
|
42
|
+
const mediaUrl = context.getSetting('mediaUrl');
|
|
43
|
+
const mapJson = await fetchMapJson(map_level, map_location, mediaUrl);
|
|
52
44
|
if (!mapJson) return;
|
|
53
|
-
const newMapJson = map_level ===
|
|
45
|
+
const newMapJson = map_level === MAP_LEVEL.COUNTRY ? feature(mapJson, mapJson.objects) : mapJson;
|
|
54
46
|
const statisticNewData = this.formatMapStatisticData(data, newMapJson, type);
|
|
55
47
|
this.draw(statisticNewData, newMapJson);
|
|
56
48
|
};
|
|
@@ -102,7 +94,7 @@ class Map extends _chartComponent.default {
|
|
|
102
94
|
globalTheme,
|
|
103
95
|
canvasStyle
|
|
104
96
|
} = this.props;
|
|
105
|
-
const theme =
|
|
97
|
+
const theme = CHART_THEME_COLOR[globalTheme];
|
|
106
98
|
const {
|
|
107
99
|
data_color,
|
|
108
100
|
legend_size,
|
|
@@ -114,7 +106,7 @@ class Map extends _chartComponent.default {
|
|
|
114
106
|
height: chartHeight,
|
|
115
107
|
insertPadding
|
|
116
108
|
} = this.chartBoundingClientRect;
|
|
117
|
-
const currentColorOption =
|
|
109
|
+
const currentColorOption = COLOR_OPTIONS.filter(item => item.name === data_color)[0] || COLOR_OPTIONS[0];
|
|
118
110
|
const {
|
|
119
111
|
exampleColors,
|
|
120
112
|
highlightedBorderColor
|
|
@@ -179,7 +171,7 @@ class Map extends _chartComponent.default {
|
|
|
179
171
|
colorRange: exampleColors,
|
|
180
172
|
legendDirection: legend_direction,
|
|
181
173
|
legendSize: legend_size,
|
|
182
|
-
legendTextRange: [
|
|
174
|
+
legendTextRange: [BaseUtils.getSummaryValueDisplayString(columnData, minVal, summary_method), BaseUtils.getSummaryValueDisplayString(columnData, maxVal, summary_method)]
|
|
183
175
|
});
|
|
184
176
|
};
|
|
185
177
|
this.handleAcitveAndInActiveState = (state, event, highlightedBorderColor) => {
|
|
@@ -204,11 +196,11 @@ class Map extends _chartComponent.default {
|
|
|
204
196
|
summary_column_key,
|
|
205
197
|
table_id
|
|
206
198
|
} = chart.config;
|
|
207
|
-
let columnData =
|
|
208
|
-
if (summary_type ===
|
|
209
|
-
const table =
|
|
210
|
-
const summaryColumn =
|
|
211
|
-
columnData = summaryColumn.data ||
|
|
199
|
+
let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
200
|
+
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
201
|
+
const table = getTableById(table_id);
|
|
202
|
+
const summaryColumn = getTableColumnByKey(table, summary_column_key) || {};
|
|
203
|
+
columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
212
204
|
}
|
|
213
205
|
return columnData;
|
|
214
206
|
};
|
|
@@ -222,12 +214,12 @@ class Map extends _chartComponent.default {
|
|
|
222
214
|
componentDidMount() {
|
|
223
215
|
this.createChart();
|
|
224
216
|
this.drawChart();
|
|
225
|
-
this.debouncedHandleResize =
|
|
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 (
|
|
222
|
+
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
231
223
|
this.destroyChart();
|
|
232
224
|
this.createChart();
|
|
233
225
|
this.drawChart();
|
|
@@ -242,10 +234,10 @@ class Map extends _chartComponent.default {
|
|
|
242
234
|
tooltipData,
|
|
243
235
|
toolTipPosition
|
|
244
236
|
} = this.state;
|
|
245
|
-
return /*#__PURE__*/
|
|
237
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
246
238
|
ref: ref => this.container = ref,
|
|
247
239
|
className: "sea-chart-container"
|
|
248
|
-
}, /*#__PURE__*/
|
|
240
|
+
}, /*#__PURE__*/React.createElement(ToolTip, {
|
|
249
241
|
tooltipData: tooltipData,
|
|
250
242
|
toolTipPosition: toolTipPosition,
|
|
251
243
|
chart: this.chart
|
|
@@ -253,16 +245,16 @@ class Map extends _chartComponent.default {
|
|
|
253
245
|
}
|
|
254
246
|
}
|
|
255
247
|
Map.propTypes = {
|
|
256
|
-
canvasStyle:
|
|
257
|
-
chart:
|
|
258
|
-
groupbyColumn:
|
|
259
|
-
columnGroupbyColumn:
|
|
260
|
-
summaryColumn:
|
|
261
|
-
result:
|
|
262
|
-
tables:
|
|
263
|
-
globalTheme:
|
|
264
|
-
chartColorTheme:
|
|
265
|
-
toggleRecords:
|
|
266
|
-
customRender:
|
|
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
|
-
|
|
260
|
+
export default Map;
|
|
@@ -1,23 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
-
var _dtableUtils = require("dtable-utils");
|
|
15
|
-
var _constants = require("../../constants");
|
|
16
|
-
var _utils = require("../../utils");
|
|
17
|
-
var _intl = _interopRequireDefault(require("../../intl"));
|
|
18
|
-
var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
|
|
19
|
-
var _chartComponent = _interopRequireDefault(require("./chart-component"));
|
|
20
|
-
class Mirror 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 { getTableById, getTableColumnByKey, getNumberDisplayString } from 'dtable-utils';
|
|
7
|
+
import { CHART_SUMMARY_SHOW, DEFAULT_NUMBER_FORMAT_OBJECT, CHART_SUMMARY_TYPE, TITLE_AMOUNT } from '../../constants';
|
|
8
|
+
import { BaseUtils } from '../../utils';
|
|
9
|
+
import intl from '../../intl';
|
|
10
|
+
import ToolTip from '../../components/tooltip';
|
|
11
|
+
import ChartComponent from './chart-component';
|
|
12
|
+
class Mirror extends ChartComponent {
|
|
21
13
|
constructor(props) {
|
|
22
14
|
super(props);
|
|
23
15
|
this.handleResize = () => {
|
|
@@ -39,7 +31,7 @@ class Mirror extends _chartComponent.default {
|
|
|
39
31
|
let {
|
|
40
32
|
result
|
|
41
33
|
} = this.props;
|
|
42
|
-
const data =
|
|
34
|
+
const data = BaseUtils.formatEmptyName(result.data, '', intl.get('Empty'));
|
|
43
35
|
if (!Array.isArray(data)) return;
|
|
44
36
|
this.draw({
|
|
45
37
|
data,
|
|
@@ -60,7 +52,7 @@ class Mirror extends _chartComponent.default {
|
|
|
60
52
|
offsetY
|
|
61
53
|
} = event;
|
|
62
54
|
const newTooltipData = {
|
|
63
|
-
title: summary_type === 'count' ?
|
|
55
|
+
title: summary_type === 'count' ? intl.get(TITLE_AMOUNT) : intl.get(CHART_SUMMARY_SHOW[summary_method]),
|
|
64
56
|
items: [{
|
|
65
57
|
color: '',
|
|
66
58
|
name: data.name,
|
|
@@ -116,11 +108,11 @@ class Mirror extends _chartComponent.default {
|
|
|
116
108
|
bottomLegendSpace
|
|
117
109
|
} = this.chartBoundingClientRect;
|
|
118
110
|
const themeColors = this.getThemeColors();
|
|
119
|
-
let columnData =
|
|
120
|
-
if (summary_type ===
|
|
121
|
-
const table =
|
|
122
|
-
const summaryColumn =
|
|
123
|
-
columnData = summaryColumn.data ||
|
|
111
|
+
let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
112
|
+
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
113
|
+
const table = getTableById(tables, table_id);
|
|
114
|
+
const summaryColumn = getTableColumnByKey(table, summary_column) || {};
|
|
115
|
+
columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
124
116
|
}
|
|
125
117
|
const scaleBandDomain = Array.from(new Set(data.map(d => d.group_name)));
|
|
126
118
|
const scaleBand = d3.scaleBand().domain(scaleBandDomain).range(is_transpose ? [insertPadding, chartWidth - insertPadding] : [insertPadding, chartHeight - insertPadding - bottomLegendSpace]).paddingInner(0.1).paddingOuter(0);
|
|
@@ -130,13 +122,13 @@ class Mirror extends _chartComponent.default {
|
|
|
130
122
|
const scaleLinear1 = d3.scaleLinear().domain([maxDomain, 0]).range([scaleBand(scaleBandDomain[0]), scaleBand.bandwidth()]);
|
|
131
123
|
const scaleLinear2 = d3.scaleLinear().domain([0, maxDomain]).range([scaleBand(scaleBandDomain[1]), scaleBand(scaleBandDomain[1]) + scaleBand.bandwidth()]);
|
|
132
124
|
const scaleLinearWrapper = this.chart.append('g').attr('class', 'scale-linear-axis-wrapper');
|
|
133
|
-
scaleLinearWrapper.append('g').attr('class', 'scale-linear-1').attr('transform', is_transpose ?
|
|
125
|
+
scaleLinearWrapper.append('g').attr('class', 'scale-linear-1').attr('transform', is_transpose ? `translate(0, ${chartHeight - insertPadding - bottomLegendSpace})` : `translate(${insertPadding}, 0)`).call(is_transpose ? d3.axisBottom(scaleLinear1).tickSizeInner(0).tickSizeOuter(0).ticks(5) : d3.axisLeft(scaleLinear1).tickSizeInner(0).tickSizeOuter(0).ticks(5)).call(g => {
|
|
134
126
|
g.select('.domain').remove();
|
|
135
127
|
g.selectAll('text').attr('font-size', themeColors.fontSize).attr('fill', themeColors.textColor);
|
|
136
128
|
g.selectAll('.tick line').attr('stroke', themeColors.gridColor);
|
|
137
129
|
is_transpose ? g.selectAll('.tick line').attr('y2', -(chartHeight - insertPadding - insertPadding - bottomLegendSpace)) : g.selectAll('.tick line').attr('x2', chartWidth - insertPadding - insertPadding);
|
|
138
130
|
});
|
|
139
|
-
scaleLinearWrapper.append('g').attr('class', 'scale-linear-2').attr('transform', is_transpose ?
|
|
131
|
+
scaleLinearWrapper.append('g').attr('class', 'scale-linear-2').attr('transform', is_transpose ? `translate(0, ${chartHeight - insertPadding - bottomLegendSpace})` : `translate(${insertPadding}, 0)`).call(is_transpose ? d3.axisBottom(scaleLinear2).tickSizeInner(0).tickSizeOuter(0).ticks(5).tickFormat(t => getNumberDisplayString(t, columnData)) : d3.axisLeft(scaleLinear2).tickSizeInner(0).tickSizeOuter(0).ticks(5).tickFormat(t => getNumberDisplayString(t, columnData))).call(g => {
|
|
140
132
|
g.select('.domain').remove();
|
|
141
133
|
g.selectAll('text').attr('font-size', themeColors.fontSize).attr('fill', themeColors.textColor);
|
|
142
134
|
g.selectAll('.tick line').attr('stroke', themeColors.gridColor);
|
|
@@ -145,12 +137,12 @@ class Mirror extends _chartComponent.default {
|
|
|
145
137
|
|
|
146
138
|
// ScaleBand Center axis
|
|
147
139
|
const scaleBandCenter = d3.scaleBand().domain(new Set(data.map(d => d.name))).range(is_transpose ? [insertPadding, chartHeight - insertPadding - bottomLegendSpace] : [insertPadding, chartWidth - insertPadding]).paddingInner(0.5).paddingOuter(0.1);
|
|
148
|
-
this.chart.append('g').attr('class', 'scale-band-center-axis-wrapper').attr('transform', is_transpose ?
|
|
140
|
+
this.chart.append('g').attr('class', 'scale-band-center-axis-wrapper').attr('transform', is_transpose ? `translate(${scaleLinear1(0)}, 0)` : `translate(0, ${scaleLinear1(0)})`).call(is_transpose ? d3.axisRight(scaleBandCenter).tickSizeInner(4).tickSizeOuter(0).tickFormat(t => {
|
|
149
141
|
const name = String(t);
|
|
150
|
-
return name.length > 5 ?
|
|
142
|
+
return name.length > 5 ? `${name.slice(0, 5)}...` : name;
|
|
151
143
|
}) : d3.axisBottom(scaleBandCenter).tickSizeInner(4).tickSizeOuter(0).tickFormat(t => {
|
|
152
144
|
const name = String(t);
|
|
153
|
-
return name.length > 5 ?
|
|
145
|
+
return name.length > 5 ? `${name.slice(0, 5)}...` : name;
|
|
154
146
|
})).call(g => {
|
|
155
147
|
g.select('.domain').remove();
|
|
156
148
|
g.selectAll('.tick line').attr('stroke', themeColors.XAxisColor);
|
|
@@ -268,12 +260,12 @@ class Mirror extends _chartComponent.default {
|
|
|
268
260
|
componentDidMount() {
|
|
269
261
|
this.createChart();
|
|
270
262
|
this.drawChart();
|
|
271
|
-
this.debouncedHandleResize =
|
|
263
|
+
this.debouncedHandleResize = debounce(this.handleResize, 300);
|
|
272
264
|
window.addEventListener('resize', this.debouncedHandleResize);
|
|
273
265
|
}
|
|
274
266
|
componentDidUpdate(prevProps) {
|
|
275
267
|
super.componentDidUpdate(prevProps);
|
|
276
|
-
if (
|
|
268
|
+
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
277
269
|
this.destroyChart();
|
|
278
270
|
this.createChart();
|
|
279
271
|
this.drawChart();
|
|
@@ -291,13 +283,13 @@ class Mirror extends _chartComponent.default {
|
|
|
291
283
|
tooltipData,
|
|
292
284
|
toolTipPosition
|
|
293
285
|
} = this.state;
|
|
294
|
-
return /*#__PURE__*/
|
|
286
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
295
287
|
ref: ref => this.container = ref,
|
|
296
|
-
className: (
|
|
288
|
+
className: classNames('sea-chart-container', {
|
|
297
289
|
'show-x-axis-label': this.isShowXAxisLabel(chart),
|
|
298
290
|
'show-y-axis-label': this.isShowYAxisLabel(chart)
|
|
299
291
|
})
|
|
300
|
-
}, /*#__PURE__*/
|
|
292
|
+
}, /*#__PURE__*/React.createElement(ToolTip, {
|
|
301
293
|
tooltipData: tooltipData,
|
|
302
294
|
toolTipPosition: toolTipPosition,
|
|
303
295
|
chart: this.chart
|
|
@@ -305,16 +297,16 @@ class Mirror extends _chartComponent.default {
|
|
|
305
297
|
}
|
|
306
298
|
}
|
|
307
299
|
Mirror.propTypes = {
|
|
308
|
-
canvasStyle:
|
|
309
|
-
chart:
|
|
310
|
-
groupbyColumn:
|
|
311
|
-
columnGroupbyColumn:
|
|
312
|
-
summaryColumn:
|
|
313
|
-
result:
|
|
314
|
-
tables:
|
|
315
|
-
globalTheme:
|
|
316
|
-
chartColorTheme:
|
|
317
|
-
toggleRecords:
|
|
318
|
-
customRender:
|
|
300
|
+
canvasStyle: PropTypes.object,
|
|
301
|
+
chart: PropTypes.object,
|
|
302
|
+
groupbyColumn: PropTypes.object,
|
|
303
|
+
columnGroupbyColumn: PropTypes.object,
|
|
304
|
+
summaryColumn: PropTypes.object,
|
|
305
|
+
result: PropTypes.object,
|
|
306
|
+
tables: PropTypes.array,
|
|
307
|
+
globalTheme: PropTypes.string,
|
|
308
|
+
chartColorTheme: PropTypes.string,
|
|
309
|
+
toggleRecords: PropTypes.func,
|
|
310
|
+
customRender: PropTypes.func
|
|
319
311
|
};
|
|
320
|
-
|
|
312
|
+
export default Mirror;
|
package/dist/view/wrapper/pie.js
CHANGED
|
@@ -1,22 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
var d3 = _interopRequireWildcard(require("d3"));
|
|
13
|
-
var _constants = require("../../constants");
|
|
14
|
-
var _utils = require("../../utils");
|
|
15
|
-
var _intl = _interopRequireDefault(require("../../intl"));
|
|
16
|
-
var _colorRules = require("../../constants/color-rules");
|
|
17
|
-
var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
|
|
18
|
-
var _chartComponent = _interopRequireDefault(require("./chart-component"));
|
|
19
|
-
class Pie 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 { CHART_LABEL_POSITIONS, CHART_LABEL_FORMATS, CHART_THEME_COLOR, CHART_TYPE } from '../../constants';
|
|
6
|
+
import { BaseUtils, isFunction } from '../../utils';
|
|
7
|
+
import intl from '../../intl';
|
|
8
|
+
import { SUPPORT_SINGLE_SELECT_THEMES_OPTIONS } from '../../constants/color-rules';
|
|
9
|
+
import ToolTip from '../../components/tooltip';
|
|
10
|
+
import ChartComponent from './chart-component';
|
|
11
|
+
class Pie extends ChartComponent {
|
|
20
12
|
constructor(props) {
|
|
21
13
|
super(props);
|
|
22
14
|
this.handleResize = () => {
|
|
@@ -43,7 +35,7 @@ class Pie extends _chartComponent.default {
|
|
|
43
35
|
customRender
|
|
44
36
|
} = this.props;
|
|
45
37
|
this.draw(data);
|
|
46
|
-
|
|
38
|
+
isFunction(customRender) && customRender(this.chart);
|
|
47
39
|
};
|
|
48
40
|
this.draw = data => {
|
|
49
41
|
const {
|
|
@@ -52,7 +44,7 @@ class Pie extends _chartComponent.default {
|
|
|
52
44
|
globalTheme,
|
|
53
45
|
chartColorTheme
|
|
54
46
|
} = this.props;
|
|
55
|
-
const theme =
|
|
47
|
+
const theme = CHART_THEME_COLOR[globalTheme];
|
|
56
48
|
const {
|
|
57
49
|
show_legend,
|
|
58
50
|
display_label,
|
|
@@ -66,13 +58,13 @@ class Pie extends _chartComponent.default {
|
|
|
66
58
|
insertPadding,
|
|
67
59
|
rightLegendSpace
|
|
68
60
|
} = this.chartBoundingClientRect;
|
|
69
|
-
this.isInnerLabel = !label_position || label_position ===
|
|
70
|
-
const currentTheme =
|
|
71
|
-
const useSingleSelectColumnColor = color_theme ===
|
|
61
|
+
this.isInnerLabel = !label_position || label_position === CHART_LABEL_POSITIONS[0];
|
|
62
|
+
const currentTheme = BaseUtils.getCurrentTheme(chartColorTheme);
|
|
63
|
+
const useSingleSelectColumnColor = color_theme === SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
72
64
|
const {
|
|
73
65
|
data: newData,
|
|
74
66
|
colorMap
|
|
75
|
-
} =
|
|
67
|
+
} = BaseUtils.formatPieChartData(data, chart, tables, currentTheme, useSingleSelectColumnColor);
|
|
76
68
|
if (!Array.isArray(newData) || newData.length === 0) return;
|
|
77
69
|
|
|
78
70
|
// Color
|
|
@@ -96,25 +88,25 @@ class Pie extends _chartComponent.default {
|
|
|
96
88
|
const top = height / 2 + insertPadding;
|
|
97
89
|
const offsetX = (chartWidth - (insertPadding + rightLegendSpace) - insertPadding - width) / 2;
|
|
98
90
|
const offsetY = (chartHeight - insertPadding - insertPadding - height) / 2;
|
|
99
|
-
d3.select(g.node().parentNode).attr('transform',
|
|
91
|
+
d3.select(g.node().parentNode).attr('transform', `translate(${left + offsetX}, ${top + offsetY})`);
|
|
100
92
|
|
|
101
93
|
// Draw label
|
|
102
94
|
if (display_label) {
|
|
103
95
|
const labelRadius = this.isInnerLabel ? arc.outerRadius()() * 0.7 : arc.outerRadius()() * 1.2;
|
|
104
96
|
const arcLabel = d3.arc().innerRadius(labelRadius).outerRadius(labelRadius);
|
|
105
|
-
this.chart.append('g').attr('transform',
|
|
97
|
+
this.chart.append('g').attr('transform', `translate(${left + offsetX}, ${top + offsetY})`).attr('text-anchor', 'middle').selectAll().data(arcs).join('text').attr('stroke', '#fff').attr('stroke-width', 1).attr('paint-order', 'stroke').attr('transform', d => `translate(${arcLabel.centroid(d)})`).text(d => {
|
|
106
98
|
const {
|
|
107
99
|
value,
|
|
108
100
|
percent
|
|
109
101
|
} = d.data;
|
|
110
102
|
return this.getLabel(value, percent);
|
|
111
|
-
}).attr('fill', theme.labelColor).attr('font-size',
|
|
103
|
+
}).attr('fill', theme.labelColor).attr('font-size', BaseUtils.getLabelFontSize(label_font_size));
|
|
112
104
|
|
|
113
105
|
// Line
|
|
114
106
|
if (!this.isInnerLabel) {
|
|
115
107
|
const lineRadius = arc.outerRadius()() * 0.5;
|
|
116
108
|
const arcLine = d3.arc().innerRadius(lineRadius).outerRadius(lineRadius);
|
|
117
|
-
this.chart.append('g').attr('transform',
|
|
109
|
+
this.chart.append('g').attr('transform', `translate(${left + offsetX}, ${top + offsetY})`).selectAll().data(arcs).join('line').attr('transform', d => `translate(${arcLine.centroid(d)})`).attr('x1', d => arcLine.centroid(d)[0]).attr('y1', d => arcLine.centroid(d)[1]).attr('x2', d => arcLine.centroid(d)[0] * 1.2).attr('y2', d => arcLine.centroid(d)[1] * 1.2).attr('stroke', d => color(d.data.name)).attr('font-size', BaseUtils.getLabelFontSize(label_font_size));
|
|
118
110
|
}
|
|
119
111
|
}
|
|
120
112
|
}).on('click', (event, rowData) => {
|
|
@@ -185,7 +177,7 @@ class Pie extends _chartComponent.default {
|
|
|
185
177
|
this.handleAcitveAndInActiveState = (state, event) => {
|
|
186
178
|
const allGroup = [event.currentTarget.parentNode];
|
|
187
179
|
const curGroupName = event.currentTarget.getAttribute('data-groupName');
|
|
188
|
-
this.setActiveAndInActiveState(state, allGroup, curGroupName,
|
|
180
|
+
this.setActiveAndInActiveState(state, allGroup, curGroupName, CHART_TYPE.PIE);
|
|
189
181
|
};
|
|
190
182
|
this.getLabel = (val, percent) => {
|
|
191
183
|
const {
|
|
@@ -197,17 +189,17 @@ class Pie extends _chartComponent.default {
|
|
|
197
189
|
display_label,
|
|
198
190
|
label_format
|
|
199
191
|
} = chart.config;
|
|
200
|
-
const value =
|
|
192
|
+
const value = BaseUtils.getSummaryValueDisplayString(summaryColumn, val, summary_method);
|
|
201
193
|
if (!display_label || !value || !percent) {
|
|
202
194
|
return '';
|
|
203
195
|
}
|
|
204
196
|
switch (label_format) {
|
|
205
|
-
case
|
|
197
|
+
case CHART_LABEL_FORMATS[0]:
|
|
206
198
|
return percent;
|
|
207
|
-
case
|
|
199
|
+
case CHART_LABEL_FORMATS[1]:
|
|
208
200
|
return value;
|
|
209
|
-
case
|
|
210
|
-
return
|
|
201
|
+
case CHART_LABEL_FORMATS[2]:
|
|
202
|
+
return `${value} (${percent})`;
|
|
211
203
|
default:
|
|
212
204
|
return percent;
|
|
213
205
|
}
|
|
@@ -215,9 +207,9 @@ class Pie extends _chartComponent.default {
|
|
|
215
207
|
this.getTooltipName = name => {
|
|
216
208
|
let title = name;
|
|
217
209
|
if (!name || name.trim() === 'undefined' || name.trim() === 'null') {
|
|
218
|
-
title =
|
|
210
|
+
title = intl.get('Empty');
|
|
219
211
|
} else if (name === '_Others') {
|
|
220
|
-
title =
|
|
212
|
+
title = intl.get('Others');
|
|
221
213
|
}
|
|
222
214
|
return title;
|
|
223
215
|
};
|
|
@@ -230,12 +222,12 @@ class Pie extends _chartComponent.default {
|
|
|
230
222
|
componentDidMount() {
|
|
231
223
|
this.createChart();
|
|
232
224
|
this.drawChart();
|
|
233
|
-
this.debouncedHandleResize =
|
|
225
|
+
this.debouncedHandleResize = debounce(this.handleResize, 300);
|
|
234
226
|
window.addEventListener('resize', this.debouncedHandleResize);
|
|
235
227
|
}
|
|
236
228
|
componentDidUpdate(prevProps) {
|
|
237
229
|
super.componentDidUpdate(prevProps);
|
|
238
|
-
if (
|
|
230
|
+
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
239
231
|
this.destroyChart();
|
|
240
232
|
this.createChart();
|
|
241
233
|
this.drawChart();
|
|
@@ -250,10 +242,10 @@ class Pie extends _chartComponent.default {
|
|
|
250
242
|
tooltipData,
|
|
251
243
|
toolTipPosition
|
|
252
244
|
} = this.state;
|
|
253
|
-
return /*#__PURE__*/
|
|
245
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
254
246
|
ref: ref => this.container = ref,
|
|
255
247
|
className: "sea-chart-container"
|
|
256
|
-
}, /*#__PURE__*/
|
|
248
|
+
}, /*#__PURE__*/React.createElement(ToolTip, {
|
|
257
249
|
tooltipData: tooltipData,
|
|
258
250
|
toolTipPosition: toolTipPosition,
|
|
259
251
|
chart: this.chart
|
|
@@ -261,15 +253,15 @@ class Pie extends _chartComponent.default {
|
|
|
261
253
|
}
|
|
262
254
|
}
|
|
263
255
|
Pie.propTypes = {
|
|
264
|
-
canvasStyle:
|
|
265
|
-
chart:
|
|
266
|
-
groupbyColumn:
|
|
267
|
-
summaryColumn:
|
|
268
|
-
result:
|
|
269
|
-
tables:
|
|
270
|
-
globalTheme:
|
|
271
|
-
chartColorTheme:
|
|
272
|
-
toggleRecords:
|
|
273
|
-
customRender:
|
|
256
|
+
canvasStyle: PropTypes.object,
|
|
257
|
+
chart: PropTypes.object,
|
|
258
|
+
groupbyColumn: PropTypes.object,
|
|
259
|
+
summaryColumn: PropTypes.object,
|
|
260
|
+
result: PropTypes.array,
|
|
261
|
+
tables: PropTypes.array,
|
|
262
|
+
globalTheme: PropTypes.string,
|
|
263
|
+
chartColorTheme: PropTypes.string,
|
|
264
|
+
toggleRecords: PropTypes.func,
|
|
265
|
+
customRender: PropTypes.func
|
|
274
266
|
};
|
|
275
|
-
|
|
267
|
+
export default Pie;
|