@visactor/vchart 1.12.4-alpha.0 → 1.12.4-alpha.2
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 +2 -2
- package/build/index.js +4643 -4456
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.js +1 -1
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +4 -4
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +2 -0
- package/cjs/chart/base/base-chart.js +26 -13
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/chart-meta/data.d.ts +1 -2
- package/cjs/chart/chart-meta/data.js +11 -11
- package/cjs/chart/chart-meta/data.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/interface/chart.d.ts +1 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/mosaic/mosaic.d.ts +0 -1
- package/cjs/chart/mosaic/mosaic.js +0 -3
- package/cjs/chart/mosaic/mosaic.js.map +1 -1
- package/cjs/chart/pie/interface.d.ts +2 -2
- package/cjs/chart/pie/interface.js.map +1 -1
- package/cjs/chart/polar/interface.d.ts +2 -0
- package/cjs/chart/polar/interface.js.map +1 -1
- package/cjs/chart/sankey/sankey-transformer.js +1 -0
- package/cjs/chart/sankey/sankey-transformer.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 +2 -1
- package/cjs/compile/compiler.js +4 -1
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +15 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +7 -39
- package/cjs/compile/mark/compilable-mark.js +20 -90
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +5 -25
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/util.js +1 -2
- package/cjs/component/axis/base-axis.d.ts +2 -2
- package/cjs/component/axis/base-axis.js +36 -26
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +2 -0
- package/cjs/component/axis/cartesian/axis.js +55 -14
- 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/cartesian/linear-axis.js +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +4 -1
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +1 -0
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -10
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/util/break-data.d.ts +1 -1
- package/cjs/component/axis/mixin/util/break-data.js +35 -12
- package/cjs/component/axis/mixin/util/break-data.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +1 -1
- package/cjs/component/axis/polar/axis.js +18 -38
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/spec.d.ts +3 -1
- package/cjs/component/axis/polar/interface/spec.js.map +1 -1
- package/cjs/component/axis/polar/util/common.js +1 -1
- package/cjs/component/axis/polar/util/common.js.map +1 -1
- package/cjs/component/axis/util.d.ts +3 -0
- package/cjs/component/axis/util.js +6 -2
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.js +1 -3
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.js +2 -8
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +2 -18
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -18
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -4
- package/cjs/component/custom-mark/custom-mark.js +3 -28
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -0
- package/cjs/component/data-zoom/data-filter-base-component.js +31 -15
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +0 -19
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +5 -20
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/data-zoom/util.js +11 -3
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +7 -0
- package/cjs/component/geo/geo-coordinate.js +10 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.js +2 -18
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/interface/common.d.ts +1 -1
- package/cjs/component/interface/common.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/base-label.d.ts +1 -2
- package/cjs/component/label/base-label.js +0 -3
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -2
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +0 -1
- package/cjs/component/label/label.js +18 -21
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.d.ts +1 -1
- package/cjs/component/label/total-label.js +7 -13
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +5 -5
- package/cjs/component/label/util.js +13 -8
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +6 -18
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js +1 -17
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +2 -2
- package/cjs/component/map-label/component.js +3 -8
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +4 -1
- package/cjs/component/marker/base-marker.js +14 -19
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +9 -2
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/base-mark-area.js +5 -5
- package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/base-mark-line.js +9 -9
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/base-mark-point.js +16 -15
- package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +4 -4
- package/cjs/component/marker/utils.js +7 -7
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +1 -3
- package/cjs/component/player/player.js +0 -9
- package/cjs/component/player/player.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/title/interface/theme.d.ts +1 -1
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/title/title.js +22 -34
- package/cjs/component/title/title.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 +23 -3
- 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 +4 -6
- package/cjs/component/tooltip/processor/base.js +25 -29
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js +1 -6
- package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/group-tooltip.js +5 -5
- package/cjs/component/tooltip/processor/group-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +31 -5
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/tooltip-transformer.js +2 -4
- package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +13 -6
- package/cjs/component/tooltip/tooltip.js +109 -89
- 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 +54 -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/component/util.d.ts +3 -0
- package/cjs/component/util.js +16 -1
- package/cjs/component/util.js.map +1 -1
- package/cjs/constant/layout.d.ts +1 -0
- package/cjs/constant/layout.js +11 -10
- package/cjs/constant/layout.js.map +1 -1
- package/cjs/core/factory.js +3 -1
- package/cjs/core/factory.js.map +1 -1
- 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.d.ts +2 -1
- package/cjs/core/vchart.js +39 -36
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.d.ts +1 -2
- package/cjs/data/initialize.js +5 -5
- package/cjs/data/initialize.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/event/event-dispatcher.js +1 -9
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/interaction/interaction.d.ts +2 -0
- package/cjs/interaction/interaction.js +10 -0
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/interface.d.ts +2 -0
- package/cjs/interaction/interface.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.js +2 -1
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/mark/base/base-line.js +3 -1
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.js +3 -3
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/group.js +1 -1
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +10 -0
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/model/base-model.d.ts +2 -2
- package/cjs/model/base-model.js +2 -2
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +14 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/chart/media-query/media-query.d.ts +1 -0
- package/cjs/plugin/chart/media-query/media-query.js +3 -1
- package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
- package/cjs/plugin/chart/plugin-service.d.ts +2 -0
- package/cjs/plugin/chart/plugin-service.js +5 -0
- package/cjs/plugin/chart/plugin-service.js.map +1 -1
- package/cjs/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
- package/cjs/plugin/components/axis-sync/zero-align-transform.js +17 -4
- package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -16
- package/cjs/plugin/components/tooltip-handler/base.js +84 -228
- 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/shape-model.js +7 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/shape-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/region/region.js +12 -8
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area-transformer.js +1 -2
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.d.ts +2 -0
- package/cjs/series/area/area.js +54 -38
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +4 -4
- package/cjs/series/bar/bar.js +68 -62
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -1
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series-transformer.js +7 -4
- package/cjs/series/base/base-series-transformer.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +8 -7
- package/cjs/series/base/base-series.js +51 -37
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.js +1 -0
- package/cjs/series/base/constant.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/box-plot.d.ts +1 -0
- package/cjs/series/box-plot/box-plot.js +9 -5
- package/cjs/series/box-plot/box-plot.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 +4 -4
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/correlation/correlation.d.ts +1 -0
- package/cjs/series/correlation/correlation.js +16 -6
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +0 -1
- package/cjs/series/dot/dot.js +7 -8
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.d.ts +8 -2
- package/cjs/series/dot/tooltip-helper.js +42 -52
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d.js +2 -1
- package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +2 -0
- package/cjs/series/funnel/funnel.js +35 -27
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +3 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js +3 -2
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +1 -1
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/gauge/pointer-tooltip-helper.d.ts +6 -0
- package/cjs/series/gauge/pointer-tooltip-helper.js +16 -0
- package/cjs/series/gauge/pointer-tooltip-helper.js.map +1 -0
- package/cjs/series/heatmap/heatmap.js +10 -10
- package/cjs/series/heatmap/heatmap.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/common.d.ts +1 -9
- package/cjs/series/interface/common.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/line/line.js +2 -2
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +7 -3
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/link/tooltip-helper.d.ts +5 -2
- package/cjs/series/link/tooltip-helper.js +26 -38
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/liquid/liquid.js +11 -6
- package/cjs/series/liquid/liquid.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/map/map.d.ts +1 -0
- package/cjs/series/map/map.js +7 -2
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +2 -2
- package/cjs/series/mixin/line-mixin.js +15 -14
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/3d/pie-3d.js +3 -1
- package/cjs/series/pie/3d/pie-3d.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +3 -3
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -0
- package/cjs/series/pie/pie.js +22 -13
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/animation.d.ts +9 -11
- package/cjs/series/polar/animation.js +28 -35
- package/cjs/series/polar/animation.js.map +1 -1
- package/cjs/series/polar/polar.js +9 -2
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +29 -24
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +6 -4
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.js +10 -8
- package/cjs/series/progress/linear/linear.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/radar/animation.d.ts +0 -3
- package/cjs/series/radar/animation.js +4 -4
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/radar.js +18 -14
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +4 -3
- package/cjs/series/range-area/range-area.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/range-column.js +5 -4
- package/cjs/series/range-column/range-column.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/rose/rose.js +5 -4
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +1 -0
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -2
- package/cjs/series/sankey/sankey.js +18 -6
- package/cjs/series/sankey/sankey.js.map +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/series/scatter/scatter.js +8 -10
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +3 -2
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/treemap.js +6 -4
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +1 -0
- package/cjs/series/waterfall/waterfall.js +7 -2
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.js +37 -23
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +2 -1
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/common/component/title.js.map +1 -1
- package/cjs/theme/builtin/common/mark.js +2 -0
- package/cjs/theme/builtin/common/mark.js.map +1 -1
- package/cjs/theme/builtin/common/series/linear-progress.js +4 -1
- package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -1
- package/cjs/theme/builtin/dark/color-scheme.js +2 -1
- package/cjs/theme/builtin/dark/color-scheme.js.map +1 -1
- package/cjs/theme/builtin/light/color-scheme.js +2 -1
- package/cjs/theme/builtin/light/color-scheme.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +10 -5
- 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/cjs/util/array.d.ts +1 -1
- package/cjs/util/array.js +7 -6
- package/cjs/util/array.js.map +1 -1
- package/cjs/util/math.d.ts +1 -0
- package/cjs/util/math.js +7 -2
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/scale.d.ts +1 -1
- package/cjs/util/scale.js +2 -2
- package/cjs/util/scale.js.map +1 -1
- package/esm/animation/utils.js +1 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +5 -3
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +2 -0
- package/esm/chart/base/base-chart.js +28 -13
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/chart-meta/data.d.ts +1 -2
- package/esm/chart/chart-meta/data.js +12 -10
- package/esm/chart/chart-meta/data.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/interface/chart.d.ts +1 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/mosaic/mosaic.d.ts +0 -1
- package/esm/chart/mosaic/mosaic.js +0 -3
- package/esm/chart/mosaic/mosaic.js.map +1 -1
- package/esm/chart/pie/interface.d.ts +2 -2
- package/esm/chart/pie/interface.js.map +1 -1
- package/esm/chart/polar/interface.d.ts +2 -0
- package/esm/chart/polar/interface.js.map +1 -1
- package/esm/chart/sankey/sankey-transformer.js +1 -0
- package/esm/chart/sankey/sankey-transformer.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 +2 -1
- package/esm/compile/compiler.js +2 -1
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +15 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +7 -39
- package/esm/compile/mark/compilable-mark.js +21 -90
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +5 -25
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/util.js +1 -2
- package/esm/component/axis/base-axis.d.ts +2 -2
- package/esm/component/axis/base-axis.js +31 -22
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +2 -0
- package/esm/component/axis/cartesian/axis.js +48 -14
- 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/cartesian/linear-axis.js +2 -2
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +3 -3
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +1 -0
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +10 -11
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/util/break-data.d.ts +1 -1
- package/esm/component/axis/mixin/util/break-data.js +35 -12
- package/esm/component/axis/mixin/util/break-data.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +1 -1
- package/esm/component/axis/polar/axis.js +14 -40
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/spec.d.ts +3 -1
- package/esm/component/axis/polar/interface/spec.js.map +1 -1
- package/esm/component/axis/polar/util/common.js +2 -2
- package/esm/component/axis/polar/util/common.js.map +1 -1
- package/esm/component/axis/util.d.ts +3 -0
- package/esm/component/axis/util.js +4 -0
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.js +1 -3
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.js +4 -8
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +4 -18
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/polar.js +4 -18
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -4
- package/esm/component/custom-mark/custom-mark.js +3 -30
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -0
- package/esm/component/data-zoom/data-filter-base-component.js +28 -14
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -3
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -20
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -3
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -21
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/data-zoom/util.js +11 -2
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +7 -0
- package/esm/component/geo/geo-coordinate.js +11 -3
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.js +4 -18
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/interface/common.d.ts +1 -1
- package/esm/component/interface/common.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/base-label.d.ts +1 -2
- package/esm/component/label/base-label.js +0 -3
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -2
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +0 -1
- package/esm/component/label/label.js +18 -23
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.d.ts +1 -1
- package/esm/component/label/total-label.js +6 -14
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +5 -5
- package/esm/component/label/util.js +13 -8
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +7 -18
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.js +3 -19
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +2 -2
- package/esm/component/map-label/component.js +3 -7
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +4 -1
- package/esm/component/marker/base-marker.js +16 -19
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +9 -2
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/base-mark-area.js +5 -5
- package/esm/component/marker/mark-area/base-mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/base-mark-line.js +9 -9
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/base-mark-point.js +15 -15
- package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +4 -4
- package/esm/component/marker/utils.js +8 -7
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +1 -3
- package/esm/component/player/player.js +1 -10
- package/esm/component/player/player.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/title/interface/theme.d.ts +1 -1
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/title/title.js +23 -35
- package/esm/component/title/title.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 +23 -3
- 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 +4 -6
- package/esm/component/tooltip/processor/base.js +25 -30
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js +1 -6
- package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/group-tooltip.js +5 -5
- package/esm/component/tooltip/processor/group-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +32 -4
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/tooltip-transformer.js +2 -4
- package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +13 -6
- package/esm/component/tooltip/tooltip.js +110 -89
- 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 +48 -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/component/util.d.ts +3 -0
- package/esm/component/util.js +14 -1
- package/esm/component/util.js.map +1 -1
- package/esm/constant/layout.d.ts +1 -0
- package/esm/constant/layout.js +11 -10
- package/esm/constant/layout.js.map +1 -1
- package/esm/core/factory.js +3 -1
- package/esm/core/factory.js.map +1 -1
- 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.d.ts +2 -1
- package/esm/core/vchart.js +41 -37
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.d.ts +1 -2
- package/esm/data/initialize.js +6 -7
- package/esm/data/initialize.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/event/event-dispatcher.js +1 -9
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/interaction/interaction.d.ts +2 -0
- package/esm/interaction/interaction.js +10 -0
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/interface.d.ts +2 -0
- package/esm/interaction/interface.js.map +1 -1
- package/esm/interaction/zoom/zoomable.js +2 -1
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/mark/base/base-line.js +3 -1
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.js +2 -2
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/group.js +1 -1
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/interface/common.d.ts +10 -0
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/model/base-model.d.ts +2 -2
- package/esm/model/base-model.js +2 -2
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +14 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/chart/media-query/media-query.d.ts +1 -0
- package/esm/plugin/chart/media-query/media-query.js +3 -1
- package/esm/plugin/chart/media-query/media-query.js.map +1 -1
- package/esm/plugin/chart/plugin-service.d.ts +2 -0
- package/esm/plugin/chart/plugin-service.js +5 -0
- package/esm/plugin/chart/plugin-service.js.map +1 -1
- package/esm/plugin/components/axis-sync/zero-align-transform.d.ts +1 -0
- package/esm/plugin/components/axis-sync/zero-align-transform.js +17 -4
- package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +1 -16
- package/esm/plugin/components/tooltip-handler/base.js +80 -220
- 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/shape-model.js +8 -3
- package/esm/plugin/components/tooltip-handler/dom/model/shape-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/region/region.js +12 -8
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area-transformer.js +1 -2
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.d.ts +2 -0
- package/esm/series/area/area.js +54 -38
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +4 -4
- package/esm/series/bar/bar.js +68 -62
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -1
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series-transformer.js +7 -4
- package/esm/series/base/base-series-transformer.js.map +1 -1
- package/esm/series/base/base-series.d.ts +8 -7
- package/esm/series/base/base-series.js +50 -35
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.js +1 -0
- package/esm/series/base/constant.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/box-plot.d.ts +1 -0
- package/esm/series/box-plot/box-plot.js +9 -5
- package/esm/series/box-plot/box-plot.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 +4 -4
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/correlation/correlation.d.ts +1 -0
- package/esm/series/correlation/correlation.js +16 -6
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.d.ts +0 -1
- package/esm/series/dot/dot.js +7 -8
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.d.ts +8 -2
- package/esm/series/dot/tooltip-helper.js +42 -52
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d.js +2 -1
- package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +2 -0
- package/esm/series/funnel/funnel.js +35 -27
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +3 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js +3 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +1 -1
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/gauge/pointer-tooltip-helper.d.ts +6 -0
- package/esm/series/gauge/pointer-tooltip-helper.js +8 -0
- package/esm/series/gauge/pointer-tooltip-helper.js.map +1 -0
- package/esm/series/heatmap/heatmap.js +10 -10
- package/esm/series/heatmap/heatmap.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/common.d.ts +1 -9
- package/esm/series/interface/common.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/line/line.js +2 -2
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +7 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/link/tooltip-helper.d.ts +5 -2
- package/esm/series/link/tooltip-helper.js +26 -38
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/liquid/liquid.js +11 -6
- package/esm/series/liquid/liquid.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/map/map.d.ts +1 -0
- package/esm/series/map/map.js +7 -2
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +2 -2
- package/esm/series/mixin/line-mixin.js +15 -14
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/3d/pie-3d.js +3 -1
- package/esm/series/pie/3d/pie-3d.js.map +1 -1
- package/esm/series/pie/interface.d.ts +3 -3
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -0
- package/esm/series/pie/pie.js +24 -13
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/animation.d.ts +9 -11
- package/esm/series/polar/animation.js +27 -35
- package/esm/series/polar/animation.js.map +1 -1
- package/esm/series/polar/polar.js +9 -1
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js +28 -23
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js +6 -4
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.js +10 -8
- package/esm/series/progress/linear/linear.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/radar/animation.d.ts +0 -3
- package/esm/series/radar/animation.js +4 -4
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/radar.js +18 -14
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +4 -3
- package/esm/series/range-area/range-area.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/range-column.js +5 -4
- package/esm/series/range-column/range-column.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/rose/rose.js +5 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +1 -0
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -2
- package/esm/series/sankey/sankey.js +18 -6
- package/esm/series/sankey/sankey.js.map +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/series/scatter/scatter.js +8 -10
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +3 -2
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/treemap.js +6 -4
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +1 -0
- package/esm/series/waterfall/waterfall.js +7 -2
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.js +36 -23
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +2 -1
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/common/component/title.js.map +1 -1
- package/esm/theme/builtin/common/mark.js +2 -0
- package/esm/theme/builtin/common/mark.js.map +1 -1
- package/esm/theme/builtin/common/series/linear-progress.js +4 -1
- package/esm/theme/builtin/common/series/linear-progress.js.map +1 -1
- package/esm/theme/builtin/dark/color-scheme.js +2 -1
- package/esm/theme/builtin/dark/color-scheme.js.map +1 -1
- package/esm/theme/builtin/light/color-scheme.js +2 -1
- package/esm/theme/builtin/light/color-scheme.js.map +1 -1
- package/esm/typings/spec/common.d.ts +10 -5
- 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/esm/util/array.d.ts +1 -1
- package/esm/util/array.js +5 -4
- package/esm/util/array.js.map +1 -1
- package/esm/util/math.d.ts +1 -0
- package/esm/util/math.js +4 -0
- package/esm/util/math.js.map +1 -1
- package/esm/util/scale.d.ts +1 -1
- package/esm/util/scale.js +2 -2
- package/esm/util/scale.js.map +1 -1
- package/package.json +17 -17
- 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 -27
- package/cjs/model/tooltip-helper.js +0 -22
- 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 -27
- package/esm/model/tooltip-helper.js +0 -14
- package/esm/model/tooltip-helper.js.map +0 -1
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.TOOLTIP_TYPES = exports.TOOLTIP_OTHERS_LINE = exports.TOOLTIP_MAX_LINE_COUNT = exports.TOOLTIP_EL_CLASS_NAME = exports.TooltipHandlerType = void 0;
|
|
5
|
+
}), exports.DEFAULT_SHOW_DELAY = exports.TOOLTIP_TYPES = exports.TOOLTIP_OTHERS_LINE = exports.TOOLTIP_MAX_LINE_COUNT = exports.TOOLTIP_EL_CLASS_NAME = exports.TooltipHandlerType = void 0;
|
|
6
6
|
|
|
7
7
|
const base_1 = require("../../constant/base");
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
exports.
|
|
9
|
+
exports.TooltipHandlerType = {
|
|
10
|
+
dom: `${base_1.PREFIX}_TOOLTIP_HANDLER_DOM`,
|
|
11
|
+
canvas: `${base_1.PREFIX}_TOOLTIP_HANDLER_CANVAS`
|
|
12
|
+
}, exports.TOOLTIP_EL_CLASS_NAME = "vchart-tooltip-element", exports.TOOLTIP_MAX_LINE_COUNT = 20,
|
|
13
|
+
exports.TOOLTIP_OTHERS_LINE = {
|
|
14
14
|
key: "其他",
|
|
15
15
|
value: "..."
|
|
16
|
-
}, exports.TOOLTIP_TYPES = [ "group", "mark", "dimension" ];
|
|
16
|
+
}, exports.TOOLTIP_TYPES = [ "group", "mark", "dimension" ], exports.DEFAULT_SHOW_DELAY = 50;
|
|
17
17
|
//# sourceMappingURL=constant.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/constant.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/constant.ts"],"names":[],"mappings":";;;AAAA,8CAA6C;AAGhC,QAAA,kBAAkB,GAAG;IAChC,GAAG,EAAE,GAAG,aAAM,sBAAsB;IACpC,MAAM,EAAE,GAAG,aAAM,yBAAyB;CAC3C,CAAC;AAEW,QAAA,qBAAqB,GAAG,wBAAwB,CAAC;AAEjD,QAAA,sBAAsB,GAAG,EAAE,CAAC;AAE5B,QAAA,mBAAmB,GAAG;IAEjC,GAAG,EAAE,IAAI;IACT,KAAK,EAAE,KAAK;CACS,CAAC;AAEX,QAAA,aAAa,GAAwB,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC;AAEpE,QAAA,kBAAkB,GAAG,EAAE,CAAC","file":"constant.js","sourcesContent":["import { PREFIX } from '../../constant/base';\nimport type { ITooltipLineActual, TooltipActiveType } from '../../typings';\n\nexport const TooltipHandlerType = {\n dom: `${PREFIX}_TOOLTIP_HANDLER_DOM`, // 模拟 enum\n canvas: `${PREFIX}_TOOLTIP_HANDLER_CANVAS`\n};\n\nexport const TOOLTIP_EL_CLASS_NAME = 'vchart-tooltip-element';\n\nexport const TOOLTIP_MAX_LINE_COUNT = 20;\n\nexport const TOOLTIP_OTHERS_LINE = {\n // TODO: i18n\n key: '其他',\n value: '...'\n} as ITooltipLineActual;\n\nexport const TOOLTIP_TYPES: TooltipActiveType[] = ['group', 'mark', 'dimension'];\n\nexport const DEFAULT_SHOW_DELAY = 50;\n"]}
|
|
@@ -7,7 +7,7 @@ export type TooltipHandlerParams = DimensionEventParams & {
|
|
|
7
7
|
changePositionOnly?: boolean;
|
|
8
8
|
tooltip: ITooltip;
|
|
9
9
|
tooltipSpec?: ITooltipSpec;
|
|
10
|
-
|
|
10
|
+
activeTooltipSpec?: ITooltipActual;
|
|
11
11
|
groupDatum?: Datum[];
|
|
12
12
|
};
|
|
13
13
|
export interface ITooltipActiveTypeAsKeys<T, K, U> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/common.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/common.ts"],"names":[],"mappings":";;;AA+BA,IAAkB,aAKjB;AALD,WAAkB,aAAa;IAE7B,uDAAW,CAAA;IAEX,qDAAU,CAAA;AACZ,CAAC,EALiB,aAAa,GAAb,qBAAa,KAAb,qBAAa,QAK9B","file":"common.js","sourcesContent":["import type { DimensionEventParams } from '../../../event/events/dimension/interface';\nimport type { DimensionTooltipInfo, GroupTooltipInfo, MarkTooltipInfo } from '../processor/interface';\nimport type { Datum, IShowTooltipOption, ITooltipActual } from '../../../typings';\nimport type { IComponent } from '../../interface';\nimport type { ITooltipSpec } from './spec';\n\nexport type TooltipHandlerParams = DimensionEventParams & {\n /** 本次触发的 tooltip 是否只改变了位置 */\n changePositionOnly?: boolean;\n /** tooltip 组件实例 */\n tooltip: ITooltip;\n /** tooltip 原始的spec */\n tooltipSpec?: ITooltipSpec;\n /** TODO: 本次触发的tooltip,主要包含pattern数据,待优化 */\n activeTooltipSpec?: ITooltipActual;\n // Pick<ITooltipSpec, 'activeType' | 'dimension' | 'mark' | 'group' | 'visible' | 'handler'>;\n /** 和 datum 同组的数据项 */\n groupDatum?: Datum[];\n};\n\nexport interface ITooltipActiveTypeAsKeys<T, K, U> {\n mark?: T;\n dimension?: K;\n group?: U;\n}\n\nexport type TotalMouseEventData = {\n tooltipInfo: Partial<ITooltipActiveTypeAsKeys<MarkTooltipInfo, DimensionTooltipInfo, GroupTooltipInfo>>;\n ignore: Partial<ITooltipActiveTypeAsKeys<boolean, boolean, boolean>>;\n};\n\nexport const enum TooltipResult {\n /** tooltip 显示成功 */\n success = 0,\n /** tooltip 未成功显示 */\n failed = 1\n}\n\nexport interface ITooltip extends IComponent {\n getVisible: () => boolean;\n showTooltip: (datum: Datum, options: IShowTooltipOption) => void;\n}\n"]}
|
|
@@ -1,11 +1,24 @@
|
|
|
1
|
+
import type { EventSourceType, EventType } from '../../../event/interface';
|
|
1
2
|
import type { IGroupTooltipPattern, ITooltipActual, ITooltipPattern, Maybe, MaybeArray, TooltipActiveType, TooltipData } from '../../../typings';
|
|
2
3
|
import type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';
|
|
3
4
|
import type { ITooltipTheme } from './theme';
|
|
4
|
-
export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern
|
|
5
|
+
export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern & {
|
|
6
|
+
checkOverlap?: boolean;
|
|
7
|
+
}, ITooltipPattern, IGroupTooltipPattern>> {
|
|
5
8
|
visible?: boolean;
|
|
6
9
|
activeType?: TooltipActiveType | TooltipActiveType[];
|
|
7
|
-
trigger?: MaybeArray<'hover' | 'click'
|
|
8
|
-
|
|
10
|
+
trigger?: MaybeArray<'hover' | 'click' | {
|
|
11
|
+
eventType: EventType;
|
|
12
|
+
source?: EventSourceType;
|
|
13
|
+
consume?: boolean;
|
|
14
|
+
}> | 'none';
|
|
15
|
+
triggerOff?: MaybeArray<'hover' | 'click' | {
|
|
16
|
+
eventType: EventType;
|
|
17
|
+
source?: EventSourceType;
|
|
18
|
+
consume?: boolean;
|
|
19
|
+
checkOutside?: boolean;
|
|
20
|
+
}> | 'none';
|
|
21
|
+
showDelay?: number;
|
|
9
22
|
hideTimer?: number;
|
|
10
23
|
lockAfterClick?: boolean;
|
|
11
24
|
style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;
|
|
@@ -23,9 +36,16 @@ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipP
|
|
|
23
36
|
y?: number;
|
|
24
37
|
};
|
|
25
38
|
}
|
|
39
|
+
type ISeriesToolipPattern = Pick<ITooltipPattern, 'visible' | 'title' | 'content' | 'hasShape' | 'shapeColor' | 'shapeFill' | 'shapeHollow' | 'shapeLineWidth' | 'shapeSize' | 'shapeStroke' | 'shapeType' | 'updateContent' | 'updateTitle' | 'updatePosition'>;
|
|
40
|
+
export interface ISeriesTooltipSpec extends Pick<ITooltipSpec, 'visible' | 'activeType' | 'handler'> {
|
|
41
|
+
dimension?: ISeriesToolipPattern;
|
|
42
|
+
mark?: ISeriesToolipPattern;
|
|
43
|
+
group?: Pick<IGroupTooltipPattern, 'triggerMark'> & ISeriesToolipPattern;
|
|
44
|
+
}
|
|
26
45
|
export interface ITooltipHandlerSpec {
|
|
27
46
|
showTooltip: (activeType: TooltipActiveType, tooltipData: TooltipData, params: TooltipHandlerParams) => Maybe<TooltipResult>;
|
|
28
47
|
hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;
|
|
29
48
|
release: () => void;
|
|
30
49
|
isTooltipShown?: () => boolean;
|
|
31
50
|
}
|
|
51
|
+
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type {\n IGroupTooltipPattern,\n ITooltipActual,\n ITooltipPattern,\n Maybe,\n MaybeArray,\n TooltipActiveType,\n TooltipData\n} from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';\nimport type { ITooltipTheme } from './theme';\n\nexport interface ITooltipSpec\n extends Partial<\n /**\n * mark tooltip pattern\n * & dimension tooltip pattern\n * (*支持在series上设置)\n */\n ITooltipActiveTypeAsKeys
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { EventSourceType, EventType } from '../../../event/interface';\nimport type {\n IGroupTooltipPattern,\n ITooltipActual,\n ITooltipPattern,\n Maybe,\n MaybeArray,\n TooltipActiveType,\n TooltipData\n} from '../../../typings';\nimport type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';\nimport type { ITooltipTheme } from './theme';\n\nexport interface ITooltipSpec\n extends Partial<\n /**\n * mark tooltip pattern\n * & dimension tooltip pattern\n * (*支持在series上设置)\n */\n ITooltipActiveTypeAsKeys<\n ITooltipPattern & {\n checkOverlap?: boolean;\n },\n ITooltipPattern,\n IGroupTooltipPattern\n >\n > {\n /**\n * 是否显示\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n visible?: boolean;\n /**\n * 受支持的激活类型\n * (*支持在series上设置)\n * (*会影响自定义handler)\n */\n activeType?: TooltipActiveType | TooltipActiveType[];\n /**\n * tooltip触发方式\n * (*会影响自定义handler)\n * @since 1.12.10 支持自定义的事件触发\n */\n trigger?:\n | MaybeArray<'hover' | 'click' | { eventType: EventType; source?: EventSourceType; consume?: boolean }>\n | 'none';\n /**\n * 隐藏tooltip的触发方式(目前仅支持和trigger一致的设置以及none)\n * (*会影响自定义handler)\n * @since 1.12.10 支持自定义的事件触发\n */\n triggerOff?:\n | MaybeArray<\n | 'hover'\n | 'click'\n | { eventType: EventType; source?: EventSourceType; consume?: boolean; checkOutside?: boolean }\n >\n | 'none';\n /**\n * 当设置了`enterable: true`,且 trigger类型为`hover`的时候,为了方便鼠标进入提示信息的内容区域,设置的显示延迟时长\n * 其他情况设置无效\n * @since 1.12.8\n */\n showDelay?: number;\n\n /**\n * 隐藏计时器\n * @since 1.11.7\n */\n hideTimer?: number;\n /**\n * 点击后锁定,只有点击才可以更新位置或者解锁,通常用于 trigger 为 `['hover', 'click']` 的场景\n * (*会影响自定义handler)\n * @since 1.10.0\n */\n lockAfterClick?: boolean;\n /**\n * tooltip样式\n */\n style?: Omit<ITooltipTheme<string>, 'offset' | 'transitionDuration'>;\n\n /**\n * 自定义handler方法\n */\n handler?: Partial<ITooltipHandlerSpec>;\n\n /**\n * tooltip 渲染方式,默认为 html\n */\n renderMode?: 'html' | 'canvas';\n /**\n * 是否将 tooltip 框限制在画布区域内,renderMode 为 canvas 时,默认开启。\n */\n confine?: boolean;\n\n /**\n * tooltip dom元素的 className,仅当 renderMode: 'html' 时生效\n */\n className?: string;\n /**\n * tooltip dom 元素的挂载点,可传 id 或 dom 对象\n */\n parentElement?: Maybe<string | HTMLElement | HTMLCanvasElement>;\n /**\n * 鼠标是否可进入提示框浮层中,默认为false,如需详情内交互,如添加链接,按钮,可设置为 true。\n * 该属性目前只对 renderMode 为 html 时生效\n * TODO: 支持 renderMode: canvas\n */\n enterable?: boolean;\n\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n */\n transitionDuration?: number;\n\n /**\n * 更新 tooltip 的防抖动时间间隔,单位是 ms\n */\n throttleInterval?: number;\n\n /**\n * 更新 tooltip dom 元素,仅当 renderMode: 'html' 时生效\n * @since 1.6.0\n */\n updateElement?: (tooltipElement: HTMLElement, actualTooltip: ITooltipActual, params: TooltipHandlerParams) => void;\n\n offset?: {\n x?: number;\n y?: number;\n };\n}\n\ntype ISeriesToolipPattern = Pick<\n ITooltipPattern,\n | 'visible'\n | 'title'\n | 'content'\n | 'hasShape'\n | 'shapeColor'\n | 'shapeFill'\n | 'shapeHollow'\n | 'shapeLineWidth'\n | 'shapeSize'\n | 'shapeStroke'\n | 'shapeType'\n | 'updateContent'\n | 'updateTitle'\n | 'updatePosition'\n>;\n\n/**\n * 系列上的tooltip配置,优先级高于全局tooltip配置\n * 对于visible相当配置,系列tooltip只能关闭,不能覆盖全局tooltip配置\n */\nexport interface ISeriesTooltipSpec extends Pick<ITooltipSpec, 'visible' | 'activeType' | 'handler'> {\n dimension?: ISeriesToolipPattern;\n mark?: ISeriesToolipPattern;\n group?: Pick<IGroupTooltipPattern, 'triggerMark'> & ISeriesToolipPattern;\n}\n\nexport interface ITooltipHandlerSpec {\n /** 显示 tooltip,可以选择返回是否遇到异常 */\n showTooltip: (\n activeType: TooltipActiveType,\n tooltipData: TooltipData,\n params: TooltipHandlerParams\n ) => Maybe<TooltipResult>;\n /** 隐藏 tooltip,可以选择返回是否遇到异常 */\n hideTooltip: (params: TooltipHandlerParams) => Maybe<TooltipResult>;\n /** 释放 tooltip */\n release: () => void;\n /** 可选,判断 tooltip 是否正在显示 */\n isTooltipShown?: () => boolean;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITextAttribute } from '@visactor/vrender-core';
|
|
2
2
|
import type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';
|
|
3
3
|
import type { Padding } from '@visactor/vrender-components';
|
|
4
4
|
import type { ITokenKey } from '../../../theme/token';
|
|
@@ -14,7 +14,7 @@ export interface ITooltipTextTheme<ColorType = string> {
|
|
|
14
14
|
spacing?: number;
|
|
15
15
|
multiLine?: boolean;
|
|
16
16
|
maxWidth?: number;
|
|
17
|
-
wordBreak?:
|
|
17
|
+
wordBreak?: ITextAttribute['wordBreak'];
|
|
18
18
|
autoWidth?: boolean;
|
|
19
19
|
}
|
|
20
20
|
export interface ITooltipTheme<ColorType = string> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ITextAttribute } from '@visactor/vrender-core';\nimport type { ITooltipShapePattern, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';\nimport type { Padding } from '@visactor/vrender-components';\nimport type { ITokenKey } from '../../../theme/token';\n\nexport interface ITooltipTextTheme<ColorType = string> {\n /** 字体 */\n fontFamily?: string;\n /** 字体大小 */\n fontSize?: number | ITokenKey;\n /** 字体颜色 */\n fill?: ColorType;\n /** @deprecated 字体颜色(兼容旧版本) */\n fontColor?: ColorType;\n /** 字重 */\n fontWeight?: StringOrNumber;\n /** 对齐方式 */\n textAlign?: TextAlign;\n /** 字体基线 */\n textBaseline?: TextBaseLine;\n /** 行高 */\n lineHeight?: number | string | ITokenKey;\n /** 与相邻元素的水平间距 */\n spacing?: number;\n /** 是否支持换行 */\n multiLine?: boolean;\n /** 最大宽度 */\n maxWidth?: number;\n /** 换行模式,默认为'break-word' */\n wordBreak?: ITextAttribute['wordBreak'];\n /**\n * 是否开启自动宽度。效果分为以下几种情况:\n * - tooltip 标题:`autoWidth` 默认为 `false`。如果配置为 `true`,则 tooltip 标题会保持和 tooltip 内容一致的宽度\n * - tooltip key 标签:`autoWidth` 不适用\n * - tooltip value 标签:`autoWidth` 默认为 `true`。如果配置为 `true`,则 tooltip value 标签会自动占满 tooltip 整体宽度的剩余部分\n * @since 1.4.2\n */\n autoWidth?: boolean;\n}\n\nexport interface ITooltipTheme<ColorType = string> {\n /** 容器样式配置 */\n panel?: {\n /** tooltip 容器内边距 */\n padding?: Padding;\n /** 背景色 */\n backgroundColor?: ColorType;\n /** tooltip边框 */\n border?: {\n color?: ColorType;\n width?: number;\n /** 圆角 */\n radius?: number;\n };\n /** tooltip阴影 */\n shadow?: {\n x: number;\n y: number;\n blur: number;\n spread: number;\n color: ColorType;\n };\n };\n shape?: {\n /** 标记大小 */\n size?: number;\n /** shape 与相邻元素的水平间距 */\n spacing?: number;\n } & Omit<ITooltipShapePattern, 'seriesId'>;\n /** tooltip标题 */\n titleLabel?: ITooltipTextTheme<ColorType>;\n /** tooltip内容,key字段 */\n keyLabel?: Omit<ITooltipTextTheme<ColorType>, 'autoWidth'>;\n /** tooltip内容,value字段 */\n valueLabel?: ITooltipTextTheme<ColorType>;\n /** 内容项行间距 */\n spaceRow?: number;\n /**\n * 最大内容区高度,内容区若超过该高度将显示局部滚动条(适用于 dom tooltip)\n * @since 1.9.0\n */\n maxContentHeight?: number;\n /** 偏移量 */\n offset?: {\n x?: number;\n y?: number;\n };\n /**\n * 浮层移动动画过渡时间,单位是 ms,设置为 0 的时候会紧跟着鼠标移动(目前仅影响 dom tooltip)\n * @since 1.11.9\n */\n transitionDuration?: number;\n /**\n * @since 1.11.5\n *\n * shape、key、value的对齐方式,可选项如下:\n * 'left': 从左到右对齐\n * 'right': 从右到左对齐\n */\n align?: 'left' | 'right';\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BaseEventParams } from '../../../event/interface';
|
|
2
2
|
import type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';
|
|
3
|
-
import type {
|
|
3
|
+
import type { TooltipHandlerParams } from '../interface';
|
|
4
4
|
import { TooltipResult } from '../interface/common';
|
|
5
5
|
import type { Tooltip } from '../tooltip';
|
|
6
6
|
import type { MouseEventData, TooltipInfo } from './interface';
|
|
@@ -8,15 +8,13 @@ import type { IDimensionInfo } from '../../../event/events/dimension';
|
|
|
8
8
|
export declare abstract class BaseTooltipProcessor {
|
|
9
9
|
readonly component: Tooltip;
|
|
10
10
|
abstract activeType: TooltipActiveType;
|
|
11
|
-
protected
|
|
12
|
-
protected _cacheActualTooltip: ITooltipActual | undefined;
|
|
11
|
+
protected _cacheActiveSpec: ITooltipActual | undefined;
|
|
13
12
|
constructor(component: Tooltip);
|
|
14
13
|
abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;
|
|
15
14
|
abstract getMouseEventData(params: BaseEventParams): MouseEventData;
|
|
16
15
|
protected _showTooltipByHandler: (data: TooltipData | undefined, params: TooltipHandlerParams) => TooltipResult;
|
|
17
16
|
protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined;
|
|
18
|
-
protected _updateViewSpec(params: TooltipHandlerParams): void;
|
|
19
|
-
|
|
20
|
-
shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean;
|
|
17
|
+
protected _updateViewSpec(data: TooltipData, params: TooltipHandlerParams): void;
|
|
18
|
+
shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean;
|
|
21
19
|
clearCache(): void;
|
|
22
20
|
}
|
|
@@ -4,21 +4,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.BaseTooltipProcessor = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"), event_1 = require("../../../constant/event"), get_spec_1 = require("../utils/get-spec"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), event_1 = require("../../../constant/event"), get_spec_1 = require("../utils/get-spec"), common_1 = require("../utils/common"), constant_1 = require("../constant");
|
|
8
8
|
|
|
9
9
|
class BaseTooltipProcessor {
|
|
10
10
|
constructor(component) {
|
|
11
11
|
this._showTooltipByHandler = (data, params) => {
|
|
12
12
|
var _a, _b, _c;
|
|
13
13
|
if ((0, vutils_1.isNil)(data)) return 1;
|
|
14
|
-
params.changePositionOnly || this.clearCache(), this._updateViewSpec(params);
|
|
15
|
-
const spec = this.
|
|
16
|
-
if ((0, vutils_1.isNil)(
|
|
17
|
-
params.tooltipSpec =
|
|
18
|
-
const {title: title, content: content} =
|
|
19
|
-
vutils_1.isNil)(null == title ? void 0 : title.
|
|
14
|
+
params.changePositionOnly || this.clearCache(), this._updateViewSpec(data, params);
|
|
15
|
+
const spec = this._cacheActiveSpec;
|
|
16
|
+
if ((0, vutils_1.isNil)(spec) || !1 === spec.visible) return 1;
|
|
17
|
+
params.tooltipSpec = this.component.getSpec(), params.activeTooltipSpec = spec;
|
|
18
|
+
const {title: title, content: content} = spec, isEmpty = (0, vutils_1.isNil)(null == title ? void 0 : title.key) && (0,
|
|
19
|
+
vutils_1.isNil)(null == title ? void 0 : title.value) && !(null == content ? void 0 : content.length);
|
|
20
20
|
if (this.component.event.emit(event_1.ChartEvent.tooltipShow, Object.assign(Object.assign({}, params), {
|
|
21
|
-
isEmptyTooltip:
|
|
21
|
+
isEmptyTooltip: isEmpty,
|
|
22
22
|
tooltipData: data,
|
|
23
23
|
activeType: this.activeType,
|
|
24
24
|
tooltip: this.component
|
|
@@ -40,33 +40,29 @@ class BaseTooltipProcessor {
|
|
|
40
40
|
di.data.length > 0 && newDimensionInfo.push(di);
|
|
41
41
|
})), newDimensionInfo.length > 0) return newDimensionInfo;
|
|
42
42
|
}
|
|
43
|
-
_updateViewSpec(params) {
|
|
44
|
-
|
|
45
|
-
changePositionOnly
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
const {title: title, content: content} = this._cacheActualTooltip;
|
|
59
|
-
this._cacheActualTooltip.title = null !== (_b = null === (_a = pattern.updateTitle) || void 0 === _a ? void 0 : _a.call(pattern, title, data, params)) && void 0 !== _b ? _b : title,
|
|
60
|
-
this._cacheActualTooltip.content = null !== (_d = null === (_c = pattern.updateContent) || void 0 === _c ? void 0 : _c.call(pattern, content, data, params)) && void 0 !== _d ? _d : content;
|
|
43
|
+
_updateViewSpec(data, params) {
|
|
44
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
45
|
+
const {changePositionOnly: changePositionOnly, model: model} = params;
|
|
46
|
+
if (!changePositionOnly || !this._cacheActiveSpec) {
|
|
47
|
+
const tooltipSpec = this.component.getSpec();
|
|
48
|
+
if (this._cacheActiveSpec = (0, get_spec_1.getTooltipSpecForShow)(this.activeType, this.component.getSpec(), model, data, params),
|
|
49
|
+
this._cacheActiveSpec) {
|
|
50
|
+
(0, vutils_1.isNil)(this._cacheActiveSpec.handler) && (0, vutils_1.isValid)(tooltipSpec.handler) && (this._cacheActiveSpec.handler = tooltipSpec.handler);
|
|
51
|
+
const specByType = null !== (_a = tooltipSpec[this.activeType]) && void 0 !== _a ? _a : {}, updateTitle = null !== (_b = this._cacheActiveSpec.updateTitle) && void 0 !== _b ? _b : specByType.updateTitle, updateContent = null !== (_c = this._cacheActiveSpec.updateContent) && void 0 !== _c ? _c : specByType.updateContent, maxLineCount = null !== (_e = null !== (_d = this._cacheActiveSpec.maxLineCount) && void 0 !== _d ? _d : specByType.maxLineCount) && void 0 !== _e ? _e : constant_1.TOOLTIP_MAX_LINE_COUNT;
|
|
52
|
+
if (updateTitle && (this._cacheActiveSpec.title = null !== (_f = updateTitle(this._cacheActiveSpec.title, data, params)) && void 0 !== _f ? _f : this._cacheActiveSpec.title),
|
|
53
|
+
updateContent) this._cacheActiveSpec.content = null !== (_g = updateContent(this._cacheActiveSpec.content, data, params)) && void 0 !== _g ? _g : this._cacheActiveSpec.content; else if (maxLineCount >= 1 && (null === (_h = this._cacheActiveSpec.content) || void 0 === _h ? void 0 : _h.length) > maxLineCount) {
|
|
54
|
+
const othersLine = null !== (_j = this._cacheActiveSpec.othersLine) && void 0 !== _j ? _j : specByType.othersLine, otherLine = othersLine ? Object.assign(Object.assign({}, constant_1.TOOLTIP_OTHERS_LINE), othersLine) : constant_1.TOOLTIP_OTHERS_LINE;
|
|
55
|
+
this._cacheActiveSpec.content = [ ...this._cacheActiveSpec.content.slice(0, maxLineCount - 1), Object.assign(Object.assign({}, this._cacheActiveSpec.content[maxLineCount - 1]), otherLine) ];
|
|
56
|
+
}
|
|
57
|
+
}
|
|
61
58
|
}
|
|
62
59
|
}
|
|
63
|
-
shouldHandleTooltip(params,
|
|
60
|
+
shouldHandleTooltip(params, info) {
|
|
64
61
|
var _a, _b;
|
|
65
|
-
const {tooltipInfo: info} = mouseEventData;
|
|
66
62
|
return !(0, vutils_1.isNil)(info) && (0, common_1.isActiveTypeVisible)(this.activeType, null === (_b = null === (_a = params.model) || void 0 === _a ? void 0 : _a.tooltipHelper) || void 0 === _b ? void 0 : _b.spec);
|
|
67
63
|
}
|
|
68
64
|
clearCache() {
|
|
69
|
-
this.
|
|
65
|
+
this._cacheActiveSpec = void 0;
|
|
70
66
|
}
|
|
71
67
|
}
|
|
72
68
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../../event/interface';\nimport type { ITooltipActual, ITooltipPattern, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { TooltipResult } from '../interface/common';\nimport type { Tooltip } from '../tooltip';\nimport type { MouseEventData, TooltipInfo } from './interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { TooltipEventParams } from '../interface/event';\nimport type { IDimensionInfo } from '../../../event/events/dimension';\nimport type { ISeries } from '../../../series/interface';\nimport { getTooltipSpecForShow } from '../utils/get-spec';\nimport { getShowContent } from '../utils/compose';\nimport { getTooltipPatternValue } from '../utils/get-value';\nimport { isActiveTypeVisible } from '../utils/common';\n\nexport abstract class BaseTooltipProcessor {\n readonly component: Tooltip;\n abstract activeType: TooltipActiveType;\n\n protected _cacheViewSpec: ITooltipSpec | undefined;\n protected _cacheActualTooltip: ITooltipActual | undefined;\n\n constructor(component: Tooltip) {\n this.component = component;\n }\n\n /** 触发对应类型的 tooltip */\n abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;\n /** 获取触发 tooltip 需要的信息 */\n abstract getMouseEventData(params: BaseEventParams): MouseEventData;\n\n protected _showTooltipByHandler = (data: TooltipData | undefined, params: TooltipHandlerParams): TooltipResult => {\n if (isNil(data)) {\n return TooltipResult.failed;\n }\n\n if (!params.changePositionOnly) {\n this.clearCache();\n }\n\n // 更新 this._cacheViewSpec\n this._updateViewSpec(params);\n const spec = this._cacheViewSpec;\n if (isNil(spec?.[this.activeType]) || spec.visible === false) {\n return TooltipResult.failed;\n }\n params.tooltipSpec = spec;\n\n // 更新 this._cacheActualTooltip\n this._updateActualTooltip(data, params);\n params.tooltipActual = this._cacheActualTooltip;\n\n // 判断 tooltip 是否为空\n const { title, content } = this._cacheActualTooltip;\n\n const isEmpty = isNil(title?.key) && isNil(title?.value) && !content?.length;\n // 触发事件\n this.component.event.emit(ChartEvent.tooltipShow, {\n ...params,\n isEmptyTooltip: isNil(title?.key) && isNil(title?.value) && !content?.length,\n tooltipData: data,\n activeType: this.activeType,\n tooltip: this.component\n } as TooltipEventParams);\n\n if (isEmpty) {\n return TooltipResult.failed;\n }\n\n // 显示 tooltip\n let showTooltip;\n if (spec.handler?.showTooltip) {\n showTooltip = spec.handler.showTooltip.bind(spec.handler);\n } else if (this.component.tooltipHandler?.showTooltip) {\n showTooltip = this.component.tooltipHandler.showTooltip.bind(this.component.tooltipHandler);\n }\n if (showTooltip) {\n return showTooltip(this.activeType, data, params) ?? TooltipResult.success;\n }\n return TooltipResult.failed;\n };\n\n protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined {\n const newDimensionInfo: IDimensionInfo[] = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n\n /**\n * 合成实际显示的 tooltip spec\n * @param params\n */\n protected _updateViewSpec(params: TooltipHandlerParams) {\n const { changePositionOnly, model, dimensionInfo } = params;\n if (!changePositionOnly || !this._cacheViewSpec) {\n /** spec 预处理 */\n this._cacheViewSpec = getTooltipSpecForShow(\n this.activeType,\n this.component.getSpec(),\n model as ISeries,\n dimensionInfo\n );\n }\n }\n\n /**\n * 合成 tooltip 内容\n * @param data\n * @param params\n * @param changePositionOnly\n */\n protected _updateActualTooltip(data: TooltipData, params: TooltipHandlerParams) {\n const pattern = this._cacheViewSpec[this.activeType] as ITooltipPattern;\n const { changePositionOnly } = params;\n\n if (!changePositionOnly || !this._cacheActualTooltip) {\n // 合成 tooltip 内容\n const tooltipContent = getShowContent(pattern, data, params);\n\n // 判断可见性\n const visible = isValid(tooltipContent) ? getTooltipPatternValue(pattern.visible, data, params) !== false : false; // 最终展示数据为 null 则不展示\n\n this._cacheActualTooltip = {\n ...tooltipContent,\n visible,\n activeType: pattern.activeType,\n data\n };\n\n const { title, content } = this._cacheActualTooltip;\n this._cacheActualTooltip.title = pattern.updateTitle?.(title, data, params) ?? title;\n this._cacheActualTooltip.content = pattern.updateContent?.(content, data, params) ?? content;\n }\n }\n\n /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean {\n const { tooltipInfo: info } = mouseEventData;\n if (isNil(info)) {\n return false;\n }\n\n return isActiveTypeVisible(this.activeType, (params.model as ISeries)?.tooltipHelper?.spec);\n }\n\n clearCache() {\n this._cacheViewSpec = undefined;\n this._cacheActualTooltip = undefined;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../../event/interface';\nimport type { ITooltipActual, TooltipActiveType, TooltipData } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { TooltipResult } from '../interface/common';\nimport type { Tooltip } from '../tooltip';\nimport type { MouseEventData, TooltipInfo } from './interface';\nimport { ChartEvent } from '../../../constant/event';\nimport type { TooltipEventParams } from '../interface/event';\nimport type { IDimensionInfo } from '../../../event/events/dimension';\nimport type { ISeries } from '../../../series/interface';\nimport { getTooltipSpecForShow } from '../utils/get-spec';\nimport { isActiveTypeVisible } from '../utils/common';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constant';\n\nexport abstract class BaseTooltipProcessor {\n readonly component: Tooltip;\n abstract activeType: TooltipActiveType;\n\n protected _cacheActiveSpec: ITooltipActual | undefined;\n\n constructor(component: Tooltip) {\n this.component = component;\n }\n\n /** 触发对应类型的 tooltip */\n abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;\n /** 获取触发 tooltip 需要的信息 */\n abstract getMouseEventData(params: BaseEventParams): MouseEventData;\n\n protected _showTooltipByHandler = (data: TooltipData | undefined, params: TooltipHandlerParams): TooltipResult => {\n if (isNil(data)) {\n return TooltipResult.failed;\n }\n\n if (!params.changePositionOnly) {\n this.clearCache();\n }\n\n // 更新 this._cacheActiveSpec\n this._updateViewSpec(data, params);\n const spec = this._cacheActiveSpec;\n if (isNil(spec) || spec.visible === false) {\n return TooltipResult.failed;\n }\n params.tooltipSpec = this.component.getSpec();\n params.activeTooltipSpec = spec;\n\n // 判断 tooltip 是否为空\n const { title, content } = spec;\n\n const isEmpty = isNil(title?.key) && isNil(title?.value) && !content?.length;\n // 触发事件\n this.component.event.emit(ChartEvent.tooltipShow, {\n ...params,\n isEmptyTooltip: isEmpty,\n tooltipData: data,\n activeType: this.activeType,\n tooltip: this.component\n } as TooltipEventParams);\n\n if (isEmpty) {\n return TooltipResult.failed;\n }\n\n // 显示 tooltip\n let showTooltip;\n if (spec.handler?.showTooltip) {\n showTooltip = spec.handler.showTooltip.bind(spec.handler);\n } else if (this.component.tooltipHandler?.showTooltip) {\n showTooltip = this.component.tooltipHandler.showTooltip.bind(this.component.tooltipHandler);\n }\n if (showTooltip) {\n return showTooltip(this.activeType, data, params) ?? TooltipResult.success;\n }\n return TooltipResult.failed;\n };\n\n protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined {\n const newDimensionInfo: IDimensionInfo[] = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n\n /**\n * 合成实际显示的 tooltip spec\n * @param params\n */\n protected _updateViewSpec(data: TooltipData, params: TooltipHandlerParams) {\n const { changePositionOnly, model } = params;\n if (!changePositionOnly || !this._cacheActiveSpec) {\n const tooltipSpec = this.component.getSpec();\n /** spec 预处理 */\n this._cacheActiveSpec = getTooltipSpecForShow(\n this.activeType,\n this.component.getSpec(),\n model as ISeries,\n data,\n params\n );\n\n if (this._cacheActiveSpec) {\n if (isNil(this._cacheActiveSpec.handler) && isValid(tooltipSpec.handler)) {\n this._cacheActiveSpec.handler = tooltipSpec.handler;\n }\n const specByType = tooltipSpec[this.activeType] ?? {};\n const updateTitle = this._cacheActiveSpec.updateTitle ?? specByType.updateTitle;\n const updateContent = this._cacheActiveSpec.updateContent ?? specByType.updateContent;\n const maxLineCount = this._cacheActiveSpec.maxLineCount ?? specByType.maxLineCount ?? TOOLTIP_MAX_LINE_COUNT;\n\n if (updateTitle) {\n this._cacheActiveSpec.title =\n updateTitle(this._cacheActiveSpec.title, data, params) ?? this._cacheActiveSpec.title;\n }\n\n if (updateContent) {\n this._cacheActiveSpec.content =\n updateContent(this._cacheActiveSpec.content, data, params) ?? this._cacheActiveSpec.content;\n } else if (maxLineCount >= 1 && this._cacheActiveSpec.content?.length > maxLineCount) {\n const othersLine = this._cacheActiveSpec.othersLine ?? specByType.othersLine;\n const otherLine = othersLine\n ? {\n ...TOOLTIP_OTHERS_LINE,\n ...othersLine\n }\n : TOOLTIP_OTHERS_LINE;\n this._cacheActiveSpec.content = [\n ...this._cacheActiveSpec.content.slice(0, maxLineCount - 1),\n {\n ...this._cacheActiveSpec.content[maxLineCount - 1],\n ...otherLine\n }\n ];\n }\n }\n }\n }\n\n /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, info: TooltipInfo): boolean {\n if (isNil(info)) {\n return false;\n }\n\n return isActiveTypeVisible(this.activeType, (params.model as ISeries)?.tooltipHelper?.spec);\n }\n\n clearCache() {\n this._cacheActiveSpec = undefined;\n }\n}\n"]}
|
|
@@ -57,14 +57,9 @@ class DimensionTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
57
57
|
return targetDimensionInfo;
|
|
58
58
|
}
|
|
59
59
|
getMouseEventData(params) {
|
|
60
|
-
var _a;
|
|
61
60
|
return {
|
|
62
61
|
tooltipInfo: this._getDimensionInfo(params),
|
|
63
|
-
ignore:
|
|
64
|
-
var _a;
|
|
65
|
-
const ignoreTriggers = null === (_a = model.tooltipHelper) || void 0 === _a ? void 0 : _a.ignoreTriggerSet.dimension;
|
|
66
|
-
return params.model && (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.model)) || params.mark && (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark));
|
|
67
|
-
}))
|
|
62
|
+
ignore: !1
|
|
68
63
|
};
|
|
69
64
|
}
|
|
70
65
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,6CAA2C;AAE3C,8EAA2F;AAC3F,sEAAmF;AAEnF,6CAA8C;AAE9C,MAAa,yBAA0B,SAAQ,2BAAoB;IAAnE;;QACE,eAAU,GAAsB,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"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","file":"dimension-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { DimensionTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { isValid } from '@visactor/vutils';\nimport type { ICartesianSeries } from '../../../series/interface';\nimport { getCartesianDimensionInfo } from '../../../event/events/dimension/util/cartesian';\nimport { getPolarDimensionInfo } from '../../../event/events/dimension/util/polar';\nimport type { IDimensionData, IDimensionInfo } from '../../../event/events/dimension/interface';\nimport { isDiscrete } from '@visactor/vscale';\n\nexport class DimensionTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'dimension';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: DimensionTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const newParams: TooltipHandlerParams = {\n ...(params as TooltipHandlerParams),\n dimensionInfo: this._preprocessDimensionInfo(info),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(info, newParams);\n }\n\n protected _getDimensionInfo(params: BaseEventParams): IDimensionInfo[] {\n let targetDimensionInfo: IDimensionInfo[] | undefined;\n // 处理dimension info\n const chart = this.component.getChart();\n\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n targetDimensionInfo = [\n ...(getCartesianDimensionInfo(chart, point, true) ?? []),\n ...(getPolarDimensionInfo(chart, point) ?? [])\n ];\n if (targetDimensionInfo.length === 0) {\n targetDimensionInfo = undefined;\n } else if (targetDimensionInfo.length > 1) {\n // 只保留一个轴的dimension info\n const dimensionAxisInfo = targetDimensionInfo.filter(info => {\n const axis = info.axis;\n if (axis.getSpec().hasDimensionTooltip) {\n return true;\n }\n\n // 优先显示离散轴 tooltip\n if (!isDiscrete(axis.getScale().type)) {\n return false;\n }\n // 下面的逻辑用来判断当前的离散轴是不是维度轴\n let firstSeries: ICartesianSeries | undefined;\n for (const region of axis?.getRegions() ?? []) {\n for (const series of region.getSeries()) {\n if (series.coordinate === 'cartesian') {\n firstSeries = series as ICartesianSeries;\n break;\n }\n }\n if (isValid(firstSeries)) {\n break;\n }\n }\n if (isValid(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0]) {\n // 维度轴为Y轴时,选择只显示Y轴tooltip\n return axis.getOrient() === 'left' || axis.getOrient() === 'right';\n }\n // 维度轴为X轴时,选择只显示X轴tooltip\n return axis.getOrient() === 'bottom' || axis.getOrient() === 'top';\n });\n targetDimensionInfo = dimensionAxisInfo.length ? dimensionAxisInfo : targetDimensionInfo.slice(0, 1);\n\n // datum 去重,保证每个系列的每个数据项只对应于一行 tooltip 内容项\n if (targetDimensionInfo.length > 1) {\n const dimensionDataKeySet = new Set<string>();\n targetDimensionInfo.forEach(info => {\n info.data = info.data.filter(({ key }: IDimensionData) => {\n if (dimensionDataKeySet.has(key)) {\n return false;\n }\n dimensionDataKeySet.add(key);\n return true;\n });\n });\n }\n }\n\n return targetDimensionInfo;\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n return {\n tooltipInfo: this._getDimensionInfo(params),\n // 排除被声明要忽略的项\n ignore: false\n };\n }\n}\n"]}
|
|
@@ -23,21 +23,21 @@ class GroupTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
23
23
|
}
|
|
24
24
|
getMouseEventData(params) {
|
|
25
25
|
var _a, _b;
|
|
26
|
-
let info
|
|
26
|
+
let info;
|
|
27
27
|
if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
|
|
28
|
-
const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.group
|
|
29
|
-
if (
|
|
28
|
+
const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.group;
|
|
29
|
+
if (null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) {
|
|
30
30
|
const patternSpec = this.component.getSpec()[this.activeType];
|
|
31
31
|
((null == patternSpec ? void 0 : patternSpec.triggerMark) ? (0, vutils_1.array)(patternSpec.triggerMark) : []).includes(null === (_b = params.mark) || void 0 === _b ? void 0 : _b.name) && (info = {
|
|
32
32
|
mark: params.mark,
|
|
33
33
|
datum: params.datum,
|
|
34
34
|
series: series
|
|
35
35
|
});
|
|
36
|
-
}
|
|
36
|
+
}
|
|
37
37
|
}
|
|
38
38
|
return {
|
|
39
39
|
tooltipInfo: info,
|
|
40
|
-
ignore:
|
|
40
|
+
ignore: !1
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
_getGroupDatum(params) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/group-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,6CAAyC;AAGzC,MAAa,qBAAsB,SAAQ,2BAAoB;IAA/D;;QACE,eAAU,GAAsB,OAAO,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/group-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;AAC9C,6CAAyC;AAGzC,MAAa,qBAAsB,SAAQ,2BAAoB;IAA/D;;QACE,eAAU,GAAsB,OAAO,CAAC;IA4D1C,CAAC;IAzDC,WAAW,CAAC,IAAsB,EAAE,MAAuB,EAAE,kBAA2B;QACtF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAC/B,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,mCACT,MAAc,KAClB,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EACvC,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAkC,CAAC;QAGvC,IAAI,CAAA,MAAA,MAAM,CAAC,KAAK,0CAAE,SAAS,MAAK,QAAQ,EAAE;YACxC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAgB,CAAC;YACvC,MAAM,MAAM,GAAG,MAAM,CAAC,aAAa,CAAC;YACpC,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,KAAK,CAAC;YAEtD,IAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBACpC,MAAM,WAAW,GAA0B,IAAI,CAAC,SAAS,CAAC,OAAO,EAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtG,MAAM,WAAW,GAAG,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,WAAW,EAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnF,IAAI,WAAW,CAAC,QAAQ,CAAC,MAAA,MAAM,CAAC,IAAI,0CAAE,IAAW,CAAC,EAAE;oBAClD,IAAI,GAAG;wBACL,IAAI,EAAE,MAAM,CAAC,IAAI;wBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;wBACnB,MAAM;qBACP,CAAC;iBACH;aACF;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,KAAK;SACd,CAAC;IACJ,CAAC;IAES,cAAc,CAAC,MAAuB;QAC9C,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;QACtC,MAAM,MAAM,GAAG,KAAgB,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;YACxC,OAAO,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC;SACrB;QAED,MAAM,SAAS,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC;QAClD,MAAM,WAAW,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;QAC5C,IAAI,CAAC,WAAW,EAAE;YAChB,OAAO,SAAS,CAAC;SAClB;QAED,MAAM,gBAAgB,GAAG,IAAA,cAAK,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;QACtD,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,gBAAgB,CAAC,CAAC;IAC7E,CAAC;CACF;AA7DD,sDA6DC","file":"group-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { Datum, IGroupTooltipPattern, TooltipActiveType } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\nimport type { GroupTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { array } from '@visactor/vutils';\nimport type { ISeries } from '../../../series/interface';\n\nexport class GroupTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'group';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: GroupTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipData = [{ datum: array(datum), series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n groupDatum: this._getGroupDatum(params),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: GroupTooltipInfo | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.group;\n\n if (activeTriggers?.has(params.mark)) {\n const patternSpec: IGroupTooltipPattern = (this.component.getSpec() as ITooltipSpec)[this.activeType];\n const triggerMark = patternSpec?.triggerMark ? array(patternSpec.triggerMark) : [];\n if (triggerMark.includes(params.mark?.name as any)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n }\n }\n }\n\n return {\n tooltipInfo: info,\n ignore: false\n };\n }\n\n protected _getGroupDatum(params: BaseEventParams) {\n const { model, mark, datum } = params;\n const series = model as ISeries;\n if (['line', 'area'].includes(mark.type)) {\n return array(datum);\n }\n\n const datumList = series.getViewData().latestData;\n const seriesField = series.getSeriesField();\n if (!seriesField) {\n return datumList;\n }\n\n const seriesFieldValue = array(datum)[0][seriesField];\n return datumList.filter((d: Datum) => d[seriesField] === seriesFieldValue);\n }\n}\n"]}
|
|
@@ -4,20 +4,46 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.MarkTooltipProcessor = void 0;
|
|
6
6
|
|
|
7
|
-
const base_1 = require("./base");
|
|
7
|
+
const base_1 = require("./base"), vrender_core_1 = require("@visactor/vrender-core");
|
|
8
8
|
|
|
9
9
|
class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.activeType = "mark";
|
|
12
12
|
}
|
|
13
13
|
showTooltip(info, params, changePositionOnly) {
|
|
14
|
-
|
|
14
|
+
var _a, _b, _c;
|
|
15
|
+
const {datum: datum, series: series} = info, tooltipSpec = this.component.getSpec(), tooltipData = [ {
|
|
15
16
|
datum: [ datum ],
|
|
16
17
|
series: series
|
|
17
|
-
} ],
|
|
18
|
+
} ], helper = series.tooltipHelper, seriesSpec = null === (_a = series.getSpec()) || void 0 === _a ? void 0 : _a.tooltip, seriesCheckOverlap = null === (_b = null == seriesSpec ? void 0 : seriesSpec.mark) || void 0 === _b ? void 0 : _b.checkOverlap;
|
|
19
|
+
let checkOverlap = !1;
|
|
20
|
+
if (!0 === seriesCheckOverlap || !0 === (null === (_c = tooltipSpec.mark) || void 0 === _c ? void 0 : _c.checkOverlap) && !1 !== seriesCheckOverlap) {
|
|
21
|
+
const activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.mark;
|
|
22
|
+
if (activeTriggers) {
|
|
23
|
+
checkOverlap = !0;
|
|
24
|
+
const layer = this.component.getChart().getCompiler().getStage().getLayer(void 0), point = {
|
|
25
|
+
x: params.event.viewX,
|
|
26
|
+
y: params.event.viewY
|
|
27
|
+
};
|
|
28
|
+
layer.globalTransMatrix.transformPoint({
|
|
29
|
+
x: params.event.viewX,
|
|
30
|
+
y: params.event.viewY
|
|
31
|
+
}, point), activeTriggers.forEach((mark => {
|
|
32
|
+
mark.getProductElements().forEach((el => {
|
|
33
|
+
const graphic = el.getGraphicItem();
|
|
34
|
+
el !== params.item && graphic && graphic.containsPoint(point.x, point.y, vrender_core_1.IContainPointMode.GLOBAL, graphic.stage.getPickerService()) && tooltipData[0].datum.push(el.getDatum());
|
|
35
|
+
}));
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
const newParams = Object.assign(Object.assign({}, params), {
|
|
18
40
|
changePositionOnly: changePositionOnly,
|
|
19
41
|
tooltip: this.component
|
|
20
42
|
});
|
|
43
|
+
if (changePositionOnly && checkOverlap) {
|
|
44
|
+
const cacheData = this._cacheActiveSpec && this._cacheActiveSpec.data;
|
|
45
|
+
cacheData && cacheData[0].series === tooltipData[0].series && cacheData[0].datum.length === tooltipData[0].datum.length && !cacheData[0].datum.some(((d, index) => d !== tooltipData[0].datum[index])) || (newParams.changePositionOnly = !1);
|
|
46
|
+
}
|
|
21
47
|
return this._showTooltipByHandler(tooltipData, newParams);
|
|
22
48
|
}
|
|
23
49
|
getMouseEventData(params) {
|
|
@@ -25,11 +51,11 @@ class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
25
51
|
let info, ignore;
|
|
26
52
|
if ("series" === (null === (_a = params.model) || void 0 === _a ? void 0 : _a.modelType)) {
|
|
27
53
|
const series = params.model, helper = series.tooltipHelper, activeTriggers = null == helper ? void 0 : helper.activeTriggerSet.mark, ignoreTriggers = null == helper ? void 0 : helper.ignoreTriggerSet.mark;
|
|
28
|
-
(null == activeTriggers ? void 0 : activeTriggers.has(params.
|
|
54
|
+
(null == activeTriggers ? void 0 : activeTriggers.has(params.mark)) ? info = {
|
|
29
55
|
mark: params.mark,
|
|
30
56
|
datum: params.datum,
|
|
31
57
|
series: series
|
|
32
|
-
} : (
|
|
58
|
+
} : (null == ignoreTriggers ? void 0 : ignoreTriggers.has(params.mark)) && (ignore = !0);
|
|
33
59
|
}
|
|
34
60
|
return {
|
|
35
61
|
tooltipInfo: info,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":";;;AAIA,iCAA8C;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":"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","file":"mark-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../interface';\nimport type { MarkTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport type { ISeries } from '../../../series/interface';\nimport { IContainPointMode } from '@visactor/vrender-core';\nimport type { IDimensionData } from '../../../event/events/dimension/interface';\n\nexport class MarkTooltipProcessor extends BaseTooltipProcessor {\n activeType: TooltipActiveType = 'mark';\n\n /** 触发对应类型的 tooltip */\n showTooltip(info: MarkTooltipInfo, params: BaseEventParams, changePositionOnly: boolean) {\n const { datum, series } = info;\n const tooltipSpec = this.component.getSpec();\n const tooltipData = [{ datum: [datum], series }];\n const helper = series.tooltipHelper;\n const seriesSpec = series.getSpec()?.tooltip as ITooltipSpec;\n const seriesCheckOverlap = seriesSpec?.mark?.checkOverlap;\n let checkOverlap = false;\n\n if (seriesCheckOverlap === true || (tooltipSpec.mark?.checkOverlap === true && seriesCheckOverlap !== false)) {\n const activeTriggers = helper?.activeTriggerSet.mark;\n\n if (activeTriggers) {\n checkOverlap = true;\n const chart = this.component.getChart();\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n activeTriggers.forEach(mark => {\n mark.getProductElements().forEach(el => {\n const graphic = el.getGraphicItem();\n\n if (\n el !== params.item &&\n graphic &&\n graphic.containsPoint(point.x, point.y, IContainPointMode.GLOBAL, graphic.stage.getPickerService())\n ) {\n tooltipData[0].datum.push(el.getDatum());\n }\n });\n });\n }\n }\n\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n changePositionOnly,\n tooltip: this.component\n };\n if (changePositionOnly && checkOverlap) {\n const cacheData = this._cacheActiveSpec && this._cacheActiveSpec.data;\n\n if (\n !cacheData ||\n (cacheData as IDimensionData[])[0].series !== tooltipData[0].series ||\n (cacheData as IDimensionData[])[0].datum.length !== tooltipData[0].datum.length ||\n (cacheData as IDimensionData[])[0].datum.some((d, index) => d !== tooltipData[0].datum[index])\n ) {\n newParams.changePositionOnly = false;\n }\n }\n return this._showTooltipByHandler(tooltipData, newParams);\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n let info: MarkTooltipInfo | undefined;\n let ignore: boolean | undefined;\n\n // 处理mark info\n if (params.model?.modelType === 'series') {\n const series = params.model as ISeries;\n const helper = series.tooltipHelper;\n const activeTriggers = helper?.activeTriggerSet.mark;\n const ignoreTriggers = helper?.ignoreTriggerSet.mark;\n if (activeTriggers?.has(params.mark)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series\n };\n } else if (ignoreTriggers?.has(params.mark)) {\n ignore = true;\n }\n }\n\n return {\n tooltipInfo: info,\n ignore\n };\n }\n}\n"]}
|
|
@@ -22,15 +22,13 @@ class TooltipSpecTransformer extends base_1.BaseComponentSpecTransformer {
|
|
|
22
22
|
};
|
|
23
23
|
}
|
|
24
24
|
_transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo) {
|
|
25
|
-
var _a, _b, _c, _d, _e, _f, _g
|
|
25
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
26
26
|
super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo), spec.visible = null === (_a = spec.visible) || void 0 === _a || _a,
|
|
27
27
|
spec.activeType = (0, common_1.getTooltipActualActiveType)(spec), spec.renderMode = null !== (_b = spec.renderMode) && void 0 !== _b ? _b : (0,
|
|
28
28
|
util_1.isMiniAppLikeMode)(this._option.mode) || !(0, util_1.isTrueBrowser)(this._option.mode) ? "canvas" : "html",
|
|
29
29
|
spec.trigger = null !== (_c = spec.trigger) && void 0 !== _c ? _c : "hover", spec.className = null !== (_d = spec.className) && void 0 !== _d ? _d : constant_1.TOOLTIP_EL_CLASS_NAME,
|
|
30
30
|
spec.enterable = null !== (_e = spec.enterable) && void 0 !== _e && _e, spec.transitionDuration = null !== (_f = spec.transitionDuration) && void 0 !== _f ? _f : 150,
|
|
31
|
-
spec.
|
|
32
|
-
spec.confine = null !== (_h = spec.confine) && void 0 !== _h ? _h : "canvas" === spec.renderMode,
|
|
33
|
-
(0, util_1.isValid)(spec.mark) && (spec.mark.activeType = "mark"), (0, util_1.isValid)(spec.dimension) && (spec.dimension.activeType = "dimension"),
|
|
31
|
+
spec.confine = null !== (_g = spec.confine) && void 0 !== _g ? _g : "canvas" === spec.renderMode,
|
|
34
32
|
(0, util_1.isValid)(spec.parentElement) ? (0, util_1.isString)(spec.parentElement) && (spec.parentElement = vrender_core_1.vglobal.getElementById(spec.parentElement)) : (0,
|
|
35
33
|
util_1.isTrueBrowser)(this._option.mode) && (spec.parentElement = null === util_1.domDocument || void 0 === util_1.domDocument ? void 0 : util_1.domDocument.body);
|
|
36
34
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/tooltip-transformer.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,qCAA8F;AAC9F,kCAAuD;AACvD,yCAAmD;AACnD,2CAA4D;AAC5D,iEAAuD;AAEvD,MAAa,sBAAuB,SAAQ,mCAAiC;IACjE,uBAAuB;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,UAAU,CAAC,IAAS,EAAE,SAAc;;QAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,KAAK,CAAC,kBAAkB,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,+BAA+B,CAAC,IAAS,EAAE,SAAc,EAAE,aAA8B;;QACjG,KAAK,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU;YACb,MAAA,IAAI,CAAC,UAAU,mCAEf,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,gCAAqB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,GAAG,CAAC;QACzD,IAAI,CAAC,
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/tooltip-transformer.ts"],"names":[],"mappings":";;;AAAA,yDAAiD;AAEjD,qCAA8F;AAC9F,kCAAuD;AACvD,yCAAmD;AACnD,2CAA4D;AAC5D,iEAAuD;AAEvD,MAAa,sBAAuB,SAAQ,mCAAiC;IACjE,uBAAuB;QAC/B,OAAO,KAAK,CAAC;IACf,CAAC;IAES,UAAU,CAAC,IAAS,EAAE,SAAc;;QAC5C,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QACnE,OAAO,CAAC,KAAK,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,CAAC,MAAM,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1D,OAAO,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,KAAK,CAAC,kBAAkB,CAAC;QACjF,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAES,+BAA+B,CAAC,IAAS,EAAE,SAAc,EAAE,aAA8B;;QACjG,KAAK,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtE,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC;QACpC,IAAI,CAAC,UAAU,GAAG,IAAA,mCAA0B,EAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU;YACb,MAAA,IAAI,CAAC,UAAU,mCAEf,CAAC,IAAA,wBAAiB,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;QAClG,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,OAAO,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,gCAAqB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,MAAA,IAAI,CAAC,SAAS,mCAAI,KAAK,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAA,IAAI,CAAC,kBAAkB,mCAAI,GAAG,CAAC;QACzD,IAAI,CAAC,OAAO,GAAG,MAAA,IAAI,CAAC,OAAO,mCAAI,IAAI,CAAC,UAAU,KAAK,QAAQ,CAAC;QAE5D,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;YAC/B,IAAI,IAAA,eAAQ,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAChC,IAAI,CAAC,aAAa,GAAG,sBAAO,CAAC,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;aACjE;SACF;aAAM,IAAI,IAAA,oBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC3C,IAAI,CAAC,aAAa,GAAG,kBAAW,aAAX,kBAAW,uBAAX,kBAAW,CAAE,IAAI,CAAC;SACxC;IACH,CAAC;CACF;AApCD,wDAoCC","file":"tooltip-transformer.js","sourcesContent":["import { vglobal } from '@visactor/vrender-core';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { domDocument, isMiniAppLikeMode, isString, isTrueBrowser, isValid } from '../../util';\nimport { BaseComponentSpecTransformer } from '../base';\nimport { TOOLTIP_EL_CLASS_NAME } from './constant';\nimport { getTooltipActualActiveType } from './utils/common';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport class TooltipSpecTransformer extends BaseComponentSpecTransformer<any> {\n protected _shouldMergeThemeToSpec() {\n return false;\n }\n\n protected _initTheme(spec: any, chartSpec: any): { spec: any; theme: any } {\n const { spec: newSpec, theme } = super._initTheme(spec, chartSpec);\n newSpec.style = mergeSpec({}, this._theme, newSpec.style);\n newSpec.offset = mergeSpec({}, theme.offset, spec.offset);\n newSpec.transitionDuration = spec.transitionDuration ?? theme.transitionDuration;\n return { spec: newSpec, theme };\n }\n\n protected _transformSpecAfterMergingTheme(spec: any, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n spec.visible = spec.visible ?? true;\n spec.activeType = getTooltipActualActiveType(spec);\n spec.renderMode =\n spec.renderMode ??\n // 小程序或非浏览器环境下,默认使用canvas渲染\n (isMiniAppLikeMode(this._option.mode) || !isTrueBrowser(this._option.mode) ? 'canvas' : 'html');\n spec.trigger = spec.trigger ?? 'hover';\n spec.className = spec.className ?? TOOLTIP_EL_CLASS_NAME;\n spec.enterable = spec.enterable ?? false;\n spec.transitionDuration = spec.transitionDuration ?? 150;\n spec.confine = spec.confine ?? spec.renderMode === 'canvas';\n\n if (isValid(spec.parentElement)) {\n if (isString(spec.parentElement)) {\n spec.parentElement = vglobal.getElementById(spec.parentElement);\n }\n } else if (isTrueBrowser(this._option.mode)) {\n spec.parentElement = domDocument?.body;\n }\n }\n}\n"]}
|