sea-chart 2.0.42 → 2.0.43
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 +11 -4
- package/dist/components/cell-factory/FormatterConfig.js +62 -55
- package/dist/components/cell-factory/SimpleCellFormatter.js +11 -4
- package/dist/components/cell-factory/SingleSelectOption.js +18 -11
- package/dist/components/cell-factory/cell-editor-factory.js +12 -5
- package/dist/components/cell-factory/cell-formatter-factory.js +11 -4
- package/dist/components/cell-factory/link-content.js +35 -27
- package/dist/components/chart-color-selector/color-selector.js +18 -11
- package/dist/components/collaborator/index.js +14 -7
- package/dist/components/color-picker/index.js +18 -11
- package/dist/components/color-popover/color-rules/color-rule.js +33 -25
- package/dist/components/color-popover/color-rules/index.js +14 -6
- package/dist/components/color-popover/color-rules/rule-filters/filter.js +34 -27
- package/dist/components/color-popover/color-rules/rule-filters/index.js +25 -17
- package/dist/components/color-popover/color-rules/rule-filters/number-input.js +17 -9
- package/dist/components/color-popover/color-rules-popover.js +34 -26
- package/dist/components/color-popover/color-selector-popover.js +18 -10
- package/dist/components/color-setting/color-group-selector.js +20 -12
- package/dist/components/common-add-tool/index.js +13 -6
- package/dist/components/data-process-setter/data-setting-header.js +14 -7
- package/dist/components/data-process-setter/hide-column-setter.js +19 -12
- package/dist/components/data-process-setter/index.js +27 -4
- package/dist/components/data-process-setter/sort-setter.js +24 -16
- package/dist/components/draggable/Draggable.js +13 -7
- package/dist/components/drill-down-settings/drill-down-fields-popover/index.js +48 -40
- package/dist/components/drill-down-settings/drill-down-fields-settings/index.js +18 -10
- package/dist/components/drill-down-settings/index.js +18 -11
- package/dist/components/dtable-popover/index.js +20 -13
- package/dist/components/dtable-search-input/index.js +21 -13
- package/dist/components/font-settings/index.js +22 -14
- package/dist/components/goal-line-setting/goal-setting-item.js +14 -6
- package/dist/components/goal-line-setting/index.js +19 -12
- package/dist/components/highlighter/highlighter.js +14 -7
- package/dist/components/icon/index.js +11 -4
- package/dist/components/index.js +48 -7
- package/dist/components/loading/index.js +13 -6
- package/dist/components/number-input/index.js +11 -4
- package/dist/components/pixel-editor/index.js +23 -15
- package/dist/components/popover/hide-column-popover/hide-column-popover-widgets/hide-column-item.js +15 -8
- package/dist/components/popover/hide-column-popover/hide-column-popover.js +33 -25
- package/dist/components/popover/sort-popover/sort-popover-widgets/sort-utils.js +18 -9
- package/dist/components/popover/sort-popover/sort-popover.js +64 -54
- package/dist/components/resize-handle/ResizeHandle.js +13 -6
- package/dist/components/row-card/row-card-header-cell.js +22 -15
- package/dist/components/row-card/row-card-header.js +21 -14
- package/dist/components/row-card/row-card-item.js +41 -33
- package/dist/components/row-card/row-card.js +23 -15
- package/dist/components/statistic-record-dialog/index.js +64 -56
- package/dist/components/tooltip/index.js +20 -13
- package/dist/components/types-dialog/index.js +64 -56
- package/dist/components/types-dialog/use-force-update.js +10 -4
- package/dist/constants/color-rules.js +14 -8
- package/dist/constants/common-constants.js +14 -8
- package/dist/constants/error.js +8 -2
- package/dist/constants/geolocation.js +15 -9
- package/dist/constants/index.js +271 -142
- package/dist/constants/key-codes.js +2 -0
- package/dist/constants/model.js +9 -3
- package/dist/constants/regions.js +8 -3
- package/dist/constants/style.js +12 -6
- package/dist/constants/table.js +7 -1
- package/dist/constants/type-image.js +39 -33
- package/dist/constants/type.js +9 -3
- package/dist/context.js +19 -12
- package/dist/editor/index.js +15 -8
- package/dist/index.js +104 -13
- package/dist/intl.js +17 -10
- package/dist/locale/index.js +23 -16
- package/dist/locale/lang/de.js +7 -1
- package/dist/locale/lang/en.js +7 -1
- package/dist/locale/lang/es.js +7 -1
- package/dist/locale/lang/fr.js +7 -1
- package/dist/locale/lang/pt.js +7 -1
- package/dist/locale/lang/ru.js +7 -1
- package/dist/locale/lang/zh_CN.js +7 -1
- package/dist/model/area-group.js +19 -12
- package/dist/model/area.js +19 -12
- package/dist/model/bar-custom.js +18 -11
- package/dist/model/bar-group.js +19 -12
- package/dist/model/bar-stack.js +17 -10
- package/dist/model/bar.js +18 -11
- package/dist/model/base-model.js +11 -4
- package/dist/model/basic-number-card.js +20 -13
- package/dist/model/chart.js +13 -7
- package/dist/model/combination.js +22 -15
- package/dist/model/compare-bar.js +21 -14
- package/dist/model/completeness-group.js +18 -11
- package/dist/model/completeness.js +17 -10
- package/dist/model/dashboard.js +14 -7
- package/dist/model/funnel.js +21 -14
- package/dist/model/generic-model.js +143 -135
- package/dist/model/heat-map.js +16 -9
- package/dist/model/horizontal-bar.js +18 -11
- package/dist/model/horizontal-group-bar.js +17 -10
- package/dist/model/index.js +93 -69
- package/dist/model/line-group.js +20 -13
- package/dist/model/line.js +19 -12
- package/dist/model/map-bubble.js +19 -12
- package/dist/model/map.js +19 -12
- package/dist/model/mirror.js +20 -13
- package/dist/model/pie.js +19 -12
- package/dist/model/ring.js +19 -12
- package/dist/model/scatter.js +17 -10
- package/dist/model/stacked-horizontal-bar.js +18 -11
- package/dist/model/table-element.js +12 -5
- package/dist/model/table.js +14 -7
- package/dist/model/tree-map.js +14 -7
- package/dist/model/trend.js +18 -11
- package/dist/model/user.js +7 -1
- package/dist/model/world-map-bubble.js +19 -12
- package/dist/model/world-map.js +19 -12
- package/dist/services/map-json.js +13 -7
- package/dist/settings/advance-bar-settings/data-settings.js +44 -36
- package/dist/settings/advance-bar-settings/index.js +20 -3
- package/dist/settings/advance-bar-settings/style-settings.js +71 -63
- package/dist/settings/bar-settings/data-settings.js +47 -39
- package/dist/settings/bar-settings/index.js +20 -3
- package/dist/settings/bar-settings/style-settings.js +57 -49
- package/dist/settings/basic-number-card/data-settings.js +57 -49
- package/dist/settings/basic-number-card/index.js +20 -3
- package/dist/settings/basic-number-card/style-settings.js +26 -18
- package/dist/settings/combination-settings/data-settings.js +63 -55
- package/dist/settings/combination-settings/index.js +20 -3
- package/dist/settings/combination-settings/style-settings.js +73 -65
- package/dist/settings/completeness-settings/callbacks/callbacks.js +27 -16
- package/dist/settings/completeness-settings/data-settings/completion-settings.js +28 -21
- package/dist/settings/completeness-settings/data-settings/data-settings.js +32 -25
- package/dist/settings/completeness-settings/index.js +20 -3
- package/dist/settings/completeness-settings/style-settings.js +26 -19
- package/dist/settings/dashboard-settings/data-settings.js +51 -43
- package/dist/settings/dashboard-settings/index.js +13 -2
- package/dist/settings/data-settings.js +79 -72
- package/dist/settings/funnel-settings/components/dnd-item/dnd-item.js +19 -12
- package/dist/settings/funnel-settings/components/dnd-list.js +23 -15
- package/dist/settings/funnel-settings/components/funnel-label-setting.js +40 -32
- package/dist/settings/funnel-settings/components/funnel-layer-setting.js +28 -20
- package/dist/settings/funnel-settings/data-settings.js +31 -23
- package/dist/settings/funnel-settings/index.js +20 -3
- package/dist/settings/funnel-settings/style-settings.js +19 -11
- package/dist/settings/heat-map-settings/data-settings.js +26 -18
- package/dist/settings/heat-map-settings/index.js +20 -3
- package/dist/settings/heat-map-settings/style-settings.js +26 -18
- package/dist/settings/horizontal-bar-settings/data-settings.js +19 -12
- package/dist/settings/horizontal-bar-settings/index.js +20 -3
- package/dist/settings/horizontal-bar-settings/style-settings.js +19 -12
- package/dist/settings/index.js +70 -52
- package/dist/settings/map-settings/components/location-field-selector.js +17 -10
- package/dist/settings/map-settings/components/map-level-selector.js +18 -11
- package/dist/settings/map-settings/components/map-province-city-selector.js +26 -19
- package/dist/settings/map-settings/index.js +20 -3
- package/dist/settings/map-settings/map-data-settings.js +30 -23
- package/dist/settings/map-settings/map-style-settings.js +34 -26
- package/dist/settings/mirror-settings/data-settings.js +34 -26
- package/dist/settings/mirror-settings/index.js +13 -2
- package/dist/settings/pie-settings/data-settings.js +41 -33
- package/dist/settings/pie-settings/index.js +20 -3
- package/dist/settings/pie-settings/style-settings.js +55 -47
- package/dist/settings/scatter/data-settings.js +34 -27
- package/dist/settings/scatter/index.js +12 -3
- package/dist/settings/stacks-settings/index.js +27 -19
- package/dist/settings/stacks-settings/stack-item-settings.js +27 -19
- package/dist/settings/style-settings.js +72 -64
- package/dist/settings/table-element-settings/components/data-filter.js +38 -30
- package/dist/settings/table-element-settings/data-settings.js +29 -21
- package/dist/settings/table-element-settings/index.js +13 -2
- package/dist/settings/table-settings/data-settings.js +119 -111
- package/dist/settings/table-settings/index.js +13 -2
- package/dist/settings/time-comparison-settings/data-settings.js +51 -43
- package/dist/settings/time-comparison-settings/index.js +20 -3
- package/dist/settings/time-comparison-settings/style-settings.js +50 -42
- package/dist/settings/trend-settings/data-settings.js +32 -24
- package/dist/settings/trend-settings/index.js +20 -3
- package/dist/settings/trend-settings/style-setting.js +25 -17
- package/dist/settings/widgets/basic-summary/index.js +63 -55
- package/dist/settings/widgets/chart-type/index.js +26 -18
- package/dist/settings/widgets/color-settings/index.js +80 -72
- package/dist/settings/widgets/common-data-settings.js +29 -21
- package/dist/settings/widgets/data-filter/index.js +43 -35
- package/dist/settings/widgets/data-sort.js +24 -16
- package/dist/settings/widgets/date-summary-item.js +32 -24
- package/dist/settings/widgets/display-values-settings/index.js +22 -14
- package/dist/settings/widgets/divider/index.js +16 -8
- package/dist/settings/widgets/font-settings/font-color-settings.js +19 -11
- package/dist/settings/widgets/font-settings/font-size-settings.js +22 -14
- package/dist/settings/widgets/font-settings/font-weight-settings.js +25 -17
- package/dist/settings/widgets/font-settings/index.js +27 -4
- package/dist/settings/widgets/group-by.js +59 -51
- package/dist/settings/widgets/min-max-setting.js +18 -10
- package/dist/settings/widgets/mininum-slice-percent.js +18 -10
- package/dist/settings/widgets/numeric-summary-item.js +31 -23
- package/dist/settings/widgets/select-line-type/index.js +17 -10
- package/dist/settings/widgets/select-table/index.js +16 -9
- package/dist/settings/widgets/select-view/index.js +28 -20
- package/dist/settings/widgets/stack.js +22 -14
- package/dist/settings/widgets/summary-method-setting.js +25 -17
- package/dist/settings/widgets/summary-settings.js +80 -72
- package/dist/settings/widgets/switch/index.js +15 -8
- package/dist/settings/widgets/text-horizontal-settings.js +23 -15
- package/dist/settings/widgets/time-picker.js +37 -29
- package/dist/settings/widgets/title-settings/index.js +37 -29
- package/dist/settings/widgets/title-settings/title-text.js +12 -5
- package/dist/settings/widgets/x-axios.js +1 -0
- package/dist/settings/widgets/y-axis-group-settings.js +71 -63
- package/dist/utils/cell-format-utils.js +27 -17
- package/dist/utils/cell-value-utils.js +12 -5
- package/dist/utils/chart-utils/base-utils.js +325 -317
- package/dist/utils/chart-utils/index.js +41 -28
- package/dist/utils/chart-utils/original-data-utils/basic-chart-calculator.js +84 -77
- package/dist/utils/chart-utils/original-data-utils/card-calculator.js +20 -13
- package/dist/utils/chart-utils/original-data-utils/combination-calculator.js +52 -45
- package/dist/utils/chart-utils/original-data-utils/compare-bar-chart-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/completeness-calculator.js +39 -32
- package/dist/utils/chart-utils/original-data-utils/dashboard-calculator.js +23 -16
- package/dist/utils/chart-utils/original-data-utils/index.js +57 -50
- package/dist/utils/chart-utils/original-data-utils/mirror-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/pivot-table-calculator.js +96 -90
- package/dist/utils/chart-utils/original-data-utils/scatter-calculator.js +26 -19
- package/dist/utils/chart-utils/original-data-utils/trend-calculator.js +38 -31
- package/dist/utils/chart-utils/sql-statistics-utils.js +230 -222
- package/dist/utils/chart.js +17 -9
- package/dist/utils/collaborator-manager.js +9 -3
- package/dist/utils/collaborator-utils.js +30 -18
- package/dist/utils/collaborator.js +13 -4
- package/dist/utils/color-utils.js +29 -18
- package/dist/utils/column-utils.js +92 -65
- package/dist/utils/common-utils.js +52 -27
- package/dist/utils/concurrency-manager.js +7 -1
- package/dist/utils/contexts.js +12 -5
- package/dist/utils/date-translate.js +19 -11
- package/dist/utils/digital-sign-utils.js +14 -7
- package/dist/utils/event-bus.js +7 -1
- package/dist/utils/hotkey.js +11 -5
- package/dist/utils/index.js +221 -54
- package/dist/utils/key-generator.js +9 -2
- package/dist/utils/map.js +31 -22
- package/dist/utils/object-utils.js +7 -1
- package/dist/utils/options-utils.js +16 -8
- package/dist/utils/row-record-utils.js +176 -164
- package/dist/utils/row-utils.js +38 -27
- package/dist/utils/search.js +32 -24
- package/dist/utils/sql/chart-data-sql.js +55 -49
- package/dist/utils/sql/column-2-sql-column.js +154 -144
- package/dist/utils/sql/index.js +27 -3
- package/dist/utils/trend-utils.js +47 -39
- package/dist/view/index.js +95 -89
- package/dist/view/title/index.js +23 -15
- package/dist/view/wrapper/area-group.js +51 -43
- package/dist/view/wrapper/area.js +49 -41
- package/dist/view/wrapper/bar-compare.js +43 -35
- package/dist/view/wrapper/bar-custom-stack.js +43 -35
- package/dist/view/wrapper/bar-group.js +51 -43
- package/dist/view/wrapper/bar-stack.js +54 -46
- package/dist/view/wrapper/bar.js +47 -39
- package/dist/view/wrapper/basic-number-card.js +26 -18
- package/dist/view/wrapper/chart-component.js +89 -81
- package/dist/view/wrapper/combination.js +59 -51
- package/dist/view/wrapper/completeness-group.js +41 -33
- package/dist/view/wrapper/completeness.js +40 -32
- package/dist/view/wrapper/dashboard.js +35 -27
- package/dist/view/wrapper/funnel.js +42 -34
- package/dist/view/wrapper/heat-map.js +66 -58
- package/dist/view/wrapper/horizontal-bar-group.js +57 -49
- package/dist/view/wrapper/horizontal-bar-stack.js +52 -44
- package/dist/view/wrapper/horizontal-bar.js +47 -39
- package/dist/view/wrapper/index.js +115 -107
- package/dist/view/wrapper/line-group.js +49 -41
- package/dist/view/wrapper/line.js +48 -40
- package/dist/view/wrapper/map-bubble.js +48 -40
- package/dist/view/wrapper/map-world-bubble.js +47 -39
- package/dist/view/wrapper/map-world.js +49 -41
- package/dist/view/wrapper/map.js +50 -42
- package/dist/view/wrapper/mirror.js +45 -37
- package/dist/view/wrapper/pie.js +49 -41
- package/dist/view/wrapper/ring.js +52 -44
- package/dist/view/wrapper/scatter.js +48 -40
- package/dist/view/wrapper/table/index.js +21 -13
- package/dist/view/wrapper/table/one-dimension-table-no-numeric-columns.js +57 -49
- package/dist/view/wrapper/table/one-dimension-table-with-numeric-columns.js +58 -50
- package/dist/view/wrapper/table/pivot-table-display-name.js +90 -82
- package/dist/view/wrapper/table/two-dimension-table.js +84 -76
- package/dist/view/wrapper/table-element/components/dataset-utils.js +36 -23
- package/dist/view/wrapper/table-element/components/formatter.js +104 -95
- package/dist/view/wrapper/table-element/components/formatters/FileFormatter/index.js +31 -22
- package/dist/view/wrapper/table-element/components/formatters/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/formatters/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/formula-formatter.js +16 -9
- package/dist/view/wrapper/table-element/components/link-formatter.js +80 -73
- package/dist/view/wrapper/table-element/components/record.js +17 -10
- package/dist/view/wrapper/table-element/components/records-body.js +17 -9
- package/dist/view/wrapper/table-element/components/records-header/index.js +15 -7
- package/dist/view/wrapper/table-element/components/records-header/records-header-cell.js +16 -8
- package/dist/view/wrapper/table-element/components/records.js +29 -21
- package/dist/view/wrapper/table-element/components/resize-column-handle/resize-column-handle.js +12 -5
- package/dist/view/wrapper/table-element/components/utils.js +15 -5
- package/dist/view/wrapper/table-element/components/value-display-utils.js +11 -4
- package/dist/view/wrapper/table-element/components/vertical-scrollbar/index.js +13 -6
- package/dist/view/wrapper/table-element/index.js +26 -18
- package/dist/view/wrapper/treemap.js +44 -36
- package/dist/view/wrapper/trend.js +48 -40
- package/package.json +2 -2
|
@@ -1,13 +1,21 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _lodashEs = require("lodash-es");
|
|
12
|
+
var d3 = _interopRequireWildcard(require("d3"));
|
|
13
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
+
var _constants = require("../../constants");
|
|
15
|
+
var _utils = require("../../utils");
|
|
16
|
+
var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
|
|
17
|
+
var _chartComponent = _interopRequireDefault(require("./chart-component"));
|
|
18
|
+
class Funnel extends _chartComponent.default {
|
|
11
19
|
constructor(props) {
|
|
12
20
|
super(props);
|
|
13
21
|
this.handleResize = () => {
|
|
@@ -34,7 +42,7 @@ class Funnel extends ChartComponent {
|
|
|
34
42
|
funnel_accumulate_values
|
|
35
43
|
} = chart.config;
|
|
36
44
|
if (!x_axis_option_list.length) return;
|
|
37
|
-
const sortedData = getSortedDataByGivenOrder(data, x_axis_option_list);
|
|
45
|
+
const sortedData = (0, _utils.getSortedDataByGivenOrder)(data, x_axis_option_list);
|
|
38
46
|
const formatSortedData = this.formatSortedData(sortedData, funnel_accumulate_values);
|
|
39
47
|
this.draw(formatSortedData);
|
|
40
48
|
};
|
|
@@ -55,7 +63,7 @@ class Funnel extends ChartComponent {
|
|
|
55
63
|
items: [{
|
|
56
64
|
color: colorScale(data === null || data === void 0 ? void 0 : data.name),
|
|
57
65
|
name: data === null || data === void 0 ? void 0 : data.name,
|
|
58
|
-
value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data === null || data === void 0 ? void 0 : data.value), y_axis_summary_method)
|
|
66
|
+
value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(data === null || data === void 0 ? void 0 : data.value), y_axis_summary_method)
|
|
59
67
|
}]
|
|
60
68
|
};
|
|
61
69
|
this.setState({
|
|
@@ -108,8 +116,8 @@ class Funnel extends ChartComponent {
|
|
|
108
116
|
height: chartHeight,
|
|
109
117
|
insertPadding
|
|
110
118
|
} = this.chartBoundingClientRect;
|
|
111
|
-
const theme = CHART_THEME_COLOR[globalTheme];
|
|
112
|
-
const isInside = funnel_label_position === FUNNEL_LABEL_POSITIONS.INSIDE;
|
|
119
|
+
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
120
|
+
const isInside = funnel_label_position === _constants.FUNNEL_LABEL_POSITIONS.INSIDE;
|
|
113
121
|
const title = this.getTitle(tables, table_id, y_axis_summary_type, y_axis_column_key || y_axis_summary_column_key);
|
|
114
122
|
const nameDomain = new Set(data.map(item => item.name));
|
|
115
123
|
|
|
@@ -242,20 +250,20 @@ class Funnel extends ChartComponent {
|
|
|
242
250
|
toolTipPosition: null
|
|
243
251
|
};
|
|
244
252
|
this.contentFormatterMap = {
|
|
245
|
-
[FUNNEL_LABEL_FORMAT.NUMBER]: obj => obj === null || obj === void 0 ? void 0 : obj.value,
|
|
246
|
-
[FUNNEL_LABEL_FORMAT.PERCENTAGE]: obj => ((obj === null || obj === void 0 ? void 0 : obj.percent) || 0) + '%',
|
|
247
|
-
[FUNNEL_LABEL_FORMAT.NUMBER_AND_PERCENTAGE]: obj => `${obj === null || obj === void 0 ? void 0 : obj.value} (${(obj === null || obj === void 0 ? void 0 : obj.percent) || 0}%)`
|
|
253
|
+
[_constants.FUNNEL_LABEL_FORMAT.NUMBER]: obj => obj === null || obj === void 0 ? void 0 : obj.value,
|
|
254
|
+
[_constants.FUNNEL_LABEL_FORMAT.PERCENTAGE]: obj => ((obj === null || obj === void 0 ? void 0 : obj.percent) || 0) + '%',
|
|
255
|
+
[_constants.FUNNEL_LABEL_FORMAT.NUMBER_AND_PERCENTAGE]: obj => `${obj === null || obj === void 0 ? void 0 : obj.value} (${(obj === null || obj === void 0 ? void 0 : obj.percent) || 0}%)`
|
|
248
256
|
};
|
|
249
257
|
}
|
|
250
258
|
componentDidMount() {
|
|
251
259
|
this.createChart();
|
|
252
260
|
this.drawChart();
|
|
253
|
-
this.debouncedHandleResize = debounce(this.handleResize, 300);
|
|
261
|
+
this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
|
|
254
262
|
window.addEventListener('resize', this.debouncedHandleResize);
|
|
255
263
|
}
|
|
256
264
|
componentDidUpdate(prevProps) {
|
|
257
265
|
super.componentDidUpdate(prevProps);
|
|
258
|
-
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
266
|
+
if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
259
267
|
this.destroyChart();
|
|
260
268
|
this.createChart();
|
|
261
269
|
this.drawChart();
|
|
@@ -273,13 +281,13 @@ class Funnel extends ChartComponent {
|
|
|
273
281
|
tooltipData,
|
|
274
282
|
toolTipPosition
|
|
275
283
|
} = this.state;
|
|
276
|
-
return /*#__PURE__*/
|
|
284
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
277
285
|
ref: ref => this.container = ref,
|
|
278
|
-
className:
|
|
286
|
+
className: (0, _classnames.default)('sea-chart-container', {
|
|
279
287
|
'show-x-axis-label': this.isShowXAxisLabel(chart),
|
|
280
288
|
'show-y-axis-label': this.isShowYAxisLabel(chart)
|
|
281
289
|
})
|
|
282
|
-
}, /*#__PURE__*/
|
|
290
|
+
}, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
283
291
|
tooltipData: tooltipData,
|
|
284
292
|
toolTipPosition: toolTipPosition,
|
|
285
293
|
chart: this.chart
|
|
@@ -287,16 +295,16 @@ class Funnel extends ChartComponent {
|
|
|
287
295
|
}
|
|
288
296
|
}
|
|
289
297
|
Funnel.propTypes = {
|
|
290
|
-
canvasStyle:
|
|
291
|
-
chart:
|
|
292
|
-
groupbyColumn:
|
|
293
|
-
columnGroupbyColumn:
|
|
294
|
-
summaryColumn:
|
|
295
|
-
result:
|
|
296
|
-
tables:
|
|
297
|
-
globalTheme:
|
|
298
|
-
chartColorTheme:
|
|
299
|
-
toggleRecords:
|
|
300
|
-
customRender:
|
|
298
|
+
canvasStyle: _propTypes.default.object,
|
|
299
|
+
chart: _propTypes.default.object,
|
|
300
|
+
groupbyColumn: _propTypes.default.object,
|
|
301
|
+
columnGroupbyColumn: _propTypes.default.object,
|
|
302
|
+
summaryColumn: _propTypes.default.object,
|
|
303
|
+
result: _propTypes.default.array,
|
|
304
|
+
tables: _propTypes.default.array,
|
|
305
|
+
globalTheme: _propTypes.default.string,
|
|
306
|
+
chartColorTheme: _propTypes.default.string,
|
|
307
|
+
toggleRecords: _propTypes.default.func,
|
|
308
|
+
customRender: _propTypes.default.func
|
|
301
309
|
};
|
|
302
|
-
|
|
310
|
+
var _default = exports.default = Funnel;
|
|
@@ -1,19 +1,27 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard").default;
|
|
4
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default;
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.default = void 0;
|
|
9
|
+
var _react = _interopRequireDefault(require("react"));
|
|
10
|
+
var _propTypes = _interopRequireDefault(require("prop-types"));
|
|
11
|
+
var _lodashEs = require("lodash-es");
|
|
12
|
+
var d3 = _interopRequireWildcard(require("d3"));
|
|
13
|
+
var _classnames = _interopRequireDefault(require("classnames"));
|
|
14
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
15
|
+
var _dtableUtils = require("dtable-utils");
|
|
16
|
+
var _dayOfYear = _interopRequireDefault(require("dayjs/plugin/dayOfYear"));
|
|
17
|
+
var _style = require("../../constants/style");
|
|
18
|
+
var _constants = require("../../constants");
|
|
19
|
+
var _utils = require("../../utils");
|
|
20
|
+
var _intl = _interopRequireDefault(require("../../intl"));
|
|
21
|
+
var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
|
|
22
|
+
var _chartComponent = _interopRequireDefault(require("./chart-component"));
|
|
23
|
+
_dayjs.default.extend(_dayOfYear.default);
|
|
24
|
+
class HeatMap extends _chartComponent.default {
|
|
17
25
|
constructor(props) {
|
|
18
26
|
super(props);
|
|
19
27
|
this.handleResize = () => {
|
|
@@ -57,8 +65,8 @@ class HeatMap extends ChartComponent {
|
|
|
57
65
|
grid_size,
|
|
58
66
|
grid_distance
|
|
59
67
|
} = chartConfig;
|
|
60
|
-
grid_size = grid_size || DEFAULT_GRID_SIZE;
|
|
61
|
-
grid_distance = grid_distance || DEFAULT_GRID_DISTANCE;
|
|
68
|
+
grid_size = grid_size || _constants.DEFAULT_GRID_SIZE;
|
|
69
|
+
grid_distance = grid_distance || _constants.DEFAULT_GRID_DISTANCE;
|
|
62
70
|
const yearHeight = grid_size * 7 + grid_distance * 6; // height for 1 year
|
|
63
71
|
const height = (yearHeight + monthAxisHeight) * count + (insertPadding + insertPadding); // monthAxisHeight is axis height, insertPadding is top and bottm height
|
|
64
72
|
const width = grid_size * 53 + grid_distance * 52 + (insertPadding + insertPadding); // insertPadding is left and right width
|
|
@@ -76,8 +84,8 @@ class HeatMap extends ChartComponent {
|
|
|
76
84
|
title: data.name,
|
|
77
85
|
items: [{
|
|
78
86
|
color: '',
|
|
79
|
-
name:
|
|
80
|
-
value: getNumberDisplayString(data.value, columnData)
|
|
87
|
+
name: _intl.default.get(_constants.TITLE_AMOUNT),
|
|
88
|
+
value: (0, _dtableUtils.getNumberDisplayString)(data.value, columnData)
|
|
81
89
|
}]
|
|
82
90
|
};
|
|
83
91
|
this.setState({
|
|
@@ -130,17 +138,17 @@ class HeatMap extends ChartComponent {
|
|
|
130
138
|
summary_type,
|
|
131
139
|
summary_column
|
|
132
140
|
} = chart.config;
|
|
133
|
-
grid_size = grid_size ? grid_size : DEFAULT_GRID_SIZE;
|
|
134
|
-
const currentColorOption = COLOR_OPTIONS.filter(item => item.name === data_color)[0] || COLOR_OPTIONS[0];
|
|
141
|
+
grid_size = grid_size ? grid_size : _constants.DEFAULT_GRID_SIZE;
|
|
142
|
+
const currentColorOption = _style.COLOR_OPTIONS.filter(item => item.name === data_color)[0] || _style.COLOR_OPTIONS[0];
|
|
135
143
|
const {
|
|
136
144
|
exampleColors
|
|
137
145
|
} = currentColorOption;
|
|
138
146
|
const themeColors = this.getThemeColors();
|
|
139
|
-
let columnData = DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
140
|
-
if (summary_type === CHART_SUMMARY_TYPE.ADVANCED) {
|
|
141
|
-
const table = getTableById(tables, table_id);
|
|
142
|
-
const summaryColumn = getTableColumnByKey(table, summary_column) || {};
|
|
143
|
-
columnData = summaryColumn.data || DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
147
|
+
let columnData = _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
148
|
+
if (summary_type === _constants.CHART_SUMMARY_TYPE.ADVANCED) {
|
|
149
|
+
const table = (0, _dtableUtils.getTableById)(tables, table_id);
|
|
150
|
+
const summaryColumn = (0, _dtableUtils.getTableColumnByKey)(table, summary_column) || {};
|
|
151
|
+
columnData = summaryColumn.data || _constants.DEFAULT_NUMBER_FORMAT_OBJECT;
|
|
144
152
|
}
|
|
145
153
|
const yAxisWrapper = this.chart.append('g').attr('class', 'y-axis-wrapper');
|
|
146
154
|
const xAxisWrapper = this.chart.append('g').attr('class', 'x-axis-wrapper');
|
|
@@ -153,7 +161,7 @@ class HeatMap extends ChartComponent {
|
|
|
153
161
|
Array.from(fyDomain).forEach((year, index) => {
|
|
154
162
|
// Y axis
|
|
155
163
|
const y = d3.scaleBand().domain(this.weeks).range([fy(year), fy(year) + (fy.bandwidth() - monthAxisHeight)]).paddingInner(0).paddingOuter(0);
|
|
156
|
-
yAxisWrapper.append('g').attr('class', `y-axis-${year}`).attr('transform', `translate(${insertPadding}, 0)`).call(d3.axisLeft(y).tickSizeInner(0).tickSizeOuter(0).tickFormat(d =>
|
|
164
|
+
yAxisWrapper.append('g').attr('class', `y-axis-${year}`).attr('transform', `translate(${insertPadding}, 0)`).call(d3.axisLeft(y).tickSizeInner(0).tickSizeOuter(0).tickFormat(d => _intl.default.get(d))).call(g => {
|
|
157
165
|
g.select('.domain').remove();
|
|
158
166
|
g.selectAll('text').attr('font-size', 12);
|
|
159
167
|
g.selectAll('text').attr('fill', themeColors.textColor);
|
|
@@ -175,8 +183,8 @@ class HeatMap extends ChartComponent {
|
|
|
175
183
|
const monthWrapper = yearWrapper.append('g').attr('class', `month-${this.months[monthIndex]}`);
|
|
176
184
|
// day
|
|
177
185
|
days.forEach((d, index) => {
|
|
178
|
-
monthWrapper.append('rect').attr('class', () => `day-${
|
|
179
|
-
let curWeek =
|
|
186
|
+
monthWrapper.append('rect').attr('class', () => `day-${(0, _dayjs.default)(d).dayOfYear()}`).attr('x', () => {
|
|
187
|
+
let curWeek = (0, _dayjs.default)(d).week();
|
|
180
188
|
// The last few days are the first week of the next year
|
|
181
189
|
if (monthIndex === 11 && curWeek === 1) {
|
|
182
190
|
curWeek = weekCount;
|
|
@@ -186,20 +194,20 @@ class HeatMap extends ChartComponent {
|
|
|
186
194
|
} // Record the x position of the first day of each month
|
|
187
195
|
return weekScale(curWeek);
|
|
188
196
|
}).attr('y', () => {
|
|
189
|
-
const curWeek = this.weeks[
|
|
197
|
+
const curWeek = this.weeks[(0, _dayjs.default)(d).day()];
|
|
190
198
|
return y(curWeek);
|
|
191
199
|
}).attr('width', grid_size).attr('height', grid_size).attr('rx', grid_size * borderRadius).attr('fill', () => this.getRectColor(d, data, 'fill', exampleColors)).attr('stroke', () => this.getRectColor(d, data, 'stroke', exampleColors)).attr('stroke-width', 1).on('click', () => {
|
|
192
|
-
const curDate = data.find(item => item.name ===
|
|
200
|
+
const curDate = data.find(item => item.name === (0, _dayjs.default)(d).format('YYYY-MM-DD'));
|
|
193
201
|
if (curDate) {
|
|
194
202
|
this.props.toggleRecords(curDate);
|
|
195
203
|
}
|
|
196
204
|
}).on('mouseover', event => {
|
|
197
|
-
const curDate = data.find(item => item.name ===
|
|
205
|
+
const curDate = data.find(item => item.name === (0, _dayjs.default)(d).format('YYYY-MM-DD'));
|
|
198
206
|
if (curDate) {
|
|
199
207
|
this.showTooltip(event, curDate, columnData);
|
|
200
208
|
}
|
|
201
209
|
}).on('mousemove', event => {
|
|
202
|
-
const curDate = data.find(item => item.name ===
|
|
210
|
+
const curDate = data.find(item => item.name === (0, _dayjs.default)(d).format('YYYY-MM-DD'));
|
|
203
211
|
if (curDate) {
|
|
204
212
|
this.moveTooltip(event);
|
|
205
213
|
}
|
|
@@ -211,7 +219,7 @@ class HeatMap extends ChartComponent {
|
|
|
211
219
|
|
|
212
220
|
// X axis
|
|
213
221
|
const x = d3.scalePoint().domain(this.months).range([insertPadding, chartWidth - insertPadding]);
|
|
214
|
-
xAxisWrapper.append('g').attr('class', `x-axis-${year}`).attr('transform', `translate(0, ${fy(year) + fy.bandwidth() - monthAxisHeight})`).call(d3.axisBottom(x).tickSizeInner(0).tickSizeOuter(0).tickFormat(d =>
|
|
222
|
+
xAxisWrapper.append('g').attr('class', `x-axis-${year}`).attr('transform', `translate(0, ${fy(year) + fy.bandwidth() - monthAxisHeight})`).call(d3.axisBottom(x).tickSizeInner(0).tickSizeOuter(0).tickFormat(d => _intl.default.get(d))).call(g => {
|
|
215
223
|
g.select('.domain').remove();
|
|
216
224
|
g.selectAll('.tick').nodes().forEach((item, index) => {
|
|
217
225
|
const curTranslateX = monthTranslateX[index] + weekScale.bandwidth() / 2;
|
|
@@ -231,27 +239,27 @@ class HeatMap extends ChartComponent {
|
|
|
231
239
|
};
|
|
232
240
|
this.generateYearDates = year => {
|
|
233
241
|
const dates = [];
|
|
234
|
-
let current =
|
|
242
|
+
let current = (0, _dayjs.default)(`${year}-01-01`);
|
|
235
243
|
while (current.year() === year) {
|
|
236
244
|
dates.push(current);
|
|
237
245
|
current = current.add(1, 'day');
|
|
238
246
|
}
|
|
239
247
|
const weekCount = Math.ceil(dates.length / 7);
|
|
240
|
-
return [d3.groups(dates, d =>
|
|
248
|
+
return [d3.groups(dates, d => (0, _dayjs.default)(d).month()), weekCount];
|
|
241
249
|
};
|
|
242
250
|
this.getRectColor = (d, data, type, exampleColors) => {
|
|
243
251
|
const maxVal = d3.max(data, d => d.value);
|
|
244
252
|
const defaultColor = type === 'stroke' ? '#E1E3E6' : '#EBEDF0';
|
|
245
|
-
const curDate = data.find(item => item.name ===
|
|
253
|
+
const curDate = data.find(item => item.name === (0, _dayjs.default)(d).format('YYYY-MM-DD'));
|
|
246
254
|
if (curDate) {
|
|
247
255
|
if (curDate.value <= 0) return defaultColor;
|
|
248
|
-
if (curDate.value === maxVal) return type === 'stroke' ? FILL_BORDER_COLOR_MAP[exampleColors[8]] : exampleColors[8];
|
|
256
|
+
if (curDate.value === maxVal) return type === 'stroke' ? _style.FILL_BORDER_COLOR_MAP[exampleColors[8]] : exampleColors[8];
|
|
249
257
|
const curColor = Math.floor(curDate.value / (maxVal / 9));
|
|
250
|
-
return type === 'stroke' ? FILL_BORDER_COLOR_MAP[exampleColors[curColor]] : exampleColors[curColor];
|
|
258
|
+
return type === 'stroke' ? _style.FILL_BORDER_COLOR_MAP[exampleColors[curColor]] : exampleColors[curColor];
|
|
251
259
|
}
|
|
252
260
|
return defaultColor;
|
|
253
261
|
};
|
|
254
|
-
|
|
262
|
+
_dayjs.default.locale('en');
|
|
255
263
|
this.weeks = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];
|
|
256
264
|
this.months = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];
|
|
257
265
|
this.chart = null;
|
|
@@ -263,12 +271,12 @@ class HeatMap extends ChartComponent {
|
|
|
263
271
|
componentDidMount() {
|
|
264
272
|
this.createChart();
|
|
265
273
|
this.drawChart();
|
|
266
|
-
this.debouncedHandleResize = debounce(this.handleResize, 300);
|
|
274
|
+
this.debouncedHandleResize = (0, _lodashEs.debounce)(this.handleResize, 300);
|
|
267
275
|
window.addEventListener('resize', this.debouncedHandleResize);
|
|
268
276
|
}
|
|
269
277
|
componentDidUpdate(prevProps) {
|
|
270
278
|
super.componentDidUpdate(prevProps);
|
|
271
|
-
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
279
|
+
if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
272
280
|
this.destroyChart();
|
|
273
281
|
this.createChart();
|
|
274
282
|
this.drawChart();
|
|
@@ -286,13 +294,13 @@ class HeatMap extends ChartComponent {
|
|
|
286
294
|
tooltipData,
|
|
287
295
|
toolTipPosition
|
|
288
296
|
} = this.state;
|
|
289
|
-
return /*#__PURE__*/
|
|
297
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
290
298
|
ref: ref => this.container = ref,
|
|
291
|
-
className:
|
|
299
|
+
className: (0, _classnames.default)('sea-chart-container', {
|
|
292
300
|
'show-x-axis-label': this.isShowXAxisLabel(chart),
|
|
293
301
|
'show-y-axis-label': this.isShowYAxisLabel(chart)
|
|
294
302
|
})
|
|
295
|
-
}, /*#__PURE__*/
|
|
303
|
+
}, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
296
304
|
tooltipData: tooltipData,
|
|
297
305
|
toolTipPosition: toolTipPosition,
|
|
298
306
|
chart: this.chart
|
|
@@ -300,16 +308,16 @@ class HeatMap extends ChartComponent {
|
|
|
300
308
|
}
|
|
301
309
|
}
|
|
302
310
|
HeatMap.propTypes = {
|
|
303
|
-
canvasStyle:
|
|
304
|
-
chart:
|
|
305
|
-
groupbyColumn:
|
|
306
|
-
columnGroupbyColumn:
|
|
307
|
-
summaryColumn:
|
|
308
|
-
result:
|
|
309
|
-
tables:
|
|
310
|
-
globalTheme:
|
|
311
|
-
chartColorTheme:
|
|
312
|
-
toggleRecords:
|
|
313
|
-
customRender:
|
|
311
|
+
canvasStyle: _propTypes.default.object,
|
|
312
|
+
chart: _propTypes.default.object,
|
|
313
|
+
groupbyColumn: _propTypes.default.object,
|
|
314
|
+
columnGroupbyColumn: _propTypes.default.object,
|
|
315
|
+
summaryColumn: _propTypes.default.object,
|
|
316
|
+
result: _propTypes.default.object,
|
|
317
|
+
tables: _propTypes.default.array,
|
|
318
|
+
globalTheme: _propTypes.default.string,
|
|
319
|
+
chartColorTheme: _propTypes.default.string,
|
|
320
|
+
toggleRecords: _propTypes.default.func,
|
|
321
|
+
customRender: _propTypes.default.func
|
|
314
322
|
};
|
|
315
|
-
|
|
323
|
+
var _default = exports.default = HeatMap;
|
|
@@ -1,21 +1,29 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
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 _classnames = _interopRequireDefault(require("classnames"));
|
|
13
|
+
var d3 = _interopRequireWildcard(require("d3"));
|
|
14
|
+
var _dtableUtils = require("dtable-utils");
|
|
15
|
+
var _dayjs = _interopRequireDefault(require("dayjs"));
|
|
16
|
+
var _constants = require("../../constants");
|
|
17
|
+
var _utils = require("../../utils");
|
|
18
|
+
var _intl = _interopRequireDefault(require("../../intl"));
|
|
19
|
+
var _colorRules = require("../../constants/color-rules");
|
|
20
|
+
var _columnUtils = require("../../utils/column-utils");
|
|
21
|
+
var _tooltip = _interopRequireDefault(require("../../components/tooltip"));
|
|
22
|
+
var _chartComponent = _interopRequireDefault(require("./chart-component"));
|
|
23
|
+
class HorizontalBarGroup extends _chartComponent.default {
|
|
16
24
|
constructor(props) {
|
|
17
25
|
super(props);
|
|
18
|
-
this.handleResize = debounce(() => {
|
|
26
|
+
this.handleResize = (0, _lodashEs.debounce)(() => {
|
|
19
27
|
this.destroyChart();
|
|
20
28
|
this.createChart();
|
|
21
29
|
this.drawChart();
|
|
@@ -47,17 +55,17 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
47
55
|
const {
|
|
48
56
|
column_groupby_column_key
|
|
49
57
|
} = chart.config || {};
|
|
50
|
-
data = BaseUtils.formatEmptyName(data, column_groupby_column_key,
|
|
58
|
+
data = _utils.BaseUtils.formatEmptyName(data, column_groupby_column_key, _intl.default.get(_constants.EMPTY_NAME));
|
|
51
59
|
if (!Array.isArray(data)) return;
|
|
52
60
|
const {
|
|
53
61
|
sort_type,
|
|
54
62
|
type
|
|
55
63
|
} = chart.config;
|
|
56
|
-
if (type === CHART_TYPE.STACKED_HORIZONTAL_BAR && sort_type) {
|
|
57
|
-
data = sortDataByGroupSum(data, sort_type);
|
|
64
|
+
if (type === _constants.CHART_TYPE.STACKED_HORIZONTAL_BAR && sort_type) {
|
|
65
|
+
data = (0, _columnUtils.sortDataByGroupSum)(data, sort_type);
|
|
58
66
|
}
|
|
59
67
|
this.draw(data);
|
|
60
|
-
isFunction(customRender) && customRender(this.chart);
|
|
68
|
+
(0, _utils.isFunction)(customRender) && customRender(this.chart);
|
|
61
69
|
this.renderHorizontalLabel(this.props.chart, this.props.tables, this.container);
|
|
62
70
|
};
|
|
63
71
|
this.draw = data => {
|
|
@@ -69,7 +77,7 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
69
77
|
columnGroupbyColumn,
|
|
70
78
|
summaryColumn
|
|
71
79
|
} = this.props;
|
|
72
|
-
const theme = CHART_THEME_COLOR[globalTheme];
|
|
80
|
+
const theme = _constants.CHART_THEME_COLOR[globalTheme];
|
|
73
81
|
const {
|
|
74
82
|
display_data,
|
|
75
83
|
label_font_size,
|
|
@@ -88,14 +96,14 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
88
96
|
marginRight
|
|
89
97
|
} = this.chartBoundingClientRect;
|
|
90
98
|
const groupByColumn = this.getColumn(tables, table_id, column_groupby_column_key);
|
|
91
|
-
const isGroupByDate = [CellType.DATE, CellType.CTIME, CellType.MTIME].includes(groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type);
|
|
99
|
+
const isGroupByDate = [_dtableUtils.CellType.DATE, _dtableUtils.CellType.CTIME, _dtableUtils.CellType.MTIME].includes(groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type);
|
|
92
100
|
if (isGroupByDate) {
|
|
93
|
-
const emptyName =
|
|
101
|
+
const emptyName = _intl.default.get(_constants.EMPTY_NAME);
|
|
94
102
|
data = data.map(item => {
|
|
95
103
|
const rawGroupName = item.group_name;
|
|
96
104
|
if (rawGroupName === null || rawGroupName === undefined || rawGroupName === '') return item;
|
|
97
105
|
if (rawGroupName === emptyName) return item;
|
|
98
|
-
const dateValue =
|
|
106
|
+
const dateValue = (0, _dayjs.default)(rawGroupName);
|
|
99
107
|
if (!dateValue.isValid()) return item;
|
|
100
108
|
return {
|
|
101
109
|
...item,
|
|
@@ -103,10 +111,10 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
103
111
|
};
|
|
104
112
|
});
|
|
105
113
|
}
|
|
106
|
-
const useSingleSelectColumnColor = (groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type) === CellType.SINGLE_SELECT && color_theme === SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
114
|
+
const useSingleSelectColumnColor = (groupByColumn === null || groupByColumn === void 0 ? void 0 : groupByColumn.type) === _dtableUtils.CellType.SINGLE_SELECT && color_theme === _colorRules.SUPPORT_SINGLE_SELECT_THEMES_OPTIONS.SINGLE_SELECT_COLUMN_COLORS;
|
|
107
115
|
useSingleSelectColumnColor ? this.setSingleSelectColorMap(data) : this.setColorMap(data, chartColorTheme);
|
|
108
116
|
const fy = d3.scaleBand().domain(new Set(data.map(d => d.name))).range([chartHeight - insertPadding, insertPadding]).paddingInner(0.3).paddingOuter(0.1);
|
|
109
|
-
const sortedData = BaseUtils.sortDataByGroupName(cloneDeep(data), 'group_name', columnGroupbyColumn, chart);
|
|
117
|
+
const sortedData = _utils.BaseUtils.sortDataByGroupName((0, _lodashEs.cloneDeep)(data), 'group_name', columnGroupbyColumn, chart);
|
|
110
118
|
const y = d3.scaleBand().domain(new Set(sortedData.map(d => d.group_name))).range([0, fy.bandwidth()]).paddingInner(0).paddingOuter(0);
|
|
111
119
|
|
|
112
120
|
// Y axis
|
|
@@ -126,7 +134,7 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
126
134
|
const x = d3.scaleLinear().domain(horizontal_axis_auto_range ? [0, niceEnd] : [horizontal_axis_min || 0, horizontal_axis_max || niceEnd]).range([Number(yAxis.node().getAttribute('data-axisWidth')), chartWidth - insertPadding - marginRight]);
|
|
127
135
|
|
|
128
136
|
// X axis
|
|
129
|
-
this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', `translate(0, ${chartHeight - insertPadding})`).call(d3.axisBottom(x).tickSizeInner(0).ticks(5).tickFormat(d => BaseUtils.getSummaryValueDisplayString(summaryColumn, d, horizontal_axis_summary_method))).call(g => {
|
|
137
|
+
this.chart.append('g').attr('class', 'x-axis-wrapper').attr('transform', `translate(0, ${chartHeight - insertPadding})`).call(d3.axisBottom(x).tickSizeInner(0).ticks(5).tickFormat(d => _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, d, horizontal_axis_summary_method))).call(g => {
|
|
130
138
|
g.selectAll('.domain').remove();
|
|
131
139
|
g.selectAll('.tick line').node() && g.selectAll('.tick line').node().remove(); // delete the first line
|
|
132
140
|
g.selectAll('.tick line').attr('y2', -(chartHeight - insertPadding * 2)).attr('stroke', theme.gridColor).attr('stroke-dasharray', '8,3');
|
|
@@ -148,7 +156,7 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
148
156
|
}).join('rect').attr('opacity', 1).attr('x', 0).attr('y', (d, index) => index * y.bandwidth()).attr('width', d => x(d.value) - x(0)).attr('height', y.bandwidth()).attr('fill', d => {
|
|
149
157
|
var _this$colorMap$colorK;
|
|
150
158
|
const colorKey = d.group_name || d.group_name === 0 ? d.group_name : '';
|
|
151
|
-
return (_this$colorMap$colorK = this.colorMap[colorKey]) !== null && _this$colorMap$colorK !== void 0 ? _this$colorMap$colorK : CHART_STYLE_COLORS[0];
|
|
159
|
+
return (_this$colorMap$colorK = this.colorMap[colorKey]) !== null && _this$colorMap$colorK !== void 0 ? _this$colorMap$colorK : _constants.CHART_STYLE_COLORS[0];
|
|
152
160
|
}).attr('value', d => d.value).attr('data-slugid', d => d.slugId).attr('data-groupName', d => d.name).call(g => {
|
|
153
161
|
// add rect borderRadius
|
|
154
162
|
g.nodes().forEach(rect => {
|
|
@@ -171,7 +179,7 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
171
179
|
y: Number(rect.getAttribute('y')),
|
|
172
180
|
theme,
|
|
173
181
|
label_font_size,
|
|
174
|
-
text: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(rect.getAttribute('value')), horizontal_axis_summary_method)
|
|
182
|
+
text: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(rect.getAttribute('value')), horizontal_axis_summary_method)
|
|
175
183
|
});
|
|
176
184
|
}
|
|
177
185
|
});
|
|
@@ -215,14 +223,14 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
215
223
|
const title = event.currentTarget.getAttribute('data-groupName');
|
|
216
224
|
const children = Array.from(event.currentTarget.parentNode.children).filter(item => item.tagName === 'rect');
|
|
217
225
|
const newTooltipData = {
|
|
218
|
-
title: !title && typeof title !== 'number' ?
|
|
226
|
+
title: !title && typeof title !== 'number' ? _intl.default.get(_constants.EMPTY_NAME) : title,
|
|
219
227
|
items: children.map(child => {
|
|
220
228
|
const data = child.__data__;
|
|
221
|
-
const groupName = data.group_name === null || data.group_name === undefined || data.group_name === '' ?
|
|
229
|
+
const groupName = data.group_name === null || data.group_name === undefined || data.group_name === '' ? _intl.default.get(_constants.EMPTY_NAME) : data.group_name;
|
|
222
230
|
return {
|
|
223
|
-
color: this.colorMap[groupName] || CHART_STYLE_COLORS[0],
|
|
231
|
+
color: this.colorMap[groupName] || _constants.CHART_STYLE_COLORS[0],
|
|
224
232
|
name: groupName,
|
|
225
|
-
value: BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(child.getAttribute('value')), horizontal_axis_summary_method)
|
|
233
|
+
value: _utils.BaseUtils.getSummaryValueDisplayString(summaryColumn, Number(child.getAttribute('value')), horizontal_axis_summary_method)
|
|
226
234
|
};
|
|
227
235
|
})
|
|
228
236
|
};
|
|
@@ -266,7 +274,7 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
266
274
|
}
|
|
267
275
|
componentDidUpdate(prevProps) {
|
|
268
276
|
super.componentDidUpdate(prevProps);
|
|
269
|
-
if (BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
277
|
+
if (_utils.BaseUtils.shouldChartComponentUpdate(prevProps, this.props)) {
|
|
270
278
|
this.destroyChart();
|
|
271
279
|
this.createChart();
|
|
272
280
|
this.drawChart();
|
|
@@ -284,13 +292,13 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
284
292
|
tooltipData,
|
|
285
293
|
toolTipPosition
|
|
286
294
|
} = this.state;
|
|
287
|
-
return /*#__PURE__*/
|
|
295
|
+
return /*#__PURE__*/_react.default.createElement("div", {
|
|
288
296
|
ref: ref => this.container = ref,
|
|
289
|
-
className:
|
|
297
|
+
className: (0, _classnames.default)('sea-chart-container', {
|
|
290
298
|
'show-x-axis-label': this.isShowHorizontalAxisLabel(chart),
|
|
291
299
|
'show-y-axis-label': this.isShowVerticalAxisLabel(chart)
|
|
292
300
|
})
|
|
293
|
-
}, /*#__PURE__*/
|
|
301
|
+
}, /*#__PURE__*/_react.default.createElement(_tooltip.default, {
|
|
294
302
|
tooltipData: tooltipData,
|
|
295
303
|
toolTipPosition: toolTipPosition,
|
|
296
304
|
chart: this.chart
|
|
@@ -298,16 +306,16 @@ class HorizontalBarGroup extends ChartComponent {
|
|
|
298
306
|
}
|
|
299
307
|
}
|
|
300
308
|
HorizontalBarGroup.propTypes = {
|
|
301
|
-
canvasStyle:
|
|
302
|
-
chart:
|
|
303
|
-
groupbyColumn:
|
|
304
|
-
columnGroupbyColumn:
|
|
305
|
-
summaryColumn:
|
|
306
|
-
result:
|
|
307
|
-
tables:
|
|
308
|
-
globalTheme:
|
|
309
|
-
chartColorTheme:
|
|
310
|
-
toggleRecords:
|
|
311
|
-
customRender:
|
|
309
|
+
canvasStyle: _propTypes.default.object,
|
|
310
|
+
chart: _propTypes.default.object,
|
|
311
|
+
groupbyColumn: _propTypes.default.object,
|
|
312
|
+
columnGroupbyColumn: _propTypes.default.object,
|
|
313
|
+
summaryColumn: _propTypes.default.object,
|
|
314
|
+
result: _propTypes.default.array,
|
|
315
|
+
tables: _propTypes.default.array,
|
|
316
|
+
globalTheme: _propTypes.default.string,
|
|
317
|
+
chartColorTheme: _propTypes.default.string,
|
|
318
|
+
toggleRecords: _propTypes.default.func,
|
|
319
|
+
customRender: _propTypes.default.func
|
|
312
320
|
};
|
|
313
|
-
|
|
321
|
+
var _default = exports.default = HorizontalBarGroup;
|