@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,105 +1,49 @@
|
|
|
1
|
-
import { isValid
|
|
1
|
+
import { isValid } from "@visactor/vutils";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import { combineContents, isActiveTypeVisible } from "./common";
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
const pick_keys = [ "updateTitle", "updateContent", "updatePosition", "maxLineCount", "othersLine" ];
|
|
6
|
+
|
|
7
|
+
export const getTooltipSpecForShow = (activeType, globalSpec, series, data, params) => {
|
|
8
|
+
var _a, _b, _c;
|
|
9
|
+
const finalSpec = {
|
|
8
10
|
activeType: activeType
|
|
9
|
-
}
|
|
11
|
+
};
|
|
10
12
|
switch (activeType) {
|
|
11
13
|
case "mark":
|
|
12
14
|
case "group":
|
|
13
15
|
if (series) {
|
|
14
16
|
const seriesSpec = null === (_a = series.getSpec()) || void 0 === _a ? void 0 : _a.tooltip;
|
|
15
|
-
|
|
16
|
-
null === (
|
|
17
|
+
return finalSpec.visible = !0, (null == seriesSpec ? void 0 : seriesSpec.handler) && (finalSpec.handler = seriesSpec.handler),
|
|
18
|
+
(null === (_b = finalSpec.handler) || void 0 === _b ? void 0 : _b.showTooltip) ? finalSpec : ((null == seriesSpec ? void 0 : seriesSpec[activeType]) && pick_keys.forEach((k => {
|
|
19
|
+
isValid(seriesSpec[activeType][k]) && (finalSpec[k] = seriesSpec[activeType][k]);
|
|
20
|
+
})), Object.assign(Object.assign({}, finalSpec), series.tooltipHelper.getTooltipData(activeType, globalSpec, data, data[0].datum, params)));
|
|
17
21
|
}
|
|
18
22
|
break;
|
|
19
23
|
|
|
20
24
|
case "dimension":
|
|
21
|
-
if (null ==
|
|
22
|
-
if (getSeriesListFromDimensionInfo(
|
|
25
|
+
if (null == data ? void 0 : data.length) {
|
|
26
|
+
if (getSeriesListFromDimensionInfo(data).every((series => {
|
|
23
27
|
var _a;
|
|
24
28
|
return !isActiveTypeVisible("dimension", null === (_a = series.tooltipHelper) || void 0 === _a ? void 0 : _a.spec);
|
|
25
|
-
})) ? finalSpec.visible = !1 : finalSpec.visible = !0, finalSpec.handler =
|
|
26
|
-
null === (
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
const defaultPattern = null !== (_f = getDefaultTooltipPattern(activeType, series, dimensionInfo)) && void 0 !== _f ? _f : {}, userPattern = getSeriesTooltipPattern(activeType, globalSpec, series, dimensionInfo);
|
|
30
|
-
if (userPattern) {
|
|
31
|
-
const defaultPatternTitle = defaultPattern.title, defaultTitleShape = getShapePattern(void 0, userPattern, style.shape, void 0, defaultPatternTitle);
|
|
32
|
-
isValid(userPattern.title) ? userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, Object.assign(Object.assign({}, defaultPatternTitle), defaultTitleShape)) : userPattern.title = addExtraInfoToTooltipTitlePattern(defaultPatternTitle, defaultTitleShape, !0);
|
|
33
|
-
const defaultPatternContent = array(defaultPattern.content);
|
|
34
|
-
if (isValid(userPattern.content)) {
|
|
35
|
-
const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);
|
|
36
|
-
userPattern.content = addExtraInfoToTooltipContentPattern(userPattern.content, (userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)));
|
|
37
|
-
} else userPattern.content = addExtraInfoToTooltipContentPattern(defaultPatternContent, (line => getShapePattern(void 0, userPattern, style.shape, void 0, line)), !0);
|
|
38
|
-
}
|
|
39
|
-
return finalSpec[activeType] = Object.assign(Object.assign(Object.assign({}, defaultPattern), userPattern), {
|
|
40
|
-
activeType: activeType
|
|
41
|
-
}), finalSpec;
|
|
42
|
-
};
|
|
43
|
-
|
|
44
|
-
const getDefaultTooltipPattern = (activeType, series, dimensionInfo) => {
|
|
45
|
-
switch (activeType) {
|
|
46
|
-
case "mark":
|
|
47
|
-
case "group":
|
|
48
|
-
if (series) return series.tooltipHelper.getDefaultTooltipPattern(activeType);
|
|
49
|
-
break;
|
|
50
|
-
|
|
51
|
-
case "dimension":
|
|
52
|
-
if (null == dimensionInfo ? void 0 : dimensionInfo.length) {
|
|
29
|
+
})) ? finalSpec.visible = !1 : finalSpec.visible = !0, finalSpec.handler = globalSpec.handler,
|
|
30
|
+
null === (_c = finalSpec.handler) || void 0 === _c ? void 0 : _c.showTooltip) return finalSpec;
|
|
53
31
|
const patternList = [];
|
|
54
|
-
return
|
|
55
|
-
const {series: series} = datum,
|
|
56
|
-
data: [ datum ]
|
|
57
|
-
}) ], pattern = series.tooltipHelper.getDefaultTooltipPattern(activeType, mockDimensionInfo);
|
|
32
|
+
return data.forEach((info => info.data.forEach((datum => {
|
|
33
|
+
const {series: series} = datum, pattern = series.tooltipHelper.getTooltipData(activeType, globalSpec, data, datum.datum, params);
|
|
58
34
|
pattern && patternList.push(pattern);
|
|
59
|
-
})))),
|
|
35
|
+
})))), combineContents(patternList);
|
|
60
36
|
}
|
|
61
37
|
}
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
return allSeries.forEach((s => {
|
|
67
|
-
var _a;
|
|
68
|
-
const seriesSpec = null === (_a = s.tooltipHelper) || void 0 === _a ? void 0 : _a.spec;
|
|
69
|
-
if (isActiveTypeVisible(activeType, seriesSpec)) {
|
|
70
|
-
let finalPattern = seriesSpec && seriesSpec[activeType] ? Object.assign(Object.assign({}, globalSpec[activeType]), seriesSpec[activeType]) : globalSpec[activeType];
|
|
71
|
-
finalPattern && (finalPattern = cloneDeep(finalPattern), finalPattern.title && (finalPattern.title = addExtraInfoToTooltipTitlePattern(finalPattern.title, {
|
|
72
|
-
seriesId: s.id
|
|
73
|
-
}, !0)), finalPattern.content && (finalPattern.content = addExtraInfoToTooltipContentPattern(finalPattern.content, {
|
|
74
|
-
seriesId: s.id
|
|
75
|
-
}, !0)), seriesPatternList.push(finalPattern));
|
|
76
|
-
}
|
|
77
|
-
})), seriesPatternList && seriesPatternList.length ? combinePattern(seriesPatternList) : null;
|
|
78
|
-
}
|
|
79
|
-
}, getSeriesListFromDimensionInfo = dimensionInfo => {
|
|
38
|
+
return null;
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
const getSeriesListFromDimensionInfo = dimensionInfo => {
|
|
80
42
|
const list = [];
|
|
81
43
|
return dimensionInfo.forEach((info => {
|
|
82
44
|
info.data.forEach((datum => {
|
|
83
45
|
isValid(datum.series) && list.push(datum.series);
|
|
84
46
|
}));
|
|
85
47
|
})), list;
|
|
86
|
-
}
|
|
87
|
-
const shapePatternMap = {};
|
|
88
|
-
return content.forEach((line => {
|
|
89
|
-
const key = line.seriesId;
|
|
90
|
-
isValid(key) && !shapePatternMap[key] && (shapePatternMap[key] = line), shapePatternMap[-1] || (shapePatternMap[-1] = line);
|
|
91
|
-
})), shapePatternMap;
|
|
92
|
-
}, isShapeKey = key => key.toLowerCase().includes("shape"), getShapePattern = (userLinePattern, userPattern, userStyle, shapePatternMap, defaultShapePattern) => {
|
|
93
|
-
var _a, _b;
|
|
94
|
-
userStyle && (userStyle.shapeSize = null !== (_a = userStyle.shapeSize) && void 0 !== _a ? _a : userStyle.size);
|
|
95
|
-
const shapePatternFromMap = shapePatternMap ? null !== (_b = shapePatternMap[null == userLinePattern ? void 0 : userLinePattern.seriesId]) && void 0 !== _b ? _b : shapePatternMap[-1] : null, shapePattern = {};
|
|
96
|
-
return [ userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern ].forEach((cfg => {
|
|
97
|
-
isValid(cfg) && Object.keys(cfg).forEach((key => {
|
|
98
|
-
isShapeKey(key) && isNil(shapePattern[key]) && !isNil(cfg[key]) && (shapePattern[key] = cfg[key]);
|
|
99
|
-
}));
|
|
100
|
-
})), shapePattern;
|
|
101
|
-
}, merge = (source, extraInfo, overwrite) => {
|
|
102
|
-
const info = isFunction(extraInfo) ? extraInfo(source) : extraInfo;
|
|
103
|
-
return overwrite ? Object.assign(Object.assign({}, source), info) : Object.assign(Object.assign({}, info), source);
|
|
104
|
-
}, addExtraInfoToTooltipTitlePattern = (pattern, extraInfo, overwrite) => isValid(pattern) ? isFunction(pattern) ? (...args) => merge(pattern(...args), extraInfo, overwrite) : merge(pattern, extraInfo, overwrite) : void 0, addExtraInfoToTooltipContentPattern = (pattern, extraInfo, overwrite) => isValid(pattern) ? array(pattern).map((patternItem => isFunction(patternItem) ? (...args) => array(patternItem(...args)).map((line => merge(line, extraInfo, overwrite))) : merge(patternItem, extraInfo, overwrite))) : void 0;
|
|
48
|
+
};
|
|
105
49
|
//# sourceMappingURL=get-spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAEhF,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/D,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,UAA6B,EAC7B,UAAwB,EACxB,MAAgB,EAChB,aAAgC,EAClB,EAAE;;IAEhB,MAAM,SAAS,GAAG,gCACb,UAAU,KACb,UAAU,GACK,CAAC;IAElB,MAAM,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,UAAU,CAAC;IAElC,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,MAAM,EAAE;gBAEV,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,OAAO,EAAE,0CAAE,OAAuB,CAAC;gBAC7D,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBAGzB,SAAS,CAAC,OAAO,GAAG,MAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,mCAAI,UAAU,CAAC,OAAO,CAAC;gBAC9D,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;aACF;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;gBAEzB,MAAM,UAAU,GAAG,8BAA8B,CAAC,aAAa,CAAC,CAAC;gBAGjE,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,CAAA,EAAA,CAAC,EAAE;oBAC7F,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAC3B;qBAAM;oBACL,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC1B;gBAGD,SAAS,CAAC,OAAO,GAAG,MAAA,UAAU,CAAC,OAAO,mCAAI,SAAS,CAAC;gBACpD,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;aACF;YACD,MAAM;KACT;IAGD,MAAM,cAAc,GAAG,MAAA,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,mCAAI,EAAE,CAAC;IAEzF,MAAM,WAAW,GAAG,uBAAuB,CAAC,UAAU,EAAE,UAAU,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;IAE3F,IAAI,WAAW,EAAE;QAGf,MAAM,mBAAmB,GAAG,cAAc,CAAC,KAAwC,CAAC;QACpF,MAAM,iBAAiB,GAAyB,eAAe,CAC7D,SAAS,EACT,WAAW,EACX,KAAK,CAAC,KAAK,EACX,SAAS,EACT,mBAAmB,CACpB,CAAC;QACF,IAAI,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE;YAC9B,WAAW,CAAC,KAAK,GAAG,iCAAiC,CAAC,WAAW,CAAC,KAAK,kCAClE,mBAAmB,GACnB,iBAAiB,EACpB,CAAC;SACJ;aAAM;YACL,WAAW,CAAC,KAAK,GAAG,iCAAiC,CACnD,mBAAmB,EACnB,iBAAiB,EACjB,IAAI,CACL,CAAC;SACH;QAGD,MAAM,qBAAqB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,CAA0B,CAAC;QACrF,IAAI,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YAChC,MAAM,eAAe,GAAG,8BAA8B,CAAC,qBAAqB,CAAC,CAAC;YAC9E,WAAW,CAAC,OAAO,GAAG,mCAAmC,CACvD,WAAW,CAAC,OAAO,EAEnB,QAAQ,CAAC,EAAE,CAAC,eAAe,CAAC,QAAQ,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,eAAe,CAAC,CACjF,CAAC;SACH;aAAM;YACL,WAAW,CAAC,OAAO,GAAG,mCAAmC,CACvD,qBAAqB,EAErB,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,CAAC,EAC7E,IAAI,CACL,CAAC;SACH;KACF;IAED,SAAS,CAAC,UAAU,CAAC,iDAChB,cAAc,GACd,WAAW,KACd,UAAU,GACX,CAAC;IAEF,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,wBAAwB,GAAG,CAC/B,UAA6B,EAC7B,MAAgB,EAChB,aAAgC,EACf,EAAE;IACnB,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,MAAM,EAAE;gBACV,OAAO,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;aAClE;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,EAAE;gBACzB,MAAM,WAAW,GAAsB,EAAE,CAAC;gBAC1C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;oBACzB,MAAM,iBAAiB,GAAG;wDAEnB,IAAI,KACP,IAAI,EAAE,CAAC,KAAK,CAAC;qBAEI,CAAC;oBACtB,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,wBAAwB,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;oBAC7F,IAAI,OAAO,EAAE;wBACX,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC3B;gBACH,CAAC,CAAC,CACH,CAAC;gBACF,OAAO,cAAc,CAAC,WAAW,CAAC,CAAC;aACpC;YACD,MAAM;KACT;IACD,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAGF,MAAM,uBAAuB,GAAG,CAC9B,UAA6B,EAC7B,UAAwB,EACxB,MAAgB,EAChB,aAAgC,EACf,EAAE;IACnB,MAAM,SAAS,GACb,UAAU,KAAK,WAAW,KAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,MAAM,CAAA;QACjD,CAAC,CAAC,8BAA8B,CAAC,aAAa,CAAC;QAC/C,CAAC,CAAC,CAAC,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,OAAO,CAAC,IAAI,MAAM;YAC7D,CAAC,CAAC,CAAC,MAAM,CAAC;YACV,CAAC,CAAC,IAAI,CAAC;IAEX,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,EAAE;QACjC,MAAM,iBAAiB,GAAsB,EAAE,CAAC;QAEhD,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YACpB,MAAM,UAAU,GAAG,MAAA,CAAC,CAAC,aAAa,0CAAE,IAAoB,CAAC;YAEzD,IAAI,mBAAmB,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE;gBAC/C,IAAI,YAAY,GACd,UAAU,IAAI,UAAU,CAAC,UAAU,CAAC;oBAClC,CAAC,iCACM,UAAU,CAAC,UAAU,CAAC,GACtB,UAAU,CAAC,UAAU,CAAC,EAE7B,CAAC,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAE7B,IAAI,YAAY,EAAE;oBAChB,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;oBAEvC,IAAI,YAAY,CAAC,KAAK,EAAE;wBACtB,YAAY,CAAC,KAAK,GAAG,iCAAiC,CACpD,YAAY,CAAC,KAAK,EAClB;4BACE,QAAQ,EAAE,CAAC,CAAC,EAAE;yBACf,EACD,IAAI,CACL,CAAC;qBACH;oBACD,IAAI,YAAY,CAAC,OAAO,EAAE;wBACxB,YAAY,CAAC,OAAO,GAAG,mCAAmC,CACxD,YAAY,CAAC,OAAO,EACpB;4BACE,QAAQ,EAAE,CAAC,CAAC,EAAE;yBACf,EACD,IAAI,CACL,CAAC;qBACH;oBAED,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBACtC;aACF;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,iBAAiB,IAAI,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjG;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,aAA+B,EAAa,EAAE;IACpF,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAGF,MAAM,8BAA8B,GAAG,CAAC,OAA8B,EAAwC,EAAE;IAC9G,MAAM,eAAe,GAAyC,EAAE,CAAC;IAEjE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE1B,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE;YACzC,eAAe,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;SAC7B;QAED,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE;YACxB,eAAe,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;SAC5B;IACH,CAAC,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAGxE,MAAM,eAAe,GAAG,CACtB,eAAqC,EACrC,WAA6B,EAC7B,SAAkC,EAClC,eAAsD,EACtD,mBAA0C,EACpB,EAAE;;IACxB,IAAI,SAAS,EAAE;QACb,SAAS,CAAC,SAAS,GAAG,MAAA,SAAS,CAAC,SAAS,mCAAI,SAAS,CAAC,IAAI,CAAC;KAC7D;IACD,MAAM,mBAAmB,GAAG,eAAe;QACzC,CAAC,CAAC,MAAA,eAAe,CAAC,eAAe,aAAf,eAAe,uBAAf,eAAe,CAAE,QAAQ,CAAC,mCAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QACnE,CAAC,CAAC,IAAI,CAAC;IACT,MAAM,YAAY,GAAyB,EAAE,CAAC;IAE9C,CAAC,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QAChG,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE;YAChB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAC7B,IAAI,UAAU,CAAC,GAAG,CAAC,IAAI,KAAK,CAAE,YAAoB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAE,GAAW,CAAC,GAAG,CAAC,CAAC,EAAE;oBACpF,YAAoB,CAAC,GAAG,CAAC,GAAI,GAAW,CAAC,GAAG,CAAC,CAAC;iBAChD;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,MAAM,KAAK,GAAG,CAAO,MAAS,EAAE,SAAiC,EAAE,SAAmB,EAAE,EAAE;IACxF,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACnE,OAAO,SAAS,CAAC,CAAC,iCAAM,MAAM,GAAK,IAAI,EAAG,CAAC,iCAAM,IAAI,GAAK,MAAM,CAAE,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,iCAAiC,GAAG,CACxC,OAAiC,EACjC,SAAiD,EACjD,SAAmB,EACmB,EAAE;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC;YACnB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,EAAE,SAAS,EAAE,SAAS,CAAC;YACnE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,CAAC;QACxC,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,mCAAmC,GAAG,CAC1C,OAAmC,EACnC,SAAiD,EACjD,SAAmB,EACqB,EAAE;IAC1C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAC/B,UAAU,CAAC,WAAW,CAAC;YACrB,CAAC,CAAC,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;YAChG,CAAC,CAAC,KAAK,CAAC,WAAkC,EAAE,SAAS,EAAE,SAAS,CAAC,CACpE;QACH,CAAC,CAAC,SAAS,CAAC;IACd,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC","file":"get-spec.js","sourcesContent":["import type { ITooltipLinePattern, ITooltipPattern, ITooltipShapePattern, TooltipActiveType } from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isValid, array, isNil, cloneDeep, isFunction } from '@visactor/vutils';\nimport type { ITooltipSpec, ITooltipTheme } from '..';\nimport { combinePattern, isActiveTypeVisible } from './common';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n\n const { style = {} } = globalSpec;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n finalSpec.visible = true;\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec?.handler ?? globalSpec.handler;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !isActiveTypeVisible('dimension', series.tooltipHelper?.spec))) {\n finalSpec.visible = false;\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n break;\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo) ?? {};\n // 来自系列的 pattern\n const userPattern = getSeriesTooltipPattern(activeType, globalSpec, series, dimensionInfo);\n\n if (userPattern) {\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as ITooltipLinePattern | undefined;\n const defaultTitleShape: ITooltipShapePattern = getShapePattern(\n undefined,\n userPattern,\n style.shape,\n undefined,\n defaultPatternTitle\n );\n if (isValid(userPattern.title)) {\n userPattern.title = addExtraInfoToTooltipTitlePattern(userPattern.title, {\n ...defaultPatternTitle,\n ...defaultTitleShape // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n });\n } else {\n userPattern.title = addExtraInfoToTooltipTitlePattern(\n defaultPatternTitle,\n defaultTitleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n true\n );\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as ITooltipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n userPattern.content = addExtraInfoToTooltipContentPattern(\n userPattern.content,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n userLine => getShapePattern(userLine, userPattern, style.shape, shapePatternMap)\n );\n } else {\n userPattern.content = addExtraInfoToTooltipContentPattern(\n defaultPatternContent,\n // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n line => getShapePattern(undefined, userPattern, style.shape, undefined, line),\n true\n );\n }\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n return series.tooltipHelper.getDefaultTooltipPattern(activeType);\n }\n break;\n case 'dimension':\n if (dimensionInfo?.length) {\n const patternList: ITooltipPattern[] = [];\n dimensionInfo.forEach(info =>\n info.data.forEach(datum => {\n const { series } = datum;\n const mockDimensionInfo = [\n {\n ...info,\n data: [datum]\n }\n ] as IDimensionInfo[];\n const pattern = series.tooltipHelper.getDefaultTooltipPattern(activeType, mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n return combinePattern(patternList);\n }\n break;\n }\n return undefined;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n const allSeries =\n activeType === 'dimension' && dimensionInfo?.length\n ? getSeriesListFromDimensionInfo(dimensionInfo)\n : (activeType === 'mark' || activeType === 'group') && series\n ? [series]\n : null;\n\n if (allSeries && allSeries.length) {\n const seriesPatternList: ITooltipPattern[] = [];\n\n allSeries.forEach(s => {\n const seriesSpec = s.tooltipHelper?.spec as ITooltipSpec;\n\n if (isActiveTypeVisible(activeType, seriesSpec)) {\n let finalPattern =\n seriesSpec && seriesSpec[activeType]\n ? {\n ...globalSpec[activeType],\n ...seriesSpec[activeType]\n }\n : globalSpec[activeType];\n\n if (finalPattern) {\n finalPattern = cloneDeep(finalPattern);\n\n if (finalPattern.title) {\n finalPattern.title = addExtraInfoToTooltipTitlePattern(\n finalPattern.title,\n {\n seriesId: s.id\n },\n true\n );\n }\n if (finalPattern.content) {\n finalPattern.content = addExtraInfoToTooltipContentPattern(\n finalPattern.content,\n {\n seriesId: s.id\n },\n true\n );\n }\n\n seriesPatternList.push(finalPattern);\n }\n }\n });\n\n return seriesPatternList && seriesPatternList.length ? combinePattern(seriesPatternList) : null;\n }\n\n return undefined;\n};\n\nconst getSeriesListFromDimensionInfo = (dimensionInfo: IDimensionInfo[]): ISeries[] => {\n const list: ISeries[] = [];\n dimensionInfo.forEach(info => {\n info.data.forEach(datum => {\n if (isValid(datum.series)) {\n list.push(datum.series);\n }\n });\n });\n\n return list;\n};\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: ITooltipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n\n content.forEach(line => {\n const key = line.seriesId;\n\n if (isValid(key) && !shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n\n if (!shapePatternMap[-1]) {\n shapePatternMap[-1] = line;\n }\n });\n return shapePatternMap;\n};\n\nconst isShapeKey = (key: string) => key.toLowerCase().includes('shape');\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: ITooltipLinePattern,\n userPattern?: ITooltipPattern,\n userStyle?: ITooltipTheme['shape'],\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n if (userStyle) {\n userStyle.shapeSize = userStyle.shapeSize ?? userStyle.size; // 兼容旧配置\n }\n const shapePatternFromMap = shapePatternMap\n ? shapePatternMap[userLinePattern?.seriesId] ?? shapePatternMap[-1]\n : null;\n const shapePattern: ITooltipShapePattern = {};\n\n [userLinePattern, userPattern, userStyle, shapePatternFromMap, defaultShapePattern].forEach(cfg => {\n if (isValid(cfg)) {\n Object.keys(cfg).forEach(key => {\n if (isShapeKey(key) && isNil((shapePattern as any)[key]) && !isNil((cfg as any)[key])) {\n (shapePattern as any)[key] = (cfg as any)[key];\n }\n });\n }\n });\n\n return shapePattern;\n};\n\nconst merge = <T, K>(source: K, extraInfo: T | ((source: K) => T), overwrite?: boolean) => {\n const info = isFunction(extraInfo) ? extraInfo(source) : extraInfo;\n return overwrite ? { ...source, ...info } : { ...info, ...source };\n};\n\nconst addExtraInfoToTooltipTitlePattern = <T>(\n pattern: ITooltipPattern['title'],\n extraInfo: T | ((line: ITooltipLinePattern) => T),\n overwrite?: boolean\n): ITooltipPattern['title'] | undefined => {\n const result = isValid(pattern)\n ? isFunction(pattern)\n ? (...args: any[]) => merge(pattern(...args), extraInfo, overwrite)\n : merge(pattern, extraInfo, overwrite)\n : undefined;\n return result;\n};\n\nconst addExtraInfoToTooltipContentPattern = <T>(\n pattern: ITooltipPattern['content'],\n extraInfo: T | ((line: ITooltipLinePattern) => T),\n overwrite?: boolean\n): ITooltipPattern['content'] | undefined => {\n const result = isValid(pattern)\n ? array(pattern).map(patternItem =>\n isFunction(patternItem)\n ? (...args: any[]) => array(patternItem(...args)).map(line => merge(line, extraInfo, overwrite))\n : merge(patternItem as ITooltipLinePattern, extraInfo, overwrite)\n )\n : undefined;\n return result;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/utils/get-spec.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAGhE,MAAM,SAAS,GAAG,CAAC,aAAa,EAAE,eAAe,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,CAAC,CAAC;AAEnG,MAAM,CAAC,MAAM,qBAAqB,GAAG,CACnC,UAA6B,EAC7B,UAAwB,EACxB,MAAgB,EAChB,IAAkB,EAClB,MAA6B,EACb,EAAE;;IAElB,MAAM,SAAS,GAAG;QAChB,UAAU;KACO,CAAC;IAEpB,QAAQ,UAAU,EAAE;QAClB,KAAK,MAAM,CAAC;QACZ,KAAK,OAAO;YACV,IAAI,MAAM,EAAE;gBAEV,MAAM,UAAU,GAAG,MAAA,MAAM,CAAC,OAAO,EAAE,0CAAE,OAAuB,CAAC;gBAE7D,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;gBAEzB,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,OAAO,EAAE;oBAEvB,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;iBACxC;gBACD,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;gBACD,IAAI,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAG,UAAU,CAAC,EAAE;oBAC5B,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;wBACpB,IAAI,OAAO,CAAE,UAAU,CAAC,UAAU,CAAS,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC9C,SAAiB,CAAC,CAAC,CAAC,GAAI,UAAkB,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;yBAC5D;oBACH,CAAC,CAAC,CAAC;iBACJ;gBAED,uCACK,SAAS,GACT,MAAM,CAAC,aAAa,CAAC,cAAc,CACpC,UAAU,EACV,UAAU,EACV,IAAwB,EACvB,IAAyB,CAAC,CAAC,CAAC,CAAC,KAAK,EACnC,MAAM,CACP,EACD;aACH;YACD,MAAM;QACR,KAAK,WAAW;YACd,IAAK,IAAyB,aAAzB,IAAI,uBAAJ,IAAI,CAAuB,MAAM,EAAE;gBAEtC,MAAM,UAAU,GAAG,8BAA8B,CAAC,IAAwB,CAAC,CAAC;gBAG5E,IAAI,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,WAAC,OAAA,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAA,MAAM,CAAC,aAAa,0CAAE,IAAI,CAAC,CAAA,EAAA,CAAC,EAAE;oBAC7F,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;iBAC3B;qBAAM;oBACL,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;iBAC1B;gBAGD,SAAS,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;gBACvC,IAAI,MAAA,SAAS,CAAC,OAAO,0CAAE,WAAW,EAAE;oBAClC,OAAO,SAAS,CAAC;iBAClB;gBAED,MAAM,WAAW,GAAqB,EAAE,CAAC;gBACxC,IAAyB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;oBACxB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;oBACzB,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,cAAc,CAAC,UAAU,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACvG,IAAI,OAAO,EAAE;wBACX,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;qBAC3B;gBACH,CAAC,CAAC,CACH,CAAC;gBAEF,OAAO,eAAe,CAAC,WAAW,CAAC,CAAC;aACrC;YACD,MAAM;KACT;IAED,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CAAC,aAA+B,EAAa,EAAE;IACpF,MAAM,IAAI,GAAc,EAAE,CAAC;IAC3B,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC3B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;YACxB,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;aACzB;QACH,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC","file":"get-spec.js","sourcesContent":["import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { ISeries } from '../../../series/interface';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isValid } from '@visactor/vutils';\nimport type { TooltipHandlerParams } from '../interface/common';\nimport { combineContents, isActiveTypeVisible } from './common';\nimport type { ITooltipSpec } from '../interface/spec';\n\nconst pick_keys = ['updateTitle', 'updateContent', 'updatePosition', 'maxLineCount', 'othersLine'];\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): ITooltipActual => {\n // 组装tooltip spec\n const finalSpec = {\n activeType\n } as ITooltipActual;\n\n switch (activeType) {\n case 'mark':\n case 'group':\n if (series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n\n finalSpec.visible = true;\n\n if (seriesSpec?.handler) {\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler;\n }\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n if (seriesSpec?.[activeType]) {\n pick_keys.forEach(k => {\n if (isValid((seriesSpec[activeType] as any)[k])) {\n (finalSpec as any)[k] = (seriesSpec as any)[activeType][k];\n }\n });\n }\n\n return {\n ...finalSpec,\n ...series.tooltipHelper.getTooltipData(\n activeType,\n globalSpec,\n data as IDimensionData[],\n (data as IDimensionData[])[0].datum,\n params\n )\n };\n }\n break;\n case 'dimension':\n if ((data as IDimensionInfo[])?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(data as IDimensionInfo[]);\n\n // visible\n if (seriesList.every(series => !isActiveTypeVisible('dimension', series.tooltipHelper?.spec))) {\n finalSpec.visible = false;\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n\n const patternList: ITooltipActual[] = [];\n (data as IDimensionInfo[]).forEach(info =>\n info.data.forEach(datum => {\n const { series } = datum;\n const pattern = series.tooltipHelper.getTooltipData(activeType, globalSpec, data, datum.datum, params);\n if (pattern) {\n patternList.push(pattern);\n }\n })\n );\n\n return combineContents(patternList);\n }\n break;\n }\n\n return null;\n};\n\nconst getSeriesListFromDimensionInfo = (dimensionInfo: IDimensionInfo[]): ISeries[] => {\n const list: ISeries[] = [];\n dimensionInfo.forEach(info => {\n info.data.forEach(datum => {\n if (isValid(datum.series)) {\n list.push(datum.series);\n }\n });\n });\n\n return list;\n};\n"]}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import type { Datum,
|
|
1
|
+
import type { Datum, TooltipContentProperty, TooltipData, TooltipPatternProperty } from '../../../typings';
|
|
2
2
|
import type { TooltipHandlerParams } from '../interface';
|
|
3
3
|
export declare const getTooltipContentValue: <T>(field?: TooltipContentProperty<T>, datum?: any, params?: TooltipHandlerParams, formatter?: string) => T;
|
|
4
4
|
export declare const getTooltipPatternValue: <T>(field?: TooltipPatternProperty<T>, data?: TooltipData, params?: TooltipHandlerParams) => T;
|
|
5
|
-
export declare const getTooltipContentPattern: (field?: ITooltipPattern['content'], data?: TooltipData, params?: TooltipHandlerParams) => Array<ITooltipLinePattern> | undefined;
|
|
6
5
|
export declare function getFirstDatumFromTooltipData(data: TooltipData): Datum;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { isFunction, isNil } from "@visactor/vutils";
|
|
2
2
|
|
|
3
3
|
import { getFormatFunction } from "../../util";
|
|
4
4
|
|
|
@@ -13,14 +13,6 @@ export const getTooltipContentValue = (field, datum, params, formatter) => {
|
|
|
13
13
|
|
|
14
14
|
export const getTooltipPatternValue = (field, data, params) => isNil(field) ? field : isFunction(field) ? field(data, params) : field;
|
|
15
15
|
|
|
16
|
-
export const getTooltipContentPattern = (field, data, params) => {
|
|
17
|
-
if (isNil(field)) return field;
|
|
18
|
-
let result = [];
|
|
19
|
-
return array(field).forEach((patternItem => {
|
|
20
|
-
isFunction(patternItem) ? result = result.concat(array(patternItem(data, params))) : result.push(patternItem);
|
|
21
|
-
})), result;
|
|
22
|
-
};
|
|
23
|
-
|
|
24
16
|
export function getFirstDatumFromTooltipData(data) {
|
|
25
17
|
var _a;
|
|
26
18
|
const dimInfoList = (null === (_a = data[0]) || void 0 === _a ? void 0 : _a.series) ? [ {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/get-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/utils/get-value.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AASrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAG/C,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,KAAW,EACX,MAA6B,EAC7B,SAAkB,EACH,EAAE;IACjB,IAAI,KAAQ,CAAC;IACb,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,KAAK,GAAI,KAAmC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;KAC7D;SAAM;QACL,KAAK,GAAG,KAAU,CAAC;KACpB;IAED,IAAI,SAAS,EAAE;QACb,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,iBAAiB,CAAC,SAAS,EAAE,SAAS,EAAE,KAAe,EAAE,KAAK,CAAC,CAAC;QAC7F,IAAI,UAAU,IAAI,IAAI,EAAE;YACtB,KAAK,GAAG,UAAU,CAAC,GAAG,IAAI,CAAC,CAAC;SAC7B;KACF;IAED,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,sBAAsB,GAAG,CACpC,KAAiC,EACjC,IAAkB,EAClB,MAA6B,EACd,EAAE;IACjB,IAAI,KAAK,CAAC,KAAK,CAAC,EAAE;QAChB,OAAO,KAAkB,CAAC;KAC3B;IACD,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE;QACrB,OAAQ,KAAmC,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC3D;IACD,OAAO,KAAU,CAAC;AACpB,CAAC,CAAC;AAEF,MAAM,UAAU,4BAA4B,CAAC,IAAiB;;IAE5D,MAAM,WAAW,GAAqB,CAAA,MAAC,IAAyB,CAAC,CAAC,CAAC,0CAAE,MAAM;QACzE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAwB,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;QACjD,CAAC,CAAE,IAAyB,CAAC;IAC/B,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,WAAW,EAAE;QAC5C,KAAK,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,QAAQ,EAAE;YAC3C,KAAK,MAAM,SAAS,IAAI,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,EAAE,EAAE;gBACvC,IAAI,SAAS,EAAE;oBACb,OAAO,SAAS,CAAC;iBAClB;aACF;SACF;KACF;IACD,OAAO,SAAS,CAAC;AACnB,CAAC","file":"get-value.js","sourcesContent":["import { isFunction, isNil } from '@visactor/vutils';\nimport type {\n Datum,\n TooltipContentCallback,\n TooltipContentProperty,\n TooltipData,\n TooltipPatternProperty\n} from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport { getFormatFunction } from '../../util';\nimport type { IDimensionData, IDimensionInfo } from '../../../event';\n\nexport const getTooltipContentValue = <T>(\n field?: TooltipContentProperty<T>,\n datum?: any,\n params?: TooltipHandlerParams,\n formatter?: string\n): T | undefined => {\n let value: T;\n if (isFunction(field)) {\n value = (field as TooltipContentCallback<T>)(datum, params);\n } else {\n value = field as T;\n }\n\n if (formatter) {\n const { formatFunc, args } = getFormatFunction(undefined, formatter, field as string, datum);\n if (formatFunc && args) {\n value = formatFunc(...args);\n }\n }\n\n return value;\n};\n\nexport const getTooltipPatternValue = <T>(\n field?: TooltipPatternProperty<T>,\n data?: TooltipData,\n params?: TooltipHandlerParams\n): T | undefined => {\n if (isNil(field)) {\n return field as undefined;\n }\n if (isFunction(field)) {\n return (field as TooltipContentCallback<T>)(data, params);\n }\n return field as T;\n};\n\nexport function getFirstDatumFromTooltipData(data: TooltipData): Datum {\n // 找到第一个可用的datum\n const dimInfoList: IDimensionInfo[] = (data as IDimensionData[])[0]?.series\n ? [{ data: data as IDimensionData[], value: '' }]\n : (data as IDimensionInfo[]);\n for (const { data: dataList } of dimInfoList) {\n for (const { datum: datumList } of dataList) {\n for (const datumItem of datumList ?? []) {\n if (datumItem) {\n return datumItem;\n }\n }\n }\n }\n return undefined;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './show-tooltip';\nexport * from './common';\nexport * from './get-spec';\nexport * from './get-value';\n"]}
|
|
@@ -4,4 +4,5 @@ export const CORRELATION_X = `${PREFIX}_CORRELATION_X`;
|
|
|
4
4
|
|
|
5
5
|
export const CORRELATION_Y = `${PREFIX}_CORRELATION_Y`;
|
|
6
6
|
|
|
7
|
-
export const CORRELATION_SIZE = `${PREFIX}_CORRELATION_SIZE`;
|
|
7
|
+
export const CORRELATION_SIZE = `${PREFIX}_CORRELATION_SIZE`;
|
|
8
|
+
//# sourceMappingURL=correlation.js.map
|
package/esm/constant/layout.js
CHANGED
|
@@ -28,5 +28,4 @@ export var LayoutLevel;
|
|
|
28
28
|
LayoutLevel[LayoutLevel.Player = 40] = "Player", LayoutLevel[LayoutLevel.ScrollBar = 40] = "ScrollBar",
|
|
29
29
|
LayoutLevel[LayoutLevel.Legend = 50] = "Legend", LayoutLevel[LayoutLevel.Title = 70] = "Title",
|
|
30
30
|
LayoutLevel[LayoutLevel.CustomMark = 70] = "CustomMark";
|
|
31
|
-
}(LayoutLevel || (LayoutLevel = {}));
|
|
32
|
-
//# sourceMappingURL=layout.js.map
|
|
31
|
+
}(LayoutLevel || (LayoutLevel = {}));
|
package/esm/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "1.12.
|
|
4
|
+
export declare const version = "1.12.8";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/esm/core/index.js
CHANGED
package/esm/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAMhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC;AAMhC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAG5B,cAAc,kBAAkB,CAAC;AAKjC,cAAc,uBAAuB,CAAC;AAGtC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.12.8\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from './interface';\n\n// some constants\nexport * from '../constant/base';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// tooltip\nexport * from '../typings/tooltip';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n"]}
|
package/esm/core/vchart.js
CHANGED
|
@@ -600,20 +600,24 @@ export class VChart {
|
|
|
600
600
|
this._chart && this._chart.clearHovered();
|
|
601
601
|
}
|
|
602
602
|
_updateCurrentTheme(nextThemeName) {
|
|
603
|
-
var _a, _b, _c
|
|
603
|
+
var _a, _b, _c;
|
|
604
604
|
const optionTheme = this._option.theme, specTheme = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.theme, chartType = null === (_b = this._spec) || void 0 === _b ? void 0 : _b.type;
|
|
605
|
+
nextThemeName && (this._currentThemeName = nextThemeName);
|
|
606
|
+
const processThemeByChartType = (type, theme) => {
|
|
607
|
+
var _a;
|
|
608
|
+
return (null === (_a = theme.chart) || void 0 === _a ? void 0 : _a[type]) && (theme = mergeTheme({}, theme, theme.chart[type])),
|
|
609
|
+
theme;
|
|
610
|
+
};
|
|
605
611
|
let currentTheme;
|
|
606
|
-
if (
|
|
607
|
-
this._currentTheme =
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
this._currentTheme = finalTheme;
|
|
612
|
+
if (isEmpty(optionTheme) && isEmpty(specTheme)) currentTheme = getThemeObject(this._currentThemeName, !0),
|
|
613
|
+
this._currentTheme = processThemeByChartType(chartType, currentTheme); else if (isString(optionTheme) && (!specTheme || isString(specTheme)) || isString(specTheme) && (!optionTheme || isString(optionTheme))) {
|
|
614
|
+
const finalTheme = mergeTheme({}, getThemeObject(this._currentThemeName, !0), getThemeObject(optionTheme, !0), getThemeObject(specTheme, !0));
|
|
615
|
+
this._currentTheme = processThemeByChartType(chartType, finalTheme);
|
|
611
616
|
} else {
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
this._currentTheme = preprocessTheme(finalTheme);
|
|
617
|
+
const finalTheme = mergeTheme({}, getThemeObject(this._currentThemeName), getThemeObject(optionTheme), getThemeObject(specTheme));
|
|
618
|
+
this._currentTheme = preprocessTheme(processThemeByChartType(chartType, finalTheme));
|
|
615
619
|
}
|
|
616
|
-
setPoptipTheme(get(this._currentTheme, "component.poptip")), null === (
|
|
620
|
+
setPoptipTheme(get(this._currentTheme, "component.poptip")), null === (_c = this._compiler) || void 0 === _c || _c.setBackground(this._getBackground());
|
|
617
621
|
}
|
|
618
622
|
_shouldChartResize(oldSpec) {
|
|
619
623
|
var _a, _b;
|