@visactor/vchart 1.10.0-alpha.4 → 1.10.0-alpha.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +32729 -32038
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.js +5 -5
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +7 -9
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +1 -1
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -1
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/progress/circular/circular-progress-transformer.js +2 -0
- package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/cjs/compile/compiler.d.ts +1 -1
- package/cjs/compile/compiler.js +3 -3
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +9 -6
- package/cjs/component/axis/base-axis.js +37 -6
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -5
- package/cjs/component/axis/cartesian/axis.js +9 -31
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +3 -3
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/index.d.ts +0 -1
- package/cjs/component/axis/cartesian/util/index.js +1 -1
- package/cjs/component/axis/cartesian/util/index.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +2 -1
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +2 -0
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +1 -5
- package/cjs/component/axis/polar/axis.js +5 -23
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/base/util.d.ts +5 -0
- package/cjs/component/base/util.js +24 -16
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +4 -1
- package/cjs/component/crosshair/base.js +1 -10
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +1 -7
- package/cjs/component/crosshair/cartesian.js +17 -208
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/cartesian.d.ts +46 -0
- package/cjs/component/crosshair/interface/cartesian.js +6 -0
- package/cjs/component/crosshair/interface/cartesian.js.map +1 -0
- package/cjs/component/crosshair/interface/common.d.ts +7 -0
- package/cjs/component/crosshair/interface/common.js +6 -0
- package/cjs/component/crosshair/interface/common.js.map +1 -0
- package/cjs/component/crosshair/interface/index.d.ts +3 -0
- package/cjs/component/crosshair/interface/index.js +3 -1
- package/cjs/component/crosshair/interface/index.js.map +1 -1
- package/cjs/component/crosshair/interface/polar.d.ts +23 -0
- package/cjs/component/crosshair/interface/polar.js +6 -0
- package/cjs/component/crosshair/interface/polar.js.map +1 -0
- package/cjs/component/crosshair/interface/spec.d.ts +1 -0
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +2 -2
- package/cjs/component/crosshair/polar.js +17 -114
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/utils/cartesian.d.ts +32 -0
- package/cjs/component/crosshair/utils/cartesian.js +238 -0
- package/cjs/component/crosshair/utils/cartesian.js.map +1 -0
- package/{esm/component/crosshair/util.d.ts → cjs/component/crosshair/utils/common.d.ts} +3 -3
- package/cjs/component/crosshair/{util.js → utils/common.js} +2 -2
- package/cjs/component/crosshair/utils/common.js.map +1 -0
- package/cjs/component/crosshair/utils/index.d.ts +1 -0
- package/cjs/component/crosshair/utils/index.js +21 -0
- package/cjs/component/crosshair/utils/index.js.map +1 -0
- package/cjs/component/crosshair/utils/polar.d.ts +37 -0
- package/cjs/component/crosshair/utils/polar.js +133 -0
- package/cjs/component/crosshair/utils/polar.js.map +1 -0
- package/cjs/component/custom-mark/custom-mark.js +2 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +10 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +4 -5
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/interface.d.ts +2 -4
- package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/cjs/component/data-zoom/util.d.ts +0 -4
- package/cjs/component/data-zoom/util.js +2 -10
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/index.d.ts +1 -0
- package/cjs/component/index.js +16 -1
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +8 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/label/interface.d.ts +1 -1
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/util.js +4 -4
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +6 -12
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +17 -4
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -0
- package/cjs/component/legend/discrete/legend.js +11 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +6 -4
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -2
- package/cjs/component/legend/util.js +2 -6
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/player/interface/theme.d.ts +1 -1
- package/cjs/component/player/interface/theme.js.map +1 -1
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/tooltip/interface/common.d.ts +2 -2
- package/cjs/component/tooltip/interface/common.js.map +1 -1
- package/cjs/component/tooltip/interface/event.d.ts +0 -2
- package/cjs/component/tooltip/interface/event.js.map +1 -1
- package/cjs/component/tooltip/interface/index.d.ts +1 -0
- package/cjs/component/tooltip/interface/index.js +1 -1
- package/cjs/component/tooltip/interface/index.js.map +1 -1
- package/cjs/component/tooltip/interface/spec.d.ts +2 -2
- package/cjs/component/tooltip/interface/spec.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +3 -3
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js +2 -1
- package/cjs/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +2 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +3 -3
- package/cjs/component/tooltip/tooltip.js +7 -5
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +3 -0
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/component/util.d.ts +8 -0
- package/cjs/component/util.js +15 -3
- package/cjs/component/util.js.map +1 -1
- package/cjs/core/factory.d.ts +3 -0
- package/cjs/core/factory.js +6 -0
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +2 -1
- package/cjs/core/index.js +3 -2
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +1 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -1
- package/cjs/core/vchart.js +2 -2
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js.map +1 -1
- package/cjs/event/events/dimension/interface.d.ts +3 -2
- package/cjs/event/events/dimension/interface.js.map +1 -1
- package/cjs/event/events/dimension/util/cartesian.js +1 -0
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +2 -0
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/index-lark.js +2 -2
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx-simple.js +2 -2
- package/cjs/index-wx-simple.js.map +1 -1
- package/cjs/index-wx.js +2 -2
- package/cjs/index-wx.js.map +1 -1
- package/cjs/index.d.ts +1 -0
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/mark/arc.js +3 -1
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +3 -3
- package/cjs/mark/base/base-mark.js +20 -13
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/index.d.ts +2 -3
- package/cjs/mark/index.js +1 -10
- package/cjs/mark/index.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +0 -1
- package/cjs/mark/interface/type.js +2 -3
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/plugin/chart/formatter/formatter.d.ts +28 -0
- package/cjs/plugin/chart/formatter/formatter.js +74 -0
- package/cjs/plugin/chart/formatter/formatter.js.map +1 -0
- package/cjs/plugin/chart/formatter/index.d.ts +1 -0
- package/cjs/plugin/chart/formatter/index.js +21 -0
- package/cjs/plugin/chart/formatter/index.js.map +1 -0
- package/cjs/plugin/components/index.d.ts +2 -5
- package/cjs/plugin/components/index.js +16 -7
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +6 -6
- package/cjs/plugin/components/tooltip-handler/base.js +112 -51
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/constants.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -9
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
- package/cjs/plugin/components/tooltip-handler/utils/common.js +9 -3
- package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/utils/compose.js +9 -8
- package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
- package/cjs/plugin/components/tooltip-handler/utils/position.js +49 -8
- package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/cjs/plugin/index.d.ts +1 -0
- package/cjs/plugin/index.js +1 -1
- package/cjs/plugin/index.js.map +1 -1
- package/cjs/series/base/base-series.js +2 -1
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +3 -3
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.js +2 -2
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/constant.js +2 -2
- package/cjs/series/gauge/constant.js.map +1 -1
- package/cjs/series/gauge/gauge.js +2 -2
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +3 -3
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -1
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/link/tooltip-helper.js +2 -2
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.js +24 -26
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +3 -4
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/constant.js +2 -2
- package/cjs/series/progress/circular/constant.js.map +1 -1
- package/cjs/series/progress/circular/interface.d.ts +5 -5
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/theme/builtin/common/mark.js +2 -1
- package/cjs/theme/builtin/common/mark.js.map +1 -1
- package/cjs/theme/builtin/common/series/box-plot.js +5 -0
- package/cjs/theme/builtin/common/series/box-plot.js.map +1 -1
- package/cjs/theme/builtin/common/series/rangeColumn.js +1 -0
- package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/cjs/theme/builtin/common/series/waterfall.js +4 -1
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +4 -3
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/line.d.ts +5 -2
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/tooltip/position.d.ts +21 -10
- package/cjs/typings/tooltip/position.js.map +1 -1
- package/cjs/typings/tooltip/shape.d.ts +2 -2
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +8 -8
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/typings/visual.d.ts +2 -4
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/index.d.ts +1 -2
- package/cjs/util/index.js +2 -2
- package/cjs/util/index.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.js +2 -2
- package/cjs/vchart-simple.js.map +1 -1
- package/esm/animation/utils.js +5 -5
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +7 -9
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +1 -1
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -1
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/progress/circular/circular-progress-transformer.js +2 -0
- package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/esm/compile/compiler.d.ts +1 -1
- package/esm/compile/compiler.js +4 -4
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +9 -6
- package/esm/component/axis/base-axis.js +39 -5
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -5
- package/esm/component/axis/cartesian/axis.js +8 -26
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.d.ts +1 -1
- package/esm/component/axis/cartesian/time-axis.js +2 -2
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/index.d.ts +0 -1
- package/esm/component/axis/cartesian/util/index.js +0 -2
- package/esm/component/axis/cartesian/util/index.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +2 -1
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +2 -0
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +1 -5
- package/esm/component/axis/polar/axis.js +5 -23
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/base/util.d.ts +5 -0
- package/esm/component/base/util.js +12 -9
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +4 -1
- package/esm/component/crosshair/base.js +1 -10
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +1 -7
- package/esm/component/crosshair/cartesian.js +20 -206
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/cartesian.d.ts +46 -0
- package/esm/component/crosshair/interface/cartesian.js +2 -0
- package/esm/component/crosshair/interface/cartesian.js.map +1 -0
- package/esm/component/crosshair/interface/common.d.ts +7 -0
- package/esm/component/crosshair/interface/common.js +2 -0
- package/esm/component/crosshair/interface/common.js.map +1 -0
- package/esm/component/crosshair/interface/index.d.ts +3 -0
- package/esm/component/crosshair/interface/index.js +6 -0
- package/esm/component/crosshair/interface/index.js.map +1 -1
- package/esm/component/crosshair/interface/polar.d.ts +23 -0
- package/esm/component/crosshair/interface/polar.js +2 -0
- package/esm/component/crosshair/interface/polar.js.map +1 -0
- package/esm/component/crosshair/interface/spec.d.ts +1 -0
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +2 -2
- package/esm/component/crosshair/polar.js +19 -116
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/utils/cartesian.d.ts +32 -0
- package/esm/component/crosshair/utils/cartesian.js +233 -0
- package/esm/component/crosshair/utils/cartesian.js.map +1 -0
- package/{cjs/component/crosshair/util.d.ts → esm/component/crosshair/utils/common.d.ts} +3 -3
- package/esm/component/crosshair/{util.js → utils/common.js} +6 -6
- package/esm/component/crosshair/utils/common.js.map +1 -0
- package/esm/component/crosshair/utils/index.d.ts +1 -0
- package/esm/component/crosshair/utils/index.js +2 -0
- package/esm/component/crosshair/utils/index.js.map +1 -0
- package/esm/component/crosshair/utils/polar.d.ts +37 -0
- package/esm/component/crosshair/utils/polar.js +125 -0
- package/esm/component/crosshair/utils/polar.js.map +1 -0
- package/esm/component/custom-mark/custom-mark.js +2 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js +10 -2
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +4 -5
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/interface.d.ts +2 -4
- package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/esm/component/data-zoom/util.d.ts +0 -4
- package/esm/component/data-zoom/util.js +1 -10
- package/esm/component/data-zoom/util.js.map +1 -1
- package/esm/component/index.d.ts +1 -0
- package/esm/component/index.js +2 -0
- package/esm/component/index.js.map +1 -1
- package/esm/component/interface/theme.d.ts +8 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/label/interface.d.ts +1 -1
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/util.js +6 -3
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +6 -12
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +17 -4
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -0
- package/esm/component/legend/discrete/legend.js +11 -1
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js +3 -2
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -2
- package/esm/component/legend/util.js +0 -4
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/player/interface/theme.d.ts +1 -1
- package/esm/component/player/interface/theme.js.map +1 -1
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/tooltip/interface/common.d.ts +2 -2
- package/esm/component/tooltip/interface/common.js.map +1 -1
- package/esm/component/tooltip/interface/event.d.ts +0 -2
- package/esm/component/tooltip/interface/event.js.map +1 -1
- package/esm/component/tooltip/interface/index.d.ts +1 -0
- package/esm/component/tooltip/interface/index.js +2 -0
- package/esm/component/tooltip/interface/index.js.map +1 -1
- package/esm/component/tooltip/interface/spec.d.ts +2 -2
- package/esm/component/tooltip/interface/spec.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +3 -3
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js +2 -1
- package/esm/component/tooltip/processor/dimension-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +2 -1
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +3 -3
- package/esm/component/tooltip/tooltip.js +8 -6
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +3 -0
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/component/util.d.ts +8 -0
- package/esm/component/util.js +14 -0
- package/esm/component/util.js.map +1 -1
- package/esm/core/factory.d.ts +3 -0
- package/esm/core/factory.js +6 -0
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +2 -1
- package/esm/core/index.js +3 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +1 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -1
- package/esm/core/vchart.js +3 -1
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js.map +1 -1
- package/esm/event/events/dimension/interface.d.ts +3 -2
- package/esm/event/events/dimension/interface.js.map +1 -1
- package/esm/event/events/dimension/util/cartesian.js +1 -0
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +2 -0
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/index-lark.js +4 -2
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx-simple.js +4 -2
- package/esm/index-wx-simple.js.map +1 -1
- package/esm/index-wx.js +1 -1
- package/esm/index-wx.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +2 -0
- package/esm/index.js.map +1 -1
- package/esm/mark/arc.js +3 -1
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +3 -3
- package/esm/mark/base/base-mark.js +20 -13
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/index.d.ts +2 -3
- package/esm/mark/index.js +1 -3
- package/esm/mark/index.js.map +1 -1
- package/esm/mark/interface/type.d.ts +0 -1
- package/esm/mark/interface/type.js +2 -3
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/plugin/chart/formatter/formatter.d.ts +28 -0
- package/esm/plugin/chart/formatter/formatter.js +71 -0
- package/esm/plugin/chart/formatter/formatter.js.map +1 -0
- package/esm/plugin/chart/formatter/index.d.ts +1 -0
- package/esm/plugin/chart/formatter/index.js +2 -0
- package/esm/plugin/chart/formatter/index.js.map +1 -0
- package/esm/plugin/components/index.d.ts +2 -5
- package/esm/plugin/components/index.js +2 -4
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +6 -6
- package/esm/plugin/components/tooltip-handler/base.js +111 -50
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/constants.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/constants.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.d.ts +8 -4
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js +31 -8
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +2 -3
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/interface.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/common.d.ts +3 -3
- package/esm/plugin/components/tooltip-handler/utils/common.js +10 -1
- package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/compose.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/utils/compose.js +5 -7
- package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js +12 -9
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/position.d.ts +18 -3
- package/esm/plugin/components/tooltip-handler/utils/position.js +39 -7
- package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -1
- package/esm/plugin/index.d.ts +1 -0
- package/esm/plugin/index.js +2 -0
- package/esm/plugin/index.js.map +1 -1
- package/esm/series/base/base-series.js +2 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +3 -3
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/dot/tooltip-helper.js +1 -3
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/constant.js +2 -2
- package/esm/series/gauge/constant.js.map +1 -1
- package/esm/series/gauge/gauge.js +3 -3
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +3 -3
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -1
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/link/tooltip-helper.js +1 -1
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.js +23 -25
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js +1 -3
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/constant.js +2 -2
- package/esm/series/progress/circular/constant.js.map +1 -1
- package/esm/series/progress/circular/interface.d.ts +5 -5
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/theme/builtin/common/mark.js +2 -1
- package/esm/theme/builtin/common/mark.js.map +1 -1
- package/esm/theme/builtin/common/series/box-plot.js +5 -0
- package/esm/theme/builtin/common/series/box-plot.js.map +1 -1
- package/esm/theme/builtin/common/series/rangeColumn.js +1 -0
- package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -1
- package/esm/theme/builtin/common/series/waterfall.js +4 -1
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
- package/esm/typings/spec/common.d.ts +4 -3
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/line.d.ts +5 -2
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/tooltip/position.d.ts +21 -10
- package/esm/typings/tooltip/position.js.map +1 -1
- package/esm/typings/tooltip/shape.d.ts +2 -2
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +8 -8
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/typings/visual.d.ts +2 -4
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/index.d.ts +1 -2
- package/esm/util/index.js +1 -3
- package/esm/util/index.js.map +1 -1
- package/esm/vchart-all.js +4 -2
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.js +1 -1
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +17 -17
- package/cjs/component/axis/cartesian/util/time.d.ts +0 -80
- package/cjs/component/axis/cartesian/util/time.js +0 -204
- package/cjs/component/axis/cartesian/util/time.js.map +0 -1
- package/cjs/component/crosshair/util.js.map +0 -1
- package/cjs/mark/progress-arc.d.ts +0 -14
- package/cjs/mark/progress-arc.js +0 -55
- package/cjs/mark/progress-arc.js.map +0 -1
- package/esm/component/axis/cartesian/util/time.d.ts +0 -80
- package/esm/component/axis/cartesian/util/time.js +0 -196
- package/esm/component/axis/cartesian/util/time.js.map +0 -1
- package/esm/component/crosshair/util.js.map +0 -1
- package/esm/mark/progress-arc.d.ts +0 -14
- package/esm/mark/progress-arc.js +0 -47
- package/esm/mark/progress-arc.js.map +0 -1
|
@@ -28,6 +28,8 @@ import { Factory } from "../../../core/factory";
|
|
|
28
28
|
|
|
29
29
|
import { TransformLevel } from "../../../data/initialize";
|
|
30
30
|
|
|
31
|
+
import { getFormatFunction } from "../../util";
|
|
32
|
+
|
|
31
33
|
export class DiscreteLegend extends BaseLegend {
|
|
32
34
|
constructor() {
|
|
33
35
|
super(...arguments), this.type = ComponentTypeEnum.discreteLegend, this.name = ComponentTypeEnum.discreteLegend;
|
|
@@ -124,7 +126,8 @@ export class DiscreteLegend extends BaseLegend {
|
|
|
124
126
|
maxWidth: rect.width,
|
|
125
127
|
maxHeight: rect.height
|
|
126
128
|
});
|
|
127
|
-
return this._addDefaultTitleText(attrs), attrs
|
|
129
|
+
return this._addDefaultTitleText(attrs), this._addLegendItemFormatMethods(attrs),
|
|
130
|
+
attrs;
|
|
128
131
|
}
|
|
129
132
|
_getLegendConstructor() {
|
|
130
133
|
return LegendComponent;
|
|
@@ -183,6 +186,13 @@ export class DiscreteLegend extends BaseLegend {
|
|
|
183
186
|
}));
|
|
184
187
|
return isFunction(this._spec.data) ? this._spec.data(originData, this._option.globalScale.getScale("color"), this._option.globalScale) : originData;
|
|
185
188
|
}
|
|
189
|
+
_addLegendItemFormatMethods(attrs) {
|
|
190
|
+
var _a, _b, _c, _d;
|
|
191
|
+
const {formatMethod: labelFormatMethod, formatter: labelFormatter} = null !== (_b = null === (_a = this._spec.item) || void 0 === _a ? void 0 : _a.label) && void 0 !== _b ? _b : {}, {formatMethod: valueFormatMethod, formatter: valueFormatter} = null !== (_d = null === (_c = this._spec.item) || void 0 === _c ? void 0 : _c.value) && void 0 !== _d ? _d : {}, {formatFunc: labelFormatFunc} = getFormatFunction(labelFormatMethod, labelFormatter);
|
|
192
|
+
labelFormatter && !labelFormatMethod && labelFormatFunc && (attrs.item.label.formatMethod = (value, datum) => labelFormatFunc(value, datum, labelFormatter));
|
|
193
|
+
const {formatFunc: valueFormatFunc} = getFormatFunction(valueFormatMethod, valueFormatter);
|
|
194
|
+
valueFormatter && !valueFormatMethod && valueFormatFunc && (attrs.item.value.formatMethod = (value, datum) => valueFormatFunc(valueFormatter, value, datum, labelFormatter));
|
|
195
|
+
}
|
|
186
196
|
}
|
|
187
197
|
|
|
188
198
|
DiscreteLegend.specKey = "legends", DiscreteLegend.type = ComponentTypeEnum.discreteLegend;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isFunction, isNil, isValidNumber, isArray, get } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { eachSeries } from '../../../util/model';\nimport { getFieldAlias } from '../../../util/data';\nimport { isDataDomainSpec } from '../../../util/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { LegendItemDatum } from '@visactor/vrender-components';\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { TransformLevel } from '../../../data/initialize';\nimport type { ILayoutRect } from '../../../typings/layout';\nimport type { Datum } from '../../../typings';\n\nexport class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {\n static specKey = 'legends';\n\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const legendSpec = chartSpec[this.specKey];\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return [\n {\n spec: legendSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.discreteLegend\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.discreteLegend\n });\n }\n });\n return specInfos;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this._getLegendDefaultData()\n },\n level: TransformLevel.legendFilter\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n const result: ISeries[] = [];\n eachSeries(\n this._regions,\n s => {\n result.push(s);\n },\n {\n specIndex: this._spec.seriesIndex,\n userId: this._spec.seriesId\n }\n );\n return result;\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n if (!this._spec.scaleName) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(this._spec.scaleName);\n if (!scaleSpec) {\n return defaultField;\n }\n\n // field是只在图例指定了scale的情况下生效\n if (this._spec.field) {\n return this._spec.field;\n }\n\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._getLegendDefaultData();\n }\n }\n\n private _getLegendDefaultData() {\n if (isFunction(this._spec.data)) {\n return this._getLegendItems().map((obj: LegendItemDatum) => obj.label);\n }\n\n return this._legendData.getLatestData().map((obj: Datum) => obj.key);\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n ...getLegendAttributes(this._spec, rect),\n // maxWidth 和 maxHeight 已经在布局模块处理了,所以 rect 的优先级最高\n maxWidth: rect.width,\n maxHeight: rect.height\n };\n this._addDefaultTitleText(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n\n return {\n label: datum.key,\n shape: {\n symbolType: datum.style('symbolType') ?? datum.shapeType ?? 'circle',\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n texture,\n fill: datum.style('fill'),\n stroke: datum.style('stroke'),\n textureColor: datum.style('textureColor'),\n innerBorder: datum.style('innerBorder'),\n outerBorder: datum.style('outerBorder'),\n lineDash: datum.style('lineDash'),\n lineDashOffset: datum.style('lineDashOffset'),\n lineWidth: datum.style('lineWidth')\n }\n };\n });\n const legendItems = isFunction(this._spec.data)\n ? this._spec.data(originData, this._option.globalScale.getScale('color'), this._option.globalScale)\n : originData;\n return legendItems;\n }\n}\n\nexport const registerDiscreteLegend = () => {\n Factory.registerComponent(DiscreteLegend.type, DiscreteLegend);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/legend.ts"],"names":[],"mappings":"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","file":"legend.js","sourcesContent":["import type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isFunction, isNil, isValidNumber, isArray, get } from '@visactor/vutils';\nimport { DataView } from '@visactor/vdataset';\nimport type { IDiscreteLegendSpec } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { ISeries } from '../../../series/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport { getLegendAttributes } from './util';\nimport { registerDataSetInstanceTransform } from '../../../data/register';\nimport { eachSeries } from '../../../util/model';\nimport { getFieldAlias } from '../../../util/data';\nimport { isDataDomainSpec } from '../../../util/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { LegendItemDatum } from '@visactor/vrender-components';\nimport { LegendEvent } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { DiscreteLegend as LegendComponent } from '@visactor/vrender-components';\nimport { discreteLegendDataMake, discreteLegendFilter } from '../../../data/transforms/legend-data/discrete/discrete';\nimport { BaseLegend } from '../base-legend';\nimport { ChartEvent } from '../../../constant';\nimport { Factory } from '../../../core/factory';\nimport { TransformLevel } from '../../../data/initialize';\nimport type { ILayoutRect } from '../../../typings/layout';\nimport type { Datum } from '../../../typings';\nimport { getFormatFunction } from '../../util';\n\nexport class DiscreteLegend extends BaseLegend<IDiscreteLegendSpec> {\n static specKey = 'legends';\n\n static type = ComponentTypeEnum.discreteLegend;\n type = ComponentTypeEnum.discreteLegend;\n name: string = ComponentTypeEnum.discreteLegend;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const legendSpec = chartSpec[this.specKey];\n if (!legendSpec) {\n return undefined;\n }\n if (!isArray(legendSpec)) {\n if (!legendSpec.type || legendSpec.type === 'discrete') {\n return [\n {\n spec: legendSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.discreteLegend\n }\n ];\n }\n return undefined;\n }\n const specInfos: IModelSpecInfo[] = [];\n legendSpec.forEach((s: IDiscreteLegendSpec, i: number) => {\n if (!s.type || s.type === 'discrete') {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.discreteLegend\n });\n }\n });\n return specInfos;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n eachSeries(\n this._regions,\n s => {\n s.addViewDataFilter({\n type: 'discreteLegendFilter',\n options: {\n selected: () => this._selectedData,\n field: () => this._getSeriesLegendField(s),\n data: () => this._getLegendDefaultData()\n },\n level: TransformLevel.legendFilter\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected _initLegendData(): DataView {\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendFilter', discreteLegendFilter);\n registerDataSetInstanceTransform(this._option.dataSet, 'discreteLegendDataMake', discreteLegendDataMake);\n const legendData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n legendData.transform({\n type: 'discreteLegendDataMake',\n options: {\n series: () => {\n const result: ISeries[] = [];\n eachSeries(\n this._regions,\n s => {\n result.push(s);\n },\n {\n specIndex: this._spec.seriesIndex,\n userId: this._spec.seriesId\n }\n );\n return result;\n },\n seriesField: (s: ISeries) => this._getSeriesLegendField(s)\n }\n });\n\n return legendData;\n }\n\n protected _getSeriesLegendField(s: ISeries) {\n const defaultField = s.getSeriesField();\n if (!this._spec.scaleName) {\n return defaultField;\n }\n if (!s.getRawData()) {\n return defaultField;\n }\n const scaleSpec = this._option.globalScale.getScaleSpec(this._spec.scaleName);\n if (!scaleSpec) {\n return defaultField;\n }\n\n // field是只在图例指定了scale的情况下生效\n if (this._spec.field) {\n return this._spec.field;\n }\n\n if (!isDataDomainSpec(scaleSpec.domain)) {\n return defaultField;\n }\n const seriesData = scaleSpec.domain.find(d => d.dataId === s.getRawData().name);\n if (!seriesData) {\n return defaultField;\n }\n return seriesData.fields?.[0] ?? defaultField;\n }\n\n protected _initSelectedData(): void {\n if (this._spec.defaultSelected) {\n this._selectedData = [...this._spec.defaultSelected];\n } else {\n this._selectedData = this._getLegendDefaultData();\n }\n }\n\n private _getLegendDefaultData() {\n if (isFunction(this._spec.data)) {\n return this._getLegendItems().map((obj: LegendItemDatum) => obj.label);\n }\n\n return this._legendData.getLatestData().map((obj: Datum) => obj.key);\n }\n\n private _addDefaultTitleText(attrs: any) {\n if (attrs.title?.visible && isNil(attrs.title.text) && isNil(attrs.title.style?.text)) {\n // 默认使用第0个系列的 seriesField 别名\n const series = this._regions?.[0]?.getSeries()[0];\n if (!series) {\n return;\n }\n // 如果没有别名继续保持 空字符串\n attrs.title.text = getFieldAlias(series.getRawData(), series.getSeriesField());\n }\n }\n\n protected _getLegendAttributes(rect: ILayoutRect) {\n const layout = this.layoutOrient === 'bottom' || this.layoutOrient === 'top' ? 'horizontal' : 'vertical';\n const attrs = {\n layout,\n items: this._getLegendItems(),\n zIndex: this.layoutZIndex,\n ...getLegendAttributes(this._spec, rect),\n // maxWidth 和 maxHeight 已经在布局模块处理了,所以 rect 的优先级最高\n maxWidth: rect.width,\n maxHeight: rect.height\n };\n this._addDefaultTitleText(attrs);\n this._addLegendItemFormatMethods(attrs);\n return attrs;\n }\n\n protected _getLegendConstructor() {\n return LegendComponent;\n }\n\n protected _initEvent() {\n if (this._legendComponent) {\n const doFilter = this._spec.filter !== false;\n this._legendComponent.addEventListener(LegendEvent.legendItemClick, (e: any) => {\n const selectedData = get(e, 'detail.currentSelected');\n doFilter && this.setSelectedData(selectedData);\n this.event.emit(ChartEvent.legendItemClick, { model: this, value: selectedData, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemHover, { model: this, value: detail, event: e });\n });\n\n this._legendComponent.addEventListener(LegendEvent.legendItemUnHover, (e: any) => {\n const detail = get(e, 'detail');\n this.event.emit(ChartEvent.legendItemUnHover, { model: this, value: detail, event: e });\n });\n }\n }\n\n private _getLegendItems() {\n const originData = (this._legendData.getLatestData() || []).map((datum: any) => {\n const fillOpacity = datum.style('fillOpacity');\n const strokeOpacity = datum.style('strokeOpacity');\n const opacity = datum.style('opacity');\n const texture = datum.style('texture');\n\n return {\n label: datum.key,\n shape: {\n symbolType: datum.style('symbolType') ?? datum.shapeType ?? 'circle',\n fillOpacity: isValidNumber(fillOpacity) ? fillOpacity : 1,\n strokeOpacity: isValidNumber(strokeOpacity) ? strokeOpacity : 1,\n opacity: isValidNumber(opacity) ? opacity : 1,\n texturePadding: texture ? 1 : null,\n textureSize: texture ? 4 : null,\n texture,\n fill: datum.style('fill'),\n stroke: datum.style('stroke'),\n textureColor: datum.style('textureColor'),\n innerBorder: datum.style('innerBorder'),\n outerBorder: datum.style('outerBorder'),\n lineDash: datum.style('lineDash'),\n lineDashOffset: datum.style('lineDashOffset'),\n lineWidth: datum.style('lineWidth')\n }\n };\n });\n const legendItems = isFunction(this._spec.data)\n ? this._spec.data(originData, this._option.globalScale.getScale('color'), this._option.globalScale)\n : originData;\n return legendItems;\n }\n\n private _addLegendItemFormatMethods(attrs: any) {\n const { formatMethod: labelFormatMethod, formatter: labelFormatter } = this._spec.item?.label ?? {};\n const { formatMethod: valueFormatMethod, formatter: valueFormatter } = this._spec.item?.value ?? {};\n\n const { formatFunc: labelFormatFunc } = getFormatFunction(labelFormatMethod, labelFormatter);\n if (labelFormatter && !labelFormatMethod && labelFormatFunc) {\n attrs.item.label.formatMethod = (value: string, datum: any) => {\n return labelFormatFunc(value, datum, labelFormatter);\n };\n }\n const { formatFunc: valueFormatFunc } = getFormatFunction(valueFormatMethod, valueFormatter);\n if (valueFormatter && !valueFormatMethod && valueFormatFunc) {\n attrs.item.value.formatMethod = (value: string, datum: any) => {\n return valueFormatFunc(valueFormatter, value, datum, labelFormatter);\n };\n }\n }\n}\n\nexport const registerDiscreteLegend = () => {\n Factory.registerComponent(DiscreteLegend.type, DiscreteLegend);\n};\n"]}
|
|
@@ -26,8 +26,9 @@ export function getLegendAttributes(spec, rect) {
|
|
|
26
26
|
isPercent(item.maxWidth) && (item.maxWidth = Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width / 100),
|
|
27
27
|
isPercent(item.width) && (item.width = Number(item.width.substring(0, item.width.length - 1)) * rect.width / 100),
|
|
28
28
|
isPercent(item.height) && (item.height = Number(item.height.substring(0, item.height.length - 1)) * rect.width / 100),
|
|
29
|
-
attrs.item = item, isEmpty(pager.
|
|
30
|
-
|
|
29
|
+
attrs.item = item, "scrollbar" === pager.type ? (isEmpty(pager.railStyle) || transformToGraphic(pager.railStyle),
|
|
30
|
+
isEmpty(pager.sliderStyle) || transformToGraphic(pager.sliderStyle)) : (isEmpty(pager.textStyle) || transformToGraphic(pager.textStyle),
|
|
31
|
+
transformComponentStyle(pager.handler)), attrs.pager = pager, background.visible && !isEmpty(background.style) && (mergeSpec(attrs, background.style),
|
|
31
32
|
isValid(background.padding) && (attrs.padding = background.padding)), attrs;
|
|
32
33
|
}
|
|
33
34
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,+BAA+B,CAAC;AAC1D,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,SAAS,CAAC;AAIzD,MAAM,UAAU,mBAAmB,CAAC,IAAyB,EAAE,IAAiB;IAC9E,MAAM,EAEJ,KAAK,GAAG,EAAE,EACV,IAAI,GAAG,EAAE,EACT,KAAK,GAAG,EAAE,EACV,UAAU,GAAG,EAAE,EAGf,IAAI,EACJ,EAAE,EACF,OAAO,EACP,MAAM,EACN,QAAQ,EACR,IAAI,EACJ,MAAM,EACN,QAAQ,EACR,WAAW,EACX,WAAW,EACX,QAAQ,EACR,OAAO,KAGL,IAAI,EADH,QAAQ,UACT,IAAI,EAtBF,0KAsBL,CAAO,CAAC;IAET,MAAM,KAAK,GAAQ,QAAQ,CAAC;IAG5B,IAAI,KAAK,CAAC,OAAO,EAAE;QACjB,KAAK,CAAC,KAAK,GAAG,8BAA8B,CAAC,KAAK,CAAC,CAAC;KACrD;IAGD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE;QACjC,kBAAkB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KACzC;IACD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,KAAK,GAAG,uBAAuB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjD,IAAI,CAAC,UAAU,GAAG,uBAAuB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE3D,IAAI,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QAC5B,IAAI,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KACnG;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzB,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC1F;IACD,IAAI,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QAC1B,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;KAC7F;IACD,KAAK,CAAC,IAAI,GAAG,IAAI,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/discrete/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport { isEmpty, isValid } from '@visactor/vutils';\nimport { isPercent } from '../../../util/space';\nimport { mergeSpec } from '../../../util/spec/merge-spec';\nimport { transformComponentStyle, transformToGraphic } from '../../../util/style';\nimport { transformLegendTitleAttributes } from '../util';\nimport type { IDiscreteLegendSpec, ILegendScrollbar, IPager } from './interface';\nimport type { ILayoutRect } from '../../../typings/layout';\n\nexport function getLegendAttributes(spec: IDiscreteLegendSpec, rect: ILayoutRect) {\n const {\n // 需要进行样式转换的属性\n title = {},\n item = {},\n pager = {},\n background = {},\n\n // 以下不属于 legend 需要的属性,单独拿出来以免污染传递给组件的属性\n type,\n id,\n visible,\n orient,\n position,\n data,\n filter,\n regionId,\n regionIndex,\n seriesIndex,\n seriesId,\n padding, // vchart 布局模块已经处理了\n\n ...restSpec\n } = spec;\n\n const attrs: any = restSpec;\n\n // transform title\n if (title.visible) {\n attrs.title = transformLegendTitleAttributes(title);\n }\n\n // transform item\n if (!isEmpty(item.focusIconStyle)) {\n transformToGraphic(item.focusIconStyle);\n }\n item.shape = transformComponentStyle(item.shape);\n item.label = transformComponentStyle(item.label);\n item.value = transformComponentStyle(item.value);\n item.background = transformComponentStyle(item.background);\n\n if (isPercent(item.maxWidth)) {\n item.maxWidth = (Number(item.maxWidth.substring(0, item.maxWidth.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.width)) {\n item.width = (Number(item.width.substring(0, item.width.length - 1)) * rect.width) / 100;\n }\n if (isPercent(item.height)) {\n item.height = (Number(item.height.substring(0, item.height.length - 1)) * rect.width) / 100;\n }\n attrs.item = item;\n\n if ((pager as ILegendScrollbar).type === 'scrollbar') {\n if (!isEmpty((pager as ILegendScrollbar).railStyle)) {\n transformToGraphic((pager as ILegendScrollbar).railStyle);\n }\n if (!isEmpty((pager as ILegendScrollbar).sliderStyle)) {\n transformToGraphic((pager as ILegendScrollbar).sliderStyle);\n }\n } else {\n // transform pager\n if (!isEmpty((pager as IPager).textStyle)) {\n transformToGraphic((pager as IPager).textStyle);\n }\n transformComponentStyle((pager as IPager).handler);\n }\n\n attrs.pager = pager;\n\n if (background.visible && !isEmpty(background.style)) {\n mergeSpec(attrs, background.style);\n if (isValid(background.padding)) {\n attrs.padding = background.padding;\n }\n }\n\n return attrs;\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITitle } from './interface';
|
|
2
2
|
export declare function transformLegendTitleAttributes(title: ITitle): {
|
|
3
3
|
textStyle?: import("./interface").NoVisibleMarkStyle<import("../..").ITextMarkSpec>;
|
|
4
4
|
style?: import("./interface").NoVisibleMarkStyle<import("../..").ITextMarkSpec>;
|
|
@@ -29,4 +29,3 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
|
|
|
29
29
|
space?: number;
|
|
30
30
|
align?: "start" | "end" | "center";
|
|
31
31
|
};
|
|
32
|
-
export declare function getLayout(spec: ILegendCommonSpec): "vertical" | "horizontal";
|
|
@@ -13,8 +13,4 @@ export function transformLegendTitleAttributes(title) {
|
|
|
13
13
|
(null === (_b = title.background) || void 0 === _b ? void 0 : _b.style) && transformToGraphic(transformedTitle.background.style),
|
|
14
14
|
transformedTitle;
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
export function getLayout(spec) {
|
|
18
|
-
return "bottom" === spec.orient || "top" === spec.orient ? "horizontal" : "vertical";
|
|
19
|
-
}
|
|
20
16
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC
|
|
1
|
+
{"version":3,"sources":["../src/component/legend/util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAEtD,MAAM,UAAU,8BAA8B,CAAC,KAAa;;IAC1D,MAAM,gBAAgB,qBACjB,KAAK,CACT,CAAC;IACF,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE;QACzB,gBAAgB,CAAC,SAAS,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAC9D;IACD,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;QAC7B,SAAS,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;KAC5E;IAED,IAAI,MAAA,KAAK,CAAC,KAAK,0CAAE,KAAK,EAAE;QACtB,kBAAkB,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;KAClD;IAED,IAAI,MAAA,KAAK,CAAC,UAAU,0CAAE,KAAK,EAAE;QAC3B,kBAAkB,CAAC,gBAAgB,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;KACvD;IACD,OAAO,gBAAgB,CAAC;AAC1B,CAAC","file":"util.js","sourcesContent":["import type { ILegendCommonSpec, ITitle } from './interface';\nimport { isEmpty } from '@visactor/vutils';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { transformToGraphic } from '../../util/style';\n\nexport function transformLegendTitleAttributes(title: ITitle) {\n const transformedTitle = {\n ...title\n };\n if (!isEmpty(title.style)) {\n transformedTitle.textStyle = transformToGraphic(title.style);\n }\n if (!isEmpty(title.textStyle)) {\n mergeSpec(transformedTitle.textStyle, transformToGraphic(title.textStyle));\n }\n\n if (title.shape?.style) {\n transformToGraphic(transformedTitle.shape.style);\n }\n\n if (title.background?.style) {\n transformToGraphic(transformedTitle.background.style);\n }\n return transformedTitle;\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ControllerLayout, OrientType } from '@visactor/vrender-components';
|
|
2
2
|
import type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';
|
|
3
|
-
import type { BaseGraphicAttributes } from '@visactor/vrender-components
|
|
3
|
+
import type { BaseGraphicAttributes } from '@visactor/vrender-components';
|
|
4
4
|
import type { ILayoutItemSpec } from '../../../layout/interface';
|
|
5
5
|
export interface IPlayerTheme extends ILayoutItemSpec {
|
|
6
6
|
visible?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/player/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ControllerLayout, OrientType } from '@visactor/vrender-components';\nimport type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components
|
|
1
|
+
{"version":3,"sources":["../src/component/player/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { ControllerLayout, OrientType } from '@visactor/vrender-components';\nimport type { ISymbolMarkSpec, IRectMarkSpec } from '../../../typings';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components';\nimport type { ILayoutItemSpec } from '../../../layout/interface';\n\nexport interface IPlayerTheme extends ILayoutItemSpec {\n /**\n * 组件显隐配置\n * @default true\n */\n visible?: boolean;\n\n /**\n * x方向偏移\n * @default 0\n */\n dx?: number;\n /**\n * y方向偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 组件宽度\n */\n width?: number;\n\n /**\n * 组件高度\n */\n height?: number;\n\n /**\n * 对齐方式\n */\n position?: 'start' | 'middle' | 'end';\n\n /**\n * 组件位置\n * @default bottom\n */\n orient?: OrientType;\n\n /**\n * 滑动条\n */\n slider?: IPlayerSlider;\n\n /**\n * 控制器\n */\n controller?: IPlayerController;\n}\n\n/**\n * 播放器对齐方式\n */\nexport type PlayerAlignType = 'start' | 'middle' | 'end';\n\n/**\n * 播放器滑动条\n */\nexport interface IPlayerSlider {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 与前一个元素的间隔\n */\n space?: number;\n\n /**\n * x方向的偏移\n * @default 0\n */\n dx?: number;\n\n /**\n * y方向的偏移\n * @default 0\n */\n dy?: number;\n\n /**\n * 滑动轨道样式\n */\n railStyle?: IRectMarkSpec;\n\n /**\n * 滑动轨迹样式\n */\n trackStyle?: IRectMarkSpec;\n\n /**\n * 滑动手柄样式\n */\n handlerStyle?: ISymbolMarkSpec;\n}\n\n/**\n * 控制器\n */\nexport interface IPlayerController {\n /**\n * 显隐控制\n * @default true\n */\n visible?: boolean;\n\n /**\n * 开始按钮\n */\n start?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 暂停按钮\n */\n pause?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 后退按钮\n */\n backward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n\n /**\n * 前进按钮\n */\n forward?: Partial<ControllerLayout & BaseGraphicAttributes<ISymbolMarkSpec>>;\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/player/utils/transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzD,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAyB,EAAE;IACzE,MAAM,MAAM,qBACN,QAA6C,CAClD,CAAC;IAEF,OAAO,kBAAkB,CAAC,MAAM,CAA0B,CAAC;AAC7D,CAAC,CAAC;AAKF,MAAM,iBAAiB,GAAG,CAAC,QAAyB,EAA2B,EAAE;IAC/E,MAAM,MAAM,qBACN,QAA+C,CACpD,CAAC;IAEF,OAAO,kBAAkB,CAAC,MAAM,CAA4B,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAI,IAA8B,EAAE,EAAE;IAC5D,MAAM,MAAM,mCACP,IAAI,KACP,KAAK,oBACA,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAEpC,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE;;IAEzC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,UAAU,mCAAI,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;IAGzE,MAAM,KAAK,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,mCAAI,EAAE,CAAC,CAAC;IAElF,uCACK,IAAI,KACP,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAErB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,QAAQ,EAC/B,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,KAE5B,UAAU,kCACL,IAAI,CAAC,UAAU,KAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,OAElB;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,IAAa,EAAE,IAAa,EAA8B,EAAE,CAAC,iCACtG,gBAAgB,CAAC,IAAI,CAAS,KAClC,IAAI,EACJ,IAAI,EAAE,YAAY,IAClB,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAa,EAAE,IAAa,EAA4B,EAAE,CAAC,iCAClG,gBAAgB,CAAC,IAAI,CAAS,KAClC,IAAI,EACJ,IAAI,EAAE,UAAU,IAChB,CAAC","file":"transform.js","sourcesContent":["import type { ContinuousPlayerAttributes, DiscretePlayerAttributes, Datum } from '@visactor/vrender-components';\nimport type { IPlayer } from '../interface';\nimport type { IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport type { IRectMarkSpec, ISymbolMarkSpec } from '../../../typings';\nimport { transformToGraphic } from '../../../util/style';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components
|
|
1
|
+
{"version":3,"sources":["../src/component/player/utils/transform.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAMzD,MAAM,eAAe,GAAG,CAAC,QAAuB,EAAyB,EAAE;IACzE,MAAM,MAAM,qBACN,QAA6C,CAClD,CAAC;IAEF,OAAO,kBAAkB,CAAC,MAAM,CAA0B,CAAC;AAC7D,CAAC,CAAC;AAKF,MAAM,iBAAiB,GAAG,CAAC,QAAyB,EAA2B,EAAE;IAC/E,MAAM,MAAM,qBACN,QAA+C,CACpD,CAAC;IAEF,OAAO,kBAAkB,CAAC,MAAM,CAA4B,CAAC;AAC/D,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CAAI,IAA8B,EAAE,EAAE;IAC5D,MAAM,MAAM,mCACP,IAAI,KACP,KAAK,oBACA,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,IAEpC,CAAC;IACF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,gBAAgB,GAAG,CAAC,IAAa,EAAE,EAAE;;IAEzC,MAAM,UAAU,GAAG,eAAe,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,UAAU,mCAAI,EAAE,CAAC,CAAC;IACnE,MAAM,SAAS,GAAG,eAAe,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,SAAS,mCAAI,EAAE,CAAC,CAAC;IACjE,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,0CAAE,YAAY,mCAAI,EAAE,CAAC,CAAC;IAGzE,MAAM,KAAK,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,KAAK,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,KAAK,mCAAI,EAAE,CAAC,CAAC;IAC9E,MAAM,QAAQ,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,QAAQ,mCAAI,EAAE,CAAC,CAAC;IACpF,MAAM,OAAO,GAAG,eAAe,CAAkB,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,UAAU,0CAAE,OAAO,mCAAI,EAAE,CAAC,CAAC;IAElF,uCACK,IAAI,KACP,SAAS,EAAE,IAAI,CAAC,SAAS,EACzB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,OAAO,EAAE,IAAI,CAAC,OAAO,EAErB,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI,QAAQ,EAC/B,MAAM,kCACD,IAAI,CAAC,MAAM,KACd,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,YAAY,KAE5B,UAAU,kCACL,IAAI,CAAC,UAAU,KAClB,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,OAElB;AACJ,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,8BAA8B,GAAG,CAAC,IAAa,EAAE,IAAa,EAA8B,EAAE,CAAC,iCACtG,gBAAgB,CAAC,IAAI,CAAS,KAClC,IAAI,EACJ,IAAI,EAAE,YAAY,IAClB,CAAC;AAEH,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,IAAa,EAAE,IAAa,EAA4B,EAAE,CAAC,iCAClG,gBAAgB,CAAC,IAAI,CAAS,KAClC,IAAI,EACJ,IAAI,EAAE,UAAU,IAChB,CAAC","file":"transform.js","sourcesContent":["import type { ContinuousPlayerAttributes, DiscretePlayerAttributes, Datum } from '@visactor/vrender-components';\nimport type { IPlayer } from '../interface';\nimport type { IRectGraphicAttribute, ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport type { IRectMarkSpec, ISymbolMarkSpec } from '../../../typings';\nimport { transformToGraphic } from '../../../util/style';\nimport type { BaseGraphicAttributes } from '@visactor/vrender-components';\n\n/**\n * IRectMarkSpec => IRectGraphicAttribute\n */\nconst rectToAttribute = (markSpec: IRectMarkSpec): IRectGraphicAttribute => {\n const result: IRectGraphicAttribute = {\n ...(markSpec as unknown as IRectGraphicAttribute)\n };\n\n return transformToGraphic(result) as IRectGraphicAttribute;\n};\n\n/**\n * ISymbolMarkSpec => ISymbolGraphicAttribute\n */\nconst symbolToAttribute = (markSpec: ISymbolMarkSpec): ISymbolGraphicAttribute => {\n const result: ISymbolGraphicAttribute = {\n ...(markSpec as unknown as ISymbolGraphicAttribute)\n };\n\n return transformToGraphic(result) as ISymbolGraphicAttribute;\n};\n\nconst baseToAttribute = <T>(spec: BaseGraphicAttributes<T>) => {\n const result: BaseGraphicAttributes<T> = {\n ...spec,\n style: {\n ...transformToGraphic(spec.style)\n }\n };\n return result;\n};\n\nconst transformToAttrs = (spec: IPlayer) => {\n // slider\n const trackStyle = rectToAttribute(spec?.slider?.trackStyle ?? {});\n const railStyle = rectToAttribute(spec?.slider?.railStyle ?? {});\n const handlerStyle = symbolToAttribute(spec?.slider?.handlerStyle ?? {});\n\n // controllers\n const start = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.start ?? {});\n const pause = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.pause ?? {});\n const backward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.backward ?? {});\n const forward = baseToAttribute<ISymbolMarkSpec>(spec?.controller?.forward ?? {});\n\n return {\n ...spec,\n direction: spec.direction,\n interval: spec.interval,\n visible: spec.visible,\n // 不配置默认值的话, set attr时会将undefined代入配置, 导致vrender默认配置失效\n orient: spec.orient ?? 'bottom',\n slider: {\n ...spec.slider,\n trackStyle: trackStyle,\n railStyle: railStyle,\n handlerStyle: handlerStyle\n },\n controller: {\n ...spec.controller,\n start: start,\n pause: pause,\n backward: backward,\n forward: forward\n }\n };\n};\n\n/**\n * 连续型播放器spec转换为Attrs\n */\nexport const transformContinuousSpecToAttrs = (spec: IPlayer, data: Datum[]): ContinuousPlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'continuous'\n});\n\nexport const transformDiscreteSpecToAttrs = (spec: IPlayer, data: Datum[]): DiscretePlayerAttributes => ({\n ...(transformToAttrs(spec) as any),\n data,\n type: 'discrete'\n});\n"]}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { DimensionEventParams } from '../../../event/events/dimension/interface';
|
|
2
|
-
import type { BaseEventParams } from '../../../event/interface';
|
|
3
2
|
import type { DimensionTooltipInfo, MarkTooltipInfo } from '../processor/interface';
|
|
4
3
|
import type { Datum, IShowTooltipOption } from '../../../typings';
|
|
5
4
|
import type { IComponent } from '../../interface';
|
|
6
|
-
export type TooltipHandlerParams =
|
|
5
|
+
export type TooltipHandlerParams = DimensionEventParams & {
|
|
7
6
|
changePositionOnly?: boolean;
|
|
7
|
+
tooltip: ITooltip;
|
|
8
8
|
};
|
|
9
9
|
export interface ITooltipActiveTypeAsKeys<T, K> {
|
|
10
10
|
mark: T;
|
|
@@ -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":"AAsBA,MAAM,CAAN,IAAkB,aAKjB;AALD,WAAkB,aAAa;IAE7B,uDAAW,CAAA;IAEX,qDAAU,CAAA;AACZ,CAAC,EALiB,aAAa,KAAb,aAAa,QAK9B","file":"common.js","sourcesContent":["import type { DimensionEventParams } from '../../../event/events/dimension/interface';\nimport type { DimensionTooltipInfo, MarkTooltipInfo } from '../processor/interface';\nimport type { Datum, IShowTooltipOption } from '../../../typings';\nimport type { IComponent } from '../../interface';\n\nexport type TooltipHandlerParams = DimensionEventParams & {\n /** 本次触发的 tooltip 是否只改变了位置 */\n changePositionOnly?: boolean;\n /** tooltip 组件实例 */\n tooltip: ITooltip;\n};\n\nexport interface ITooltipActiveTypeAsKeys<T, K> {\n mark: T;\n dimension: K;\n}\n\nexport type TotalMouseEventData = {\n tooltipInfo: Partial<ITooltipActiveTypeAsKeys<MarkTooltipInfo, DimensionTooltipInfo>>;\n ignore: Partial<ITooltipActiveTypeAsKeys<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,8 +1,6 @@
|
|
|
1
1
|
import type { TooltipActiveType, TooltipData } from '../../../typings';
|
|
2
|
-
import type { IComponent } from '../../interface/common';
|
|
3
2
|
import type { TooltipHandlerParams } from './common';
|
|
4
3
|
export type TooltipEventParams = TooltipHandlerParams & {
|
|
5
4
|
activeType?: TooltipActiveType;
|
|
6
5
|
tooltipData?: TooltipData;
|
|
7
|
-
tooltip: IComponent;
|
|
8
6
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/event.ts"],"names":[],"mappings":"","file":"event.js","sourcesContent":["import type { TooltipActiveType, TooltipData } from '../../../typings';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/event.ts"],"names":[],"mappings":"","file":"event.js","sourcesContent":["import type { TooltipActiveType, TooltipData } from '../../../typings';\nimport type { TooltipHandlerParams } from './common';\n\nexport type TooltipEventParams = TooltipHandlerParams & {\n /** 触发的 tooltip 类型 */\n activeType?: TooltipActiveType;\n /** tooltip 数据 */\n tooltipData?: TooltipData;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './common';\nexport * from './spec';\nexport * from './theme';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC;AACxB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './common';\nexport * from './spec';\nexport * from './theme';\nexport * from './event';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ITooltipActual, ITooltipPattern, Maybe, TooltipActiveType, TooltipData } from '../../../typings';
|
|
2
2
|
import type { ITooltipActiveTypeAsKeys, TooltipHandlerParams, TooltipResult } from './common';
|
|
3
3
|
import type { ITooltipTheme } from './theme';
|
|
4
4
|
export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipPattern, ITooltipPattern>> {
|
|
@@ -15,7 +15,7 @@ export interface ITooltipSpec extends Partial<ITooltipActiveTypeAsKeys<ITooltipP
|
|
|
15
15
|
enterable?: boolean;
|
|
16
16
|
transitionDuration?: number;
|
|
17
17
|
throttleInterval?: number;
|
|
18
|
-
updateElement?: (tooltipElement: HTMLElement, actualTooltip:
|
|
18
|
+
updateElement?: (tooltipElement: HTMLElement, actualTooltip: ITooltipActual, params: TooltipHandlerParams) => void;
|
|
19
19
|
offset?: {
|
|
20
20
|
x?: number;
|
|
21
21
|
y?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { ITooltipActual, ITooltipPattern, Maybe, TooltipActiveType, TooltipData } 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<ITooltipPattern, ITooltipPattern>\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 */\n trigger?: 'hover' | 'click' | 'none';\n /**\n * 隐藏tooltip的触发方式(目前仅支持和trigger一致的设置以及none)\n * (*会影响自定义handler)\n */\n triggerOff?: 'hover' | 'click' | 'none';\n\n /**\n * tooltip样式\n */\n style?: Omit<ITooltipTheme<string>, 'offset'>;\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\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,6 +1,6 @@
|
|
|
1
1
|
import type { RichTextWordBreak } from '@visactor/vrender-core';
|
|
2
|
-
import type { StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';
|
|
3
|
-
import type { Padding } from '@visactor/vrender-components
|
|
2
|
+
import type { ITooltipShapeActual, StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';
|
|
3
|
+
import type { Padding } from '@visactor/vrender-components';
|
|
4
4
|
import type { ITokenKey } from '../../../theme/token';
|
|
5
5
|
export interface ITooltipTextTheme<ColorType = string> {
|
|
6
6
|
fontFamily?: string;
|
|
@@ -37,7 +37,7 @@ export interface ITooltipTheme<ColorType = string> {
|
|
|
37
37
|
shape?: {
|
|
38
38
|
size?: number;
|
|
39
39
|
spacing?: number;
|
|
40
|
-
};
|
|
40
|
+
} & ITooltipShapeActual;
|
|
41
41
|
titleLabel?: ITooltipTextTheme<ColorType>;
|
|
42
42
|
keyLabel?: Omit<ITooltipTextTheme<ColorType>, 'autoWidth'>;
|
|
43
43
|
valueLabel?: ITooltipTextTheme<ColorType>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { RichTextWordBreak } from '@visactor/vrender-core';\nimport type { StringOrNumber, TextAlign, TextBaseLine } from '../../../typings';\nimport type { Padding } from '@visactor/vrender-components
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { RichTextWordBreak } from '@visactor/vrender-core';\nimport type { ITooltipShapeActual, 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?: RichTextWordBreak;\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 } & ITooltipShapeActual;\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"]}
|
|
@@ -9,7 +9,8 @@ export class DimensionTooltipProcessor extends BaseTooltipProcessor {
|
|
|
9
9
|
showTooltip(info, params, changePositionOnly) {
|
|
10
10
|
const newParams = Object.assign(Object.assign({}, params), {
|
|
11
11
|
dimensionInfo: this._preprocessDimensionInfo(info),
|
|
12
|
-
changePositionOnly: changePositionOnly
|
|
12
|
+
changePositionOnly: changePositionOnly,
|
|
13
|
+
tooltip: this.component
|
|
13
14
|
});
|
|
14
15
|
return this._showTooltipByHandler(info, newParams);
|
|
15
16
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,OAAO,yBAA0B,SAAQ,oBAAoB;IAAnE;;QACE,eAAU,GAAsB,WAAW,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/dimension-tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,OAAO,yBAA0B,SAAQ,oBAAoB;IAAnE;;QACE,eAAU,GAAsB,WAAW,CAAC;IAuC9C,CAAC;IApCC,WAAW,CAAC,IAA0B,EAAE,MAAuB,EAAE,kBAA2B;QAC1F,MAAM,SAAS,mCACT,MAA+B,KACnC,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,IAAI,CAAC,EAClD,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IACrD,CAAC;IAGD,mBAAmB,CAAC,MAAuB,EAAE,cAAuC;;QAClF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,MAAC,MAAM,CAAC,KAAiB,0CAAE,aAAa,CAAC;QACxD,MAAM,UAAU,GAAG,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,mCAAI,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC;QAC7E,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;YACrC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,OAAO;YACL,WAAW,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YAE3C,MAAM,EAAE,CAAC,GAAG,CAAC,MAAC,IAAI,CAAC,SAAS,CAAC,SAAS,EAAU,CAAC,YAAY,EAAE,mCAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;;gBACnF,MAAM,cAAc,GAAG,MAAA,KAAK,CAAC,aAAa,0CAAE,gBAAgB,CAAC,SAAS,CAAC;gBACvE,OAAO,CAAC,MAAM,CAAC,KAAK,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,KAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,CAAC,CAAC;YAClH,CAAC,CAAC;SACH,CAAC;IACJ,CAAC;CACF","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 { isNil } from '@visactor/vutils';\nimport type { ISeries } from '../../../series/interface';\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 /** 判断是否应该触发 tooltip */\n shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean {\n const { tooltipInfo: info } = mouseEventData;\n if (isNil(info)) {\n return false;\n }\n\n const helper = (params.model as ISeries)?.tooltipHelper;\n const activeType = helper?.activeType ?? this.component.getSpec().activeType;\n if (!activeType.includes('dimension')) {\n return false;\n }\n return true;\n }\n\n /** 获取触发 tooltip 需要的信息 */\n getMouseEventData(params: BaseEventParams): MouseEventData {\n return {\n tooltipInfo: this._getDimensionInfo(params),\n // 排除被声明要忽略的项\n ignore: [...((this.component.getOption() as any).getAllSeries() ?? [])].some(model => {\n const ignoreTriggers = model.tooltipHelper?.ignoreTriggerSet.dimension;\n return (params.model && ignoreTriggers?.has(params.model)) || (params.mark && ignoreTriggers?.has(params.mark));\n })\n };\n }\n}\n"]}
|
|
@@ -12,7 +12,8 @@ export class MarkTooltipProcessor extends BaseTooltipProcessor {
|
|
|
12
12
|
series: series
|
|
13
13
|
} ], newParams = Object.assign(Object.assign({}, params), {
|
|
14
14
|
dimensionInfo: this._preprocessDimensionInfo(dimensionInfo),
|
|
15
|
-
changePositionOnly: changePositionOnly
|
|
15
|
+
changePositionOnly: changePositionOnly,
|
|
16
|
+
tooltip: this.component
|
|
16
17
|
});
|
|
17
18
|
return this._showTooltipByHandler(tooltipData, newParams);
|
|
18
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,OAAO,oBAAqB,SAAQ,oBAAoB;IAA9D;;QACE,eAAU,GAAsB,MAAM,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/mark-tooltip.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAGzC,MAAM,OAAO,oBAAqB,SAAQ,oBAAoB;IAA9D;;QACE,eAAU,GAAsB,MAAM,CAAC;IAyDzC,CAAC;IAtDC,WAAW,CAAC,IAAqB,EAAE,MAAuB,EAAE,kBAA2B;QACrF,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;QAC9C,MAAM,WAAW,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACjD,MAAM,SAAS,mCACT,MAAc,KAClB,aAAa,EAAE,IAAI,CAAC,wBAAwB,CAAC,aAAa,CAAC,EAC3D,kBAAkB,EAClB,OAAO,EAAE,IAAI,CAAC,SAAS,GACxB,CAAC;QACF,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;IAC5D,CAAC;IAGD,mBAAmB,CAAC,MAAuB,EAAE,cAAuC;;QAClF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,cAAc,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YACf,OAAO,KAAK,CAAC;SACd;QAED,MAAM,MAAM,GAAG,MAAC,MAAM,CAAC,KAAiB,0CAAE,aAAa,CAAC;QACxD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAA,EAAE;YACxC,OAAO,KAAK,CAAC;SACd;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,iBAAiB,CAAC,MAAuB;;QACvC,IAAI,IAAiC,CAAC;QACtC,IAAI,MAA2B,CAAC;QAGhC,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,IAAI,CAAC;YACrD,MAAM,cAAc,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,gBAAgB,CAAC,IAAI,CAAC;YACrD,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;gBACzE,IAAI,GAAG;oBACL,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM;oBACN,aAAa,EAAE,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;iBAC9C,CAAC;aACH;iBAAM,IAAI,CAAA,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,MAAI,cAAc,aAAd,cAAc,uBAAd,cAAc,CAAE,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA,EAAE;gBAChF,MAAM,GAAG,IAAI,CAAC;aACf;SACF;QAED,OAAO;YACL,WAAW,EAAE,IAAI;YACjB,MAAM;SACP,CAAC;IACJ,CAAC;CACF","file":"mark-tooltip.js","sourcesContent":["import type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\nimport type { MarkTooltipInfo, MouseEventData } from './interface';\nimport { BaseTooltipProcessor } from './base';\nimport { isNil } from '@visactor/vutils';\nimport type { ISeries } from '../../../series/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, dimensionInfo } = info;\n const tooltipData = [{ datum: [datum], series }];\n const newParams: TooltipHandlerParams = {\n ...(params as any),\n dimensionInfo: this._preprocessDimensionInfo(dimensionInfo),\n changePositionOnly,\n tooltip: this.component\n };\n return this._showTooltipByHandler(tooltipData, newParams);\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 const helper = (params.model as ISeries)?.tooltipHelper;\n if (!helper?.activeType.includes('mark')) {\n return false;\n }\n return true;\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.model) || activeTriggers?.has(params.mark)) {\n info = {\n mark: params.mark,\n datum: params.datum,\n series,\n dimensionInfo: this._getDimensionInfo(params)\n };\n } else if (ignoreTriggers?.has(params.model) || ignoreTriggers?.has(params.mark)) {\n ignore = true;\n }\n }\n\n return {\n tooltipInfo: info,\n ignore\n };\n }\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import type { IModelLayoutOption, IModelRenderOption, IModelSpecInfo } from '../
|
|
|
3
3
|
import type { IRegion } from '../../region/interface';
|
|
4
4
|
import { BaseComponent } from '../base/base-component';
|
|
5
5
|
import type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';
|
|
6
|
-
import type { ITooltipHandler,
|
|
6
|
+
import type { ITooltipHandler, ITooltipLineActual, TooltipActiveType } from '../../typings/tooltip';
|
|
7
7
|
import type { Datum, IShowTooltipOption } from '../../typings';
|
|
8
8
|
import type { ITooltip, ITooltipActiveTypeAsKeys, ITooltipSpec, TooltipHandlerParams, TotalMouseEventData } from './interface';
|
|
9
9
|
import { TooltipResult } from './interface/common';
|
|
@@ -13,8 +13,8 @@ import type { Maybe } from '@visactor/vutils';
|
|
|
13
13
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
14
14
|
import { TooltipSpecTransformer } from './tooltip-transformer';
|
|
15
15
|
export type TooltipActualTitleContent = {
|
|
16
|
-
title?:
|
|
17
|
-
content?:
|
|
16
|
+
title?: ITooltipLineActual;
|
|
17
|
+
content?: ITooltipLineActual[];
|
|
18
18
|
};
|
|
19
19
|
export declare class Tooltip extends BaseComponent<any> implements ITooltip {
|
|
20
20
|
protected layoutZIndex: number;
|
|
@@ -10,7 +10,7 @@ import { getTooltipActualActiveType, isEmptyPos } from "./utils/common";
|
|
|
10
10
|
|
|
11
11
|
import { isSameDimensionInfo } from "../../event/events/dimension/util/common";
|
|
12
12
|
|
|
13
|
-
import { ChartEvent,
|
|
13
|
+
import { ChartEvent, Event_Source_Type } from "../../constant";
|
|
14
14
|
|
|
15
15
|
import { DimensionTooltipProcessor } from "./processor/dimension-tooltip";
|
|
16
16
|
|
|
@@ -50,8 +50,9 @@ export class Tooltip extends BaseComponent {
|
|
|
50
50
|
y: clientY
|
|
51
51
|
}) || this._handleChartMouseOut(params);
|
|
52
52
|
}, this._handleChartMouseOut = params => {
|
|
53
|
-
this._alwaysShow || "none" !== this._spec.triggerOff && (this._hideTooltipByHandler(Object.assign({}, params)
|
|
54
|
-
|
|
53
|
+
this._alwaysShow || "none" !== this._spec.triggerOff && (this._hideTooltipByHandler(Object.assign(Object.assign({}, params), {
|
|
54
|
+
tooltip: this
|
|
55
|
+
})), this._cacheInfo = void 0, this._cacheParams = void 0);
|
|
55
56
|
}, this._handleMouseMove = params => {
|
|
56
57
|
if (this.tooltipHandler || this._initHandler(), this._processor || this._initProcessor(),
|
|
57
58
|
this._alwaysShow) return;
|
|
@@ -170,15 +171,15 @@ export class Tooltip extends BaseComponent {
|
|
|
170
171
|
if (this._option.disableTriggerEvent) return;
|
|
171
172
|
const trigger = null !== (_a = this._spec.trigger) && void 0 !== _a ? _a : "hover", mode = this._option.mode;
|
|
172
173
|
"hover" === trigger ? (this._mountEvent("pointermove", {
|
|
173
|
-
|
|
174
|
+
source: "chart"
|
|
174
175
|
}, this._handleMouseMove), (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) && (this._mountEvent("pointerdown", {
|
|
175
|
-
|
|
176
|
+
source: "chart"
|
|
176
177
|
}, this._handleMouseMove), this._mountEvent("pointerup", {
|
|
177
178
|
source: "window"
|
|
178
179
|
}, this._getMouseOutHandler(!0))), this._mountEvent("pointerout", {
|
|
179
180
|
source: "canvas"
|
|
180
181
|
}, this._getMouseOutHandler(!1))) : "click" === trigger && (this._mountEvent("pointertap", {
|
|
181
|
-
|
|
182
|
+
source: "chart"
|
|
182
183
|
}, this._handleMouseMove), this._mountEvent("pointerup", {
|
|
183
184
|
source: "window"
|
|
184
185
|
}, this._getMouseOutHandler(!0)));
|
|
@@ -219,6 +220,7 @@ export class Tooltip extends BaseComponent {
|
|
|
219
220
|
hideTooltip() {
|
|
220
221
|
const params = {
|
|
221
222
|
changePositionOnly: !1,
|
|
223
|
+
tooltip: this,
|
|
222
224
|
item: void 0,
|
|
223
225
|
datum: void 0,
|
|
224
226
|
source: Event_Source_Type.chart
|