@visactor/vchart 1.8.10-alpha.0 → 1.9.0-alpha.1
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 +11042 -10188
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/base/base-chart-transformer.d.ts +1 -0
- package/cjs/chart/base/base-chart-transformer.js +45 -20
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +1 -0
- package/cjs/chart/base/base-chart.js +10 -8
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/base/util.d.ts +7 -0
- package/cjs/chart/base/util.js +26 -0
- package/cjs/chart/base/util.js.map +1 -0
- package/cjs/chart/circle-packing/circle-packing-transformer.js +1 -7
- package/cjs/chart/circle-packing/circle-packing-transformer.js.map +1 -1
- package/cjs/chart/correlation/correlation-transformer.js +1 -7
- package/cjs/chart/correlation/correlation-transformer.js.map +1 -1
- package/cjs/chart/histogram/base/histogram-base-transformer.js +2 -1
- package/cjs/chart/histogram/base/histogram-base-transformer.js.map +1 -1
- package/cjs/chart/index.d.ts +5 -3
- package/cjs/chart/index.js +16 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -0
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/common.d.ts +1 -4
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/interface/type.d.ts +2 -1
- package/cjs/chart/interface/type.js +1 -1
- package/cjs/chart/interface/type.js.map +1 -1
- package/cjs/chart/liquid/index.d.ts +2 -0
- package/cjs/chart/liquid/index.js +21 -0
- package/cjs/chart/liquid/index.js.map +1 -0
- package/cjs/chart/liquid/interface.d.ts +7 -0
- package/cjs/chart/liquid/interface.js.map +1 -0
- package/cjs/chart/liquid/liquid-transformer.d.ts +6 -0
- package/cjs/chart/liquid/liquid-transformer.js +29 -0
- package/cjs/chart/liquid/liquid-transformer.js.map +1 -0
- package/cjs/chart/liquid/liquid.d.ts +13 -0
- package/cjs/chart/liquid/liquid.js +25 -0
- package/cjs/chart/liquid/liquid.js.map +1 -0
- package/cjs/chart/polar/polar-transformer.js +1 -7
- package/cjs/chart/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/sankey/sankey-transformer.js +1 -7
- package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
- package/cjs/chart/sunburst/sunburst-transformer.js +1 -7
- package/cjs/chart/sunburst/sunburst-transformer.js.map +1 -1
- package/cjs/chart/treemap/treemap-transformer.js +1 -7
- package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
- package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
- package/cjs/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
- package/cjs/compile/compiler.d.ts +16 -5
- package/cjs/compile/compiler.js +38 -42
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +1 -1
- package/cjs/compile/data/compilable-data.js +1 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/data/interface.d.ts +1 -1
- package/cjs/compile/data/interface.js.map +1 -1
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/compile/mark/compilable-mark.d.ts +4 -2
- package/cjs/compile/mark/compilable-mark.js +4 -1
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +3 -2
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
- package/cjs/compile/mark/mark-state-manager.js +2 -2
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/signal/state-manager.d.ts +1 -1
- package/cjs/compile/signal/state-manager.js +2 -2
- package/cjs/compile/signal/state-manager.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +8 -9
- package/cjs/component/axis/base-axis.js +22 -22
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +5 -11
- package/cjs/component/axis/cartesian/axis.js +23 -30
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/band-axis.js +2 -1
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +3 -5
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -19
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +10 -17
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +10 -0
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +4 -7
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.d.ts +13 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js +33 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +7 -3
- package/cjs/component/axis/polar/axis.js +50 -58
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +1 -0
- package/cjs/component/axis/util.d.ts +6 -0
- package/cjs/component/axis/util.js +11 -2
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +0 -5
- package/cjs/component/base/base-component.js +0 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.js +1 -0
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +10 -2
- package/cjs/component/crosshair/base.js +108 -83
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +5 -0
- package/cjs/component/crosshair/cartesian.js +81 -71
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +1 -2
- package/cjs/component/crosshair/config.js +1 -1
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +2 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -1
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +2 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +1 -1
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +2 -0
- package/cjs/component/indicator/indicator.js +21 -12
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +1 -0
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/interface/common.d.ts +1 -0
- package/cjs/component/interface/common.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +0 -3
- package/cjs/component/label/base-label.js +5 -8
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +1 -0
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.js +5 -7
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +4 -2
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/continuous/legend.js +2 -2
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js +2 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/map-label/component.js +12 -12
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.js +2 -1
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.js +2 -1
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.js +2 -1
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/player/player.js +1 -0
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.js +2 -1
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/processor/base.js +2 -1
- package/cjs/component/tooltip/processor/base.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +10 -6
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/base.js +1 -2
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/core/expression-function.js +1 -2
- package/cjs/core/factory.d.ts +5 -0
- package/cjs/core/factory.js +10 -1
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +7 -3
- package/cjs/core/vchart.js +51 -71
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/event-dispatcher.js +2 -1
- package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
- package/cjs/event/events/dimension/util/cartesian.js +28 -12
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/index.js +1 -2
- 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/interaction/config.js +4 -4
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/drill/drillable.js +1 -1
- package/cjs/interaction/drill/drillable.js.map +1 -1
- package/cjs/interaction/interface.d.ts +24 -2
- package/cjs/interaction/interface.js.map +1 -1
- package/cjs/layout/interface.d.ts +3 -0
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout-item.d.ts +2 -1
- package/cjs/layout/layout-item.js +2 -1
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/layout/util.js +91 -77
- package/cjs/layout/util.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -0
- package/cjs/mark/interface/type.js +2 -1
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/liquid.d.ts +13 -0
- package/cjs/mark/liquid.js +32 -0
- package/cjs/mark/liquid.js.map +1 -0
- package/cjs/model/base-model.d.ts +1 -2
- package/cjs/model/base-model.js +11 -10
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +3 -2
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/filter.js +5 -8
- package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
- package/cjs/plugin/components/axis-sync/axis-sync.js.map +1 -0
- package/cjs/plugin/components/axis-sync/index.js.map +1 -0
- package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
- package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
- package/cjs/plugin/components/index.d.ts +1 -1
- package/cjs/plugin/components/index.js +2 -2
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/plugin/components/register.d.ts +2 -0
- package/cjs/plugin/components/register.js +12 -0
- package/cjs/plugin/components/register.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +29 -27
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -0
- package/{esm/component/tooltip/handler → cjs/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +14 -6
- package/cjs/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/constants.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +15 -7
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.js +6 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/dom/util.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
- package/cjs/plugin/components/tooltip-handler/interface/common.js +6 -0
- package/cjs/plugin/components/tooltip-handler/interface/common.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +1 -1
- package/cjs/plugin/components/tooltip-handler/interface/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/interface/style.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/common.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
- package/cjs/plugin/components/tooltip-handler/utils/compose.js +106 -0
- package/cjs/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
- package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +6 -6
- package/cjs/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
- package/cjs/plugin/components/tooltip-handler/utils/position.js.map +1 -0
- package/cjs/region/interface.d.ts +0 -3
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.js +1 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area-transformer.js +4 -4
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.js +5 -5
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +12 -3
- package/cjs/series/bar/bar.js +138 -59
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -2
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +30 -5
- package/cjs/series/base/base-series.js +72 -21
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +3 -5
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +6 -0
- package/cjs/series/cartesian/cartesian.js +27 -16
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.js +2 -2
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/correlation/correlation.js +8 -8
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.js +12 -12
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.js +13 -11
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +1 -0
- package/cjs/series/gauge/gauge-pointer.js +4 -1
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +4 -4
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +1 -0
- package/cjs/series/heatmap/heatmap.js +9 -4
- package/cjs/series/heatmap/heatmap.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/interface/series.d.ts +0 -2
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +2 -0
- package/cjs/series/interface/theme.js +3 -2
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/interface/type.d.ts +6 -2
- package/cjs/series/interface/type.js +4 -2
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/link/link.d.ts +1 -0
- package/cjs/series/link/link.js +9 -4
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/liquid/animation.d.ts +14 -0
- package/cjs/series/liquid/animation.js +63 -0
- package/cjs/series/liquid/animation.js.map +1 -0
- package/cjs/series/liquid/constant.d.ts +2 -0
- package/cjs/series/liquid/constant.js +23 -0
- package/cjs/series/liquid/constant.js.map +1 -0
- package/cjs/series/liquid/interface.d.ts +35 -0
- package/cjs/series/liquid/interface.js +6 -0
- package/cjs/series/liquid/interface.js.map +1 -0
- package/cjs/series/liquid/liquid.d.ts +50 -0
- package/cjs/series/liquid/liquid.js +200 -0
- package/cjs/series/liquid/liquid.js.map +1 -0
- package/cjs/series/liquid/tooltip-helper.d.ts +9 -0
- package/cjs/series/liquid/tooltip-helper.js +37 -0
- package/cjs/series/liquid/tooltip-helper.js.map +1 -0
- package/cjs/series/liquid/util.d.ts +2 -0
- package/cjs/series/liquid/util.js +15 -0
- package/cjs/series/liquid/util.js.map +1 -0
- package/cjs/series/map/map.js +4 -4
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +0 -2
- package/cjs/series/mixin/line-mixin.js +11 -8
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -0
- package/cjs/series/pie/pie.js +9 -5
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/polar.js +1 -1
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +1 -0
- package/cjs/series/progress/circular/circular.js +15 -8
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +1 -0
- package/cjs/series/progress/linear/linear.js +56 -52
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/radar.js +4 -3
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +4 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/range-column.js +7 -6
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/rose.js +5 -4
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/sankey.js +11 -10
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.js +6 -6
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/sunburst.js +5 -4
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/treemap.js +7 -5
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +3 -2
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +5 -5
- package/cjs/series/word-cloud/base.js +40 -47
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +4 -25
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/common/mark.js +2 -2
- package/cjs/theme/builtin/common/mark.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel.js +0 -2
- package/cjs/theme/builtin/common/series/funnel.js.map +1 -1
- package/cjs/theme/builtin/common/series/funnel3d.js +0 -2
- package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/cjs/theme/builtin/common/series/index.js +3 -2
- package/cjs/theme/builtin/common/series/index.js.map +1 -1
- package/cjs/theme/builtin/common/series/liquid.d.ts +2 -0
- package/cjs/theme/builtin/common/series/liquid.js +19 -0
- package/cjs/theme/builtin/common/series/liquid.js.map +1 -0
- package/cjs/theme/builtin/common/series/waterfall.js +1 -2
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -1
- package/cjs/typings/layout.d.ts +1 -0
- package/cjs/typings/layout.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +3 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/line.d.ts +4 -0
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/visual.d.ts +6 -0
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/model.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/chart/base/base-chart-transformer.d.ts +1 -0
- package/esm/chart/base/base-chart-transformer.js +46 -18
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +1 -0
- package/esm/chart/base/base-chart.js +10 -8
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/base/util.d.ts +7 -0
- package/esm/chart/base/util.js +16 -0
- package/esm/chart/base/util.js.map +1 -0
- package/esm/chart/circle-packing/circle-packing-transformer.js +1 -7
- package/esm/chart/circle-packing/circle-packing-transformer.js.map +1 -1
- package/esm/chart/correlation/correlation-transformer.js +1 -7
- package/esm/chart/correlation/correlation-transformer.js.map +1 -1
- package/esm/chart/histogram/base/histogram-base-transformer.js +2 -1
- package/esm/chart/histogram/base/histogram-base-transformer.js.map +1 -1
- package/esm/chart/index.d.ts +5 -3
- package/esm/chart/index.js +4 -2
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -0
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/common.d.ts +1 -4
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/interface/type.d.ts +2 -1
- package/esm/chart/interface/type.js +1 -1
- package/esm/chart/interface/type.js.map +1 -1
- package/esm/chart/liquid/index.d.ts +2 -0
- package/esm/chart/liquid/index.js +4 -0
- package/esm/chart/liquid/index.js.map +1 -0
- package/esm/chart/liquid/interface.d.ts +7 -0
- package/esm/chart/liquid/interface.js.map +1 -0
- package/esm/chart/liquid/liquid-transformer.d.ts +6 -0
- package/esm/chart/liquid/liquid-transformer.js +23 -0
- package/esm/chart/liquid/liquid-transformer.js.map +1 -0
- package/esm/chart/liquid/liquid.d.ts +13 -0
- package/esm/chart/liquid/liquid.js +26 -0
- package/esm/chart/liquid/liquid.js.map +1 -0
- package/esm/chart/polar/polar-transformer.js +1 -7
- package/esm/chart/polar/polar-transformer.js.map +1 -1
- package/esm/chart/sankey/sankey-transformer.js +1 -7
- package/esm/chart/sankey/sankey-transformer.js.map +1 -1
- package/esm/chart/sunburst/sunburst-transformer.js +1 -7
- package/esm/chart/sunburst/sunburst-transformer.js.map +1 -1
- package/esm/chart/treemap/treemap-transformer.js +1 -7
- package/esm/chart/treemap/treemap-transformer.js.map +1 -1
- package/esm/chart/word-cloud/base/word-cloud-base-transformer.js +1 -7
- package/esm/chart/word-cloud/base/word-cloud-base-transformer.js.map +1 -1
- package/esm/compile/compiler.d.ts +16 -5
- package/esm/compile/compiler.js +39 -41
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +1 -1
- package/esm/compile/data/compilable-data.js +1 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/data/interface.d.ts +1 -1
- package/esm/compile/data/interface.js.map +1 -1
- package/esm/compile/grammar-item.js +2 -1
- package/esm/compile/mark/compilable-mark.d.ts +4 -2
- package/esm/compile/mark/compilable-mark.js +4 -1
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +3 -2
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.d.ts +2 -2
- package/esm/compile/mark/mark-state-manager.js +2 -2
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/signal/state-manager.d.ts +1 -1
- package/esm/compile/signal/state-manager.js +1 -1
- package/esm/compile/signal/state-manager.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +8 -9
- package/esm/component/axis/base-axis.js +23 -21
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +5 -11
- package/esm/component/axis/cartesian/axis.js +23 -32
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/band-axis.js +2 -1
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +3 -5
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.d.ts +4 -19
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +9 -18
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +10 -0
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +4 -7
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.d.ts +13 -1
- package/esm/component/axis/mixin/band-axis-mixin.js +37 -1
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +7 -3
- package/esm/component/axis/polar/axis.js +48 -56
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +1 -0
- package/esm/component/axis/util.d.ts +6 -0
- package/esm/component/axis/util.js +9 -0
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.d.ts +0 -5
- package/esm/component/base/base-component.js +0 -6
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.js +1 -0
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +10 -2
- package/esm/component/crosshair/base.js +108 -82
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +5 -0
- package/esm/component/crosshair/cartesian.js +79 -71
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +1 -2
- package/esm/component/crosshair/config.js +1 -1
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +2 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.js +2 -1
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +2 -0
- package/esm/component/indicator/indicator.js +20 -13
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +1 -0
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/interface/common.d.ts +1 -0
- package/esm/component/interface/common.js.map +1 -1
- package/esm/component/label/base-label.d.ts +0 -3
- package/esm/component/label/base-label.js +5 -8
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +1 -0
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.js +5 -7
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +4 -2
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/continuous/legend.js +2 -2
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.js +2 -2
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/map-label/component.js +12 -12
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.js +2 -1
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.js +2 -1
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.js +2 -1
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/player/player.js +1 -0
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.js +2 -1
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/processor/base.js +2 -1
- package/esm/component/tooltip/processor/base.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +12 -10
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/base.js +1 -2
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/core/expression-function.js +1 -2
- package/esm/core/factory.d.ts +5 -0
- package/esm/core/factory.js +10 -1
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +7 -3
- package/esm/core/vchart.js +51 -70
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/event-dispatcher.js +2 -1
- package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
- package/esm/event/events/dimension/util/cartesian.js +28 -13
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/index.js +1 -2
- package/esm/index-lark.js +7 -1
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx-simple.js +5 -1
- package/esm/index-wx-simple.js.map +1 -1
- package/esm/index-wx.js +7 -1
- package/esm/index-wx.js.map +1 -1
- package/esm/interaction/config.js +4 -4
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/drill/drillable.js +1 -1
- package/esm/interaction/drill/drillable.js.map +1 -1
- package/esm/interaction/interface.d.ts +24 -2
- package/esm/interaction/interface.js.map +1 -1
- package/esm/layout/interface.d.ts +3 -0
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout-item.d.ts +2 -1
- package/esm/layout/layout-item.js +2 -1
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/layout/util.js +91 -77
- package/esm/layout/util.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -0
- package/esm/mark/interface/type.js +2 -1
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/liquid.d.ts +13 -0
- package/esm/mark/liquid.js +32 -0
- package/esm/mark/liquid.js.map +1 -0
- package/esm/model/base-model.d.ts +1 -2
- package/esm/model/base-model.js +11 -8
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +3 -2
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/chart/media-query/util/filter.js +5 -8
- package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
- package/esm/plugin/components/axis-sync/axis-sync.js.map +1 -0
- package/esm/plugin/components/axis-sync/index.js.map +1 -0
- package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -0
- package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -0
- package/esm/plugin/components/index.d.ts +1 -1
- package/esm/plugin/components/index.js +1 -1
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/plugin/components/register.d.ts +2 -0
- package/esm/plugin/components/register.js +6 -0
- package/esm/plugin/components/register.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.d.ts +10 -9
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/base.js +19 -13
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -0
- package/{cjs/component/tooltip/handler → esm/plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.d.ts +7 -4
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/canvas-tooltip-handler.js +13 -2
- package/esm/plugin/components/tooltip-handler/canvas/canvas-tooltip-handler.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/canvas/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/constants.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.d.ts +7 -4
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/dom-tooltip-handler.js +14 -4
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/interface.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/base-tooltip-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/interface.js +2 -0
- package/esm/plugin/components/tooltip-handler/dom/model/interface.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/shape-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/style-constants.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/text-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/dom/util.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/common.d.ts +4 -0
- package/esm/plugin/components/tooltip-handler/interface/common.js +2 -0
- package/esm/plugin/components/tooltip-handler/interface/common.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/index.d.ts +2 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/index.js +2 -0
- package/esm/plugin/components/tooltip-handler/interface/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/interface/style.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.d.ts +1 -2
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.d.ts +1 -1
- package/esm/plugin/components/tooltip-handler/utils/common.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/compose.d.ts +1 -2
- package/esm/plugin/components/tooltip-handler/utils/compose.js +94 -0
- package/esm/plugin/components/tooltip-handler/utils/compose.js.map +1 -0
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts +1 -1
- package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js +2 -2
- package/esm/plugin/components/tooltip-handler/utils/get-spec.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +1 -0
- package/esm/plugin/components/tooltip-handler/utils/position.js.map +1 -0
- package/esm/region/interface.d.ts +0 -3
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.js +1 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area-transformer.js +3 -2
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.js +5 -4
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +12 -3
- package/esm/series/bar/bar.js +136 -57
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -2
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +30 -5
- package/esm/series/base/base-series.js +75 -22
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +3 -4
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +6 -0
- package/esm/series/cartesian/cartesian.js +27 -16
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.js +2 -2
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/correlation/correlation.js +8 -6
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.js +12 -12
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.js +13 -11
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +1 -0
- package/esm/series/gauge/gauge-pointer.js +4 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +4 -4
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +1 -0
- package/esm/series/heatmap/heatmap.js +9 -4
- package/esm/series/heatmap/heatmap.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/interface/series.d.ts +0 -2
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +2 -0
- package/esm/series/interface/theme.js +4 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/interface/type.d.ts +6 -2
- package/esm/series/interface/type.js +4 -2
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/link/link.d.ts +1 -0
- package/esm/series/link/link.js +9 -4
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/liquid/animation.d.ts +14 -0
- package/esm/series/liquid/animation.js +55 -0
- package/esm/series/liquid/animation.js.map +1 -0
- package/esm/series/liquid/constant.d.ts +2 -0
- package/esm/series/liquid/constant.js +21 -0
- package/esm/series/liquid/constant.js.map +1 -0
- package/esm/series/liquid/interface.d.ts +35 -0
- package/esm/series/liquid/interface.js +2 -0
- package/esm/series/liquid/interface.js.map +1 -0
- package/esm/series/liquid/liquid.d.ts +50 -0
- package/esm/series/liquid/liquid.js +218 -0
- package/esm/series/liquid/liquid.js.map +1 -0
- package/esm/series/liquid/tooltip-helper.d.ts +9 -0
- package/esm/series/liquid/tooltip-helper.js +29 -0
- package/esm/series/liquid/tooltip-helper.js.map +1 -0
- package/esm/series/liquid/util.d.ts +2 -0
- package/esm/series/liquid/util.js +7 -0
- package/esm/series/liquid/util.js.map +1 -0
- package/esm/series/map/map.js +4 -4
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +0 -2
- package/esm/series/mixin/line-mixin.js +11 -8
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -0
- package/esm/series/pie/pie.js +9 -5
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/polar.js +1 -1
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +1 -0
- package/esm/series/progress/circular/circular.js +15 -8
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +1 -0
- package/esm/series/progress/linear/linear.js +56 -52
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/radar.js +4 -3
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +4 -3
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/range-column.js +7 -6
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/rose.js +5 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/sankey.js +11 -10
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.js +6 -5
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/sunburst.js +5 -4
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/treemap.js +7 -5
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +3 -2
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +5 -5
- package/esm/series/word-cloud/base.js +39 -45
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +4 -25
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/common/mark.js +2 -2
- package/esm/theme/builtin/common/mark.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel.js +0 -2
- package/esm/theme/builtin/common/series/funnel.js.map +1 -1
- package/esm/theme/builtin/common/series/funnel3d.js +0 -2
- package/esm/theme/builtin/common/series/funnel3d.js.map +1 -1
- package/esm/theme/builtin/common/series/index.js +4 -1
- package/esm/theme/builtin/common/series/index.js.map +1 -1
- package/esm/theme/builtin/common/series/liquid.d.ts +2 -0
- package/esm/theme/builtin/common/series/liquid.js +15 -0
- package/esm/theme/builtin/common/series/liquid.js.map +1 -0
- package/esm/theme/builtin/common/series/waterfall.js +1 -2
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -1
- package/esm/typings/layout.d.ts +1 -0
- package/esm/typings/layout.js.map +1 -1
- package/esm/typings/spec/common.d.ts +3 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/line.d.ts +4 -0
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/visual.d.ts +6 -0
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/model.js.map +1 -1
- package/esm/vchart-all.js +7 -1
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.js +5 -1
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +10 -10
- package/cjs/component/tooltip/handler/base.js.map +0 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
- package/cjs/component/tooltip/handler/canvas/index.js.map +0 -1
- package/cjs/component/tooltip/handler/constants.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/index.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/interface.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/text-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
- package/cjs/component/tooltip/handler/dom/util.js.map +0 -1
- package/cjs/component/tooltip/handler/index.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
- package/cjs/component/tooltip/handler/interface/index.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/style.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/attribute.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/common.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/compose.js +0 -106
- package/cjs/component/tooltip/handler/utils/compose.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/index.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/pattern.js.map +0 -1
- package/cjs/component/tooltip/handler/utils/position.js.map +0 -1
- package/cjs/interaction/trigger.d.ts +0 -39
- package/cjs/interaction/trigger.js +0 -141
- package/cjs/interaction/trigger.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/index.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
- package/cjs/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
- package/esm/component/tooltip/handler/base.js.map +0 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +0 -1
- package/esm/component/tooltip/handler/canvas/index.js.map +0 -1
- package/esm/component/tooltip/handler/constants.js.map +0 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +0 -1
- package/esm/component/tooltip/handler/dom/index.js.map +0 -1
- package/esm/component/tooltip/handler/dom/interface.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/interface.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/style-constants.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/text-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +0 -1
- package/esm/component/tooltip/handler/dom/util.js.map +0 -1
- package/esm/component/tooltip/handler/index.js.map +0 -1
- package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
- package/esm/component/tooltip/handler/interface/index.js.map +0 -1
- package/esm/component/tooltip/handler/interface/style.js.map +0 -1
- package/esm/component/tooltip/handler/utils/attribute.js.map +0 -1
- package/esm/component/tooltip/handler/utils/common.js.map +0 -1
- package/esm/component/tooltip/handler/utils/compose.js +0 -89
- package/esm/component/tooltip/handler/utils/compose.js.map +0 -1
- package/esm/component/tooltip/handler/utils/get-spec.js.map +0 -1
- package/esm/component/tooltip/handler/utils/index.js.map +0 -1
- package/esm/component/tooltip/handler/utils/pattern.js.map +0 -1
- package/esm/component/tooltip/handler/utils/position.js.map +0 -1
- package/esm/interaction/trigger.d.ts +0 -39
- package/esm/interaction/trigger.js +0 -142
- package/esm/interaction/trigger.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/index.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/tick-align-transform.js.map +0 -1
- package/esm/plugin/components/axis-sync-plugin/zero-align-transform.js.map +0 -1
- /package/cjs/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
- /package/cjs/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
- /package/cjs/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
- /package/cjs/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
- /package/esm/{component/tooltip/handler/dom → chart/liquid}/interface.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/axis-sync.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/index.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/tick-align-transform.js +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.d.ts +0 -0
- /package/esm/plugin/components/{axis-sync-plugin → axis-sync}/zero-align-transform.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/canvas/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/constants.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/interface.d.ts +0 -0
- /package/esm/{component/tooltip/handler/dom/model → plugin/components/tooltip-handler/dom}/interface.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/base-tooltip-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-column-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/content-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/interface.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/shape-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/style-constants.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/text-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/title-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/model/tooltip-model.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/dom/util.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/interface/style.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/attribute.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/common.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/index.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/pattern.js +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.d.ts +0 -0
- /package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/position.js +0 -0
|
@@ -30,14 +30,15 @@ export class Title extends BaseComponent {
|
|
|
30
30
|
if (!isArray(titleSpec)) return [ {
|
|
31
31
|
spec: titleSpec,
|
|
32
32
|
specPath: [ this.specKey ],
|
|
33
|
+
specInfoPath: [ "component", this.specKey, 0 ],
|
|
33
34
|
type: ComponentTypeEnum.title
|
|
34
35
|
} ];
|
|
35
36
|
const specInfos = [];
|
|
36
37
|
return titleSpec.forEach(((s, i) => {
|
|
37
38
|
!1 !== s.visible && specInfos.push({
|
|
38
39
|
spec: s,
|
|
39
|
-
specIndex: i,
|
|
40
40
|
specPath: [ this.specKey, i ],
|
|
41
|
+
specInfoPath: [ "component", this.specKey, i ],
|
|
41
42
|
type: ComponentTypeEnum.title
|
|
42
43
|
});
|
|
43
44
|
})), specInfos;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/title/title.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAI7C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAGvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAEtD,OAAO,EAAE,KAAK,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAMxE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEhF,MAAM,OAAO,KAAyC,SAAQ,aAAgB;IAe5E,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAlBvB,SAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC;QAE/B,YAAO,GAAW,iBAAiB,CAAC,KAAK,CAAC;QAE1C,eAAU,GAAgB,QAAQ,CAAC;QACnC,iBAAY,GAAW,YAAY,CAAC,KAAK,CAAC;QAC1C,gBAAW,GAAW,WAAW,CAAC,KAAK,CAAC;QAE9B,YAAO,GAAgB,KAAK,CAAC;QAWrC,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IAClE,CAAC;IAED,UAAU;QACR,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC;IAC7D,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE;YAC7C,OAAO,IAAI,CAAC;SACb;QACD,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACvB,OAAO;gBACL;oBACE,IAAI,EAAE,SAAS;oBACf,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;oBACxB,IAAI,EAAE,iBAAiB,CAAC,KAAK;iBAC9B;aACF,CAAC;SACH;QACD,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAM,EAAE,CAAS,EAAE,EAAE;YACtC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBACvB,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,SAAS,EAAE,CAAC;oBACZ,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,iBAAiB,CAAC,KAAK;iBAC9B,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAKD,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,OAAK,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;YACrC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QAED,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,MAAM,CAAC,GAAqB;IAE5B,CAAC;IAED,MAAM,CAAC,GAAqB;IAE5B,CAAC;IAED,wBAAwB,CAAC,GAAW;QAClC,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SACvE;QACD,IAAI,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACxB,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC;SACvE;QACD,KAAK,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC;IACtC,CAAC;IAED,eAAe,CAAC,IAAiB;QAC/B,IAAI,MAAM,GAAyB,EAAE,CAAC;QACtC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAE1C,MAAM,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QACpC,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC5C,OAAO;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,KAAK;YACpB,EAAE,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM;SACtB,CAAC;IACJ,CAAC;IAEO,mBAAmB;QACzB,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;QACpD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACjH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM;YAC9B,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YACnB,CAAC,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBACrC,CAAC,CAAC,WAAW,CAAC,MAAM,EAAE;gBACtB,CAAC,CAAC,CAAC,CAAC;QACN,OAAO;YACL,KAAK;YACL,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,cAAc;;QAEpB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9E,OAAO,gCACF,WAAW,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,KACvC,QAAQ,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,MAAM,EACvC,IAAI,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,EAC3B,WAAW,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,MAAM,EAC7C,OAAO,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,EAAE,EACjC,CAAC,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,mCAAI,CAAC,EACpB,CAAC,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,CAAC,mCAAI,CAAC,EACpB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EAC7B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAC/B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,EAChC,KAAK,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,mCAAI,MAAM,EACjC,aAAa,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,aAAa,mCAAI,KAAK,EAChD,SAAS,kBACP,KAAK,EAAE,SAAS,IACb,IAAI,CAAC,KAAK,CAAC,SAAS,GAEzB,YAAY,kBACV,KAAK,EAAE,SAAS,IACb,IAAI,CAAC,KAAK,CAAC,YAAY,IAEf,CAAC;IAClB,CAAC;IAEO,6BAA6B,CAAC,KAAiB;QACrD,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC3C;SACF;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC;YACzC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;YACrB,SAAS,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;YACzC,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;YAE7B,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,KAA4B,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC;SAC7G;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAwB,CAAC;IACvD,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;;AAxLM,UAAI,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAE/B,aAAO,GAAG,iBAAiB,CAAC,KAAK,CAAC;AAyL3C,MAAM,CAAC,MAAM,aAAa,GAAG,GAAG,EAAE;IAChC,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/C,CAAC,CAAC","file":"title.js","sourcesContent":["import { LayoutLevel, LayoutZIndex } from '../../constant';\nimport { Factory } from '../../core/factory';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IPoint, IOrientType, ILayoutType, ILayoutRect } from '../../typings';\nimport { isValidOrient } from '../../util/space';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ITitle, ITitleSpec, ITitleTheme } from './interface';\nimport { Title as TitleComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TitleAttrs } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isArray, isValidNumber, pickWithout } from '@visactor/vutils';\n\nexport class Title<T extends ITitleSpec = ITitleSpec> extends BaseComponent<T> implements ITitle {\n static type = ComponentTypeEnum.title;\n type = ComponentTypeEnum.title;\n static specKey = ComponentTypeEnum.title;\n specKey: string = ComponentTypeEnum.title;\n\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Title;\n layoutLevel: number = LayoutLevel.Title;\n\n protected _orient: IOrientType = 'top';\n\n private _titleComponent: TitleComponents;\n private _cacheAttrs: TitleAttrs;\n\n get orient() {\n return this._orient;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._orient = isValidOrient(spec.orient) ? spec.orient : 'top';\n }\n\n initLayout(): void {\n super.initLayout();\n this._layout && (this._layout.layoutOrient = this._orient);\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const titleSpec = chartSpec[this.specKey];\n if (!titleSpec || titleSpec.visible === false) {\n return null;\n }\n if (!isArray(titleSpec)) {\n return [\n {\n spec: titleSpec,\n specPath: [this.specKey],\n type: ComponentTypeEnum.title\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n titleSpec.forEach((s: any, i: number) => {\n if (s.visible !== false) {\n specInfos.push({\n spec: s,\n specIndex: i,\n specPath: [this.specKey, i],\n type: ComponentTypeEnum.title\n });\n }\n });\n return specInfos;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (prevSpec?.orient !== spec?.orient) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n if (isValidNumber(pos.x)) {\n this._titleComponent && this._titleComponent.setAttribute('x', pos.x);\n }\n if (isValidNumber(pos.y)) {\n this._titleComponent && this._titleComponent.setAttribute('y', pos.y);\n }\n super.afterSetLayoutStartPoint(pos);\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n let result: Partial<ILayoutRect> = {};\n this.setLayoutRect(rect);\n\n const attrs = this._getTitleAttrs();\n this._createOrUpdateTitleComponent(attrs);\n\n result = this._getTitleLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n private _getTitleLayoutRect() {\n const titleBounds = this._titleComponent.AABBBounds;\n const width = this._spec.width ? this._spec.width : isValidNumber(titleBounds.width()) ? titleBounds.width() : 0;\n const height = this._spec.height\n ? this._spec.height\n : isValidNumber(titleBounds.height())\n ? titleBounds.height()\n : 0;\n return {\n width,\n height\n };\n }\n\n private _getTitleAttrs() {\n // 当 width 小于 0 时,设置为 0,负数场景容易引起不可预知的问题\n const realWidth = Math.max(0, this._spec.width ?? this.getLayoutRect().width);\n return {\n ...pickWithout(this._spec, ['padding']),\n textType: this._spec.textType ?? 'text',\n text: this._spec.text ?? '',\n subtextType: this._spec.subtextType ?? 'text',\n subtext: this._spec.subtext ?? '',\n x: this._spec.x ?? 0,\n y: this._spec.y ?? 0,\n width: realWidth,\n height: this._spec.height,\n minWidth: this._spec.minWidth,\n maxWidth: this._spec.maxWidth,\n minHeight: this._spec.minHeight,\n maxHeight: this._spec.maxHeight,\n padding: this._spec.innerPadding,\n align: this._spec.align ?? 'left',\n verticalAlign: this._spec.verticalAlign ?? 'top',\n textStyle: {\n width: realWidth,\n ...this._spec.textStyle\n },\n subtextStyle: {\n width: realWidth,\n ...this._spec.subtextStyle\n }\n } as TitleAttrs;\n }\n\n private _createOrUpdateTitleComponent(attrs: TitleAttrs): TitleComponents {\n if (this._titleComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._titleComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n const title = new TitleComponents(attrs);\n title.name = 'title';\n container.add(title as unknown as INode);\n this._titleComponent = title;\n // 代理 title 组件上的事件\n title.on('*', (event: any, type: string) => this._delegateEvent(title as unknown as IGraphic, event, type));\n }\n this._cacheAttrs = attrs;\n return this._titleComponent;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._titleComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._cacheAttrs = null;\n }\n}\n\nexport const registerTitle = () => {\n Factory.registerComponent(Title.type, Title);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/title/title.ts"],"names":[],"mappings":"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","file":"title.js","sourcesContent":["import { LayoutLevel, LayoutZIndex } from '../../constant';\nimport { Factory } from '../../core/factory';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IPoint, IOrientType, ILayoutType, ILayoutRect } from '../../typings';\nimport { isValidOrient } from '../../util/space';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { ITitle, ITitleSpec, ITitleTheme } from './interface';\nimport { Title as TitleComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { TitleAttrs } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isArray, isValidNumber, pickWithout } from '@visactor/vutils';\n\nexport class Title<T extends ITitleSpec = ITitleSpec> extends BaseComponent<T> implements ITitle {\n static type = ComponentTypeEnum.title;\n type = ComponentTypeEnum.title;\n static specKey = ComponentTypeEnum.title;\n specKey: string = ComponentTypeEnum.title;\n\n layoutType: ILayoutType = 'normal';\n layoutZIndex: number = LayoutZIndex.Title;\n layoutLevel: number = LayoutLevel.Title;\n\n protected _orient: IOrientType = 'top';\n\n private _titleComponent: TitleComponents;\n private _cacheAttrs: TitleAttrs;\n\n get orient() {\n return this._orient;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._orient = isValidOrient(spec.orient) ? spec.orient : 'top';\n }\n\n initLayout(): void {\n super.initLayout();\n this._layout && (this._layout.layoutOrient = this._orient);\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const titleSpec = chartSpec[this.specKey];\n if (!titleSpec || titleSpec.visible === false) {\n return null;\n }\n if (!isArray(titleSpec)) {\n return [\n {\n spec: titleSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.title\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n titleSpec.forEach((s: any, i: number) => {\n if (s.visible !== false) {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.title\n });\n }\n });\n return specInfos;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (prevSpec?.orient !== spec?.orient) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n update(ctx: IComponentOption) {\n // TODO\n }\n\n resize(ctx: IComponentOption) {\n // TODO\n }\n\n afterSetLayoutStartPoint(pos: IPoint): void {\n if (isValidNumber(pos.x)) {\n this._titleComponent && this._titleComponent.setAttribute('x', pos.x);\n }\n if (isValidNumber(pos.y)) {\n this._titleComponent && this._titleComponent.setAttribute('y', pos.y);\n }\n super.afterSetLayoutStartPoint(pos);\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n let result: Partial<ILayoutRect> = {};\n this.setLayoutRect(rect);\n\n const attrs = this._getTitleAttrs();\n this._createOrUpdateTitleComponent(attrs);\n\n result = this._getTitleLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n\n private _getTitleLayoutRect() {\n const titleBounds = this._titleComponent.AABBBounds;\n const width = this._spec.width ? this._spec.width : isValidNumber(titleBounds.width()) ? titleBounds.width() : 0;\n const height = this._spec.height\n ? this._spec.height\n : isValidNumber(titleBounds.height())\n ? titleBounds.height()\n : 0;\n return {\n width,\n height\n };\n }\n\n private _getTitleAttrs() {\n // 当 width 小于 0 时,设置为 0,负数场景容易引起不可预知的问题\n const realWidth = Math.max(0, this._spec.width ?? this.getLayoutRect().width);\n return {\n ...pickWithout(this._spec, ['padding']),\n textType: this._spec.textType ?? 'text',\n text: this._spec.text ?? '',\n subtextType: this._spec.subtextType ?? 'text',\n subtext: this._spec.subtext ?? '',\n x: this._spec.x ?? 0,\n y: this._spec.y ?? 0,\n width: realWidth,\n height: this._spec.height,\n minWidth: this._spec.minWidth,\n maxWidth: this._spec.maxWidth,\n minHeight: this._spec.minHeight,\n maxHeight: this._spec.maxHeight,\n padding: this._spec.innerPadding,\n align: this._spec.align ?? 'left',\n verticalAlign: this._spec.verticalAlign ?? 'top',\n textStyle: {\n width: realWidth,\n ...this._spec.textStyle\n },\n subtextStyle: {\n width: realWidth,\n ...this._spec.subtextStyle\n }\n } as TitleAttrs;\n }\n\n private _createOrUpdateTitleComponent(attrs: TitleAttrs): TitleComponents {\n if (this._titleComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._titleComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n const title = new TitleComponents(attrs);\n title.name = 'title';\n container.add(title as unknown as INode);\n this._titleComponent = title;\n // 代理 title 组件上的事件\n title.on('*', (event: any, type: string) => this._delegateEvent(title as unknown as IGraphic, event, type));\n }\n this._cacheAttrs = attrs;\n return this._titleComponent;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._titleComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n super.clear();\n this._cacheAttrs = null;\n }\n}\n\nexport const registerTitle = () => {\n Factory.registerComponent(Title.type, Title);\n};\n"]}
|
|
@@ -43,11 +43,12 @@ export class BaseTooltipProcessor {
|
|
|
43
43
|
if (layer.globalTransMatrix.transformPoint({
|
|
44
44
|
x: params.event.viewX,
|
|
45
45
|
y: params.event.viewY
|
|
46
|
-
}, point), targetDimensionInfo = [ ...null !== (_a = getCartesianDimensionInfo(chart, point)) && void 0 !== _a ? _a : [], ...null !== (_b = getPolarDimensionInfo(chart, point)) && void 0 !== _b ? _b : [] ],
|
|
46
|
+
}, point), targetDimensionInfo = [ ...null !== (_a = getCartesianDimensionInfo(chart, point, !0)) && void 0 !== _a ? _a : [], ...null !== (_b = getPolarDimensionInfo(chart, point)) && void 0 !== _b ? _b : [] ],
|
|
47
47
|
0 === targetDimensionInfo.length) targetDimensionInfo = void 0; else if (targetDimensionInfo.length > 1) {
|
|
48
48
|
const dimensionAxisInfo = targetDimensionInfo.filter((info => {
|
|
49
49
|
var _a;
|
|
50
50
|
const axis = info.axis;
|
|
51
|
+
if (axis.getSpec().hasDimensionTooltip) return !0;
|
|
51
52
|
if (!isDiscrete(axis.getScale().type)) return !1;
|
|
52
53
|
let firstSeries;
|
|
53
54
|
for (const region of null !== (_a = null == axis ? void 0 : axis.getRegions()) && void 0 !== _a ? _a : []) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAK3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAGpD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAG/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,gDAAgD,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG9C,MAAM,OAAgB,oBAAoB;IAIxC,YAAY,SAAkB;QAapB,0BAAqB,GAAG,CAAC,IAA6B,EAAE,MAA4B,EAAiB,EAAE;;YAC/G,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,gCAC7C,MAAM,KACT,WAAW,EAAE,IAAI,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,OAAO,EAAE,IAAI,CAAC,SAAS,GACF,CAAC,CAAC;YACzB,IAAI,CAAA,MAAA,IAAI,CAAC,SAAS,CAAC,cAAc,0CAAE,WAAW,KAAI,OAAO,CAAC,IAAI,CAAC,EAAE;gBAC/D,OAAO,MAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,MAAM,CAAC,mCAAI,aAAa,CAAC,OAAO,CAAC;aAC1G;YACD,OAAO,aAAa,CAAC,MAAM,CAAC;QAC9B,CAAC,CAAC;QAvBA,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAwBS,wBAAwB,CAAC,aAAgC;QACjE,MAAM,gBAAgB,GAAqB,EAAE,CAAC;QAC9C,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,OAAO,CAAC,IAAI,CAAC,EAAE;YAC5B,MAAM,EAAE,mCACH,IAAI,KACP,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM,CACpB,CAAC,EAAE,MAAM,EAAO,EAAE,EAAE,eAAC,OAAA,CAAA,MAAA,MAAA,MAAM,CAAC,OAAO,EAAE,0CAAE,OAAO,0CAAE,OAAO,MAAK,KAAK,CAAA,EAAA,CAClE,GACF,CAAC;YACF,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;aAC3B;QACH,CAAC,CAAC,CAAC;QACH,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;YAC/B,OAAO,gBAAgB,CAAC;SACzB;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,iBAAiB,CAAC,MAAuB;;QACjD,IAAI,mBAAiD,CAAC;QAEtD,MAAM,KAAK,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC;QAGxC,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAC/D,KAAK,CAAC,iBAAiB,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,KAAK,CAAC,CAAC;QAEhG,mBAAmB,GAAG;YACpB,GAAG,CAAC,MAAA,yBAAyB,CAAC,KAAK,EAAE,KAAK,CAAC,mCAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["import { isValid } from '@visactor/vutils';\nimport type { BaseEventParams } from '../../../event/interface';\nimport type { TooltipActiveType, TooltipData } from '../../../typings';\nimport type { TooltipHandlerParams } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { TooltipResult } from '../interface/common';\nimport type { Tooltip } from '../tooltip';\nimport type { MouseEventData, TooltipInfo } from './interface';\nimport { ChartEvent } from '../../../constant';\nimport type { TooltipEventParams } from '../interface/event';\nimport type { IDimensionInfo } from '../../../event/events/dimension';\nimport { getPolarDimensionInfo } from '../../../event/events/dimension/util/polar';\nimport { getCartesianDimensionInfo } from '../../../event/events/dimension/util/cartesian';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { ICartesianSeries } from '../../../series/interface';\n\nexport abstract class BaseTooltipProcessor {\n readonly component: Tooltip;\n activeType: TooltipActiveType;\n\n constructor(component: Tooltip) {\n this.component = component;\n }\n\n /** 触发对应类型的 tooltip */\n abstract showTooltip(info: TooltipInfo, params: BaseEventParams, changePositionOnly: boolean): TooltipResult;\n\n /** 判断是否应该触发 tooltip */\n abstract shouldHandleTooltip(params: BaseEventParams, mouseEventData: Partial<MouseEventData>): boolean;\n\n /** 获取触发 tooltip 需要的信息 */\n abstract getMouseEventData(params: BaseEventParams): MouseEventData;\n\n protected _showTooltipByHandler = (data: TooltipData | undefined, params: TooltipHandlerParams): TooltipResult => {\n this.component.event.emit(ChartEvent.tooltipShow, {\n ...params,\n tooltipData: data,\n activeType: this.activeType,\n tooltip: this.component\n } as TooltipEventParams);\n if (this.component.tooltipHandler?.showTooltip && isValid(data)) {\n return this.component.tooltipHandler.showTooltip(this.activeType, data, params) ?? TooltipResult.success;\n }\n return TooltipResult.failed;\n };\n\n protected _preprocessDimensionInfo(dimensionInfo?: IDimensionInfo[]): IDimensionInfo[] | undefined {\n const newDimensionInfo: IDimensionInfo[] = [];\n dimensionInfo?.forEach(info => {\n const di: IDimensionInfo = {\n ...info,\n data: info.data.filter(\n ({ series }: any) => series.getSpec()?.tooltip?.visible !== false // 过滤掉不需要显示的维度数据\n )\n };\n if (di.data.length > 0) {\n newDimensionInfo.push(di);\n }\n });\n if (newDimensionInfo.length > 0) {\n return newDimensionInfo;\n }\n return undefined;\n }\n\n protected _getDimensionInfo(params: BaseEventParams): IDimensionInfo[] {\n let targetDimensionInfo: IDimensionInfo[] | undefined;\n // 处理dimension info\n const chart = this.component.getChart();\n\n // compute layer offset\n const layer = chart.getCompiler().getStage().getLayer(undefined);\n const point = { x: params.event.viewX, y: params.event.viewY };\n layer.globalTransMatrix.transformPoint({ x: params.event.viewX, y: params.event.viewY }, point);\n\n targetDimensionInfo = [\n ...(getCartesianDimensionInfo(chart, point, true) ?? []),\n ...(getPolarDimensionInfo(chart, point) ?? [])\n ];\n if (targetDimensionInfo.length === 0) {\n targetDimensionInfo = undefined;\n } else if (targetDimensionInfo.length > 1) {\n // 只保留一个轴的dimension info\n const dimensionAxisInfo = targetDimensionInfo.filter(info => {\n const axis = info.axis;\n if (axis.getSpec().hasDimensionTooltip) {\n return true;\n }\n\n // 优先显示离散轴 tooltip\n if (!isDiscrete(axis.getScale().type)) {\n return false;\n }\n // 下面的逻辑用来判断当前的离散轴是不是维度轴\n let firstSeries: ICartesianSeries | undefined;\n for (const region of axis?.getRegions() ?? []) {\n for (const series of region.getSeries()) {\n if (series.coordinate === 'cartesian') {\n firstSeries = series as ICartesianSeries;\n break;\n }\n }\n if (isValid(firstSeries)) {\n break;\n }\n }\n if (isValid(firstSeries) && firstSeries.getDimensionField()[0] === firstSeries.fieldY[0]) {\n // 维度轴为Y轴时,选择只显示Y轴tooltip\n return axis.getOrient() === 'left' || axis.getOrient() === 'right';\n }\n // 维度轴为X轴时,选择只显示X轴tooltip\n return axis.getOrient() === 'bottom' || axis.getOrient() === 'top';\n });\n targetDimensionInfo = dimensionAxisInfo.length ? dimensionAxisInfo : targetDimensionInfo.slice(0, 1);\n }\n\n return targetDimensionInfo;\n }\n}\n"]}
|
|
@@ -2,16 +2,10 @@ import { ComponentTypeEnum } from "../interface/type";
|
|
|
2
2
|
|
|
3
3
|
import { BaseComponent } from "../base/base-component";
|
|
4
4
|
|
|
5
|
-
import { DomTooltipHandler } from "./handler/dom";
|
|
6
|
-
|
|
7
|
-
import { CanvasTooltipHandler } from "./handler/canvas";
|
|
8
|
-
|
|
9
5
|
import { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode, domDocument } from "../../util/env";
|
|
10
6
|
|
|
11
7
|
import { TooltipResult } from "./interface/common";
|
|
12
8
|
|
|
13
|
-
import { TOOLTIP_EL_CLASS_NAME } from "./handler/constants";
|
|
14
|
-
|
|
15
9
|
import { showTooltip } from "./utils/show-tooltip";
|
|
16
10
|
|
|
17
11
|
import { getTooltipActualActiveType, isEmptyPos } from "./utils/common";
|
|
@@ -34,6 +28,10 @@ import { Factory } from "../../core/factory";
|
|
|
34
28
|
|
|
35
29
|
import { TooltipSpecTransformer } from "./tooltip-transformer";
|
|
36
30
|
|
|
31
|
+
import { TOOLTIP_EL_CLASS_NAME, TooltipHandlerType } from "../../plugin/components/tooltip-handler/constants";
|
|
32
|
+
|
|
33
|
+
import { error } from "../../util";
|
|
34
|
+
|
|
37
35
|
export class Tooltip extends BaseComponent {
|
|
38
36
|
constructor() {
|
|
39
37
|
super(...arguments), this.layoutZIndex = 1, this.type = ComponentTypeEnum.tooltip,
|
|
@@ -109,14 +107,15 @@ export class Tooltip extends BaseComponent {
|
|
|
109
107
|
if (!isArray(tooltipSpec)) return [ {
|
|
110
108
|
spec: tooltipSpec,
|
|
111
109
|
specPath: [ this.specKey ],
|
|
110
|
+
specInfoPath: [ "component", this.specKey, 0 ],
|
|
112
111
|
type: ComponentTypeEnum.tooltip
|
|
113
112
|
} ];
|
|
114
113
|
const specInfos = [];
|
|
115
114
|
return tooltipSpec.forEach(((s, i) => {
|
|
116
115
|
specInfos.push({
|
|
117
116
|
spec: s,
|
|
118
|
-
specIndex: i,
|
|
119
117
|
specPath: [ this.specKey, i ],
|
|
118
|
+
specInfoPath: [ "component", this.specKey, i ],
|
|
120
119
|
type: ComponentTypeEnum.tooltip
|
|
121
120
|
});
|
|
122
121
|
})), specInfos;
|
|
@@ -154,8 +153,11 @@ export class Tooltip extends BaseComponent {
|
|
|
154
153
|
var _a, _b, _c;
|
|
155
154
|
const renderMode = null !== (_a = this._spec.renderMode) && void 0 !== _a ? _a : "html", userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();
|
|
156
155
|
if (userTooltipHandler) this.tooltipHandler = userTooltipHandler; else {
|
|
157
|
-
const
|
|
158
|
-
|
|
156
|
+
const type = "canvas" === renderMode ? TooltipHandlerType.canvas : TooltipHandlerType.dom, handlerConstructor = Factory.getComponentPluginInType(type);
|
|
157
|
+
handlerConstructor || error("Can not find tooltip handler: " + type);
|
|
158
|
+
const handler = new handlerConstructor;
|
|
159
|
+
handler.name = `${this._spec.className}-${null !== (_b = this._option.globalInstance.id) && void 0 !== _b ? _b : 0}-${this.getSpecIndex()}`,
|
|
160
|
+
null === (_c = this.pluginService) || void 0 === _c || _c.load([ handler ]), this.tooltipHandler = handler;
|
|
159
161
|
}
|
|
160
162
|
}
|
|
161
163
|
_initProcessor() {
|
|
@@ -199,7 +201,7 @@ export class Tooltip extends BaseComponent {
|
|
|
199
201
|
enterable: !!isValid(userSpec.enterable) && userSpec.enterable,
|
|
200
202
|
transitionDuration: isValid(userSpec.transitionDuration) ? userSpec.transitionDuration : 150
|
|
201
203
|
}), this._spec.triggerOff = isValid(userSpec.triggerOff) ? userSpec.triggerOff : this._spec.trigger,
|
|
202
|
-
isValid(userSpec.renderMode) ? this._spec.renderMode = userSpec.renderMode : isMiniAppLikeMode(this._option.mode) && (this._spec.renderMode = "canvas"),
|
|
204
|
+
isValid(userSpec.renderMode) ? this._spec.renderMode = userSpec.renderMode : !isMiniAppLikeMode(this._option.mode) && isTrueBrowser(this._option.mode) || (this._spec.renderMode = "canvas"),
|
|
203
205
|
isValid(userSpec.mark) && (this._spec.mark = Object.assign(Object.assign({}, cloneDeep(userSpec.mark)), {
|
|
204
206
|
activeType: "mark"
|
|
205
207
|
})), isValid(userSpec.dimension) && (this._spec.dimension = Object.assign(Object.assign({}, cloneDeep(userSpec.dimension)), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { IModelLayoutOption, IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, IToolTipLineActual, TooltipActiveType } from '../../typings/tooltip';\nimport { DomTooltipHandler } from './handler/dom';\nimport { CanvasTooltipHandler } from './handler/canvas';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode, domDocument } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n ITooltipTheme,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { TOOLTIP_EL_CLASS_NAME } from './handler/constants';\nimport { showTooltip } from './utils/show-tooltip';\nimport { getTooltipActualActiveType, isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Bubble_Level, Event_Source_Type } from '../../constant';\nimport type { DimensionTooltipInfo, MarkTooltipInfo, TooltipInfo } from './processor';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionTooltipProcessor } from './processor/dimension-tooltip';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\nimport { MarkTooltipProcessor } from './processor/mark-tooltip';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { hasParentElement, isString, cloneDeep, isArray, isValid, isNil } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\n\nexport type TooltipActualTitleContent = {\n title?: IToolTipLineActual;\n content?: IToolTipLineActual[];\n};\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n\n protected declare _spec: ITooltipSpec;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const tooltipSpec = chartSpec[this.specKey];\n if (!tooltipSpec) {\n return null;\n }\n if (!isArray(tooltipSpec)) {\n return [\n {\n spec: tooltipSpec,\n specPath: [this.specKey],\n type: ComponentTypeEnum.tooltip\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n tooltipSpec.forEach((s: any, i: number) => {\n specInfos.push({\n spec: s,\n specIndex: i,\n specPath: [this.specKey, i],\n type: ComponentTypeEnum.tooltip\n });\n });\n return specInfos;\n }\n\n tooltipHandler?: ITooltipHandler;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n\n private _eventList: EventHandlerList = [];\n\n protected _processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor>;\n\n protected _isTooltipShown: boolean = false;\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n changeRegions(regions: IRegion[]) {\n /* do nothing */\n }\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayout(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onLayoutEnd(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onRender(ctx: IModelRenderOption) {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n release() {\n super.release();\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n } else {\n // 构造内部默认 handler\n const Handler = renderMode === 'canvas' ? CanvasTooltipHandler : DomTooltipHandler;\n const id = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this._option.specIndex ?? 0}`;\n this.tooltipHandler = new Handler(id, this);\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n this._processor = {\n mark: new MarkTooltipProcessor(this),\n dimension: new DimensionTooltipProcessor(this)\n };\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger ?? 'hover';\n // TODO: triggerOff完整支持\n // const triggerOff = this._spec.triggerOff ?? trigger;\n const mode = this._option.mode;\n\n if (trigger === 'hover') {\n this._mountEvent('pointermove', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerout', { source: 'canvas' }, this._getMouseOutHandler(false));\n } else if (trigger === 'click') {\n this._mountEvent('pointertap', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n if (browserEnv && this._isPointerOnTooltip(params)) {\n return;\n }\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n this._handleChartMouseOut(params);\n };\n\n protected _handleChartMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...params\n });\n this._cacheInfo = undefined;\n }\n };\n\n protected _handleMouseMove = (params: BaseEventParams) => {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this._processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n if (this._isPointerOnTooltip(params)) {\n return;\n }\n\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark, dimension: ignoreDimension }\n } = mouseEventData;\n\n let markTooltipSuccess: boolean = false;\n let dimensionTooltipSuccess: boolean = false;\n\n /* 显示常规tooltip */\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params);\n if (!markTooltipSuccess) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (!markTooltipSuccess && !dimensionTooltipSuccess && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params, true);\n } else if (ignoreDimension && isDimensionInfo(this._cacheInfo)) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (!markTooltipSuccess && (!dimensionTooltipSuccess || isNil(dimensionInfo))) {\n this._handleChartMouseOut(params);\n }\n };\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n useCache?: boolean\n ): boolean => {\n const processor = this._processor[activeType];\n // 判断是否应该触发 tooltip\n if (\n !processor.shouldHandleTooltip(params, {\n tooltipInfo: mouseEventData.tooltipInfo[activeType],\n ignore: mouseEventData.ignore[activeType]\n })\n ) {\n return false;\n }\n\n let success: boolean;\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCacheInfo(tooltipInfo);\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n }\n // 全局唯一 tooltip\n const vchart = this._option.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n Object.keys(this._processor).forEach(activeType => {\n const { tooltipInfo, ignore } = this._processor[activeType].getMouseEventData(params);\n result.tooltipInfo[activeType] = tooltipInfo;\n result.ignore[activeType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n if (this.tooltipHandler?.hideTooltip) {\n const result = this.tooltipHandler.hideTooltip(params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n this.tooltipHandler.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const userSpec = this._spec as ITooltipSpec;\n this._spec = {\n ...userSpec,\n visible: isValid(userSpec.visible) ? userSpec.visible : true,\n activeType: getTooltipActualActiveType(userSpec),\n renderMode: 'html',\n trigger: isValid(userSpec.trigger) ? userSpec.trigger : 'hover',\n className: isValid(userSpec.className) ? userSpec.className : TOOLTIP_EL_CLASS_NAME,\n enterable: isValid(userSpec.enterable) ? userSpec.enterable : false,\n transitionDuration: isValid(userSpec.transitionDuration) ? userSpec.transitionDuration : 150\n } as ITooltipSpec;\n this._spec.triggerOff = isValid(userSpec.triggerOff) ? userSpec.triggerOff : this._spec.trigger;\n\n if (isValid(userSpec.renderMode)) {\n this._spec.renderMode = userSpec.renderMode;\n } else if (isMiniAppLikeMode(this._option.mode)) {\n // 小程序环境下,默认使用canvas渲染\n this._spec.renderMode = 'canvas';\n }\n\n if (isValid(userSpec.mark)) {\n this._spec.mark = {\n ...cloneDeep(userSpec.mark),\n activeType: 'mark'\n };\n }\n if (isValid(userSpec.dimension)) {\n this._spec.dimension = {\n ...cloneDeep(userSpec.dimension),\n activeType: 'dimension'\n };\n }\n\n if (isValid(userSpec.parentElement)) {\n if (isString(userSpec.parentElement)) {\n this._spec.parentElement = globalThis?.document?.getElementById(userSpec.parentElement);\n } else {\n this._spec.parentElement = userSpec.parentElement;\n }\n } else if (isTrueBrowser(this._option.mode)) {\n this._spec.parentElement = domDocument?.body;\n }\n\n if (isValid(userSpec.confine)) {\n this._spec.confine = userSpec.confine;\n } else {\n this._spec.confine = this._spec.renderMode === 'canvas';\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this._processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n const result = showTooltip(datum, options, this.tooltipHandler, this._option);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip(): boolean {\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n }\n\n private _isSameAsCacheInfo(nextInfo?: TooltipInfo): boolean {\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n return prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n }\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n return (\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option.globalInstance;\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n private _isPointerOnTooltip(params: BaseEventParams): boolean {\n // TODO:后续支持 renderMode === 'canvas' 场景\n if (this._spec.enterable && this._spec.renderMode === 'html') {\n const { event } = params;\n let newTarget: any;\n if (isValid(event.nativeEvent)) {\n // get native event object\n const nativeEvent = event.nativeEvent as any;\n newTarget = nativeEvent.relatedTarget;\n // if in shadow DOM use composedPath to access target\n // FIXME: shadow DOM 的 relatedTarget 的属性是?\n if (nativeEvent.composedPath && nativeEvent.composedPath().length > 0) {\n newTarget = nativeEvent.composedPath()[0];\n }\n } else {\n newTarget = event.relatedTarget;\n }\n const container = this.tooltipHandler?.getTooltipContainer?.();\n if (isValid(container) && isValid(newTarget) && hasParentElement(newTarget, container)) {\n return true;\n }\n }\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/tooltip.ts"],"names":[],"mappings":"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","file":"tooltip.js","sourcesContent":["import { ComponentTypeEnum } from '../interface/type';\nimport type { IModelLayoutOption, IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport { BaseComponent } from '../base/base-component';\nimport type { BaseEventParams, EventCallback, EventQuery, EventType } from '../../event/interface';\nimport type { ITooltipHandler, IToolTipLineActual, TooltipActiveType } from '../../typings/tooltip';\nimport type { Datum, IPoint, IShowTooltipOption } from '../../typings';\nimport { isMobileLikeMode, isTrueBrowser, isMiniAppLikeMode, domDocument } from '../../util/env';\nimport type {\n ITooltip,\n ITooltipActiveTypeAsKeys,\n ITooltipSpec,\n TooltipHandlerParams,\n TotalMouseEventData\n} from './interface';\nimport { TooltipResult } from './interface/common';\nimport { showTooltip } from './utils/show-tooltip';\nimport { getTooltipActualActiveType, isEmptyPos } from './utils/common';\nimport { isSameDimensionInfo } from '../../event/events/dimension/util/common';\nimport { ChartEvent, Event_Bubble_Level, Event_Source_Type } from '../../constant';\nimport type { BaseTooltipProcessor, DimensionTooltipInfo, MarkTooltipInfo, TooltipInfo } from './processor';\n// eslint-disable-next-line no-duplicate-imports\nimport { DimensionTooltipProcessor } from './processor/dimension-tooltip';\nimport { isDimensionInfo, isMarkInfo } from './processor/util';\nimport { MarkTooltipProcessor } from './processor/mark-tooltip';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { hasParentElement, isString, cloneDeep, isArray, isValid, isNil } from '@visactor/vutils';\nimport { VChart } from '../../core/vchart';\nimport type { TooltipEventParams } from './interface/event';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { TooltipSpecTransformer } from './tooltip-transformer';\nimport { TOOLTIP_EL_CLASS_NAME, TooltipHandlerType } from '../../plugin/components/tooltip-handler/constants';\nimport { error } from '../../util';\n\nexport type TooltipActualTitleContent = {\n title?: IToolTipLineActual;\n content?: IToolTipLineActual[];\n};\n\ntype EventHandlerList = {\n eventType: EventType;\n handler: any;\n}[];\n\nexport class Tooltip extends BaseComponent<any> implements ITooltip {\n protected layoutZIndex: number = 1;\n static type = ComponentTypeEnum.tooltip;\n static readonly transformerConstructor = TooltipSpecTransformer;\n type = ComponentTypeEnum.tooltip;\n name: string = ComponentTypeEnum.tooltip;\n readonly transformerConstructor = TooltipSpecTransformer;\n\n static specKey = 'tooltip';\n specKey = 'tooltip';\n\n layoutType: 'none' = 'none';\n\n protected declare _spec: ITooltipSpec;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const tooltipSpec = chartSpec[this.specKey];\n if (!tooltipSpec) {\n return null;\n }\n if (!isArray(tooltipSpec)) {\n return [\n {\n spec: tooltipSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.tooltip\n }\n ];\n }\n const specInfos: IModelSpecInfo[] = [];\n tooltipSpec.forEach((s: any, i: number) => {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.tooltip\n });\n });\n return specInfos;\n }\n\n tooltipHandler?: ITooltipHandler;\n\n private _alwaysShow: boolean = false;\n\n private _cacheInfo: TooltipInfo | undefined;\n\n private _eventList: EventHandlerList = [];\n\n protected _processor: ITooltipActiveTypeAsKeys<MarkTooltipProcessor, DimensionTooltipProcessor>;\n\n protected _isTooltipShown: boolean = false;\n /** 当前是否正在显示 tooltip */\n isTooltipShown() {\n return this._isTooltipShown;\n }\n\n changeRegions(regions: IRegion[]) {\n /* do nothing */\n }\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n protected _registerEvent() {\n /* do nothing */\n }\n protected _releaseEvent() {\n /* do nothing */\n }\n onLayout(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onLayoutEnd(ctx: IModelLayoutOption) {\n /* do nothing */\n }\n onRender(ctx: IModelRenderOption) {\n /* do nothing */\n }\n\n created() {\n super.created();\n this._regions = this._option.getAllRegions();\n // event\n this._initEvent();\n }\n\n release() {\n super.release();\n\n this._eventList.forEach(({ eventType, handler }) => {\n this.event.off(eventType, handler);\n });\n this._eventList = [];\n this.tooltipHandler?.release?.();\n this._isTooltipShown = false;\n }\n\n beforeRelease() {\n // 触发事件\n this.event.emit(ChartEvent.tooltipHide, {\n tooltip: this\n } as unknown as TooltipEventParams);\n this.event.emit(ChartEvent.tooltipRelease, {\n tooltip: this\n } as unknown as TooltipEventParams);\n }\n\n protected _initHandler() {\n const renderMode = this._spec.renderMode ?? 'html';\n\n const userTooltipHandler = this._option.globalInstance.getTooltipHandlerByUser();\n if (userTooltipHandler) {\n this.tooltipHandler = userTooltipHandler;\n } else {\n // 构造内部默认 handler\n const type = renderMode === 'canvas' ? TooltipHandlerType.canvas : TooltipHandlerType.dom;\n const handlerConstructor = Factory.getComponentPluginInType(type);\n if (!handlerConstructor) {\n error('Can not find tooltip handler: ' + type);\n }\n const handler = new handlerConstructor();\n handler.name = `${this._spec.className}-${this._option.globalInstance.id ?? 0}-${this.getSpecIndex()}`;\n this.pluginService?.load([handler]);\n\n this.tooltipHandler = handler as unknown as ITooltipHandler;\n }\n }\n\n protected _initProcessor() {\n // 初始化 tooltip 类型\n this._processor = {\n mark: new MarkTooltipProcessor(this),\n dimension: new DimensionTooltipProcessor(this)\n };\n }\n\n protected _initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger ?? 'hover';\n // TODO: triggerOff完整支持\n // const triggerOff = this._spec.triggerOff ?? trigger;\n const mode = this._option.mode;\n\n if (trigger === 'hover') {\n this._mountEvent('pointermove', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n // 移动端的点按 + 滑动触发\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n this._mountEvent('pointerdown', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n this._mountEvent('pointerout', { source: 'canvas' }, this._getMouseOutHandler(false));\n } else if (trigger === 'click') {\n this._mountEvent('pointertap', { level: Event_Bubble_Level.chart }, this._handleMouseMove);\n this._mountEvent('pointerup', { source: 'window' }, this._getMouseOutHandler(true));\n }\n }\n\n protected _mountEvent = (eType: EventType, query: EventQuery, callback: EventCallback<any>) => {\n this.event.on(eType, query, callback);\n this._eventList.push({\n eventType: eType,\n handler: callback\n });\n };\n\n protected _getMouseOutHandler = (needPointerDetection?: boolean) => (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n return;\n }\n\n const browserEnv = isTrueBrowser(this._option.mode);\n const { clientX, clientY } = params.event as MouseEvent;\n\n // 当 enterable 为 true,同时鼠标移入 tooltip 时 pointerleave 事件也会触发,所以这里做一个判断\n if (browserEnv && this._isPointerOnTooltip(params)) {\n return;\n }\n\n // 判断鼠标是否在图表范围内\n if (browserEnv && needPointerDetection && this._isPointerInChart({ x: clientX, y: clientY })) {\n return;\n }\n\n this._handleChartMouseOut(params);\n };\n\n protected _handleChartMouseOut = (params: BaseEventParams) => {\n if (this._alwaysShow) {\n return;\n }\n\n if (this._spec.triggerOff !== 'none') {\n this._hideTooltipByHandler({\n ...params\n });\n this._cacheInfo = undefined;\n }\n };\n\n protected _handleMouseMove = (params: BaseEventParams) => {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this._processor) {\n this._initProcessor();\n }\n\n if (this._alwaysShow) {\n return;\n }\n if (this._isPointerOnTooltip(params)) {\n return;\n }\n\n /* 获取 tooltip 原始数据 */\n const mouseEventData = this._getMouseEventData(params);\n const {\n tooltipInfo: { dimension: dimensionInfo },\n ignore: { mark: ignoreMark, dimension: ignoreDimension }\n } = mouseEventData;\n\n let markTooltipSuccess: boolean = false;\n let dimensionTooltipSuccess: boolean = false;\n\n /* 显示常规tooltip */\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params);\n if (!markTooltipSuccess) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n\n /* 如果不是常规情况,进行一些特殊情况tooltip处理 */\n if (!markTooltipSuccess && !dimensionTooltipSuccess && !isEmptyPos(params)) {\n // 用户手动配置ignore,则继续显示缓存tooltip\n if (ignoreMark && isMarkInfo(this._cacheInfo)) {\n markTooltipSuccess = this._showTooltipByMouseEvent('mark', mouseEventData, params, true);\n } else if (ignoreDimension && isDimensionInfo(this._cacheInfo)) {\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params, true);\n } else if (isValid(dimensionInfo)) {\n // 用户没有手动配置ignore的话,默认显示dimension tooltip\n dimensionTooltipSuccess = this._showTooltipByMouseEvent('dimension', mouseEventData, params);\n }\n }\n\n /* 如果还是不应该显示tooltip,则隐藏上一次tooltip */\n if (!markTooltipSuccess && (!dimensionTooltipSuccess || isNil(dimensionInfo))) {\n this._handleChartMouseOut(params);\n }\n };\n\n /**\n * 通过鼠标事件触发 tooltip,返回是否成功\n * @param activeType tooltip 类型\n * @param mouseEventData tooltip 相关数据\n * @param params 事件参数\n * @param useCache 是否直接显示缓存 tooltip\n * @returns 是否成功执行\n */\n protected _showTooltipByMouseEvent = (\n activeType: TooltipActiveType,\n mouseEventData: TotalMouseEventData,\n params: BaseEventParams,\n useCache?: boolean\n ): boolean => {\n const processor = this._processor[activeType];\n // 判断是否应该触发 tooltip\n if (\n !processor.shouldHandleTooltip(params, {\n tooltipInfo: mouseEventData.tooltipInfo[activeType],\n ignore: mouseEventData.ignore[activeType]\n })\n ) {\n return false;\n }\n\n let success: boolean;\n if (useCache) {\n // 直接显示缓存 tooltip\n success = !processor.showTooltip(this._cacheInfo as any, params, true);\n } else {\n const tooltipInfo = mouseEventData.tooltipInfo[activeType];\n const isSameAsCache = this._isSameAsCacheInfo(tooltipInfo);\n success = !processor.showTooltip(tooltipInfo as any, params, isSameAsCache);\n if (success) {\n // 成功显示 tooltip,则更新缓存\n this._cacheInfo = tooltipInfo;\n }\n }\n if (success) {\n this._isTooltipShown = true;\n }\n // 全局唯一 tooltip\n const vchart = this._option.globalInstance;\n if (success && VChart.globalConfig.uniqueTooltip) {\n VChart.hideTooltip(vchart.id);\n }\n return success;\n };\n\n protected _getMouseEventData = (params: BaseEventParams): TotalMouseEventData => {\n const result: TotalMouseEventData = {\n tooltipInfo: {},\n ignore: {}\n };\n Object.keys(this._processor).forEach(activeType => {\n const { tooltipInfo, ignore } = (this._processor[activeType] as BaseTooltipProcessor).getMouseEventData(params);\n result.tooltipInfo[activeType] = tooltipInfo;\n result.ignore[activeType] = ignore;\n });\n return result;\n };\n\n protected _hideTooltipByHandler = (params: TooltipHandlerParams): TooltipResult => {\n if (!this._isTooltipShown && !this.tooltipHandler?.isTooltipShown?.()) {\n // 如果当前 tooltip 未显示,则提前退出\n return TooltipResult.success;\n }\n this.event.emit(ChartEvent.tooltipHide, {\n ...params,\n source: Event_Source_Type.chart, // 统一 event 的来源\n tooltip: this\n });\n if (this.tooltipHandler?.hideTooltip) {\n const result = this.tooltipHandler.hideTooltip(params);\n if (!result) {\n this._isTooltipShown = false;\n }\n return result;\n }\n return TooltipResult.failed;\n };\n\n reInit(spec?: any) {\n super.reInit(spec);\n\n if (this.tooltipHandler) {\n this.tooltipHandler.reInit?.();\n } else {\n this._initHandler();\n }\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const userSpec = this._spec as ITooltipSpec;\n this._spec = {\n ...userSpec,\n visible: isValid(userSpec.visible) ? userSpec.visible : true,\n activeType: getTooltipActualActiveType(userSpec),\n renderMode: 'html',\n trigger: isValid(userSpec.trigger) ? userSpec.trigger : 'hover',\n className: isValid(userSpec.className) ? userSpec.className : TOOLTIP_EL_CLASS_NAME,\n enterable: isValid(userSpec.enterable) ? userSpec.enterable : false,\n transitionDuration: isValid(userSpec.transitionDuration) ? userSpec.transitionDuration : 150\n } as ITooltipSpec;\n this._spec.triggerOff = isValid(userSpec.triggerOff) ? userSpec.triggerOff : this._spec.trigger;\n\n if (isValid(userSpec.renderMode)) {\n this._spec.renderMode = userSpec.renderMode;\n } else if (isMiniAppLikeMode(this._option.mode) || !isTrueBrowser(this._option.mode)) {\n // 小程序或非浏览器环境下,默认使用canvas渲染\n this._spec.renderMode = 'canvas';\n }\n\n if (isValid(userSpec.mark)) {\n this._spec.mark = {\n ...cloneDeep(userSpec.mark),\n activeType: 'mark'\n };\n }\n if (isValid(userSpec.dimension)) {\n this._spec.dimension = {\n ...cloneDeep(userSpec.dimension),\n activeType: 'dimension'\n };\n }\n\n if (isValid(userSpec.parentElement)) {\n if (isString(userSpec.parentElement)) {\n this._spec.parentElement = globalThis?.document?.getElementById(userSpec.parentElement);\n } else {\n this._spec.parentElement = userSpec.parentElement;\n }\n } else if (isTrueBrowser(this._option.mode)) {\n this._spec.parentElement = domDocument?.body;\n }\n\n if (isValid(userSpec.confine)) {\n this._spec.confine = userSpec.confine;\n } else {\n this._spec.confine = this._spec.renderMode === 'canvas';\n }\n }\n\n showTooltip(datum: Datum, options: IShowTooltipOption) {\n if (!this.tooltipHandler) {\n this._initHandler();\n }\n\n if (!this._processor) {\n this._initProcessor();\n }\n\n if (!this.tooltipHandler?.showTooltip) {\n return false;\n }\n const result = showTooltip(datum, options, this.tooltipHandler, this._option);\n if (result !== 'none') {\n this._alwaysShow = !!options?.alwaysShow;\n }\n return result;\n }\n\n /** 手动隐藏 tooltip,返回是否成功 */\n hideTooltip(): boolean {\n const params: TooltipHandlerParams = {\n changePositionOnly: false,\n item: undefined,\n datum: undefined,\n source: Event_Source_Type.chart\n } as any;\n\n this._alwaysShow = false;\n return !this._hideTooltipByHandler(params);\n }\n\n private _isSameAsCacheInfo(nextInfo?: TooltipInfo): boolean {\n if (nextInfo === this._cacheInfo) {\n return true;\n }\n if (isNil(this._cacheInfo) || isNil(nextInfo)) {\n return false;\n }\n\n if (isDimensionInfo(nextInfo)) {\n if (isMarkInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as DimensionTooltipInfo;\n return prevInfo.length === nextInfo.length && nextInfo.every((info, i) => isSameDimensionInfo(info, prevInfo[i]));\n }\n if (isDimensionInfo(this._cacheInfo)) {\n return false;\n }\n\n const prevInfo = this._cacheInfo as MarkTooltipInfo;\n return (\n nextInfo?.datum === prevInfo.datum && nextInfo?.mark === prevInfo.mark && nextInfo?.series === prevInfo.series\n );\n }\n\n private _isPointerInChart(point: IPoint): boolean {\n const globalInstance = this._option.globalInstance;\n const chart = globalInstance.getChart();\n if (!chart) {\n return false;\n }\n const { x, y } = point;\n const canvas = globalInstance.getCanvas();\n const { x: chartX, y: chartY, width: chartWidth, height: chartHeight } = canvas.getBoundingClientRect();\n // 鼠标仍在图表范围内,则不处理\n if (x >= chartX && x <= chartX + chartWidth && y >= chartY && y <= chartY + chartHeight) {\n return true;\n }\n\n return false;\n }\n\n private _isPointerOnTooltip(params: BaseEventParams): boolean {\n // TODO:后续支持 renderMode === 'canvas' 场景\n if (this._spec.enterable && this._spec.renderMode === 'html') {\n const { event } = params;\n let newTarget: any;\n if (isValid(event.nativeEvent)) {\n // get native event object\n const nativeEvent = event.nativeEvent as any;\n newTarget = nativeEvent.relatedTarget;\n // if in shadow DOM use composedPath to access target\n // FIXME: shadow DOM 的 relatedTarget 的属性是?\n if (nativeEvent.composedPath && nativeEvent.composedPath().length > 0) {\n newTarget = nativeEvent.composedPath()[0];\n }\n } else {\n newTarget = event.relatedTarget;\n }\n const container = this.tooltipHandler?.getTooltipContainer?.();\n if (isValid(container) && isValid(newTarget) && hasParentElement(newTarget, container)) {\n return true;\n }\n }\n return false;\n }\n\n getVisible() {\n return this._spec.visible !== false;\n }\n}\n\nexport const registerTooltip = () => {\n Factory.registerComponent(Tooltip.type, Tooltip);\n};\n"]}
|
package/esm/constant/base.js
CHANGED
|
@@ -1 +1,2 @@
|
|
|
1
|
-
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
1
|
+
export const SCROLL_BAR_DEFAULT_SIZE = 12;
|
|
2
|
+
//# sourceMappingURL=scroll-bar.js.map
|
package/esm/core/factory.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { Transform, Parser } from '@visactor/vdataset';
|
|
|
8
8
|
import type { ILayoutConstructor } from '../layout/interface';
|
|
9
9
|
import type { MarkAnimationSpec } from '@visactor/vgrammar-core';
|
|
10
10
|
import type { IChartPluginConstructor } from '../plugin/chart/interface';
|
|
11
|
+
import type { IComponentPluginConstructor } from '../plugin/components/interface';
|
|
11
12
|
export declare class Factory {
|
|
12
13
|
private static _charts;
|
|
13
14
|
private static _series;
|
|
@@ -17,6 +18,7 @@ export declare class Factory {
|
|
|
17
18
|
private static _animations;
|
|
18
19
|
private static _implements;
|
|
19
20
|
private static _chartPlugin;
|
|
21
|
+
private static _componentPlugin;
|
|
20
22
|
static transforms: {
|
|
21
23
|
[key: string]: Transform;
|
|
22
24
|
};
|
|
@@ -36,6 +38,7 @@ export declare class Factory {
|
|
|
36
38
|
static registerAnimation(key: string, animation: (params?: any, preset?: any) => MarkAnimationSpec): void;
|
|
37
39
|
static registerImplement(key: string, implement: (...args: any) => void): void;
|
|
38
40
|
static registerChartPlugin(key: string, plugin: IChartPluginConstructor): void;
|
|
41
|
+
static registerComponentPlugin(key: string, plugin: IComponentPluginConstructor): void;
|
|
39
42
|
static createChart(chartType: string, spec: any, options: IChartOption): IChart | null;
|
|
40
43
|
static createChartSpecTransformer(chartType: string, option: IChartSpecTransformerOption): IChartSpecTransformer | null;
|
|
41
44
|
static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null;
|
|
@@ -57,4 +60,6 @@ export declare class Factory {
|
|
|
57
60
|
static getImplementInKey(key: string): (...args: any) => void;
|
|
58
61
|
static getSeriesMarkMap(seriesType: string): Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;
|
|
59
62
|
static getChartPlugins(): IChartPluginConstructor[];
|
|
63
|
+
static getComponentPlugins(): IComponentPluginConstructor[];
|
|
64
|
+
static getComponentPluginInType(type: string): IComponentPluginConstructor;
|
|
60
65
|
}
|
package/esm/core/factory.js
CHANGED
|
@@ -36,6 +36,9 @@ export class Factory {
|
|
|
36
36
|
static registerChartPlugin(key, plugin) {
|
|
37
37
|
Factory._chartPlugin[key] = plugin;
|
|
38
38
|
}
|
|
39
|
+
static registerComponentPlugin(key, plugin) {
|
|
40
|
+
Factory._componentPlugin[key] = plugin;
|
|
41
|
+
}
|
|
39
42
|
static createChart(chartType, spec, options) {
|
|
40
43
|
if (!Factory._charts[chartType]) return null;
|
|
41
44
|
return new (0, Factory._charts[chartType])(spec, options);
|
|
@@ -102,11 +105,17 @@ export class Factory {
|
|
|
102
105
|
static getChartPlugins() {
|
|
103
106
|
return Object.values(Factory._chartPlugin);
|
|
104
107
|
}
|
|
108
|
+
static getComponentPlugins() {
|
|
109
|
+
return Object.values(Factory._componentPlugin);
|
|
110
|
+
}
|
|
111
|
+
static getComponentPluginInType(type) {
|
|
112
|
+
return Factory._componentPlugin[type];
|
|
113
|
+
}
|
|
105
114
|
}
|
|
106
115
|
|
|
107
116
|
Factory._charts = {}, Factory._series = {}, Factory._components = {}, Factory._marks = {},
|
|
108
117
|
Factory._regions = {}, Factory._animations = {}, Factory._implements = {}, Factory._chartPlugin = {},
|
|
109
|
-
Factory.transforms = {
|
|
118
|
+
Factory._componentPlugin = {}, Factory.transforms = {
|
|
110
119
|
simplify: simplify,
|
|
111
120
|
fields: fields,
|
|
112
121
|
filter: filter,
|
package/esm/core/factory.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/factory.ts"],"names":[],"mappings":"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","file":"factory.js","sourcesContent":["import type {\n IChartConstructor,\n IChartOption,\n IChart,\n IChartSpecTransformerOption,\n IChartSpecTransformer\n} from '../chart/interface';\nimport type { ISeriesConstructor, ISeriesMarkInfo, ISeriesOption, SeriesMarkNameEnum } from '../series/interface';\nimport type { IComponentConstructor } from '../component/interface';\nimport type { IMarkConstructor, IMarkOption, MarkConstructor } from '../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { IRegion, IRegionConstructor } from '../region/interface';\nimport type { IBaseModelSpecTransformer, IBaseModelSpecTransformerOption, IModelOption } from '../model/interface';\nimport type { Transform, Parser } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { fields, filter, simplify, fold, csvParser, dsvParser, tsvParser } from '@visactor/vdataset';\nimport type { ILayoutConstructor } from '../layout/interface';\nimport type { MarkAnimationSpec } from '@visactor/vgrammar-core';\nimport type { IChartPluginConstructor } from '../plugin/chart/interface';\n\nexport class Factory {\n private static _charts: { [key: string]: IChartConstructor } = {};\n private static _series: { [key: string]: ISeriesConstructor } = {};\n private static _components: { [key: string]: { cmp: IComponentConstructor; alwaysCheck?: boolean } } = {};\n private static _marks: { [key: string]: MarkConstructor } = {};\n private static _regions: { [key: string]: IRegionConstructor } = {};\n private static _animations: { [key: string]: (params?: any, preset?: any) => MarkAnimationSpec } = {};\n private static _implements: { [key: string]: (...args: any) => void } = {};\n private static _chartPlugin: { [key: string]: IChartPluginConstructor } = {};\n\n static transforms: { [key: string]: Transform } = {\n // buildIn transforms\n simplify: simplify,\n fields: fields,\n filter: filter,\n fold: fold\n };\n static dataParser: { [key: string]: Parser } = {\n // buildIn parser\n csv: csvParser,\n dsv: dsvParser,\n tsv: tsvParser\n };\n static _layout: { [key: string]: ILayoutConstructor } = {};\n\n static registerChart(key: string, chart: IChartConstructor) {\n Factory._charts[key] = chart;\n }\n static registerSeries(key: string, series: ISeriesConstructor) {\n Factory._series[key] = series;\n }\n static registerComponent(key: string, cmp: IComponentConstructor, alwaysCheck?: boolean) {\n Factory._components[key] = { cmp, alwaysCheck };\n }\n static registerMark(key: string, mark: MarkConstructor) {\n Factory._marks[key] = mark;\n }\n static registerRegion(key: string, region: IRegionConstructor) {\n Factory._regions[key] = region;\n }\n static registerTransform(key: string, transform: Transform) {\n Factory.transforms[key] = transform;\n }\n static registerLayout(key: string, layout: ILayoutConstructor) {\n Factory._layout[key] = layout;\n }\n static registerAnimation(key: string, animation: (params?: any, preset?: any) => MarkAnimationSpec) {\n Factory._animations[key] = animation;\n }\n static registerImplement(key: string, implement: (...args: any) => void) {\n Factory._implements[key] = implement;\n }\n static registerChartPlugin(key: string, plugin: IChartPluginConstructor) {\n Factory._chartPlugin[key] = plugin;\n }\n\n static createChart(chartType: string, spec: any, options: IChartOption): IChart | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n return new ChartConstructor(spec, options);\n }\n\n static createChartSpecTransformer(\n chartType: string,\n option: IChartSpecTransformerOption\n ): IChartSpecTransformer | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n const ChartSpecTransformerConstructor = ChartConstructor.transformerConstructor;\n return new ChartSpecTransformerConstructor({\n seriesType: ChartConstructor.seriesType,\n ...option\n });\n }\n\n static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n return new RegionConstructor(spec, options);\n }\n\n static createRegionSpecTransformer(\n regionType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n const RegionSpecTransformerConstructor = RegionConstructor.transformerConstructor;\n return new RegionSpecTransformerConstructor(options);\n }\n\n static createSeries(seriesType: string, spec: any, options: ISeriesOption) {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n return new SeriesConstructor(spec, options);\n }\n\n static createSeriesSpecTransformer(\n seriesType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n const SeriesSpecTransformerConstructor = SeriesConstructor.transformerConstructor;\n return new SeriesSpecTransformerConstructor(options);\n }\n\n static createMark(markType: string, name: string, options: IMarkOption) {\n if (!Factory._marks[markType]) {\n return null;\n }\n const MarkConstructor = Factory._marks[markType] as IMarkConstructor;\n const markInstance = new MarkConstructor(name, options);\n if (markInstance.type === MarkTypeEnum.group) {\n // group 目前关闭交互,不参与事件拾取\n markInstance.setInteractive(false);\n }\n return markInstance;\n }\n\n static getComponents() {\n return Object.values(Factory._components);\n }\n\n static getComponentInKey(name: string) {\n return Factory._components[name].cmp;\n }\n\n static getLayout() {\n return Object.values(Factory._layout);\n }\n\n static getLayoutInKey(name: string) {\n return Factory._layout[name];\n }\n\n static getSeries() {\n return Object.values(Factory._series);\n }\n\n static getSeriesInType(type: string) {\n return Factory._series[type];\n }\n\n static getRegionInType(type: string) {\n return Factory._regions[type];\n }\n\n static getAnimationInKey(key: string) {\n return Factory._animations[key];\n }\n\n static getImplementInKey(key: string) {\n return Factory._implements[key];\n }\n\n static getSeriesMarkMap(seriesType: string): Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>> {\n if (!Factory._series[seriesType]) {\n return {};\n }\n return Factory._series[seriesType].mark;\n }\n\n static getChartPlugins() {\n return Object.values(Factory._chartPlugin);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/core/factory.ts"],"names":[],"mappings":"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","file":"factory.js","sourcesContent":["import type {\n IChartConstructor,\n IChartOption,\n IChart,\n IChartSpecTransformerOption,\n IChartSpecTransformer\n} from '../chart/interface';\nimport type { ISeriesConstructor, ISeriesMarkInfo, ISeriesOption, SeriesMarkNameEnum } from '../series/interface';\nimport type { IComponentConstructor } from '../component/interface';\nimport type { IMarkConstructor, IMarkOption, MarkConstructor } from '../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { IRegion, IRegionConstructor } from '../region/interface';\nimport type { IBaseModelSpecTransformer, IBaseModelSpecTransformerOption, IModelOption } from '../model/interface';\nimport type { Transform, Parser } from '@visactor/vdataset';\n// eslint-disable-next-line no-duplicate-imports\nimport { fields, filter, simplify, fold, csvParser, dsvParser, tsvParser } from '@visactor/vdataset';\nimport type { ILayoutConstructor } from '../layout/interface';\nimport type { MarkAnimationSpec } from '@visactor/vgrammar-core';\nimport type { IChartPluginConstructor } from '../plugin/chart/interface';\nimport type { IComponentPluginConstructor } from '../plugin/components/interface';\n\nexport class Factory {\n private static _charts: { [key: string]: IChartConstructor } = {};\n private static _series: { [key: string]: ISeriesConstructor } = {};\n private static _components: { [key: string]: { cmp: IComponentConstructor; alwaysCheck?: boolean } } = {};\n private static _marks: { [key: string]: MarkConstructor } = {};\n private static _regions: { [key: string]: IRegionConstructor } = {};\n private static _animations: { [key: string]: (params?: any, preset?: any) => MarkAnimationSpec } = {};\n private static _implements: { [key: string]: (...args: any) => void } = {};\n private static _chartPlugin: { [key: string]: IChartPluginConstructor } = {};\n private static _componentPlugin: { [key: string]: IComponentPluginConstructor } = {};\n\n static transforms: { [key: string]: Transform } = {\n // buildIn transforms\n simplify: simplify,\n fields: fields,\n filter: filter,\n fold: fold\n };\n static dataParser: { [key: string]: Parser } = {\n // buildIn parser\n csv: csvParser,\n dsv: dsvParser,\n tsv: tsvParser\n };\n static _layout: { [key: string]: ILayoutConstructor } = {};\n\n static registerChart(key: string, chart: IChartConstructor) {\n Factory._charts[key] = chart;\n }\n static registerSeries(key: string, series: ISeriesConstructor) {\n Factory._series[key] = series;\n }\n static registerComponent(key: string, cmp: IComponentConstructor, alwaysCheck?: boolean) {\n Factory._components[key] = { cmp, alwaysCheck };\n }\n static registerMark(key: string, mark: MarkConstructor) {\n Factory._marks[key] = mark;\n }\n static registerRegion(key: string, region: IRegionConstructor) {\n Factory._regions[key] = region;\n }\n static registerTransform(key: string, transform: Transform) {\n Factory.transforms[key] = transform;\n }\n static registerLayout(key: string, layout: ILayoutConstructor) {\n Factory._layout[key] = layout;\n }\n static registerAnimation(key: string, animation: (params?: any, preset?: any) => MarkAnimationSpec) {\n Factory._animations[key] = animation;\n }\n static registerImplement(key: string, implement: (...args: any) => void) {\n Factory._implements[key] = implement;\n }\n static registerChartPlugin(key: string, plugin: IChartPluginConstructor) {\n Factory._chartPlugin[key] = plugin;\n }\n static registerComponentPlugin(key: string, plugin: IComponentPluginConstructor) {\n Factory._componentPlugin[key] = plugin;\n }\n\n static createChart(chartType: string, spec: any, options: IChartOption): IChart | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n return new ChartConstructor(spec, options);\n }\n\n static createChartSpecTransformer(\n chartType: string,\n option: IChartSpecTransformerOption\n ): IChartSpecTransformer | null {\n if (!Factory._charts[chartType]) {\n return null;\n }\n const ChartConstructor = Factory._charts[chartType];\n const ChartSpecTransformerConstructor = ChartConstructor.transformerConstructor;\n return new ChartSpecTransformerConstructor({\n seriesType: ChartConstructor.seriesType,\n ...option\n });\n }\n\n static createRegion(regionType: string, spec: any, options: IModelOption): IRegion | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n return new RegionConstructor(spec, options);\n }\n\n static createRegionSpecTransformer(\n regionType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._regions[regionType]) {\n return null;\n }\n const RegionConstructor = Factory._regions[regionType];\n const RegionSpecTransformerConstructor = RegionConstructor.transformerConstructor;\n return new RegionSpecTransformerConstructor(options);\n }\n\n static createSeries(seriesType: string, spec: any, options: ISeriesOption) {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n return new SeriesConstructor(spec, options);\n }\n\n static createSeriesSpecTransformer(\n seriesType: string,\n options: IBaseModelSpecTransformerOption\n ): IBaseModelSpecTransformer | null {\n if (!Factory._series[seriesType]) {\n return null;\n }\n const SeriesConstructor = Factory._series[seriesType];\n const SeriesSpecTransformerConstructor = SeriesConstructor.transformerConstructor;\n return new SeriesSpecTransformerConstructor(options);\n }\n\n static createMark(markType: string, name: string, options: IMarkOption) {\n if (!Factory._marks[markType]) {\n return null;\n }\n const MarkConstructor = Factory._marks[markType] as IMarkConstructor;\n const markInstance = new MarkConstructor(name, options);\n if (markInstance.type === MarkTypeEnum.group) {\n // group 目前关闭交互,不参与事件拾取\n markInstance.setInteractive(false);\n }\n return markInstance;\n }\n\n static getComponents() {\n return Object.values(Factory._components);\n }\n\n static getComponentInKey(name: string) {\n return Factory._components[name].cmp;\n }\n\n static getLayout() {\n return Object.values(Factory._layout);\n }\n\n static getLayoutInKey(name: string) {\n return Factory._layout[name];\n }\n\n static getSeries() {\n return Object.values(Factory._series);\n }\n\n static getSeriesInType(type: string) {\n return Factory._series[type];\n }\n\n static getRegionInType(type: string) {\n return Factory._regions[type];\n }\n\n static getAnimationInKey(key: string) {\n return Factory._animations[key];\n }\n\n static getImplementInKey(key: string) {\n return Factory._implements[key];\n }\n\n static getSeriesMarkMap(seriesType: string): Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>> {\n if (!Factory._series[seriesType]) {\n return {};\n }\n return Factory._series[seriesType].mark;\n }\n\n static getChartPlugins() {\n return Object.values(Factory._chartPlugin);\n }\n\n static getComponentPlugins() {\n return Object.values(Factory._componentPlugin);\n }\n\n static getComponentPluginInType(type: string) {\n return Factory._componentPlugin[type];\n }\n}\n"]}
|
package/esm/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "1.
|
|
4
|
+
export declare const version = "1.9.0-alpha.1";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export type { IStateSpec, StateValueType } from '../compile/mark';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/esm/core/index.js
CHANGED
package/esm/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAG3B,MAAM,CAAC,MAAM,OAAO,GAAG,eAAe,CAAC;AAMvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAK5B,cAAc,uBAAuB,CAAC;AAGtC,cAAc,gBAAgB,CAAC;AAG/B,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAGjD,cAAc,WAAW,CAAC","file":"index.js","sourcesContent":["/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.9.0-alpha.1\";\n\n// export necessary types\nexport type { IVChart } from './interface';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\n\nexport * from '../typings/spec/common';\nexport * from '../event/interface';\nexport * from '../theme/interface';\nexport * from '../constant';\nexport * from './interface';\n\n/**\n * spec\n */\nexport * from '../typings/spec/index';\n\n// theme\nexport * from '../theme/index';\n\n// vrender\nexport { vglobal } from '@visactor/vrender-core';\n\n// plugin\nexport * from '../plugin';\n"]}
|
package/esm/core/vchart.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import type { DimensionIndexOption, IChart, IChartConstructor, IChartSpecInfo }
|
|
|
6
6
|
import type { IComponentConstructor } from '../component/interface';
|
|
7
7
|
import type { EventCallback, EventParams, EventQuery, EventType } from '../event/interface';
|
|
8
8
|
import type { IParserOptions } from '@visactor/vdataset/es/parser';
|
|
9
|
-
import type { Transform } from '@visactor/vdataset';
|
|
10
|
-
import { DataSet
|
|
9
|
+
import type { Transform, DataView } from '@visactor/vdataset';
|
|
10
|
+
import { DataSet } from '@visactor/vdataset';
|
|
11
11
|
import type { Stage } from '@visactor/vrender-core';
|
|
12
12
|
import type { GeoSourceType } from '../typings/geo';
|
|
13
13
|
import type { GeoSourceOption } from '../series/map/geo-source';
|
|
@@ -102,12 +102,13 @@ export declare class VChart implements IVChart {
|
|
|
102
102
|
private _updateAnimateState;
|
|
103
103
|
release(): void;
|
|
104
104
|
updateData(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): Promise<IVChart>;
|
|
105
|
+
private _updateDataById;
|
|
105
106
|
updateDataInBatches(list: {
|
|
106
107
|
id: string;
|
|
107
108
|
data: Datum[];
|
|
108
109
|
options?: IParserOptions;
|
|
109
110
|
}[]): Promise<IVChart>;
|
|
110
|
-
updateDataSync(id: StringOrNumber, data: DataView | Datum[], options?: IParserOptions): IVChart;
|
|
111
|
+
updateDataSync(id: StringOrNumber, data: DataView | Datum[] | string, options?: IParserOptions): IVChart;
|
|
111
112
|
updateFullDataSync(data: IDataValues | IDataValues[], reRender?: boolean): IVChart;
|
|
112
113
|
updateFullData(data: IDataValues | IDataValues[], reRender?: boolean): Promise<IVChart>;
|
|
113
114
|
updateSpec(spec: ISpec, forceMerge?: boolean, morphConfig?: IMorphConfig): Promise<IVChart>;
|
|
@@ -124,6 +125,9 @@ export declare class VChart implements IVChart {
|
|
|
124
125
|
} | ((model: IModel) => boolean), spec: unknown, forceMerge?: boolean, morphConfig?: IMorphConfig): IVChart;
|
|
125
126
|
protected _updateModelSpec(model: IModel, spec: unknown, sync?: boolean, forceMerge?: boolean, morphConfig?: IMorphConfig): IVChart | Promise<IVChart>;
|
|
126
127
|
resize(width: number, height: number): Promise<IVChart>;
|
|
128
|
+
resizeSync(width: number, height: number): IVChart;
|
|
129
|
+
protected _beforeResize(width: number, height: number): boolean;
|
|
130
|
+
protected _afterResize(): IVChart;
|
|
127
131
|
updateViewBox(viewBox: IBoundsLike, reRender?: boolean, reLayout?: boolean): IVChart;
|
|
128
132
|
on(eType: EventType, handler: EventCallback<EventParams>): void;
|
|
129
133
|
on(eType: EventType, query: EventQuery, handler: EventCallback<EventParams>): void;
|