@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
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { isValid, isNil, array } from "@visactor/vutils";
|
|
2
|
+
|
|
3
|
+
import { getFirstDatumFromTooltipData, getTooltipContentValue, getTooltipPatternValue } from "./common";
|
|
4
|
+
|
|
5
|
+
import { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from "../constants";
|
|
6
|
+
|
|
7
|
+
import { getTooltipActualActiveType } from "../../../../component/tooltip/utils";
|
|
8
|
+
|
|
9
|
+
import { TimeUtil } from "../../../../component/axis/cartesian/util";
|
|
10
|
+
|
|
11
|
+
const getTimeString = (value, timeFormat, timeFormatMode) => {
|
|
12
|
+
if (!timeFormat && !timeFormatMode) return "object" != typeof value ? null == value ? void 0 : value.toString() : value;
|
|
13
|
+
const timeUtil = TimeUtil.getInstance();
|
|
14
|
+
timeFormat = timeFormat || "%Y%m%d";
|
|
15
|
+
return ("local" === (timeFormatMode = timeFormatMode || "local") ? timeUtil.timeFormat : timeUtil.timeUTCFormat)(timeFormat, value);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export const getShowContent = (pattern, data, params) => {
|
|
19
|
+
var _a, _b, _c, _d;
|
|
20
|
+
if (!data || "mouseout" === (null === (_a = null == params ? void 0 : params.event) || void 0 === _a ? void 0 : _a.type)) return null;
|
|
21
|
+
const tooltipActualTitleContent = {
|
|
22
|
+
title: {},
|
|
23
|
+
content: []
|
|
24
|
+
}, patternTitle = getTooltipPatternValue(pattern.title, data, params), {visible: visible, value: value, valueTimeFormat: valueTimeFormat, valueTimeFormatMode: valueTimeFormatMode, valueStyle: valueStyle, hasShape: hasShape} = null != patternTitle ? patternTitle : {}, patternTitleVisible = !1 !== getTooltipContentValue(visible, data, params);
|
|
25
|
+
if (patternTitle && patternTitleVisible) {
|
|
26
|
+
const datum = getFirstDatumFromTooltipData(data);
|
|
27
|
+
tooltipActualTitleContent.title = {
|
|
28
|
+
value: getTimeString(getTooltipContentValue(value, datum, params), valueTimeFormat, valueTimeFormatMode),
|
|
29
|
+
valueStyle: getTooltipContentValue(valueStyle, datum, params),
|
|
30
|
+
hasShape: hasShape
|
|
31
|
+
};
|
|
32
|
+
} else tooltipActualTitleContent.title = {
|
|
33
|
+
hasShape: !1,
|
|
34
|
+
visible: !1
|
|
35
|
+
};
|
|
36
|
+
const patternContent = array(getTooltipPatternValue(pattern.content, data, params)), {maxLineCount: maxLineCount = TOOLTIP_MAX_LINE_COUNT} = pattern;
|
|
37
|
+
if ("mark" === pattern.activeType) for (const content of null != patternContent ? patternContent : []) {
|
|
38
|
+
const oneLineData = getOneLineData(null === (_b = data[0]) || void 0 === _b ? void 0 : _b.datum[0], content, params);
|
|
39
|
+
if (!1 !== oneLineData.visible) {
|
|
40
|
+
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
41
|
+
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), TOOLTIP_OTHERS_LINE));
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
45
|
+
tooltipActualTitleContent.content.push(oneLineData);
|
|
46
|
+
}
|
|
47
|
+
} else if ("dimension" === pattern.activeType) for (const {data: d} of data) {
|
|
48
|
+
for (const {datum: datum, series: series} of d) {
|
|
49
|
+
if (!getTooltipActualActiveType(null === (_c = series.tooltipHelper) || void 0 === _c ? void 0 : _c.spec).includes("dimension")) continue;
|
|
50
|
+
const contentPatterns = null !== (_d = null == patternContent ? void 0 : patternContent.filter((c => isNil(c.seriesId) || c.seriesId === series.id))) && void 0 !== _d ? _d : [];
|
|
51
|
+
for (const datumItem of datum) {
|
|
52
|
+
for (const linePattern of contentPatterns) {
|
|
53
|
+
const oneLineData = getOneLineData(datumItem, linePattern, params);
|
|
54
|
+
if (!1 !== oneLineData.visible) {
|
|
55
|
+
if (tooltipActualTitleContent.content.length === maxLineCount - 1) {
|
|
56
|
+
tooltipActualTitleContent.content.push(Object.assign(Object.assign({}, oneLineData), TOOLTIP_OTHERS_LINE));
|
|
57
|
+
break;
|
|
58
|
+
}
|
|
59
|
+
if (!(tooltipActualTitleContent.content.length < maxLineCount)) break;
|
|
60
|
+
tooltipActualTitleContent.content.push(oneLineData);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
64
|
+
}
|
|
65
|
+
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
66
|
+
}
|
|
67
|
+
if (tooltipActualTitleContent.content.length >= maxLineCount) break;
|
|
68
|
+
}
|
|
69
|
+
return tooltipActualTitleContent.title && (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType ? (isNil(tooltipActualTitleContent.title.shapeType) && (tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType),
|
|
70
|
+
isNil(tooltipActualTitleContent.title.shapeColor) && (tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor)) : tooltipActualTitleContent.title.hasShape = !1),
|
|
71
|
+
tooltipActualTitleContent;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
export const getOneLineData = (datum, config, params) => {
|
|
75
|
+
const key = getTimeString(getTooltipContentValue(config.key, datum, params), config.keyTimeFormat, config.keyTimeFormatMode), value = getTimeString(getTooltipContentValue(config.value, datum, params), config.valueTimeFormat, config.valueTimeFormatMode), visible = !1 !== getTooltipContentValue(config.visible, datum, params) && (isValid(key) || isValid(value)), isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params), spaceRow = getTooltipContentValue(config.spaceRow, datum, params), shapeType = getTooltipContentValue(config.shapeType, datum, params), shapeColor = getTooltipContentValue(config.shapeColor, datum, params), shapeFill = getTooltipContentValue(config.shapeFill, datum, params), shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params), shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params), keyStyle = getTooltipContentValue(config.keyStyle, datum, params), valueStyle = getTooltipContentValue(config.valueStyle, datum, params);
|
|
76
|
+
return {
|
|
77
|
+
key: key,
|
|
78
|
+
value: value,
|
|
79
|
+
visible: visible,
|
|
80
|
+
isKeyAdaptive: isKeyAdaptive,
|
|
81
|
+
hasShape: config.hasShape,
|
|
82
|
+
shapeType: shapeType,
|
|
83
|
+
shapeFill: shapeFill,
|
|
84
|
+
shapeStroke: shapeStroke,
|
|
85
|
+
shapeLineWidth: shapeLineWidth,
|
|
86
|
+
shapeHollow: config.shapeHollow,
|
|
87
|
+
shapeColor: shapeColor,
|
|
88
|
+
keyStyle: keyStyle,
|
|
89
|
+
valueStyle: valueStyle,
|
|
90
|
+
spaceRow: spaceRow,
|
|
91
|
+
datum: datum
|
|
92
|
+
};
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=compose.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/compose.ts"],"names":[],"mappings":"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","file":"compose.js","sourcesContent":["import { isValid, isNil, array } from '@visactor/vutils';\nimport type {\n IToolTipLinePattern,\n ITooltipPattern,\n TooltipData,\n IToolTipLineActual\n} from '../../../../typings/tooltip';\nimport { getFirstDatumFromTooltipData, getTooltipContentValue, getTooltipPatternValue } from './common';\nimport type { IDimensionData, IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport { TOOLTIP_MAX_LINE_COUNT, TOOLTIP_OTHERS_LINE } from '../constants';\nimport { getTooltipActualActiveType } from '../../../../component/tooltip/utils';\nimport type { TooltipActualTitleContent, TooltipHandlerParams } from '../../../../component/tooltip';\nimport { TimeUtil } from '../../../../component/axis/cartesian/util';\n\nconst getTimeString = (value: any, timeFormat?: string, timeFormatMode?: 'local' | 'utc') => {\n if (!timeFormat && !timeFormatMode) {\n if (typeof value !== 'object') {\n return value?.toString();\n }\n return value;\n }\n\n const timeUtil = TimeUtil.getInstance();\n timeFormat = timeFormat || '%Y%m%d';\n timeFormatMode = timeFormatMode || 'local';\n const timeFormatter = timeFormatMode === 'local' ? timeUtil.timeFormat : timeUtil.timeUTCFormat;\n return timeFormatter(timeFormat, value);\n};\n\n/**\n * 获得tooltip的实际显示内容\n * @param pattern\n * @param data\n * @param event\n * @returns\n */\nexport const getShowContent = (\n pattern: ITooltipPattern,\n data: TooltipData,\n params: TooltipHandlerParams\n): TooltipActualTitleContent | null => {\n if (\n !data ||\n // data.key === undefined ||\n params?.event?.type === 'mouseout'\n ) {\n return null;\n }\n\n const tooltipActualTitleContent: Required<TooltipActualTitleContent> = {\n title: {},\n content: []\n };\n\n /** title */\n const patternTitle = getTooltipPatternValue(pattern.title, data, params);\n const { visible, value, valueTimeFormat, valueTimeFormatMode, valueStyle, hasShape } = patternTitle ?? {};\n const patternTitleVisible = getTooltipContentValue(visible, data, params) !== false;\n\n if (!patternTitle || !patternTitleVisible) {\n tooltipActualTitleContent.title = {\n hasShape: false,\n visible: false\n };\n } else {\n // 找到第一个可用的datum\n const datum = getFirstDatumFromTooltipData(data);\n tooltipActualTitleContent.title = {\n value: getTimeString(getTooltipContentValue(value, datum, params), valueTimeFormat, valueTimeFormatMode),\n valueStyle: getTooltipContentValue(valueStyle, datum, params),\n hasShape\n };\n }\n\n /** content */\n const patternContent = array(getTooltipPatternValue(pattern.content, data, params));\n const { maxLineCount = TOOLTIP_MAX_LINE_COUNT } = pattern;\n\n if (pattern.activeType === 'mark') {\n for (const content of patternContent ?? []) {\n const oneLineData = getOneLineData((data as IDimensionData[])[0]?.datum[0], content, params);\n if (oneLineData.visible !== false) {\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n }\n } else if (pattern.activeType === 'dimension') {\n for (const { data: d } of data as IDimensionInfo[]) {\n for (const { datum, series } of d) {\n if (!getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension')) {\n continue;\n }\n const contentPatterns =\n patternContent?.filter(\n c => isNil(c.seriesId) || c.seriesId === series.id // 匹配对应series\n ) ?? [];\n for (const datumItem of datum) {\n for (const linePattern of contentPatterns) {\n const oneLineData = getOneLineData(datumItem, linePattern, params);\n if (oneLineData.visible === false) {\n continue;\n }\n if (tooltipActualTitleContent.content.length === maxLineCount - 1) {\n tooltipActualTitleContent.content.push({\n ...oneLineData,\n ...TOOLTIP_OTHERS_LINE\n });\n break;\n } else if (tooltipActualTitleContent.content.length < maxLineCount) {\n tooltipActualTitleContent.content.push(oneLineData);\n } else {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n if (tooltipActualTitleContent.content.length >= maxLineCount) {\n break;\n }\n }\n }\n\n if (tooltipActualTitleContent.title) {\n // TODO:对 title shape 的支持目前还不完整,尚没有相关需求\n if (tooltipActualTitleContent.content.length > 0 && tooltipActualTitleContent.content[0].shapeType) {\n if (isNil(tooltipActualTitleContent.title.shapeType)) {\n tooltipActualTitleContent.title.shapeType = tooltipActualTitleContent.content[0].shapeType;\n }\n if (isNil(tooltipActualTitleContent.title.shapeColor)) {\n tooltipActualTitleContent.title.shapeColor = tooltipActualTitleContent.content[0].shapeColor;\n }\n } else {\n tooltipActualTitleContent.title.hasShape = false;\n }\n }\n\n return tooltipActualTitleContent;\n};\n\n/**\n * 获得tooltip的单行实际显示内容\n * @param datum\n * @param config\n * @returns\n */\nexport const getOneLineData = (\n datum: any,\n config: IToolTipLinePattern,\n params: TooltipHandlerParams\n): IToolTipLineActual => {\n const key = getTimeString(\n getTooltipContentValue(config.key, datum, params),\n config.keyTimeFormat,\n config.keyTimeFormatMode\n );\n const value = getTimeString(\n getTooltipContentValue(config.value, datum, params),\n config.valueTimeFormat,\n config.valueTimeFormatMode\n );\n const visible: boolean =\n getTooltipContentValue(config.visible, datum, params) !== false && (isValid(key) || isValid(value));\n const isKeyAdaptive = getTooltipContentValue(config.isKeyAdaptive, datum, params);\n const spaceRow = getTooltipContentValue(config.spaceRow, datum, params);\n\n const shapeType = getTooltipContentValue(config.shapeType, datum, params);\n const shapeColor = getTooltipContentValue(config.shapeColor, datum, params);\n const shapeFill = getTooltipContentValue(config.shapeFill, datum, params);\n const shapeStroke = getTooltipContentValue(config.shapeStroke, datum, params);\n const shapeLineWidth = getTooltipContentValue(config.shapeLineWidth, datum, params);\n const keyStyle = getTooltipContentValue(config.keyStyle, datum, params);\n const valueStyle = getTooltipContentValue(config.valueStyle, datum, params);\n\n return {\n key,\n value,\n visible,\n isKeyAdaptive,\n hasShape: config.hasShape,\n shapeType: shapeType as any,\n shapeFill,\n shapeStroke,\n shapeLineWidth,\n shapeHollow: config.shapeHollow,\n shapeColor,\n keyStyle,\n valueStyle,\n spaceRow,\n datum\n };\n};\n"]}
|
package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.d.ts
RENAMED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { ITooltipSpec } from '../../interface';
|
|
2
1
|
import type { TooltipActiveType } from '../../../../typings';
|
|
3
2
|
import type { ISeries } from '../../../../series/interface';
|
|
4
3
|
import type { IDimensionInfo } from '../../../../event/events/dimension/interface';
|
|
4
|
+
import type { ITooltipSpec } from '../../../../component/tooltip';
|
|
5
5
|
export declare const getTooltipSpecForShow: (activeType: TooltipActiveType, globalSpec: ITooltipSpec, series?: ISeries, dimensionInfo?: IDimensionInfo[]) => ITooltipSpec;
|
package/esm/{component/tooltip/handler → plugin/components/tooltip-handler}/utils/get-spec.js
RENAMED
|
@@ -2,10 +2,10 @@ import { mergeSpec } from "../../../../util/spec/merge-spec";
|
|
|
2
2
|
|
|
3
3
|
import { makeDefaultPattern } from "./pattern";
|
|
4
4
|
|
|
5
|
-
import { getTooltipActualActiveType } from "../../utils/common";
|
|
6
|
-
|
|
7
5
|
import { memoize, isValid, array, isFunction, isNil, cloneDeep } from "@visactor/vutils";
|
|
8
6
|
|
|
7
|
+
import { getTooltipActualActiveType } from "../../../../component/tooltip/utils";
|
|
8
|
+
|
|
9
9
|
export const getTooltipSpecForShow = (activeType, globalSpec, series, dimensionInfo) => {
|
|
10
10
|
var _a, _b, _c, _d, _e, _f, _g;
|
|
11
11
|
const finalSpec = Object.assign(Object.assign({}, globalSpec), {
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/get-spec.ts"],"names":[],"mappings":"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","file":"get-spec.js","sourcesContent":["import type {\n IToolTipLinePattern,\n ITooltipPattern,\n ITooltipShapePattern,\n MaybeArray,\n TooltipActiveType,\n TooltipData,\n TooltipPatternProperty\n} from '../../../../typings';\nimport type { ISeries } from '../../../../series/interface';\nimport { mergeSpec } from '../../../../util/spec/merge-spec';\nimport { makeDefaultPattern } from './pattern';\nimport type { IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport { memoize, isValid, array, isFunction, isNil, cloneDeep } from '@visactor/vutils';\nimport type { ITooltipSpec, TooltipHandlerParams } from '../../../../component/tooltip';\nimport { getTooltipActualActiveType } from '../../../../component/tooltip/utils';\n\nexport const getTooltipSpecForShow = (\n activeType: TooltipActiveType,\n globalSpec: ITooltipSpec,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipSpec => {\n // 组装tooltip spec\n const finalSpec = {\n ...globalSpec,\n activeType\n } as ITooltipSpec;\n if (activeType === 'mark' && series) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n\n // visible\n if (isValid(seriesSpec.visible) || isValid(seriesSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(seriesSpec).includes('mark');\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('mark');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = seriesSpec.handler ?? globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // tooltip spec覆盖优先级: series spec > global spec > default pattern\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n\n // visible\n if (seriesList.every(series => !getTooltipActualActiveType(series.tooltipHelper?.spec).includes('dimension'))) {\n finalSpec.visible = false;\n } else if (isValid(globalSpec.visible) || isValid(globalSpec.activeType)) {\n finalSpec.visible = getTooltipActualActiveType(globalSpec).includes('dimension');\n } else {\n finalSpec.visible = true;\n }\n\n // 优先使用自定义handler\n finalSpec.handler = globalSpec.handler ?? undefined;\n if (finalSpec.handler?.showTooltip) {\n return finalSpec;\n }\n }\n\n // 默认的 pattern\n const defaultPattern = getDefaultTooltipPattern(activeType, series, dimensionInfo);\n // 来自系列的 pattern\n const seriesPattern = getSeriesTooltipPattern(activeType, series, dimensionInfo);\n // 来自用户配置的 pattern\n const userPattern: ITooltipPattern = mergeSpec({}, cloneDeep(globalSpec[activeType]), seriesPattern);\n\n // 对pattern进行组装\n // 组装 title\n const defaultPatternTitle = defaultPattern.title as IToolTipLinePattern | undefined;\n const titleShape: ITooltipShapePattern = getShapePattern(undefined, userPattern, undefined, defaultPatternTitle);\n if (isValid(userPattern.title)) {\n // 排除是回调的情况\n if (!isFunction(userPattern.title)) {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userPattern.title\n };\n } else {\n const userPatternTitle = userPattern.title;\n userPattern.title = (data?: TooltipData, params?: TooltipHandlerParams) => {\n const userResult = userPatternTitle(data, params) ?? {};\n return {\n ...titleShape, // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userResult\n };\n };\n }\n } else {\n userPattern.title = {\n ...defaultPattern.title,\n ...titleShape\n };\n }\n\n // 组装 content\n const defaultPatternContent = array(defaultPattern.content) as IToolTipLinePattern[];\n if (isValid(userPattern.content)) {\n const shapePatternMap = getShapePatternMapOfEachSeries(defaultPatternContent);\n // 排除是回调的情况\n if (!isFunction(userPattern.content)) {\n const newPatternContent: IToolTipLinePattern[] = [];\n array(userPattern.content).forEach(userLine => {\n newPatternContent.push({\n ...getShapePattern(userLine as IToolTipLinePattern, userPattern, shapePatternMap), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userLine\n });\n });\n userPattern.content = newPatternContent;\n } else {\n const userPatternContent = userPattern.content;\n userPattern.content = (data?: TooltipData, params?: TooltipHandlerParams) => {\n const newPatternContent: IToolTipLinePattern[] = [];\n array(userPatternContent(data, params) ?? []).forEach(userLine => {\n newPatternContent.push({\n ...getShapePattern(userLine as IToolTipLinePattern, userPattern, shapePatternMap), // shape默认回调实现较复杂,如果用户没有配置则填补默认逻辑\n ...userLine\n });\n });\n return newPatternContent;\n };\n }\n } else {\n userPattern.content = defaultPatternContent.map(line => ({\n ...line,\n ...getShapePattern(undefined, userPattern, undefined, line)\n }));\n }\n\n finalSpec[activeType] = {\n ...defaultPattern,\n ...userPattern,\n activeType\n };\n\n return finalSpec;\n};\n\n/** 获取默认 tooltip pattern */\nconst getDefaultTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let defaultPattern = {} as ITooltipPattern;\n if (activeType === 'mark' && series) {\n // mark tooltip\n defaultPattern = makeDefaultPattern(series, 'mark') ?? {};\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // dimension tooltip\n const patternList: ITooltipPattern[] = [];\n dimensionInfo[0].data.forEach(data => {\n const { series } = data;\n const mockDimensionInfo = [\n {\n ...dimensionInfo[0],\n data: [data]\n }\n ] as IDimensionInfo[];\n const pattern = makeDefaultPattern(series, 'dimension', mockDimensionInfo);\n if (pattern) {\n patternList.push(pattern);\n }\n });\n // 拼接默认 tooltip content\n const defaultPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> = [];\n patternList.forEach(({ content }) => {\n if (isFunction(content)) {\n defaultPatternContent.push(content);\n } else {\n defaultPatternContent.push(...array(content));\n }\n });\n defaultPattern = {\n ...patternList[0],\n content: defaultPatternContent\n };\n }\n return defaultPattern;\n};\n\n/** 获取来自系列 spec 的 tooltip pattern */\nconst getSeriesTooltipPattern = (\n activeType: TooltipActiveType,\n series?: ISeries,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern => {\n // 默认的pattern\n let seriesPattern = {} as ITooltipPattern;\n if (activeType === 'mark' && series) {\n // mark tooltip\n const seriesSpec = (series.tooltipHelper?.spec ?? {}) as ITooltipSpec;\n seriesPattern = seriesSpec.mark ? cloneDeep(seriesSpec.mark) : {};\n } else if (activeType === 'dimension' && dimensionInfo?.length) {\n // dimension tooltip\n const seriesList = getSeriesListFromDimensionInfo(dimensionInfo);\n const seriesPatternList = seriesList\n .filter(series => {\n const spec = series.tooltipHelper?.spec;\n return isValid(spec?.dimension) && getTooltipActualActiveType(spec).includes('dimension');\n })\n .map(series => series.tooltipHelper.spec.dimension);\n if (seriesPatternList.length) {\n // 拼接系列 tooltip content\n let seriesPatternContent: Array<TooltipPatternProperty<MaybeArray<IToolTipLinePattern>>> | undefined = [];\n if (seriesPatternList.every(({ content }) => isNil(content))) {\n seriesPatternContent = undefined;\n } else {\n seriesPatternList.forEach(({ content }) => {\n if (isNil(content)) {\n return;\n }\n if (isFunction(content)) {\n seriesPatternContent?.push(content);\n } else {\n seriesPatternContent?.push(...array(content));\n }\n });\n }\n seriesPattern = {\n ...seriesPatternList[0],\n content: seriesPatternContent\n };\n }\n }\n return seriesPattern;\n};\n\nconst getSeriesListFromDimensionInfo = memoize((dimensionInfo: IDimensionInfo[]): ISeries[] => {\n return dimensionInfo.reduce(\n (list, cur) => list.concat(cur.data.map(data => data.series).filter(isValid)),\n [] as ISeries[]\n );\n});\n\n/** 获取每个系列对应的 shape pattern */\nconst getShapePatternMapOfEachSeries = (content: IToolTipLinePattern[]): Record<number, ITooltipShapePattern> => {\n const shapePatternMap: Record<number, ITooltipShapePattern> = {};\n content.forEach(line => {\n const key = line.seriesId ?? 0;\n if (!shapePatternMap[key]) {\n shapePatternMap[key] = line;\n }\n });\n return shapePatternMap;\n};\n\n/** 根据优先级获取形状配置 */\nconst getShapePattern = (\n userLinePattern?: IToolTipLinePattern,\n userPattern?: ITooltipPattern,\n shapePatternMap?: Record<number, ITooltipShapePattern>,\n defaultShapePattern?: ITooltipShapePattern\n): ITooltipShapePattern => {\n const shapePatternFromMap = shapePatternMap?.[userLinePattern?.seriesId ?? 0] ?? shapePatternMap?.[0];\n const shapeKeys: Set<keyof ITooltipShapePattern> = new Set(\n []\n .concat(\n Object.keys(userLinePattern ?? {}),\n Object.keys(userPattern ?? {}),\n Object.keys(shapePatternFromMap ?? {}),\n Object.keys(defaultShapePattern ?? {})\n )\n .filter(key => key.toLowerCase().includes('shape')) as any[]\n );\n\n const shapePattern: ITooltipShapePattern = {};\n shapeKeys.forEach(key => {\n const value =\n userLinePattern?.[key] ?? userPattern?.[key] ?? shapePatternFromMap?.[key] ?? defaultShapePattern?.[key];\n if (value !== undefined) {\n shapePattern[key as any] = value;\n }\n });\n return shapePattern;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC","file":"index.js","sourcesContent":["export * from './common';\nexport * from './compose';\nexport * from './pattern';\nexport * from './get-spec';\nexport * from './position';\nexport * from './attribute';\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/pattern.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,MAAe,EACf,UAA6B,EAC7B,aAAgC,EACR,EAAE;;IAC1B,OAAO,MAAA,MAAA,MAAM,CAAC,aAAa,0CAAE,wBAAwB,CAAC,UAAU,EAAE,aAAa,CAAC,mCAAI,IAAI,CAAC;AAC3F,CAAC,CAAC","file":"pattern.js","sourcesContent":["import type { IDimensionInfo } from '../../../../event/events/dimension/interface';\nimport type { ISeries } from '../../../../series/interface';\nimport type { ITooltipPattern, TooltipActiveType } from '../../../../typings';\n\n/**\n * 根据图表上下文生成默认的tooltip pattern\n * @param activeType\n * @param series\n * @param dimensionInfo\n * @returns\n */\nexport const makeDefaultPattern = (\n series: ISeries,\n activeType: TooltipActiveType,\n dimensionInfo?: IDimensionInfo[]\n): ITooltipPattern | null => {\n return series.tooltipHelper?.getDefaultTooltipPattern(activeType, dimensionInfo) ?? null;\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/utils/position.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAC3C,QAAqE,EACrE,KAAiB,EACjB,EAAE;IACF,IAAI,MAAM,CAAC;IACX,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QACrB,IAAI,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACtB,MAAM,GAAG,QAAQ,CAAC;SACnB;aAAM,IAAI,UAAU,CAAC,QAAQ,CAAC,EAAE;YAE/B,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAExC,IAAI,QAAQ,CAAC,eAAe,CAAC,EAAE;gBAC7B,MAAM,GAAG,eAAe,CAAC;aAC1B;SACF;KACF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAKF,MAAM,CAAC,MAAM,YAAY,GACvB;IACE,CAAC,oBAAoB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC/C,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IACjD,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACnD,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAC1C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;IAC1C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC3C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC;IAC3C,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACnD,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC;IAC7C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;IAC9C,CAAC,oBAAoB,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC;CAC/C,CAAC;AAEJ,MAAM,CAAC,MAAM,yBAAyB,GAAG,CACvC,QAA8B,EAC9B,WAA2C,EACZ,EAAE,eAAC,OAAA,MAAA,MAAA,YAAY,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,mCAAI,WAAW,CAAA,EAAA,CAAC;AAE/E,MAAM,CAAC,MAAM,uBAAuB,GAAG,CACrC,QAA8B,EAC9B,WAAyC,EACZ,EAAE,eAAC,OAAA,MAAA,MAAA,YAAY,CAAC,QAAQ,CAAC,0CAAG,CAAC,CAAC,mCAAI,WAAW,CAAA,EAAA,CAAC","file":"position.js","sourcesContent":["import { TooltipFixedPosition } from '../../../../typings/tooltip/position';\nimport { isFunction, isNumber, isValid } from '@visactor/vutils';\n\nexport const getActualTooltipPositionValue = (\n position: number | ((event: MouseEvent) => number) | null | undefined,\n event: MouseEvent\n) => {\n let result;\n if (isValid(position)) {\n if (isNumber(position)) {\n result = position;\n } else if (isFunction(position)) {\n // 这里额外判断下是否合法\n const tooltipPosition = position(event);\n\n if (isNumber(tooltipPosition)) {\n result = tooltipPosition;\n }\n }\n }\n return result;\n};\n\nexport type TooltipHorizontalPositionType = 'left' | 'right' | 'middle';\nexport type TooltipVerticalPositionType = 'top' | 'bottom' | 'middle';\n\nexport const positionType: Record<TooltipFixedPosition, [TooltipHorizontalPositionType, TooltipVerticalPositionType]> =\n {\n [TooltipFixedPosition.left]: ['left', 'middle'],\n [TooltipFixedPosition.right]: ['right', 'middle'],\n [TooltipFixedPosition.inside]: ['middle', 'middle'],\n [TooltipFixedPosition.top]: ['middle', 'top'],\n [TooltipFixedPosition.lt]: ['left', 'top'],\n [TooltipFixedPosition.tl]: ['left', 'top'],\n [TooltipFixedPosition.rt]: ['right', 'top'],\n [TooltipFixedPosition.tr]: ['right', 'top'],\n [TooltipFixedPosition.bottom]: ['middle', 'bottom'],\n [TooltipFixedPosition.bl]: ['left', 'bottom'],\n [TooltipFixedPosition.lb]: ['left', 'bottom'],\n [TooltipFixedPosition.br]: ['right', 'bottom'],\n [TooltipFixedPosition.rb]: ['right', 'bottom']\n };\n\nexport const getHorizontalPositionType = (\n position: TooltipFixedPosition,\n defaultCase?: TooltipHorizontalPositionType\n): TooltipHorizontalPositionType => positionType[position]?.[0] ?? defaultCase;\n\nexport const getVerticalPositionType = (\n position: TooltipFixedPosition,\n defaultCase?: TooltipVerticalPositionType\n): TooltipVerticalPositionType => positionType[position]?.[1] ?? defaultCase;\n"]}
|
|
@@ -63,7 +63,4 @@ export interface IGeoRegionSpec extends IRegionSpec {
|
|
|
63
63
|
export interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {
|
|
64
64
|
type: 'region';
|
|
65
65
|
spec: T;
|
|
66
|
-
seriesIndexes?: number[];
|
|
67
|
-
markLabel?: IModelSpecInfo;
|
|
68
|
-
geoCoordinate?: IModelSpecInfo;
|
|
69
66
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/region/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMark } from '../mark/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../model/interface';\nimport type { ISeries, SeriesType } from '../series/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IInteraction } from '../interaction/interface';\nimport type { IProjectionSpec } from '../component/geo/interface';\nimport type { ConvertToMarkStyleSpec, IRectMarkSpec } from '../typings/visual';\nimport type { IAnimate } from '../animation/interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { StringOrNumber } from '../typings';\nimport type { ILayoutItemSpec } from '../layout/interface';\n\nexport interface IRegion extends ILayoutModel {\n animate?: IAnimate;\n interaction: IInteraction;\n\n //stack\n getStackInverse: () => boolean;\n\n getMaxWidth: () => number | undefined;\n setMaxWidth: (value: number) => void;\n getMaxHeight: () => number | undefined;\n setMaxHeight: (value: number) => void;\n\n // 系列\n addSeries: (series: ISeries) => void;\n removeSeries: (series: ISeries) => void;\n\n getSeries: (opt?: ISeriesFilter) => ISeries[];\n getSeriesInName: (name: string) => ISeries;\n getSeriesInUserId: (userId: string) => ISeries;\n getSeriesInId: (id: number) => ISeries;\n getSeriesInType: (type: SeriesType) => ISeries[];\n getSeriesInCoordinateType: (type: CoordinateType) => ISeries[];\n getSeriesInDataName: (dataName: string) => ISeries[];\n\n getMarks: () => IMark[];\n getGroupMark: () => IGroupMark;\n getInteractionMark: () => IGroupMark;\n\n getSpecInfo: () => IRegionSpecInfo;\n}\n\nexport type ISeriesFilter = {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: number;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n};\n\nexport interface IRegionConstructor extends IModelConstructor {\n new (spec: IRegionSpec, ctx: IModelOption): IRegion;\n}\n\nexport interface IRegionSpec extends ILayoutItemSpec {\n id?: StringOrNumber;\n coordinate?: CoordinateType;\n style?: ConvertToMarkStyleSpec<IRectMarkSpec>;\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n}\n\nexport interface IGeoRegionSpec extends IRegionSpec {\n coordinate?: 'geo';\n /**\n * 是否可以拖拽\n * @default false\n */\n roam?: boolean;\n /**\n * 数据中的经度字段名\n */\n longitudeField?: string;\n /**\n * 数据中的纬度字段名\n */\n latitudeField?: string;\n /**\n * 地理映射配置\n */\n projection?: Partial<Omit<IProjectionSpec, 'name'>>;\n /**\n * 缩放最大最小倍数限制\n */\n zoomLimit?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {\n /** model 具体类型 */\n type: 'region';\n /** model spec */\n spec: T;\n
|
|
1
|
+
{"version":3,"sources":["../src/region/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMark } from '../mark/interface';\nimport type { ILayoutModel, IModelConstructor, IModelOption, IModelSpecInfo } from '../model/interface';\nimport type { ISeries, SeriesType } from '../series/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IInteraction } from '../interaction/interface';\nimport type { IProjectionSpec } from '../component/geo/interface';\nimport type { ConvertToMarkStyleSpec, IRectMarkSpec } from '../typings/visual';\nimport type { IAnimate } from '../animation/interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { StringOrNumber } from '../typings';\nimport type { ILayoutItemSpec } from '../layout/interface';\n\nexport interface IRegion extends ILayoutModel {\n animate?: IAnimate;\n interaction: IInteraction;\n\n //stack\n getStackInverse: () => boolean;\n\n getMaxWidth: () => number | undefined;\n setMaxWidth: (value: number) => void;\n getMaxHeight: () => number | undefined;\n setMaxHeight: (value: number) => void;\n\n // 系列\n addSeries: (series: ISeries) => void;\n removeSeries: (series: ISeries) => void;\n\n getSeries: (opt?: ISeriesFilter) => ISeries[];\n getSeriesInName: (name: string) => ISeries;\n getSeriesInUserId: (userId: string) => ISeries;\n getSeriesInId: (id: number) => ISeries;\n getSeriesInType: (type: SeriesType) => ISeries[];\n getSeriesInCoordinateType: (type: CoordinateType) => ISeries[];\n getSeriesInDataName: (dataName: string) => ISeries[];\n\n getMarks: () => IMark[];\n getGroupMark: () => IGroupMark;\n getInteractionMark: () => IGroupMark;\n\n getSpecInfo: () => IRegionSpecInfo;\n}\n\nexport type ISeriesFilter = {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: number;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n};\n\nexport interface IRegionConstructor extends IModelConstructor {\n new (spec: IRegionSpec, ctx: IModelOption): IRegion;\n}\n\nexport interface IRegionSpec extends ILayoutItemSpec {\n id?: StringOrNumber;\n coordinate?: CoordinateType;\n style?: ConvertToMarkStyleSpec<IRectMarkSpec>;\n /**\n * 堆积时是否逆序\n * @default false\n * @since 1.4.0\n */\n stackInverse?: boolean;\n}\n\nexport interface IGeoRegionSpec extends IRegionSpec {\n coordinate?: 'geo';\n /**\n * 是否可以拖拽\n * @default false\n */\n roam?: boolean;\n /**\n * 数据中的经度字段名\n */\n longitudeField?: string;\n /**\n * 数据中的纬度字段名\n */\n latitudeField?: string;\n /**\n * 地理映射配置\n */\n projection?: Partial<Omit<IProjectionSpec, 'name'>>;\n /**\n * 缩放最大最小倍数限制\n */\n zoomLimit?: {\n min?: number;\n max?: number;\n };\n}\n\nexport interface IRegionSpecInfo<T extends IRegionSpec = IRegionSpec> extends IModelSpecInfo {\n /** model 具体类型 */\n type: 'region';\n /** model spec */\n spec: T;\n}\n"]}
|
package/esm/region/region.js
CHANGED
|
@@ -148,7 +148,7 @@ export class Region extends LayoutModel {
|
|
|
148
148
|
getSeries(opt = {}) {
|
|
149
149
|
return this._series.filter((s => {
|
|
150
150
|
var _a, _b;
|
|
151
|
-
return (!opt.name || (null == s ? void 0 : s.name) === opt.name) && (!opt.userId || array(opt.userId).includes(s.userId)) && (!isValid(opt.specIndex) ||
|
|
151
|
+
return (!opt.name || (null == s ? void 0 : s.name) === opt.name) && (!opt.userId || array(opt.userId).includes(s.userId)) && (!isValid(opt.specIndex) || array(opt.specIndex).includes(s.getSpecIndex())) && (!opt.id || s.id === opt.id) && (!opt.type || s.type === opt.type) && (!opt.coordinateType || s.coordinate === opt.coordinateType) && (!opt.dataName || (null === (_b = null === (_a = s.getRawData) || void 0 === _a ? void 0 : _a.call(s)) || void 0 === _b ? void 0 : _b.name) === opt.dataName);
|
|
152
152
|
}));
|
|
153
153
|
}
|
|
154
154
|
getSeriesInName(name) {
|
package/esm/region/region.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) && s.getSpecIndex ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/region/region.ts"],"names":[],"mappings":"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","file":"region.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEmpty, isEqual, array, isValid } from '@visactor/vutils';\nimport type { IGroupMark as IVGrammarGroupMark, ILayoutOptions, IMark } from '@visactor/vgrammar-core';\nimport { STATE_VALUE_ENUM_REVERSE } from '../compile/mark/interface';\nimport { DimensionTrigger } from '../interaction/dimension-trigger';\nimport { MarkTypeEnum } from '../mark/interface/type';\nimport type { ISeries } from '../series/interface';\nimport type { IModelOption } from '../model/interface';\nimport type { CoordinateType } from '../typings/coordinate';\nimport type { IRegion, IRegionSpec, IRegionSpecInfo } from './interface';\nimport type { IGroupMark } from '../mark/group';\nimport type { IInteraction, ITrigger } from '../interaction/interface';\nimport { Interaction } from '../interaction/interaction';\nimport { AttributeLevel, ChartEvent, LayoutZIndex } from '../constant';\nimport type { IRectMark } from '../mark/rect';\nimport { AnimateManager } from '../animation/animate-manager';\nimport type { IAnimate } from '../animation/interface';\nimport type { ILayoutType, StringOrNumber } from '../typings';\nimport { IFilterMode } from '../component/data-zoom/constant';\nimport { LayoutModel } from '../model/layout-model';\nimport { RegionSpecTransformer } from './region-transformer';\n\nexport class Region<T extends IRegionSpec = IRegionSpec> extends LayoutModel<T> implements IRegion {\n static type = 'region';\n static readonly transformerConstructor = RegionSpecTransformer;\n readonly transformerConstructor = RegionSpecTransformer as any;\n readonly modelType: string = 'region';\n static specKey = 'region';\n specKey: string = 'region';\n\n type = Region.type;\n protected _series: ISeries[] = [];\n layoutType: ILayoutType = 'region';\n layoutZIndex: number = LayoutZIndex.Region;\n\n animate?: IAnimate;\n\n interaction: IInteraction = new Interaction();\n\n declare getSpecInfo: () => IRegionSpecInfo;\n\n getMaxWidth() {\n return this._layout.maxWidth;\n }\n setMaxWidth(value: number) {\n this._layout.maxWidth = value;\n }\n\n getMaxHeight() {\n return this._layout.maxHeight;\n }\n setMaxHeight(value: number) {\n this._layout.maxHeight = value;\n }\n\n protected _groupMark!: IGroupMark;\n getGroupMark() {\n return this._groupMark;\n }\n\n protected _interactionMark!: IGroupMark;\n getInteractionMark() {\n return this._interactionMark;\n }\n\n getStackInverse() {\n return this._spec.stackInverse === true;\n }\n\n protected _backgroundMark?: IRectMark;\n protected _foregroundMark?: IRectMark;\n\n protected _trigger: ITrigger;\n\n constructor(spec: T, ctx: IModelOption) {\n super(spec, ctx);\n this.userId = spec.id;\n this.coordinate = spec.coordinate ?? 'cartesian';\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: ctx.getCompiler\n });\n }\n this.interaction.setDisableActiveEffect(this._option.disableTriggerEvent);\n }\n\n protected _getClipDefaultValue() {\n const chartSpec = this._option.getChart().getSpec();\n const hasDataZoom = (chartSpec as any).dataZoom?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.filter;\n return filterMode === IFilterMode.axis;\n });\n const hasScrollBar = (chartSpec as any).scrollBar?.some?.((entry: any) => {\n const filterMode = entry.filterMode ?? IFilterMode.axis;\n return filterMode === IFilterMode.axis;\n });\n\n return hasDataZoom || hasScrollBar ? true : this._layout.layoutClip;\n }\n\n created(): void {\n this.initLayout();\n super.created();\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this._groupMark = this._createGroupMark('regionGroup', this.userId, this.layoutZIndex);\n // 交互层\n this._interactionMark = this._createGroupMark(\n 'regionInteractionGroup',\n this.userId + '_interaction',\n LayoutZIndex.Interaction\n );\n\n // hack: region 的样式不能设置在groupMark上,因为groupMark目前没有计算dirtyBound,会导致拖影问题\n if (this._spec.style) {\n this._backgroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionBackground' }) as IRectMark;\n if (clip) {\n this._foregroundMark = this._createMark({ type: MarkTypeEnum.rect, name: 'regionForeground' }) as IRectMark;\n }\n [this._backgroundMark, this._foregroundMark].forEach(mark => {\n if (mark) {\n mark.created();\n this.setMarkStyle(\n mark,\n {\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._groupMark.addMark(mark);\n }\n });\n this._backgroundMark && this._backgroundMark.setZIndex(0);\n this._foregroundMark && this._foregroundMark.setZIndex(LayoutZIndex.Mark + 1);\n }\n this.createTrigger();\n }\n\n private _createGroupMark(name: string, userId: StringOrNumber, zIndex: number) {\n const groupMark = this._createMark({ type: MarkTypeEnum.group, name }) as IGroupMark;\n groupMark.setUserId(userId);\n groupMark.setZIndex(zIndex);\n const clip = this._spec.clip ?? this._getClipDefaultValue();\n this.setMarkStyle(\n groupMark,\n {\n x: () => this.getLayoutStartPoint().x,\n y: () => this.getLayoutStartPoint().y,\n width: () => this.getLayoutRect().width,\n height: () => this.getLayoutRect().height,\n clip\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this.setMarkStyle(\n groupMark,\n {\n cornerRadius: this._spec.style?.cornerRadius\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n this._marks.addMark(groupMark);\n return groupMark;\n }\n\n init(option: any) {\n super.init(option);\n this.initMark();\n this.initSeriesDataflow();\n this.initInteraction();\n this.initTrigger();\n }\n initMark() {\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n protected _initBackgroundMarkStyle() {\n if (this._backgroundMark) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n fillOpacity: this._spec.style?.fill ? 1 : 0,\n ...this._spec.style\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n if (this._spec.clip ?? this._getClipDefaultValue()) {\n this.setMarkStyle(\n this._backgroundMark,\n {\n strokeOpacity: 0\n },\n 'normal',\n AttributeLevel.Built_In\n );\n }\n }\n }\n\n protected _initForegroundMarkStyle() {\n if (this._foregroundMark) {\n this.setMarkStyle(\n this._foregroundMark,\n {\n ...this._spec.style,\n fillOpacity: 0\n },\n 'normal',\n AttributeLevel.User_Mark\n );\n }\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec?.style, spec?.style)) {\n result.reMake = true;\n }\n return result;\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._initBackgroundMarkStyle();\n this._initForegroundMarkStyle();\n }\n\n addSeries(s: ISeries) {\n if (!s) {\n return;\n }\n if (!this._series.includes(s)) {\n this._series.push(s);\n }\n }\n\n removeSeries(s: ISeries) {\n if (!s) {\n return;\n }\n const index = this._series.findIndex(s_ => s_ === s);\n if (index >= 0) {\n this._series.splice(index, 1);\n }\n }\n\n getSeries(\n opt: {\n name?: string;\n userId?: StringOrNumber | StringOrNumber[];\n specIndex?: number | number[];\n id?: StringOrNumber;\n type?: string;\n coordinateType?: CoordinateType;\n dataName?: string;\n } = {}\n ): ISeries[] {\n return this._series.filter(\n s =>\n (opt.name ? s?.name === opt.name : true) &&\n (opt.userId ? array(opt.userId).includes(s.userId) : true) &&\n (isValid(opt.specIndex) ? array(opt.specIndex).includes(s.getSpecIndex()) : true) &&\n (opt.id ? s.id === opt.id : true) &&\n (opt.type ? s.type === opt.type : true) &&\n (opt.coordinateType ? s.coordinate === opt.coordinateType : true) &&\n (opt.dataName ? s.getRawData?.()?.name === opt.dataName : true)\n );\n }\n\n getSeriesInName(name: string): ISeries {\n return this.getSeries({ name })[0];\n }\n getSeriesInUserId(userId: string): ISeries {\n return this.getSeries({ userId })[0];\n }\n getSeriesInId(id: number): ISeries {\n return this.getSeries({ id })[0];\n }\n getSeriesInType(type: string): ISeries[] {\n return this.getSeries({ type });\n }\n getSeriesInCoordinateType(coordinateType: CoordinateType): ISeries[] {\n return this.getSeries({ coordinateType });\n }\n getSeriesInDataName(dataName: string): ISeries[] {\n return this.getSeries({ dataName });\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n initSeriesDataflow() {\n const viewDataFilters = this._series.map(s => s.getViewDataFilter() ?? s.getViewData()).filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewDataFilters, 'change', this.seriesDataFilterOver);\n }\n\n seriesDataFilterOver = () => {\n this.event.emit(ChartEvent.regionSeriesDataFilterOver, { model: this });\n this._series.forEach(s => {\n if (s.getViewDataFilter()) {\n s.reTransformViewData();\n }\n });\n };\n\n release() {\n super.release();\n this._series = [];\n }\n /** dimension */\n createTrigger() {\n const triggerOptions = {\n ...this._option,\n model: this,\n interaction: this.interaction\n };\n this._trigger = new DimensionTrigger(triggerOptions);\n }\n\n initTrigger() {\n // register all mark\n // trigger check mark enable\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n this._trigger.registerMark(m);\n });\n });\n this._trigger.init();\n }\n\n initInteraction() {\n // 注册所有支持反选状态mark\n this._series.forEach(s => {\n s.getMarksWithoutRoot().forEach(m => {\n for (const key in STATE_VALUE_ENUM_REVERSE) {\n if (!isEmpty(m.stateStyle[STATE_VALUE_ENUM_REVERSE[key]])) {\n this.interaction.registerMark(STATE_VALUE_ENUM_REVERSE[key], m);\n }\n }\n });\n });\n }\n\n compileMarks(group?: string | IVGrammarGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()\n ?.configure({\n context: {\n model: this\n }\n })\n .layout(\n (group: IVGrammarGroupMark, children: IMark[], parentLayoutBounds: IBoundsLike, options?: ILayoutOptions) => {\n // console.log('region mark layout');\n }\n );\n });\n }\n\n compile() {\n this.animate?.compile();\n this.compileMarks();\n }\n\n getBoundsInRect = () => {\n return {\n x1: this._layout.getLayoutStartPoint().x,\n y1: this._layout.getLayoutStartPoint().y,\n x2: this._layout.getLayoutStartPoint().x + this._layout.getLayoutRect().width,\n y2: this._layout.getLayoutStartPoint().y + this._layout.getLayoutRect().height\n };\n };\n\n onLayoutEnd(ctx: any): void {\n this._series.forEach(s => s.onLayoutEnd(ctx));\n super.onLayoutEnd(ctx);\n }\n}\n"]}
|
|
@@ -16,8 +16,7 @@ export class AreaSeriesSpecTransformer extends LineLikeSeriesSpecTransformer {
|
|
|
16
16
|
var _a, _b, _c, _d, _e;
|
|
17
17
|
super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);
|
|
18
18
|
const {area: area = {}, line: line = {}, seriesMark: seriesMark = "area"} = spec, isAreaVisible = !1 !== area.visible && !1 !== (null === (_a = area.style) || void 0 === _a ? void 0 : _a.visible), isLineVisible = !1 !== line.visible && !1 !== (null === (_b = line.style) || void 0 === _b ? void 0 : _b.visible);
|
|
19
|
-
area.
|
|
20
|
-
area.support3d = !(!area.support3d && !line.support3d), area.zIndex = isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(null !== (_d = area.zIndex) && void 0 !== _d ? _d : 0, null !== (_e = line.zIndex) && void 0 !== _e ? _e : 0) : void 0,
|
|
19
|
+
area.support3d = !(!area.support3d && !line.support3d), area.zIndex = isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(null !== (_c = area.zIndex) && void 0 !== _c ? _c : 0, null !== (_d = line.zIndex) && void 0 !== _d ? _d : 0) : void 0,
|
|
21
20
|
area.style && delete area.style.stroke, area.state && Object.keys(area.state).forEach((state => {
|
|
22
21
|
"style" in area.state[state] ? delete area.state[state].style.stroke : delete area.state[state].stroke;
|
|
23
22
|
}));
|
|
@@ -25,6 +24,8 @@ export class AreaSeriesSpecTransformer extends LineLikeSeriesSpecTransformer {
|
|
|
25
24
|
("line" === seriesMark || isLineVisible && !isAreaVisible) && (mainSpec = line,
|
|
26
25
|
subSpec = area), area.style = mergeSpec({}, subSpec.style, mainSpec.style), area.state = mergeSpec({}, subSpec.state, mainSpec.state),
|
|
27
26
|
isAreaVisible || (area.style.fill = !1), isLineVisible || (area.style.stroke = !1),
|
|
27
|
+
!1 === area.interactive && (area.style.fillPickable = !1), !1 === line.interactive && (line.style.strokePickable = !1),
|
|
28
|
+
area.interactive = !(!area.interactive && null !== (_e = line.interactive) && void 0 !== _e && !_e),
|
|
28
29
|
area.visible = !(!isAreaVisible && !isLineVisible), spec.area = area, spec.line = line;
|
|
29
30
|
}
|
|
30
31
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/area/area-transformer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAS,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,6BAA6B,EAAE,MAAM,iCAAiC,CAAC;AAIhF,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,MAAM,OAAO,yBAGX,SAAQ,6BAAmC;IACjC,mBAAmB,CAAC,IAAO;;QACnC,KAAK,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,iBAAiB,CACpB,IAAI,EACJ,kBAAkB,CAAC,IAAI,EACvB,WAAkB,EAClB,wBAAwB,EACxB,SAAS,EACT,IAAI,CACL,CAAC;QACF,MAAM,cAAc,GAAG,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,IAAI,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,0CAAE,OAAO,MAAK,KAAK,CAAC;QAC7F,IAAI,CAAC,cAAc,EAAE;YACnB,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,kBAAkB,CAAC,IAAI,CAAC,CAAC;SACvD;IACH,CAAC;IAES,+BAA+B,CAAC,IAAO,EAAE,SAAc,EAAE,aAA8B;;QAC/F,KAAK,CAAC,+BAA+B,CAAC,IAAI,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;QAEtE,MAAM,EAAE,IAAI,GAAG,EAAE,EAAE,IAAI,GAAG,EAAE,EAAE,UAAU,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;QAC3D,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,CAAC;QAC9E,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,KAAK,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,MAAK,KAAK,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/series/area/area-transformer.ts"],"names":[],"mappings":"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","file":"area-transformer.js","sourcesContent":["import { isNil, isValid } from '@visactor/vutils';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport type { AreaSeries } from './area';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { ConvertToMarkStyleSpec, IAreaMarkSpec } from '../../typings';\nimport { mergeSpec } from '../../util';\n\nexport class AreaSeriesSpecTransformer<\n T extends IAreaSeriesSpec = IAreaSeriesSpec,\n K extends IAreaSeriesTheme = IAreaSeriesTheme\n> extends LineLikeSeriesSpecTransformer<T, K> {\n protected _transformLabelSpec(spec: T): void {\n super._transformLabelSpec(spec);\n this._addMarkLabelSpec<AreaSeries>(\n spec,\n SeriesMarkNameEnum.area,\n 'areaLabel' as any,\n 'initLineLabelMarkStyle',\n undefined,\n true\n );\n const isPointVisible = spec.point?.visible !== false && spec.point?.style?.visible !== false;\n if (!isPointVisible) {\n this._addMarkLabelSpec(spec, SeriesMarkNameEnum.area);\n }\n }\n\n protected _transformSpecAfterMergingTheme(spec: T, chartSpec: any, chartSpecInfo?: IChartSpecInfo) {\n super._transformSpecAfterMergingTheme(spec, chartSpec, chartSpecInfo);\n\n const { area = {}, line = {}, seriesMark = 'area' } = spec;\n const isAreaVisible = area.visible !== false && area.style?.visible !== false;\n const isLineVisible = line.visible !== false && line.style?.visible !== false;\n // merge line to area\n\n area.support3d = !!(area.support3d || line.support3d);\n area.zIndex =\n isValid(area.zIndex) || isValid(line.zIndex) ? Math.max(area.zIndex ?? 0, line.zIndex ?? 0) : undefined;\n\n // remove area stroke\n if (area.style) {\n delete area.style.stroke;\n }\n if (area.state) {\n Object.keys(area.state).forEach(state => {\n if ('style' in area.state[state]) {\n delete area.state[state].style.stroke;\n } else {\n delete (<ConvertToMarkStyleSpec<IAreaMarkSpec>>area.state[state]).stroke;\n }\n });\n }\n // check which one is main\n let mainSpec = area;\n let subSpec = line;\n if (seriesMark === 'line' || (isLineVisible && !isAreaVisible)) {\n mainSpec = line;\n subSpec = area;\n }\n area.style = mergeSpec({}, subSpec.style, mainSpec.style);\n area.state = mergeSpec({}, subSpec.state, mainSpec.state);\n if (!isAreaVisible) {\n area.style.fill = false;\n }\n if (!isLineVisible) {\n area.style.stroke = false;\n }\n\n if (area.interactive === false) {\n area.style.fillPickable = false;\n }\n if (line.interactive === false) {\n line.style.strokePickable = false;\n }\n\n area.interactive = !!(area.interactive || (line.interactive ?? true));\n area.visible = !(!isAreaVisible && !isLineVisible);\n\n spec.area = area;\n spec.line = line;\n }\n}\n"]}
|
package/esm/series/area/area.js
CHANGED
|
@@ -44,19 +44,20 @@ export class AreaSeries extends CartesianSeries {
|
|
|
44
44
|
this._supportStack = !0, this._sortDataByAxis = !1;
|
|
45
45
|
}
|
|
46
46
|
initMark() {
|
|
47
|
-
var _a, _b
|
|
47
|
+
var _a, _b;
|
|
48
48
|
const progressive = {
|
|
49
49
|
progressiveStep: this._spec.progressiveStep,
|
|
50
50
|
progressiveThreshold: this._spec.progressiveThreshold,
|
|
51
51
|
large: this._spec.large,
|
|
52
52
|
largeThreshold: this._spec.largeThreshold
|
|
53
|
-
},
|
|
53
|
+
}, areaSpec = this._spec.area || {}, isAreaVisible = !1 !== areaSpec.visible && !1 !== (null === (_a = areaSpec.style) || void 0 === _a ? void 0 : _a.visible), seriesMark = null !== (_b = this._spec.seriesMark) && void 0 !== _b ? _b : "area";
|
|
54
54
|
this._areaMark = this._createMark(AreaSeries.mark.area, {
|
|
55
55
|
groupKey: this._seriesField,
|
|
56
56
|
defaultMorphElementKey: this.getDimensionField()[0],
|
|
57
57
|
progressive: progressive,
|
|
58
58
|
isSeriesMark: isAreaVisible && "point" !== seriesMark,
|
|
59
|
-
customShape:
|
|
59
|
+
customShape: areaSpec.customShape,
|
|
60
|
+
stateSort: areaSpec.stateSort
|
|
60
61
|
}), this.initSymbolMark(progressive, "point" === seriesMark);
|
|
61
62
|
}
|
|
62
63
|
initMarkStyle() {
|
|
@@ -87,7 +88,7 @@ export class AreaSeries extends CartesianSeries {
|
|
|
87
88
|
connectedType: this._getInvalidConnectType()
|
|
88
89
|
}, "normal", AttributeLevel.Series), this.setMarkStyle(areaMark, {
|
|
89
90
|
curveType: curveType
|
|
90
|
-
}, "normal", AttributeLevel.Built_In),
|
|
91
|
+
}, "normal", AttributeLevel.Built_In), Object.keys(areaMark.stateStyle).forEach((state => {
|
|
91
92
|
areaMark.stateStyle[state].stroke && areaMark.setPostProcess("stroke", (result => [ result, !1, !1, !1 ]), state);
|
|
92
93
|
}))), this.initLineMarkStyle(this._direction, userCurveType), this.initSymbolMarkStyle();
|
|
93
94
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const isAreaVisible = this._spec.area?.visible !== false && this._spec.area?.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: this._spec.area?.customShape\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n this._trigger.registerMark(areaMark);\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isValid, isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport type { IAreaMark } from '../../mark/area';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant';\nimport type { Datum, ConvertToMarkStyleSpec, IAreaMarkSpec, InterpolateType } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaAnimation } from './animation';\nimport type { IMark } from '../../mark/interface';\nimport { registerSampleTransform, registerMarkOverlapTransform } from '@visactor/vgrammar-core';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _supportStack: boolean = true;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n const areaSpec = this._spec.area || {};\n const isAreaVisible = areaSpec.visible !== false && areaSpec.style?.visible !== false;\n\n const seriesMark = this._spec.seriesMark ?? 'area';\n // area\n this._areaMark = this._createMark(AreaSeries.mark.area, {\n groupKey: this._seriesField,\n defaultMorphElementKey: this.getDimensionField()[0],\n progressive,\n isSeriesMark: isAreaVisible && seriesMark !== 'point',\n customShape: areaSpec.customShape,\n stateSort: areaSpec.stateSort\n }) as IAreaMark;\n this.initSymbolMark(progressive, seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.vertical\n ? 'monotoneX'\n : 'monotoneY'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: this.getColorAttribute(),\n stroke: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined,\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n\n this.initLineMarkStyle(this._direction, userCurveType);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n this._areaMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._areaMark);\n this._lineMark && this._tooltipHelper.activeTriggerSet.dimension.add(this._lineMark);\n this._symbolMark && this._tooltipHelper.activeTriggerSet.mark.add(this._symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerSampleTransform();\n registerMarkOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaAnimation();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
package/esm/series/bar/bar.d.ts
CHANGED
|
@@ -41,11 +41,20 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
|
|
|
41
41
|
protected _dataToPosY(datum: Datum): number;
|
|
42
42
|
protected _dataToPosY1(datum: Datum): number;
|
|
43
43
|
initBandRectMarkStyle(): void;
|
|
44
|
-
protected
|
|
44
|
+
protected _initBandBarBackgroundMarkStyle(): void;
|
|
45
45
|
initLinearRectMarkStyle(): void;
|
|
46
|
+
protected _initLinearBarBackgroundMarkStyle(): void;
|
|
46
47
|
initAnimation(): void;
|
|
47
|
-
protected _getBarWidth(axisHelper: IAxisHelper): number;
|
|
48
|
-
protected _getPosition(direction: DirectionType, datum: Datum): number;
|
|
48
|
+
protected _getBarWidth(axisHelper: IAxisHelper, scaleDepth?: number): number;
|
|
49
|
+
protected _getPosition(direction: DirectionType, datum: Datum, scaleDepth?: number, mark?: SeriesMarkNameEnum): number;
|
|
50
|
+
protected _barBackgroundPositionXEncoder?: (datum: Datum) => number;
|
|
51
|
+
protected _getBarBackgroundPositionXEncoder: () => (datum: Datum) => number;
|
|
52
|
+
protected _setBarBackgroundPositionXEncoder: (encoder: (datum: Datum) => number) => void;
|
|
53
|
+
dataToBarBackgroundPositionX(datum: Datum, scaleDepth?: number): number;
|
|
54
|
+
protected _barBackgroundPositionYEncoder?: (datum: Datum) => number;
|
|
55
|
+
protected _getBarBackgroundPositionYEncoder: () => (datum: Datum) => number;
|
|
56
|
+
protected _setBarBackgroundPositionYEncoder: (encoder: (datum: Datum) => number) => void;
|
|
57
|
+
dataToBarBackgroundPositionY(datum: Datum, scaleDepth?: number): number;
|
|
49
58
|
onLayoutEnd(ctx: any): void;
|
|
50
59
|
compile(): void;
|
|
51
60
|
getDefaultShapeType(): string;
|