@visactor/vchart 1.12.7 → 1.12.8
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/build/es5/index.js +1 -1
- package/build/index.js +1117 -1665
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/gauge/interface.d.ts +1 -1
- package/cjs/chart/gauge/interface.js.map +1 -1
- package/cjs/chart/treemap/interface.d.ts +1 -1
- package/cjs/chart/treemap/interface.js.map +1 -1
- package/cjs/chart/venn/interface.d.ts +2 -2
- package/cjs/chart/venn/interface.js.map +1 -1
- package/cjs/compile/compilable-base.js +1 -2
- package/cjs/compile/util.js +2 -1
- package/cjs/component/axis/base-axis.js +1 -1
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +5 -4
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +5 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/interface/index.d.ts +0 -1
- package/cjs/component/interface/index.js +1 -1
- package/cjs/component/interface/index.js.map +1 -1
- package/cjs/component/label/util.js +1 -1
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/title/interface/spec.d.ts +3 -3
- package/cjs/component/title/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/constant.d.ts +5 -4
- package/cjs/component/tooltip/constant.js +7 -7
- package/cjs/component/tooltip/constant.js.map +1 -1
- package/cjs/component/tooltip/interface/common.d.ts +1 -1
- package/cjs/component/tooltip/interface/common.js.map +1 -1
- package/cjs/component/tooltip/interface/spec.d.ts +8 -0
- package/cjs/component/tooltip/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +2 -2
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/processor/base.d.ts +3 -5
- package/cjs/component/tooltip/processor/base.js +24 -27
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/processor/group-tooltip.js +1 -1
- package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +2 -2
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/tooltip-transformer.js +0 -1
- package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +9 -4
- package/cjs/component/tooltip/tooltip.js +64 -53
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/common.d.ts +6 -4
- package/cjs/component/tooltip/utils/common.js +52 -7
- package/cjs/component/tooltip/utils/common.js.map +1 -1
- package/cjs/component/tooltip/utils/get-spec.d.ts +4 -4
- package/cjs/component/tooltip/utils/get-spec.js +20 -82
- package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/utils/get-value.d.ts +1 -2
- package/cjs/component/tooltip/utils/get-value.js +2 -12
- package/cjs/component/tooltip/utils/get-value.js.map +1 -1
- package/cjs/component/tooltip/utils/index.d.ts +0 -1
- package/cjs/component/tooltip/utils/index.js +1 -2
- package/cjs/component/tooltip/utils/index.js.map +1 -1
- package/cjs/constant/correlation.js +2 -1
- package/cjs/constant/layout.js +1 -2
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +14 -11
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/pie.d.ts +3 -0
- package/cjs/data/transforms/pie.js +8 -3
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/model/interface.d.ts +14 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -13
- package/cjs/plugin/components/tooltip-handler/base.js +83 -220
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +7 -19
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
- package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js +7 -7
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
- package/cjs/plugin/components/tooltip-handler/utils/position.js +22 -29
- package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/cjs/region/interface.d.ts +3 -1
- package/cjs/region/interface.js.map +1 -1
- package/cjs/series/base/base-series.js +1 -1
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +30 -6
- package/cjs/series/base/tooltip-helper.js +80 -73
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.d.ts +2 -2
- package/cjs/series/box-plot/tooltip-helper.js +26 -67
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.js +1 -2
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.d.ts +8 -2
- package/cjs/series/dot/tooltip-helper.js +42 -41
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/pointer-tooltip-helper.d.ts +2 -1
- package/cjs/series/gauge/pointer-tooltip-helper.js +3 -8
- package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -1
- package/cjs/series/heatmap/tooltip-helper.d.ts +2 -3
- package/cjs/series/heatmap/tooltip-helper.js +3 -5
- package/cjs/series/heatmap/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/tooltip-helper.d.ts +5 -4
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/link/tooltip-helper.d.ts +5 -2
- package/cjs/series/link/tooltip-helper.js +26 -27
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/liquid/tooltip-helper.d.ts +4 -5
- package/cjs/series/liquid/tooltip-helper.js +2 -22
- package/cjs/series/liquid/tooltip-helper.js.map +1 -1
- package/cjs/series/pie/pie.js +6 -2
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/linear/tooltip-helper.d.ts +2 -3
- package/cjs/series/progress/linear/tooltip-helper.js +2 -11
- package/cjs/series/progress/linear/tooltip-helper.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.d.ts +1 -3
- package/cjs/series/range-area/tooltip-helper.js +2 -50
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.d.ts +1 -2
- package/cjs/series/range-column/tooltip-helper.js +2 -19
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +1 -1
- package/cjs/series/sankey/tooltip-helper.d.ts +3 -3
- package/cjs/series/sankey/tooltip-helper.js +10 -57
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +3 -3
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/position.d.ts +1 -0
- package/cjs/typings/tooltip/position.js.map +1 -1
- package/cjs/typings/tooltip/shape.d.ts +0 -1
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +7 -0
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/gauge/interface.d.ts +1 -1
- package/esm/chart/gauge/interface.js.map +1 -1
- package/esm/chart/treemap/interface.d.ts +1 -1
- package/esm/chart/treemap/interface.js.map +1 -1
- package/esm/chart/venn/interface.d.ts +2 -2
- package/esm/chart/venn/interface.js.map +1 -1
- package/esm/compile/compilable-base.js +1 -2
- package/esm/compile/util.js +2 -1
- package/esm/component/axis/base-axis.js +1 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +5 -4
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js +5 -2
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/interface/index.d.ts +0 -1
- package/esm/component/interface/index.js +0 -2
- package/esm/component/interface/index.js.map +1 -1
- package/esm/component/label/util.js +1 -1
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/title/interface/spec.d.ts +3 -3
- package/esm/component/title/interface/spec.js.map +1 -1
- package/esm/component/tooltip/constant.d.ts +5 -4
- package/esm/component/tooltip/constant.js +6 -3
- package/esm/component/tooltip/constant.js.map +1 -1
- package/esm/component/tooltip/interface/common.d.ts +1 -1
- package/esm/component/tooltip/interface/common.js.map +1 -1
- package/esm/component/tooltip/interface/spec.d.ts +8 -0
- package/esm/component/tooltip/interface/spec.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +2 -2
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/processor/base.d.ts +3 -5
- package/esm/component/tooltip/processor/base.js +24 -28
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/processor/group-tooltip.js +1 -1
- package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +2 -2
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/tooltip-transformer.js +0 -1
- package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +9 -4
- package/esm/component/tooltip/tooltip.js +66 -54
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/common.d.ts +6 -4
- package/esm/component/tooltip/utils/common.js +46 -5
- package/esm/component/tooltip/utils/common.js.map +1 -1
- package/esm/component/tooltip/utils/get-spec.d.ts +4 -4
- package/esm/component/tooltip/utils/get-spec.js +24 -80
- package/esm/component/tooltip/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/utils/get-value.d.ts +1 -2
- package/esm/component/tooltip/utils/get-value.js +1 -9
- package/esm/component/tooltip/utils/get-value.js.map +1 -1
- package/esm/component/tooltip/utils/index.d.ts +0 -1
- package/esm/component/tooltip/utils/index.js +0 -2
- package/esm/component/tooltip/utils/index.js.map +1 -1
- package/esm/constant/correlation.js +2 -1
- package/esm/constant/layout.js +1 -2
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +14 -10
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/pie.d.ts +3 -0
- package/esm/data/transforms/pie.js +6 -3
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/model/interface.d.ts +14 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +1 -13
- package/esm/plugin/components/tooltip-handler/base.js +79 -212
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js +1 -1
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +0 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +6 -19
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +16 -14
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/interface/style.d.ts +1 -2
- package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js +7 -7
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/position.d.ts +3 -5
- package/esm/plugin/components/tooltip-handler/utils/position.js +20 -25
- package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/esm/region/interface.d.ts +3 -1
- package/esm/region/interface.js.map +1 -1
- package/esm/series/base/base-series.js +1 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +30 -6
- package/esm/series/base/tooltip-helper.js +85 -74
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.d.ts +2 -2
- package/esm/series/box-plot/tooltip-helper.js +26 -67
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.js +1 -2
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/dot/tooltip-helper.d.ts +8 -2
- package/esm/series/dot/tooltip-helper.js +42 -41
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/pointer-tooltip-helper.d.ts +2 -1
- package/esm/series/gauge/pointer-tooltip-helper.js +2 -9
- package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -1
- package/esm/series/heatmap/tooltip-helper.d.ts +2 -3
- package/esm/series/heatmap/tooltip-helper.js +2 -6
- package/esm/series/heatmap/tooltip-helper.js.map +1 -1
- package/esm/series/interface/tooltip-helper.d.ts +5 -4
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/link/tooltip-helper.d.ts +5 -2
- package/esm/series/link/tooltip-helper.js +26 -27
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/liquid/tooltip-helper.d.ts +4 -5
- package/esm/series/liquid/tooltip-helper.js +2 -22
- package/esm/series/liquid/tooltip-helper.js.map +1 -1
- package/esm/series/pie/pie.js +7 -3
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/linear/tooltip-helper.d.ts +2 -3
- package/esm/series/progress/linear/tooltip-helper.js +2 -11
- package/esm/series/progress/linear/tooltip-helper.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.d.ts +1 -3
- package/esm/series/range-area/tooltip-helper.js +2 -50
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.d.ts +1 -2
- package/esm/series/range-column/tooltip-helper.js +2 -19
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +1 -1
- package/esm/series/sankey/tooltip-helper.d.ts +3 -3
- package/esm/series/sankey/tooltip-helper.js +10 -57
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/typings/spec/common.d.ts +3 -3
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/position.d.ts +1 -0
- package/esm/typings/tooltip/position.js.map +1 -1
- package/esm/typings/tooltip/shape.d.ts +0 -1
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +7 -0
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/package.json +13 -13
- package/cjs/component/interface/tooltip-helper.d.ts +0 -5
- package/cjs/component/interface/tooltip-helper.js +0 -6
- package/cjs/component/interface/tooltip-helper.js.map +0 -1
- package/cjs/component/tooltip/utils/compose.d.ts +0 -4
- package/cjs/component/tooltip/utils/compose.js +0 -120
- package/cjs/component/tooltip/utils/compose.js.map +0 -1
- package/cjs/model/tooltip-helper.d.ts +0 -29
- package/cjs/model/tooltip-helper.js +0 -19
- package/cjs/model/tooltip-helper.js.map +0 -1
- package/esm/component/interface/tooltip-helper.d.ts +0 -5
- package/esm/component/interface/tooltip-helper.js +0 -2
- package/esm/component/interface/tooltip-helper.js.map +0 -1
- package/esm/component/tooltip/utils/compose.d.ts +0 -4
- package/esm/component/tooltip/utils/compose.js +0 -105
- package/esm/component/tooltip/utils/compose.js.map +0 -1
- package/esm/model/tooltip-helper.d.ts +0 -29
- package/esm/model/tooltip-helper.js +0 -11
- package/esm/model/tooltip-helper.js.map +0 -1
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.getOneLineData = exports.getShowContent = void 0;
|
|
6
|
-
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), get_value_1 = require("./get-value"), constant_1 = require("../constant"), common_1 = require("./common"), getTimeString = (value, timeFormat, timeFormatMode) => {
|
|
8
|
-
if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
|
|
9
|
-
const timeUtil = vutils_1.TimeUtil.getInstance();
|
|
10
|
-
timeFormat = timeFormat || "%Y%m%d";
|
|
11
|
-
return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
|
|
12
|
-
}, getShowContent = (pattern, data, params) => {
|
|
13
|
-
var _a, _b, _c, _d;
|
|
14
|
-
if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
|
|
15
|
-
const tooltipActualTitleContent = {
|
|
16
|
-
title: {},
|
|
17
|
-
content: []
|
|
18
|
-
}, patternTitle = (0, get_value_1.getTooltipPatternValue)(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape, valueFormatter: valueFormatter} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== (0,
|
|
19
|
-
get_value_1.getTooltipContentValue)(visible, data, params);
|
|
20
|
-
if (patternTitle && patternTitleVisible) {
|
|
21
|
-
const datum = (0, get_value_1.getFirstDatumFromTooltipData)(data);
|
|
22
|
-
tooltipActualTitleContent.title = {
|
|
23
|
-
value: getTimeString((0, get_value_1.getTooltipContentValue)(value, datum, params, valueFormatter), valueTimeFormat, valueTimeFormatMode),
|
|
24
|
-
valueStyle: (0, get_value_1.getTooltipContentValue)(valueStyle, datum, params),
|
|
25
|
-
hasShape: hasShape
|
|
26
|
-
};
|
|
27
|
-
} else tooltipActualTitleContent.title = {
|
|
28
|
-
hasShape: !1,
|
|
29
|
-
visible: !1
|
|
30
|
-
};
|
|
31
|
-
const patternContent = (0, get_value_1.getTooltipContentPattern)(pattern.content, data, params), {maxLineCount: maxLineCount = constant_1.TOOLTIP_MAX_LINE_COUNT} = pattern, othersLine = pattern.othersLine ? Object.assign(Object.assign({}, constant_1.TOOLTIP_OTHERS_LINE), pattern.othersLine) : constant_1.TOOLTIP_OTHERS_LINE, getTooltipContentFromDatumList = datumList => {
|
|
32
|
-
if (null == datumList ? void 0 : datumList.length) for (const datum of datumList) for (const content of null != patternContent ? patternContent : []) {
|
|
33
|
-
const oneLineData = (0, exports.getOneLineData)(datum, content, params);
|
|
34
|
-
if (!1 !== oneLineData.visible) {
|
|
35
|
-
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
36
|
-
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
|
|
37
|
-
break;
|
|
38
|
-
}
|
|
39
|
-
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
40
|
-
tooltipActualTitleContent.content.push(oneLineData);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
};
|
|
44
|
-
switch (pattern.activeType) {
|
|
45
|
-
case "mark":
|
|
46
|
-
getTooltipContentFromDatumList(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum);
|
|
47
|
-
break;
|
|
48
|
-
|
|
49
|
-
case "group":
|
|
50
|
-
getTooltipContentFromDatumList(params.groupDatum);
|
|
51
|
-
break;
|
|
52
|
-
|
|
53
|
-
case "dimension":
|
|
54
|
-
for (const {data: d} of data) {
|
|
55
|
-
for (const {datum: datumList, series: series} of d) {
|
|
56
|
-
if (!(0, common_1.isActiveTypeVisible)("dimension", null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec)) continue;
|
|
57
|
-
const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => (0,
|
|
58
|
-
vutils_1.isNil)(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
|
|
59
|
-
for (const datum of datumList) {
|
|
60
|
-
for (const linePattern of contentPatterns) {
|
|
61
|
-
const oneLineData = (0, exports.getOneLineData)(datum, linePattern, params);
|
|
62
|
-
if (!1 !== oneLineData.visible) {
|
|
63
|
-
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
64
|
-
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
|
|
65
|
-
break;
|
|
66
|
-
}
|
|
67
|
-
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
68
|
-
tooltipActualTitleContent.content.push(oneLineData);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
72
|
-
}
|
|
73
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
74
|
-
}
|
|
75
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? ((0,
|
|
79
|
-
vutils_1.isNil)(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
|
|
80
|
-
(0, vutils_1.isNil)(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
|
|
81
|
-
tooltipActualTitleContent;
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
exports.getShowContent = getShowContent;
|
|
85
|
-
|
|
86
|
-
const getOneLineData = (datum, config, params) => {
|
|
87
|
-
const key = getTimeString((0, get_value_1.getTooltipContentValue)(config.key, datum, params, config.keyFormatter), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString((0,
|
|
88
|
-
get_value_1.getTooltipContentValue)(config.value, datum, params, config.valueFormatter), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== (0,
|
|
89
|
-
get_value_1.getTooltipContentValue)(config.visible, datum, params) && ((0, vutils_1.isValid)(key) || (0,
|
|
90
|
-
vutils_1.isValid)(value)), isKeyAdaptive = (0, get_value_1.getTooltipContentValue)(config.isKeyAdaptive, datum, params), spaceRow = (0,
|
|
91
|
-
get_value_1.getTooltipContentValue)(config.spaceRow, datum, params), shapeType = (0,
|
|
92
|
-
get_value_1.getTooltipContentValue)(config.shapeType, datum, params), shapeColor = (0,
|
|
93
|
-
get_value_1.getTooltipContentValue)(config.shapeColor, datum, params), shapeFill = (0,
|
|
94
|
-
get_value_1.getTooltipContentValue)(config.shapeFill, datum, params), shapeStroke = (0,
|
|
95
|
-
get_value_1.getTooltipContentValue)(config.shapeStroke, datum, params), shapeLineWidth = (0,
|
|
96
|
-
get_value_1.getTooltipContentValue)(config.shapeLineWidth, datum, params), shapeHollow = (0,
|
|
97
|
-
get_value_1.getTooltipContentValue)(config.shapeHollow, datum, params), keyStyle = (0,
|
|
98
|
-
get_value_1.getTooltipContentValue)(config.keyStyle, datum, params), valueStyle = (0,
|
|
99
|
-
get_value_1.getTooltipContentValue)(config.valueStyle, datum, params);
|
|
100
|
-
return {
|
|
101
|
-
key: key,
|
|
102
|
-
value: value,
|
|
103
|
-
visible: visible,
|
|
104
|
-
isKeyAdaptive: isKeyAdaptive,
|
|
105
|
-
hasShape: config.hasShape,
|
|
106
|
-
shapeType: shapeType,
|
|
107
|
-
shapeFill: shapeFill,
|
|
108
|
-
shapeStroke: shapeStroke,
|
|
109
|
-
shapeLineWidth: shapeLineWidth,
|
|
110
|
-
shapeHollow: shapeHollow,
|
|
111
|
-
shapeColor: shapeColor,
|
|
112
|
-
keyStyle: keyStyle,
|
|
113
|
-
valueStyle: valueStyle,
|
|
114
|
-
spaceRow: spaceRow,
|
|
115
|
-
datum: datum
|
|
116
|
-
};
|
|
117
|
-
};
|
|
118
|
-
|
|
119
|
-
exports.getOneLineData = getOneLineData;
|
|
120
|
-
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type {\n ITooltipLinePattern,\n ITooltipPattern,\n TooltipData,\n ITooltipLineActual,\n TooltipActualTitleContent\n} from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { isActiveTypeVisible } from './common';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n const othersLine = pattern.othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...pattern.othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!isActiveTypeVisible('dimension', series.tooltipHelper?.spec)) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { ITooltipSpec } from '../component/tooltip/interface';
|
|
2
|
-
import type { TooltipActiveType } from '../typings';
|
|
3
|
-
import type { IModel } from './interface';
|
|
4
|
-
import type { IMark } from '../mark/interface';
|
|
5
|
-
export type TooltipTrigger = IModel | IMark;
|
|
6
|
-
export interface ITooltipHelper {
|
|
7
|
-
spec: ITooltipSpec | undefined;
|
|
8
|
-
activeType: TooltipActiveType[];
|
|
9
|
-
activeTriggerSet: {
|
|
10
|
-
mark?: Set<TooltipTrigger>;
|
|
11
|
-
group?: Set<TooltipTrigger>;
|
|
12
|
-
};
|
|
13
|
-
ignoreTriggerSet: {
|
|
14
|
-
mark?: Set<TooltipTrigger>;
|
|
15
|
-
};
|
|
16
|
-
updateTooltipSpec: () => void;
|
|
17
|
-
}
|
|
18
|
-
export declare abstract class BaseTooltipHelper implements ITooltipHelper {
|
|
19
|
-
spec: ITooltipSpec | undefined;
|
|
20
|
-
activeType: TooltipActiveType[];
|
|
21
|
-
activeTriggerSet: {
|
|
22
|
-
mark: Set<TooltipTrigger>;
|
|
23
|
-
group: Set<TooltipTrigger>;
|
|
24
|
-
};
|
|
25
|
-
ignoreTriggerSet: {
|
|
26
|
-
mark: Set<TooltipTrigger>;
|
|
27
|
-
};
|
|
28
|
-
abstract updateTooltipSpec(): void;
|
|
29
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: !0
|
|
5
|
-
}), exports.BaseTooltipHelper = void 0;
|
|
6
|
-
|
|
7
|
-
class BaseTooltipHelper {
|
|
8
|
-
constructor() {
|
|
9
|
-
this.activeTriggerSet = {
|
|
10
|
-
mark: new Set,
|
|
11
|
-
group: new Set
|
|
12
|
-
}, this.ignoreTriggerSet = {
|
|
13
|
-
mark: new Set
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
exports.BaseTooltipHelper = BaseTooltipHelper;
|
|
19
|
-
//# sourceMappingURL=tooltip-helper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":";;;AA4BA,MAAsB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,KAAK,EAAE,IAAI,GAAG,EAAkB;SACjC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;SAChC,CAAC;IAGJ,CAAC;CAAA;AAbD,8CAaC","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: {\n mark?: Set<TooltipTrigger>;\n group?: Set<TooltipTrigger>;\n };\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: {\n mark?: Set<TooltipTrigger>;\n };\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n group: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/tooltip-helper.ts"],"names":[],"mappings":"","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipHelper } from '../../model/tooltip-helper';\nimport type { IComponent } from './common';\n\nexport interface IComponentTooltipHelper extends ITooltipHelper {\n component: IComponent;\n}\n"]}
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import type { ITooltipLinePattern, ITooltipPattern, TooltipData, ITooltipLineActual, TooltipActualTitleContent } from '../../../typings/tooltip';
|
|
2
|
-
import type { TooltipHandlerParams } from '../interface/common';
|
|
3
|
-
export declare const getShowContent: (pattern: ITooltipPattern, data: TooltipData, params: TooltipHandlerParams) => TooltipActualTitleContent | null;
|
|
4
|
-
export declare const getOneLineData: (datum: any, config: ITooltipLinePattern, params: TooltipHandlerParams) => ITooltipLineActual;
|
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
import { isValid, isNil, TimeUtil } from "@visactor/vutils";
|
|
2
|
-
|
|
3
|
-
import { getFirstDatumFromTooltipData, getTooltipContentPattern, getTooltipContentValue, getTooltipPatternValue } from "./get-value";
|
|
4
|
-
|
|
5
|
-
import { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from "../constant";
|
|
6
|
-
|
|
7
|
-
import { isActiveTypeVisible } from "./common";
|
|
8
|
-
|
|
9
|
-
const getTimeString = (value, timeFormat, timeFormatMode) => {
|
|
10
|
-
if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
|
|
11
|
-
const timeUtil = TimeUtil.getInstance();
|
|
12
|
-
timeFormat = timeFormat || "%Y%m%d";
|
|
13
|
-
return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
export const getShowContent = (pattern, data, params) => {
|
|
17
|
-
var _a, _b, _c, _d;
|
|
18
|
-
if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
|
|
19
|
-
const tooltipActualTitleContent = {
|
|
20
|
-
title: {},
|
|
21
|
-
content: []
|
|
22
|
-
}, patternTitle = getTooltipPatternValue(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape, valueFormatter: valueFormatter} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== getTooltipContentValue(visible, data, params);
|
|
23
|
-
if (patternTitle && patternTitleVisible) {
|
|
24
|
-
const datum = getFirstDatumFromTooltipData(data);
|
|
25
|
-
tooltipActualTitleContent.title = {
|
|
26
|
-
value: getTimeString(getTooltipContentValue(value, datum, params, valueFormatter), valueTimeFormat, valueTimeFormatMode),
|
|
27
|
-
valueStyle: getTooltipContentValue(valueStyle, datum, params),
|
|
28
|
-
hasShape: hasShape
|
|
29
|
-
};
|
|
30
|
-
} else tooltipActualTitleContent.title = {
|
|
31
|
-
hasShape: !1,
|
|
32
|
-
visible: !1
|
|
33
|
-
};
|
|
34
|
-
const patternContent = getTooltipContentPattern(pattern.content, data, params), {maxLineCount: maxLineCount = TOOLTIP_MAX_LINE_COUNT} = pattern, othersLine = pattern.othersLine ? Object.assign(Object.assign({}, TOOLTIP_OTHERS_LINE), pattern.othersLine) : TOOLTIP_OTHERS_LINE, getTooltipContentFromDatumList = datumList => {
|
|
35
|
-
if (null == datumList ? void 0 : datumList.length) for (const datum of datumList) for (const content of null != patternContent ? patternContent : []) {
|
|
36
|
-
const oneLineData = getOneLineData(datum, content, params);
|
|
37
|
-
if (!1 !== oneLineData.visible) {
|
|
38
|
-
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
39
|
-
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
|
|
40
|
-
break;
|
|
41
|
-
}
|
|
42
|
-
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
43
|
-
tooltipActualTitleContent.content.push(oneLineData);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
};
|
|
47
|
-
switch (pattern.activeType) {
|
|
48
|
-
case "mark":
|
|
49
|
-
getTooltipContentFromDatumList(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum);
|
|
50
|
-
break;
|
|
51
|
-
|
|
52
|
-
case "group":
|
|
53
|
-
getTooltipContentFromDatumList(params.groupDatum);
|
|
54
|
-
break;
|
|
55
|
-
|
|
56
|
-
case "dimension":
|
|
57
|
-
for (const {data: d} of data) {
|
|
58
|
-
for (const {datum: datumList, series: series} of d) {
|
|
59
|
-
if (!isActiveTypeVisible("dimension", null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec)) continue;
|
|
60
|
-
const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => isNil(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
|
|
61
|
-
for (const datum of datumList) {
|
|
62
|
-
for (const linePattern of contentPatterns) {
|
|
63
|
-
const oneLineData = getOneLineData(datum, linePattern, params);
|
|
64
|
-
if (!1 !== oneLineData.visible) {
|
|
65
|
-
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
66
|
-
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), othersLine));
|
|
67
|
-
break;
|
|
68
|
-
}
|
|
69
|
-
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
70
|
-
tooltipActualTitleContent.content.push(oneLineData);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
74
|
-
}
|
|
75
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
76
|
-
}
|
|
77
|
-
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? (isNil(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
|
|
81
|
-
isNil(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
|
|
82
|
-
tooltipActualTitleContent;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
export const getOneLineData = (datum, config, params) => {
|
|
86
|
-
const key = getTimeString(getTooltipContentValue(config.key, datum, params, config.keyFormatter), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString(getTooltipContentValue(config.value, datum, params, config.valueFormatter), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== getTooltipContentValue(config.visible, datum, params) && (isValid(key) || isValid(value)), isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params), spaceRow = getTooltipContentValue(config.spaceRow, datum, params), shapeType = getTooltipContentValue(config.shapeType, datum, params), shapeColor = getTooltipContentValue(config.shapeColor, datum, params), shapeFill = getTooltipContentValue(config.shapeFill, datum, params), shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params), shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params), shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params), keyStyle = getTooltipContentValue(config.keyStyle, datum, params), valueStyle = getTooltipContentValue(config.valueStyle, datum, params);
|
|
87
|
-
return {
|
|
88
|
-
key: key,
|
|
89
|
-
value: value,
|
|
90
|
-
visible: visible,
|
|
91
|
-
isKeyAdaptive: isKeyAdaptive,
|
|
92
|
-
hasShape: config.hasShape,
|
|
93
|
-
shapeType: shapeType,
|
|
94
|
-
shapeFill: shapeFill,
|
|
95
|
-
shapeStroke: shapeStroke,
|
|
96
|
-
shapeLineWidth: shapeLineWidth,
|
|
97
|
-
shapeHollow: shapeHollow,
|
|
98
|
-
shapeColor: shapeColor,
|
|
99
|
-
keyStyle: keyStyle,
|
|
100
|
-
valueStyle: valueStyle,
|
|
101
|
-
spaceRow: spaceRow,
|
|
102
|
-
datum: datum
|
|
103
|
-
};
|
|
104
|
-
};
|
|
105
|
-
//# sourceMappingURL=compose.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, TimeUtil } from '@visactor/vutils';\nimport type {\n ITooltipLinePattern,\n ITooltipPattern,\n TooltipData,\n ITooltipLineActual,\n TooltipActualTitleContent\n} from '../../../typings/tooltip';\nimport {\n getFirstDatumFromTooltipData,\n getTooltipContentPattern,\n getTooltipContentValue,\n getTooltipPatternValue\n} from './get-value';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\nimport { isActiveTypeVisible } from './common';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport type { Datum } from '../../../typings';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape, valueFormatter } =\n patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(\n getTooltipContentValue(value, datum, params, valueFormatter),\n valueTimeFormat,\n valueTimeFormatMode\n ),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = getTooltipContentPattern(pattern.content, data, params);\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n const othersLine = pattern.othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...pattern.othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n\n const getTooltipContentFromDatumList = (datumList?: Datum[]) => {\n if (datumList?.length) {\n for (const datum of datumList) {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData(datum, content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n }\n }\n };\n\n switch (pattern.activeType) {\n case 'mark':\n getTooltipContentFromDatumList((data as IDimensionData[])[0]?.datum);\n break;\n case 'group':\n getTooltipContentFromDatumList(params.groupDatum);\n break;\n case 'dimension':\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum: datumList, series } of d) {\n if (!isActiveTypeVisible('dimension', series.tooltipHelper?.spec)) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datum of datumList) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datum, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...othersLine\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n break;\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: ITooltipLinePattern,\n params: TooltipHandlerParams\n): ITooltipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params, config.keyFormatter),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params, config.valueFormatter),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const shapeHollow = getTooltipContentValue(config.shapeHollow, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { ITooltipSpec } from '../component/tooltip/interface';
|
|
2
|
-
import type { TooltipActiveType } from '../typings';
|
|
3
|
-
import type { IModel } from './interface';
|
|
4
|
-
import type { IMark } from '../mark/interface';
|
|
5
|
-
export type TooltipTrigger = IModel | IMark;
|
|
6
|
-
export interface ITooltipHelper {
|
|
7
|
-
spec: ITooltipSpec | undefined;
|
|
8
|
-
activeType: TooltipActiveType[];
|
|
9
|
-
activeTriggerSet: {
|
|
10
|
-
mark?: Set<TooltipTrigger>;
|
|
11
|
-
group?: Set<TooltipTrigger>;
|
|
12
|
-
};
|
|
13
|
-
ignoreTriggerSet: {
|
|
14
|
-
mark?: Set<TooltipTrigger>;
|
|
15
|
-
};
|
|
16
|
-
updateTooltipSpec: () => void;
|
|
17
|
-
}
|
|
18
|
-
export declare abstract class BaseTooltipHelper implements ITooltipHelper {
|
|
19
|
-
spec: ITooltipSpec | undefined;
|
|
20
|
-
activeType: TooltipActiveType[];
|
|
21
|
-
activeTriggerSet: {
|
|
22
|
-
mark: Set<TooltipTrigger>;
|
|
23
|
-
group: Set<TooltipTrigger>;
|
|
24
|
-
};
|
|
25
|
-
ignoreTriggerSet: {
|
|
26
|
-
mark: Set<TooltipTrigger>;
|
|
27
|
-
};
|
|
28
|
-
abstract updateTooltipSpec(): void;
|
|
29
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model/tooltip-helper.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAgB,iBAAiB;IAAvC;QAIE,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;YAC/B,KAAK,EAAE,IAAI,GAAG,EAAkB;SACjC,CAAC;QACF,qBAAgB,GAAG;YACjB,IAAI,EAAE,IAAI,GAAG,EAAkB;SAChC,CAAC;IAGJ,CAAC;CAAA","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IModel } from './interface';\nimport type { IMark } from '../mark/interface';\n\nexport type TooltipTrigger = IModel | IMark;\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: {\n mark?: Set<TooltipTrigger>;\n group?: Set<TooltipTrigger>;\n };\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: {\n mark?: Set<TooltipTrigger>;\n };\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n\nexport abstract class BaseTooltipHelper implements ITooltipHelper {\n spec: ITooltipSpec | undefined;\n activeType: TooltipActiveType[];\n\n activeTriggerSet = {\n mark: new Set<TooltipTrigger>(),\n group: new Set<TooltipTrigger>()\n };\n ignoreTriggerSet = {\n mark: new Set<TooltipTrigger>()\n };\n\n abstract updateTooltipSpec(): void;\n}\n"]}
|