@visactor/vchart 1.11.0-alpha.2 → 1.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +2 -2
- package/build/index.js +44800 -41150
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +2 -2
- package/cjs/animation/utils.js +2 -2
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +5 -2
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +7 -2
- package/cjs/chart/base/base-chart.js +35 -11
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/cartesian-transformer.js +2 -2
- package/cjs/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/cjs/chart/common/common-transformer.js +3 -2
- package/cjs/chart/common/common-transformer.js.map +1 -1
- package/cjs/chart/common/interface.d.ts +2 -2
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/index.d.ts +6 -4
- package/cjs/chart/index.js +21 -2
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +9 -1
- package/cjs/chart/interface/chart.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/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/polar/progress-like/progress-like-transformer.js +3 -3
- package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/cjs/chart/radar/radar-transformer.js +3 -3
- package/cjs/chart/radar/radar-transformer.js.map +1 -1
- package/cjs/chart/range-column/range-column-transformer.js +5 -1
- package/cjs/chart/range-column/range-column-transformer.js.map +1 -1
- package/cjs/chart/rose/rose-transformer.js +2 -2
- package/cjs/chart/rose/rose-transformer.js.map +1 -1
- package/cjs/chart/sankey/sankey-transformer.js +5 -0
- package/cjs/chart/sankey/sankey-transformer.js.map +1 -1
- package/cjs/chart/sankey/sankey.d.ts +5 -0
- package/cjs/chart/sankey/sankey.js +23 -1
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +3 -2
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/treemap/treemap-transformer.js.map +1 -1
- package/cjs/chart/util.js +4 -3
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/venn/index.d.ts +3 -0
- package/cjs/chart/venn/index.js +22 -0
- package/cjs/chart/venn/index.js.map +1 -0
- package/cjs/chart/venn/interface.d.ts +6 -0
- package/cjs/chart/venn/interface.js +6 -0
- package/cjs/chart/venn/interface.js.map +1 -0
- package/cjs/chart/venn/venn-transformer.d.ts +7 -0
- package/cjs/chart/venn/venn-transformer.js +28 -0
- package/cjs/chart/venn/venn-transformer.js.map +1 -0
- package/cjs/chart/venn/venn.d.ts +14 -0
- package/cjs/chart/venn/venn.js +24 -0
- package/cjs/chart/venn/venn.js.map +1 -0
- package/cjs/compile/compiler.d.ts +3 -3
- package/cjs/compile/compiler.js +8 -5
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.js +3 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +1 -0
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +2 -1
- package/cjs/compile/mark/compilable-mark.js +4 -0
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +4 -1
- package/cjs/compile/mark/interface.js +2 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -0
- package/cjs/component/axis/base-axis.js +13 -6
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -2
- package/cjs/component/axis/cartesian/axis.js +30 -38
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +1 -0
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.js +2 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/spec.d.ts +2 -0
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js +2 -2
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
- package/cjs/component/axis/mixin/linear-axis-mixin.js +47 -15
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +0 -1
- package/cjs/component/axis/polar/axis.js +7 -11
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +1 -0
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.d.ts +5 -1
- package/cjs/component/axis/polar/linear-axis.js +5 -1
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/axis/util.js +3 -3
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +1 -0
- package/cjs/component/base/base-component.js +14 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.js +12 -12
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/common/trigger/mobile.js +1 -2
- package/cjs/component/common/trigger/mobile.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -2
- package/cjs/component/crosshair/base.js +4 -6
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +1 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/cartesian.d.ts +11 -24
- package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/polar.d.ts +7 -5
- package/cjs/component/crosshair/interface/polar.js.map +1 -1
- package/cjs/component/crosshair/polar.js +2 -5
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/crosshair/utils/cartesian.js +14 -14
- package/cjs/component/crosshair/utils/cartesian.js.map +1 -1
- package/cjs/component/crosshair/utils/common.js +6 -5
- package/cjs/component/crosshair/utils/common.js.map +1 -1
- package/cjs/component/crosshair/utils/polar.js +17 -11
- package/cjs/component/crosshair/utils/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +11 -4
- package/cjs/component/custom-mark/custom-mark.js +43 -12
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -2
- package/cjs/component/data-zoom/data-filter-base-component.js +15 -11
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js +2 -2
- package/cjs/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +3 -3
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/interface.d.ts +1 -4
- package/cjs/component/data-zoom/interface.js +1 -5
- package/cjs/component/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/data-zoom/util.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.js +2 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/index.d.ts +7 -7
- package/cjs/component/index.js +48 -8
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.js +2 -2
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +4 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/interface/type.d.ts +4 -0
- package/cjs/component/interface/type.js +3 -1
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/label/label.js +4 -5
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +10 -3
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +9 -1
- package/cjs/component/label/util.js +25 -9
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.js +13 -7
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -0
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +4 -1
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/continuous/util.js +3 -3
- package/cjs/component/legend/continuous/util.js.map +1 -1
- package/cjs/component/legend/discrete/interface.d.ts +1 -0
- package/cjs/component/legend/discrete/interface.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +4 -1
- package/cjs/component/legend/discrete/legend.js +20 -9
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.js +7 -6
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +12 -2
- package/cjs/component/legend/util.js +2 -2
- package/cjs/component/legend/util.js.map +1 -1
- package/cjs/component/map-label/component.js +2 -1
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +30 -44
- package/cjs/component/marker/base-marker.js +103 -45
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +40 -13
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/base-mark-area.d.ts +18 -0
- package/cjs/component/marker/mark-area/base-mark-area.js +99 -0
- package/cjs/component/marker/mark-area/base-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.js +85 -0
- package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-area/index.d.ts +2 -1
- package/cjs/component/marker/mark-area/index.js +2 -1
- package/cjs/component/marker/mark-area/index.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +16 -1
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/theme.d.ts +5 -7
- package/cjs/component/marker/mark-area/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-area/polar-mark-area.d.ts +25 -0
- package/cjs/component/marker/mark-area/polar-mark-area.js +104 -0
- package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -0
- package/cjs/component/marker/mark-line/base-mark-line.d.ts +18 -0
- package/cjs/component/marker/mark-line/base-mark-line.js +116 -0
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.js +185 -0
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-line/index.d.ts +2 -1
- package/cjs/component/marker/mark-line/index.js +2 -1
- package/cjs/component/marker/mark-line/index.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +26 -2
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/theme.d.ts +5 -7
- package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-line/polar-mark-line.d.ts +23 -0
- package/cjs/component/marker/mark-line/polar-mark-line.js +110 -0
- package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -0
- package/cjs/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
- package/cjs/component/marker/mark-point/base-mark-point.js +128 -0
- package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.js +50 -0
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/geo-mark-point.d.ts +14 -0
- package/cjs/component/marker/mark-point/geo-mark-point.js +39 -0
- package/cjs/component/marker/mark-point/geo-mark-point.js.map +1 -0
- package/cjs/component/marker/mark-point/index.d.ts +3 -1
- package/cjs/component/marker/mark-point/index.js +2 -1
- package/cjs/component/marker/mark-point/index.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +9 -1
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.d.ts +11 -16
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-point/polar-mark-point.d.ts +18 -0
- package/cjs/component/marker/mark-point/polar-mark-point.js +47 -0
- package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -0
- package/cjs/component/marker/utils.d.ts +40 -5
- package/cjs/component/marker/utils.js +148 -13
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +2 -1
- package/cjs/component/player/player.js +16 -9
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/player/utils/transform.js +3 -2
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/tooltip/tooltip-transformer.js +3 -2
- package/cjs/component/tooltip/tooltip-transformer.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +2 -6
- package/cjs/component/tooltip/tooltip.js +13 -11
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/compose.d.ts +2 -2
- package/cjs/component/tooltip/utils/compose.js +5 -5
- package/cjs/component/tooltip/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/utils/get-spec.js +7 -7
- package/cjs/component/tooltip/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/utils/index.d.ts +1 -0
- package/cjs/component/tooltip/utils/index.js +1 -1
- package/cjs/component/tooltip/utils/index.js.map +1 -1
- package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
- package/cjs/component/tooltip/utils/pattern.js.map +1 -0
- package/cjs/component/tooltip/utils/show-tooltip.d.ts +20 -3
- package/cjs/component/tooltip/utils/show-tooltip.js +107 -93
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/core/factory.d.ts +1 -1
- package/cjs/core/factory.js +0 -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/interface.d.ts +8 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +5 -2
- package/cjs/core/vchart.js +56 -24
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +12 -7
- package/cjs/data/transforms/aggregation.js +16 -1
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/invalid-travel.d.ts +1 -1
- package/cjs/data/transforms/invalid-travel.js +4 -2
- package/cjs/data/transforms/invalid-travel.js.map +1 -1
- package/cjs/data/transforms/legend-data/continuous/continuous.js +3 -2
- package/cjs/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/discrete.js +2 -2
- package/cjs/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/cjs/data/transforms/legend-data/discrete/interface.d.ts +2 -0
- package/cjs/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/cjs/data/transforms/pie.js +3 -2
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/data/transforms/sankey.js +1 -14
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/data/transforms/waterfall.js +4 -2
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/event/event-dispatcher.js +8 -1
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/interface.d.ts +2 -0
- package/cjs/event/interface.js.map +1 -1
- package/cjs/index-lark.js +1 -1
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx.js +1 -1
- package/cjs/index-wx.js.map +1 -1
- package/cjs/layout/base-layout.js +6 -5
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +1 -1
- package/cjs/layout/grid-layout/grid-layout.js +4 -4
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/layout-item.js +1 -1
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -2
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/index.d.ts +20 -20
- package/cjs/mark/index.js +95 -22
- package/cjs/mark/index.js.map +1 -1
- package/cjs/model/base-model-transformer.js +2 -2
- package/cjs/model/base-model-transformer.js.map +1 -1
- package/cjs/model/base-model.js +1 -1
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-model.js +3 -2
- package/cjs/model/layout-model.js.map +1 -1
- package/cjs/plugin/base/base-plugin-service.d.ts +2 -0
- package/cjs/plugin/base/base-plugin-service.js +11 -1
- package/cjs/plugin/base/base-plugin-service.js.map +1 -1
- package/cjs/plugin/base/interface.d.ts +3 -0
- package/cjs/plugin/base/interface.js.map +1 -1
- package/cjs/plugin/chart/formatter/formatter.js +3 -3
- package/cjs/plugin/chart/formatter/formatter.js.map +1 -1
- package/cjs/plugin/chart/media-query/media-query.js +4 -4
- package/cjs/plugin/chart/media-query/media-query.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/action.js +4 -3
- package/cjs/plugin/chart/media-query/util/action.js.map +1 -1
- package/cjs/plugin/components/axis-sync/zero-align-transform.js +4 -4
- package/cjs/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/cjs/plugin/components/register.js +2 -2
- package/cjs/plugin/components/register.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/cjs/plugin/components/tooltip-handler/base.js +3 -3
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js +5 -5
- package/cjs/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js +2 -2
- package/cjs/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js +4 -4
- package/cjs/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js +4 -4
- package/cjs/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
- package/cjs/plugin/components/tooltip-handler/utils/index.js +2 -2
- package/cjs/plugin/components/tooltip-handler/utils/index.js.map +1 -1
- package/cjs/region/interface.d.ts +2 -0
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +1 -0
- package/cjs/region/region.js +5 -1
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area-transformer.js +6 -5
- package/cjs/series/area/area-transformer.js.map +1 -1
- package/cjs/series/area/area.js +3 -2
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar-3d.js +2 -1
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar.js +3 -2
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series-transformer.js +4 -4
- package/cjs/series/base/base-series-transformer.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +9 -17
- package/cjs/series/base/base-series.js +49 -31
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +8 -5
- package/cjs/series/base/tooltip-helper.js +31 -23
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +2 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.d.ts +1 -1
- package/cjs/series/box-plot/tooltip-helper.js +21 -21
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/cartesian/cartesian.js +14 -4
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/tooltip-helper.d.ts +1 -1
- package/cjs/series/circle-packing/tooltip-helper.js +1 -1
- package/cjs/series/circle-packing/tooltip-helper.js.map +1 -1
- package/cjs/series/dot/dot.js +2 -2
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.js +12 -12
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/funnel.js +8 -4
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +3 -3
- package/cjs/series/funnel/tooltip-helper.js +3 -3
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js +4 -3
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +3 -3
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +1 -0
- package/cjs/series/geo/geo.js +4 -2
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +2 -1
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/index.d.ts +7 -3
- package/cjs/series/index.js +30 -2
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/interface/common.d.ts +3 -2
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +7 -0
- 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/tooltip-helper.d.ts +8 -5
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/type.d.ts +6 -2
- package/cjs/series/interface/type.js +3 -2
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/line.js +3 -2
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +3 -2
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/link/tooltip-helper.js +8 -8
- package/cjs/series/link/tooltip-helper.js.map +1 -1
- package/cjs/series/liquid/tooltip-helper.js +2 -2
- package/cjs/series/liquid/tooltip-helper.js.map +1 -1
- package/cjs/series/map/geo-source.d.ts +3 -1
- package/cjs/series/map/geo-source.js +6 -1
- package/cjs/series/map/geo-source.js.map +1 -1
- package/cjs/series/map/tooltip-helper.d.ts +1 -1
- package/cjs/series/map/tooltip-helper.js +1 -1
- package/cjs/series/map/tooltip-helper.js.map +1 -1
- package/cjs/series/mixin/line-mixin.js +2 -2
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie-transformer.js +4 -4
- package/cjs/series/pie/pie-transformer.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +2 -2
- package/cjs/series/polar/polar.js +17 -6
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/progress/circular/circular.js +4 -2
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/radar/radar.js +5 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +0 -2
- package/cjs/series/range-area/range-area.js +3 -6
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-area/tooltip-helper.js +10 -10
- package/cjs/series/range-area/tooltip-helper.js.map +1 -1
- package/cjs/series/range-column/3d/range-column-3d.js +3 -2
- package/cjs/series/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/series/range-column/range-column.js +3 -2
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js +5 -5
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/rose.js +3 -2
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +5 -0
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +10 -4
- package/cjs/series/sankey/sankey.js +129 -160
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.js +10 -10
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/scatter.js +3 -2
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/tooltip-helper.d.ts +1 -1
- package/cjs/series/sunburst/tooltip-helper.js +1 -1
- package/cjs/series/sunburst/tooltip-helper.js.map +1 -1
- package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
- package/cjs/series/treemap/tooltip-helper.js +1 -1
- package/cjs/series/treemap/tooltip-helper.js.map +1 -1
- package/cjs/series/util/stack.js +29 -15
- package/cjs/series/util/stack.js.map +1 -1
- package/cjs/series/venn/animation.d.ts +6 -0
- package/cjs/series/venn/animation.js +76 -0
- package/cjs/series/venn/animation.js.map +1 -0
- package/cjs/series/venn/constant.d.ts +2 -0
- package/cjs/series/venn/constant.js +23 -0
- package/cjs/series/venn/constant.js.map +1 -0
- package/cjs/series/venn/interface.d.ts +21 -0
- package/cjs/series/venn/interface.js +6 -0
- package/cjs/series/venn/interface.js.map +1 -0
- package/cjs/series/venn/tooltip-helper.d.ts +5 -0
- package/cjs/series/venn/tooltip-helper.js +17 -0
- package/cjs/series/venn/tooltip-helper.js.map +1 -0
- package/cjs/series/venn/util.d.ts +1 -0
- package/cjs/series/venn/util.js +11 -0
- package/cjs/series/venn/util.js.map +1 -0
- package/cjs/series/venn/venn-transform.d.ts +6 -0
- package/cjs/series/venn/venn-transform.js +16 -0
- package/cjs/series/venn/venn-transform.js.map +1 -0
- package/cjs/series/venn/venn.d.ts +63 -0
- package/cjs/series/venn/venn.js +219 -0
- package/cjs/series/venn/venn.js.map +1 -0
- package/cjs/series/waterfall/interface.d.ts +6 -1
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +9 -0
- package/cjs/series/waterfall/waterfall.js +23 -4
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +2 -0
- package/cjs/series/word-cloud/base.js +11 -16
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/theme/builtin/common/component/index.js +4 -0
- package/cjs/theme/builtin/common/component/index.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/venn.d.ts +2 -0
- package/cjs/theme/builtin/common/series/venn.js +60 -0
- package/cjs/theme/builtin/common/series/venn.js.map +1 -0
- package/cjs/typings/spec/chart.d.ts +2 -0
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +5 -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/tooltip/tooltip.d.ts +1 -0
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/util/data.d.ts +21 -4
- package/cjs/util/data.js +42 -14
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +4 -4
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/math.d.ts +1 -1
- package/cjs/util/math.js +2 -3
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/spec/index.d.ts +0 -5
- package/cjs/util/spec/index.js +1 -4
- package/cjs/util/spec/index.js.map +1 -1
- package/cjs/util/spec/transform.js.map +1 -1
- package/cjs/util/theme/merge-theme.js +3 -3
- package/cjs/util/theme/merge-theme.js.map +1 -1
- package/cjs/vchart-all.js +2 -2
- package/cjs/vchart-all.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -2
- package/esm/animation/utils.js +1 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +5 -1
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +7 -2
- package/esm/chart/base/base-chart.js +35 -11
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/cartesian/cartesian-transformer.js +3 -1
- package/esm/chart/cartesian/cartesian-transformer.js.map +1 -1
- package/esm/chart/common/common-transformer.js +3 -1
- package/esm/chart/common/common-transformer.js.map +1 -1
- package/esm/chart/common/interface.d.ts +2 -2
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/index.d.ts +6 -4
- package/esm/chart/index.js +5 -3
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +9 -1
- package/esm/chart/interface/chart.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/polar/polar-transformer.js.map +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/esm/chart/radar/radar-transformer.js +3 -1
- package/esm/chart/radar/radar-transformer.js.map +1 -1
- package/esm/chart/range-column/range-column-transformer.js +5 -1
- package/esm/chart/range-column/range-column-transformer.js.map +1 -1
- package/esm/chart/rose/rose-transformer.js +1 -1
- package/esm/chart/rose/rose-transformer.js.map +1 -1
- package/esm/chart/sankey/sankey-transformer.js +5 -0
- package/esm/chart/sankey/sankey-transformer.js.map +1 -1
- package/esm/chart/sankey/sankey.d.ts +5 -0
- package/esm/chart/sankey/sankey.js +24 -0
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/sequence/sequence-transformer.js.map +1 -1
- package/esm/chart/sequence/sequence.js +4 -1
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/treemap/treemap-transformer.js.map +1 -1
- package/esm/chart/util.js +5 -2
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/venn/index.d.ts +3 -0
- package/esm/chart/venn/index.js +6 -0
- package/esm/chart/venn/index.js.map +1 -0
- package/esm/chart/venn/interface.d.ts +6 -0
- package/esm/chart/venn/interface.js +2 -0
- package/esm/chart/venn/interface.js.map +1 -0
- package/esm/chart/venn/venn-transformer.d.ts +7 -0
- package/esm/chart/venn/venn-transformer.js +20 -0
- package/esm/chart/venn/venn-transformer.js.map +1 -0
- package/esm/chart/venn/venn.d.ts +14 -0
- package/esm/chart/venn/venn.js +24 -0
- package/esm/chart/venn/venn.js.map +1 -0
- package/esm/compile/compiler.d.ts +3 -3
- package/esm/compile/compiler.js +7 -5
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.js +3 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +1 -0
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +2 -1
- package/esm/compile/mark/compilable-mark.js +4 -0
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +4 -1
- package/esm/compile/mark/interface.js +2 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -0
- package/esm/component/axis/base-axis.js +8 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -2
- package/esm/component/axis/cartesian/axis.js +30 -36
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +1 -0
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.js +2 -2
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/spec.d.ts +2 -0
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js +2 -2
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.d.ts +12 -3
- package/esm/component/axis/mixin/linear-axis-mixin.js +39 -11
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +0 -1
- package/esm/component/axis/polar/axis.js +7 -11
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +1 -0
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.d.ts +5 -1
- package/esm/component/axis/polar/linear-axis.js +5 -1
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/axis/util.js +1 -1
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.d.ts +1 -0
- package/esm/component/base/base-component.js +14 -6
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.js +2 -2
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/common/trigger/mobile.js +1 -2
- package/esm/component/common/trigger/mobile.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -2
- package/esm/component/crosshair/base.js +4 -6
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +3 -5
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/cartesian.d.ts +11 -24
- package/esm/component/crosshair/interface/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/polar.d.ts +7 -5
- package/esm/component/crosshair/interface/polar.js.map +1 -1
- package/esm/component/crosshair/polar.js +4 -7
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/crosshair/utils/cartesian.js +14 -14
- package/esm/component/crosshair/utils/cartesian.js.map +1 -1
- package/esm/component/crosshair/utils/common.js +2 -2
- package/esm/component/crosshair/utils/common.js.map +1 -1
- package/esm/component/crosshair/utils/polar.js +15 -9
- package/esm/component/crosshair/utils/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +11 -4
- package/esm/component/custom-mark/custom-mark.js +43 -14
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -2
- package/esm/component/data-zoom/data-filter-base-component.js +15 -11
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js +3 -1
- package/esm/component/data-zoom/data-zoom/data-zoom-transformer.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/interface.d.ts +1 -4
- package/esm/component/data-zoom/interface.js +1 -5
- package/esm/component/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/data-zoom/util.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/index.d.ts +7 -7
- package/esm/component/index.js +5 -5
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/interface/theme.d.ts +4 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/interface/type.d.ts +4 -0
- package/esm/component/interface/type.js +3 -1
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/label/label.js +3 -4
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +9 -2
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +9 -1
- package/esm/component/label/util.js +21 -6
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.js +9 -4
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -0
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +5 -2
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/continuous/util.js +1 -1
- package/esm/component/legend/continuous/util.js.map +1 -1
- package/esm/component/legend/discrete/interface.d.ts +1 -0
- package/esm/component/legend/discrete/interface.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +4 -1
- package/esm/component/legend/discrete/legend.js +20 -9
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.js +4 -4
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +12 -2
- package/esm/component/legend/util.js +1 -1
- package/esm/component/legend/util.js.map +1 -1
- package/esm/component/map-label/component.js +2 -1
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +30 -44
- package/esm/component/marker/base-marker.js +101 -42
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +40 -13
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/base-mark-area.d.ts +18 -0
- package/esm/component/marker/mark-area/base-mark-area.js +105 -0
- package/esm/component/marker/mark-area/base-mark-area.js.map +1 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.d.ts +19 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.js +82 -0
- package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -0
- package/esm/component/marker/mark-area/index.d.ts +2 -1
- package/esm/component/marker/mark-area/index.js +3 -1
- package/esm/component/marker/mark-area/index.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +16 -1
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/interface/theme.d.ts +5 -7
- package/esm/component/marker/mark-area/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-area/polar-mark-area.d.ts +25 -0
- package/esm/component/marker/mark-area/polar-mark-area.js +102 -0
- package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -0
- package/esm/component/marker/mark-line/base-mark-line.d.ts +18 -0
- package/esm/component/marker/mark-line/base-mark-line.js +124 -0
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.d.ts +20 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.js +185 -0
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -0
- package/esm/component/marker/mark-line/index.d.ts +2 -1
- package/esm/component/marker/mark-line/index.js +3 -1
- package/esm/component/marker/mark-line/index.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +26 -2
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/interface/theme.d.ts +5 -7
- package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-line/polar-mark-line.d.ts +23 -0
- package/esm/component/marker/mark-line/polar-mark-line.js +108 -0
- package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -0
- package/esm/component/marker/mark-point/{mark-point.d.ts → base-mark-point.d.ts} +5 -9
- package/esm/component/marker/mark-point/base-mark-point.js +139 -0
- package/esm/component/marker/mark-point/base-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.d.ts +16 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.js +47 -0
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/geo-mark-point.d.ts +14 -0
- package/esm/component/marker/mark-point/geo-mark-point.js +38 -0
- package/esm/component/marker/mark-point/geo-mark-point.js.map +1 -0
- package/esm/component/marker/mark-point/index.d.ts +3 -1
- package/esm/component/marker/mark-point/index.js +5 -1
- package/esm/component/marker/mark-point/index.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +9 -1
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.d.ts +11 -16
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-point/polar-mark-point.d.ts +18 -0
- package/esm/component/marker/mark-point/polar-mark-point.js +47 -0
- package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -0
- package/esm/component/marker/utils.d.ts +40 -5
- package/esm/component/marker/utils.js +137 -8
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +2 -1
- package/esm/component/player/player.js +16 -9
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/player/utils/transform.js +3 -2
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/tooltip/tooltip-transformer.js +3 -1
- package/esm/component/tooltip/tooltip-transformer.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +2 -6
- package/esm/component/tooltip/tooltip.js +13 -11
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/compose.d.ts +2 -2
- package/esm/component/tooltip/utils/compose.js +4 -4
- package/esm/component/tooltip/utils/compose.js.map +1 -1
- package/esm/component/tooltip/utils/get-spec.js +3 -3
- package/esm/component/tooltip/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/utils/index.d.ts +1 -0
- package/esm/component/tooltip/utils/index.js +2 -0
- package/esm/component/tooltip/utils/index.js.map +1 -1
- package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.d.ts +3 -3
- package/esm/component/tooltip/utils/pattern.js.map +1 -0
- package/esm/component/tooltip/utils/show-tooltip.d.ts +20 -3
- package/esm/component/tooltip/utils/show-tooltip.js +99 -87
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/core/factory.d.ts +1 -1
- package/esm/core/factory.js +1 -2
- 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/interface.d.ts +8 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +5 -2
- package/esm/core/vchart.js +51 -21
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +12 -7
- package/esm/data/transforms/aggregation.js +16 -1
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/invalid-travel.d.ts +1 -1
- package/esm/data/transforms/invalid-travel.js +4 -2
- package/esm/data/transforms/invalid-travel.js.map +1 -1
- package/esm/data/transforms/legend-data/continuous/continuous.js +2 -2
- package/esm/data/transforms/legend-data/continuous/continuous.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/discrete.js +2 -2
- package/esm/data/transforms/legend-data/discrete/discrete.js.map +1 -1
- package/esm/data/transforms/legend-data/discrete/interface.d.ts +2 -0
- package/esm/data/transforms/legend-data/discrete/interface.js.map +1 -1
- package/esm/data/transforms/pie.js +2 -1
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/data/transforms/sankey.js +1 -16
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/data/transforms/waterfall.js +5 -1
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/event/event-dispatcher.js +8 -1
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/interface.d.ts +2 -0
- package/esm/event/interface.js.map +1 -1
- package/esm/index-lark.js +4 -4
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx.js +4 -4
- package/esm/index-wx.js.map +1 -1
- package/esm/layout/base-layout.js +6 -5
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +1 -1
- package/esm/layout/grid-layout/grid-layout.js +4 -4
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/layout-item.js +1 -1
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/mark/base/base-mark.js +1 -1
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/index.d.ts +20 -20
- package/esm/mark/index.js +25 -20
- package/esm/mark/index.js.map +1 -1
- package/esm/model/base-model-transformer.js +3 -1
- package/esm/model/base-model-transformer.js.map +1 -1
- package/esm/model/base-model.js +1 -1
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-model.js +3 -2
- package/esm/model/layout-model.js.map +1 -1
- package/esm/plugin/base/base-plugin-service.d.ts +2 -0
- package/esm/plugin/base/base-plugin-service.js +11 -1
- package/esm/plugin/base/base-plugin-service.js.map +1 -1
- package/esm/plugin/base/interface.d.ts +3 -0
- package/esm/plugin/base/interface.js.map +1 -1
- package/esm/plugin/chart/formatter/formatter.js +3 -1
- package/esm/plugin/chart/formatter/formatter.js.map +1 -1
- package/esm/plugin/chart/media-query/media-query.js +3 -1
- package/esm/plugin/chart/media-query/media-query.js.map +1 -1
- package/esm/plugin/chart/media-query/util/action.js +2 -2
- package/esm/plugin/chart/media-query/util/action.js.map +1 -1
- package/esm/plugin/components/axis-sync/zero-align-transform.js +3 -5
- package/esm/plugin/components/axis-sync/zero-align-transform.js.map +1 -1
- package/esm/plugin/components/register.js +1 -1
- package/esm/plugin/components/register.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +1 -1
- package/esm/plugin/components/tooltip-handler/base.js +3 -3
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-column-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/content-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/title-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js +1 -1
- package/esm/plugin/components/tooltip-handler/dom/utils/style.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js +1 -1
- package/esm/plugin/components/tooltip-handler/utils/attribute.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/utils/index.d.ts +0 -1
- package/esm/plugin/components/tooltip-handler/utils/index.js +0 -2
- package/esm/plugin/components/tooltip-handler/utils/index.js.map +1 -1
- package/esm/region/interface.d.ts +2 -0
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +1 -0
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area-transformer.js +1 -1
- package/esm/series/area/area-transformer.js.map +1 -1
- package/esm/series/area/area.js +4 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar-3d.js +4 -1
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar.js +4 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series-transformer.js +3 -1
- package/esm/series/base/base-series-transformer.js.map +1 -1
- package/esm/series/base/base-series.d.ts +9 -17
- package/esm/series/base/base-series.js +44 -27
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +8 -5
- package/esm/series/base/tooltip-helper.js +31 -23
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +4 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.d.ts +1 -1
- package/esm/series/box-plot/tooltip-helper.js +21 -21
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/cartesian/cartesian.js +15 -4
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/tooltip-helper.d.ts +1 -1
- package/esm/series/circle-packing/tooltip-helper.js +1 -1
- package/esm/series/circle-packing/tooltip-helper.js.map +1 -1
- package/esm/series/dot/dot.js +1 -1
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.js +12 -12
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/funnel.js +8 -4
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +3 -3
- package/esm/series/funnel/tooltip-helper.js +3 -3
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- 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 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/geo/geo.d.ts +1 -0
- package/esm/series/geo/geo.js +4 -2
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +4 -1
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/index.d.ts +7 -3
- package/esm/series/index.js +6 -2
- package/esm/series/index.js.map +1 -1
- package/esm/series/interface/common.d.ts +3 -2
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +7 -0
- 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/tooltip-helper.d.ts +8 -5
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/interface/type.d.ts +6 -2
- package/esm/series/interface/type.js +3 -2
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/line.js +4 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +4 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/link/tooltip-helper.js +8 -8
- package/esm/series/link/tooltip-helper.js.map +1 -1
- package/esm/series/liquid/tooltip-helper.js +2 -2
- package/esm/series/liquid/tooltip-helper.js.map +1 -1
- package/esm/series/map/geo-source.d.ts +3 -1
- package/esm/series/map/geo-source.js +7 -2
- package/esm/series/map/geo-source.js.map +1 -1
- package/esm/series/map/tooltip-helper.d.ts +1 -1
- package/esm/series/map/tooltip-helper.js +1 -1
- package/esm/series/map/tooltip-helper.js.map +1 -1
- package/esm/series/mixin/line-mixin.js +1 -1
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie-transformer.js +1 -1
- package/esm/series/pie/pie-transformer.js.map +1 -1
- package/esm/series/polar/polar.d.ts +2 -2
- package/esm/series/polar/polar.js +18 -6
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/progress/circular/circular.js +5 -2
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/radar/radar.js +5 -2
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +0 -2
- package/esm/series/range-area/range-area.js +3 -5
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-area/tooltip-helper.js +10 -10
- package/esm/series/range-area/tooltip-helper.js.map +1 -1
- package/esm/series/range-column/3d/range-column-3d.js +4 -1
- package/esm/series/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/series/range-column/range-column.js +3 -1
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js +5 -5
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/rose.js +4 -1
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +5 -0
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +10 -4
- package/esm/series/sankey/sankey.js +130 -162
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.js +10 -10
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/scatter.js +5 -2
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/tooltip-helper.d.ts +1 -1
- package/esm/series/sunburst/tooltip-helper.js +1 -1
- package/esm/series/sunburst/tooltip-helper.js.map +1 -1
- package/esm/series/treemap/tooltip-helper.d.ts +1 -1
- package/esm/series/treemap/tooltip-helper.js +1 -1
- package/esm/series/treemap/tooltip-helper.js.map +1 -1
- package/esm/series/util/stack.js +28 -15
- package/esm/series/util/stack.js.map +1 -1
- package/esm/series/venn/animation.d.ts +6 -0
- package/esm/series/venn/animation.js +68 -0
- package/esm/series/venn/animation.js.map +1 -0
- package/esm/series/venn/constant.d.ts +2 -0
- package/esm/series/venn/constant.js +17 -0
- package/esm/series/venn/constant.js.map +1 -0
- package/esm/series/venn/interface.d.ts +21 -0
- package/esm/series/venn/interface.js +2 -0
- package/esm/series/venn/interface.js.map +1 -0
- package/esm/series/venn/tooltip-helper.d.ts +5 -0
- package/esm/series/venn/tooltip-helper.js +11 -0
- package/esm/series/venn/tooltip-helper.js.map +1 -0
- package/esm/series/venn/util.d.ts +1 -0
- package/esm/series/venn/util.js +4 -0
- package/esm/series/venn/util.js.map +1 -0
- package/esm/series/venn/venn-transform.d.ts +6 -0
- package/esm/series/venn/venn-transform.js +8 -0
- package/esm/series/venn/venn-transform.js.map +1 -0
- package/esm/series/venn/venn.d.ts +63 -0
- package/esm/series/venn/venn.js +237 -0
- package/esm/series/venn/venn.js.map +1 -0
- package/esm/series/waterfall/interface.d.ts +6 -1
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +9 -0
- package/esm/series/waterfall/waterfall.js +24 -3
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +2 -0
- package/esm/series/word-cloud/base.js +12 -17
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/theme/builtin/common/component/index.js +4 -0
- package/esm/theme/builtin/common/component/index.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/venn.d.ts +2 -0
- package/esm/theme/builtin/common/series/venn.js +56 -0
- package/esm/theme/builtin/common/series/venn.js.map +1 -0
- package/esm/typings/spec/chart.d.ts +2 -0
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/spec/common.d.ts +5 -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/tooltip/tooltip.d.ts +1 -0
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/util/data.d.ts +21 -4
- package/esm/util/data.js +39 -10
- package/esm/util/data.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/math.d.ts +1 -1
- package/esm/util/math.js +2 -3
- package/esm/util/math.js.map +1 -1
- package/esm/util/spec/index.d.ts +0 -5
- package/esm/util/spec/index.js +0 -10
- package/esm/util/spec/index.js.map +1 -1
- package/esm/util/spec/transform.js.map +1 -1
- package/esm/util/theme/merge-theme.js +1 -1
- package/esm/util/theme/merge-theme.js.map +1 -1
- package/esm/vchart-all.js +6 -4
- package/esm/vchart-all.js.map +1 -1
- package/package.json +16 -15
- package/cjs/component/marker/mark-area/mark-area.d.ts +0 -21
- package/cjs/component/marker/mark-area/mark-area.js +0 -128
- package/cjs/component/marker/mark-area/mark-area.js.map +0 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +0 -22
- package/cjs/component/marker/mark-line/mark-line.js +0 -198
- package/cjs/component/marker/mark-line/mark-line.js.map +0 -1
- package/cjs/component/marker/mark-point/mark-point.js +0 -138
- package/cjs/component/marker/mark-point/mark-point.js.map +0 -1
- package/cjs/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
- package/cjs/util/spec/clone-deep.d.ts +0 -1
- package/cjs/util/spec/clone-deep.js +0 -27
- package/cjs/util/spec/clone-deep.js.map +0 -1
- package/cjs/util/spec/common.d.ts +0 -3
- package/cjs/util/spec/common.js +0 -23
- package/cjs/util/spec/common.js.map +0 -1
- package/cjs/util/spec/merge-spec.d.ts +0 -5
- package/cjs/util/spec/merge-spec.js +0 -69
- package/cjs/util/spec/merge-spec.js.map +0 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +0 -21
- package/esm/component/marker/mark-area/mark-area.js +0 -134
- package/esm/component/marker/mark-area/mark-area.js.map +0 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +0 -22
- package/esm/component/marker/mark-line/mark-line.js +0 -213
- package/esm/component/marker/mark-line/mark-line.js.map +0 -1
- package/esm/component/marker/mark-point/mark-point.js +0 -147
- package/esm/component/marker/mark-point/mark-point.js.map +0 -1
- package/esm/plugin/components/tooltip-handler/utils/pattern.js.map +0 -1
- package/esm/util/spec/clone-deep.d.ts +0 -1
- package/esm/util/spec/clone-deep.js +0 -20
- package/esm/util/spec/clone-deep.js.map +0 -1
- package/esm/util/spec/common.d.ts +0 -3
- package/esm/util/spec/common.js +0 -15
- package/esm/util/spec/common.js.map +0 -1
- package/esm/util/spec/merge-spec.d.ts +0 -5
- package/esm/util/spec/merge-spec.js +0 -57
- package/esm/util/spec/merge-spec.js.map +0 -1
- /package/cjs/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
- /package/esm/{plugin/components/tooltip-handler → component/tooltip}/utils/pattern.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/utils/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous, isDiscrete } from '@visactor/vscale';\nimport type { ICartesianSeries } from '../../../series';\nimport type { ILayoutPoint } from '../../../typings';\nimport type { IBound, IHair } from '../base';\nimport { LayoutType } from '../config';\nimport type { AxisCurrentValueMap, ICrosshairInfoX, ICrosshairInfoY } from '../interface';\nimport { getDatumByValue } from './common';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { isValid } from '@visactor/vutils';\nimport type { IAxis } from '../../axis';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n tag: number = LayoutType.ALL,\n series: ICartesianSeries,\n layoutStartPoint: ILayoutPoint,\n currValueX: AxisCurrentValueMap,\n currValueY: AxisCurrentValueMap,\n xHair: IHair,\n yHair: IHair,\n enableRemain: boolean = false,\n cacheXCrossHairInfo?: ICrosshairInfoX,\n cacheYCrossHairInfo?: ICrosshairInfoY\n) => {\n const layoutX = tag & LayoutType.VERTICAL;\n const layoutY = tag & LayoutType.HORIZONTAL;\n\n if (!layoutStartPoint) {\n layoutStartPoint = { x: 0, y: 0 };\n }\n\n // 计算x和y的坐标\n let xAxis = null;\n let yAxis = null;\n let x = 0;\n let y = 0;\n if (currValueX.size) {\n const item = Array.from(currValueX.values())[0];\n x = item.axis.getScale().scale(item.value) + item.axis.getLayoutStartPoint().x - layoutStartPoint.x;\n xAxis = item.axis;\n }\n if (currValueY.size) {\n const item = Array.from(currValueY.values())[0];\n y = item.axis.getScale().scale(item.value) + item.axis.getLayoutStartPoint().y - layoutStartPoint.y;\n yAxis = item.axis;\n }\n\n const xVisible = !!currValueX.size && Number.isFinite(x);\n const yVisible = !!currValueY.size && Number.isFinite(y);\n const xUseCache = enableRemain && !xVisible && isValid(cacheXCrossHairInfo);\n const yUseCache = enableRemain && !yVisible && isValid(cacheYCrossHairInfo);\n\n let xCrossHairInfo: ICrosshairInfoX;\n if (layoutX) {\n xCrossHairInfo = xUseCache\n ? cacheXCrossHairInfo\n : {\n height: 0,\n leftPos: 0,\n rightPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: xVisible,\n axis: xAxis\n };\n }\n\n let yCrossHairInfo: ICrosshairInfoY;\n if (layoutY) {\n yCrossHairInfo = yUseCache\n ? cacheYCrossHairInfo\n : {\n width: 0,\n leftPos: 0,\n topPos: 0,\n bottomPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: yVisible,\n axis: yAxis\n };\n }\n\n let bandWidth;\n let offsetWidth: number = 0;\n let bandHeight;\n let offsetHeight: number = 0;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (xHair) {\n currValueX.forEach(({ axis, value }) => {\n value = value ?? '';\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n bandWidth = (xScale as BandScale).bandwidth();\n\n if (bandWidth === 0 && (xScale as BandScale).step) {\n offsetWidth = (xScale as BandScale).step();\n }\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +value, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n bandWidth = Math.abs(startX - series.dataToPositionX1(datum));\n value = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n bandWidth = 1;\n }\n x = startX;\n }\n }\n if (xCrossHairInfo && xHair.label?.visible && !xUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.text = value;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.getOrient() === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.text = value;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (yHair) {\n currValueY.forEach(({ axis, value }) => {\n value = value ?? '';\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n bandHeight = (yScale as BandScale).bandwidth();\n\n if (bandHeight === 0 && (yScale as BandScale).step) {\n offsetHeight = (yScale as BandScale).step();\n }\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +value, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n bandHeight = Math.abs(startY - series.dataToPositionY1(datum));\n value = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n bandHeight = 1;\n }\n y = startY;\n }\n }\n if (yCrossHairInfo && yHair.label?.visible && !yUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.text = value;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.getOrient() === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.text = value;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (xCrossHairInfo && !xUseCache) {\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n setRegionArea(xRegion, currValueX);\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.rightPos = xRegion.x2;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + layoutStartPoint.x;\n if (xHair?.label?.formatMethod) {\n const { top, bottom } = xCrossHairInfo;\n bottom.visible && (bottom.text = xHair.label.formatMethod(bottom.text, 'bottom') as string);\n top.visible && (top.text = xHair.label.formatMethod(top.text, 'top') as string);\n }\n\n if (xHair && xHair.label) {\n const { top, bottom } = xCrossHairInfo;\n if (top.visible) {\n setFormattedCrosshairLabel(top, 'top', xHair.label);\n }\n if (bottom.visible) {\n setFormattedCrosshairLabel(bottom, 'bottom', xHair.label);\n }\n }\n }\n\n if (yCrossHairInfo && !yUseCache) {\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n setRegionArea(yRegion, currValueY);\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.bottomPos = yRegion.y2;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + layoutStartPoint.y;\n\n if (yHair && yHair.label) {\n const { left, right } = yCrossHairInfo;\n if (left.visible) {\n setFormattedCrosshairLabel(left, 'left', yHair.label);\n }\n if (right.visible) {\n setFormattedCrosshairLabel(right, 'right', yHair.label);\n }\n }\n }\n\n return {\n x: layoutX && xCrossHairInfo ? xCrossHairInfo : undefined,\n y: layoutY && yCrossHairInfo ? yCrossHairInfo : undefined,\n offsetWidth,\n offsetHeight,\n bandWidth: bandWidth ?? 0,\n bandHeight: bandHeight ?? 0\n };\n};\n\nconst setFormattedCrosshairLabel = (labelInfo: ICrosshairInfoX['top'], position: string, labelSpec: IHair['label']) => {\n const { formatMethod, formatter } = labelSpec;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, labelInfo.text, {\n label: labelInfo.text,\n position\n });\n if (formatFunc) {\n labelInfo.text = formatFunc(...args);\n }\n};\n\n// 计算x轴和y轴对应的region区域\nconst setRegionArea = (outRegion: IBound, currentValue: AxisCurrentValueMap) => {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n};\n\nexport const layoutVerticalCrosshair = (\n xHair: IHair,\n crosshairInfo: ICrosshairInfoX,\n bandWidth: number,\n offsetWidth: number\n) => {\n const { x, topPos, height } = crosshairInfo;\n\n // 外部设置的size\n const type = xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n visible: true,\n start: { x: x + bandWidth / 2, y: topPos },\n end: { x: x + bandWidth / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n const extend = getRectSize(xHair, bandWidth, crosshairInfo.axis);\n const { leftPos, rightPos } = crosshairInfo;\n\n positionAttribute = {\n visible: true,\n start: { x: Math.max(x - extend / 2 - offsetWidth / 2, leftPos), y: topPos },\n end: { x: Math.min(x + bandWidth + extend / 2 + offsetWidth / 2, rightPos), y: topPos + height }\n };\n }\n\n return positionAttribute;\n};\n\nexport const layoutHorizontalCrosshair = (\n yHair: IHair,\n crosshairInfo: ICrosshairInfoY,\n bandHeight: number,\n offsetHeight: number\n) => {\n const { leftPos, width, y } = crosshairInfo;\n\n // 外部设置的size\n const type = yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n visible: true,\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n const extend = getRectSize(yHair, bandHeight, crosshairInfo.axis);\n const { topPos, bottomPos } = crosshairInfo;\n\n positionAttribute = {\n visible: true,\n start: { x: leftPos, y: Math.max(y - extend / 2 - offsetHeight / 2, topPos) },\n end: { x: leftPos + width, y: Math.min(y + bandHeight + extend / 2 + offsetHeight / 2, bottomPos) }\n };\n }\n\n return positionAttribute;\n};\n\nconst getRectSize = (hair: IHair, bandSize: number, axis: IAxis) => {\n // 外部设置的size\n let extend = 0;\n if (hair.style?.sizePercent) {\n extend = (hair.style.sizePercent - 1) * bandSize;\n } else if (typeof hair.style?.size === 'number') {\n extend = hair.style.size - bandSize;\n } else if (typeof hair.style?.size === 'function') {\n const axisRect = axis.getLayoutRect();\n extend = hair.style.size(axisRect, axis) - bandSize;\n }\n\n return extend;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/utils/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous, isDiscrete } from '@visactor/vscale';\nimport type { ICartesianSeries } from '../../../series';\nimport type { ILayoutPoint, StringOrNumber } from '../../../typings';\nimport type { IBound, IHair } from '../base';\nimport { LayoutType } from '../config';\nimport type { AxisCurrentValueMap, ICrosshairInfoX, ICrosshairInfoY, ICrosshairLabelInfo } from '../interface';\nimport { getDatumByValue } from './common';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { isValid } from '@visactor/vutils';\nimport type { IAxis, ILinearAxis } from '../../axis';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n tag: number = LayoutType.ALL,\n series: ICartesianSeries,\n layoutStartPoint: ILayoutPoint,\n currValueX: AxisCurrentValueMap,\n currValueY: AxisCurrentValueMap,\n xHair: IHair,\n yHair: IHair,\n enableRemain: boolean = false,\n cacheXCrossHairInfo?: ICrosshairInfoX,\n cacheYCrossHairInfo?: ICrosshairInfoY\n) => {\n const layoutX = tag & LayoutType.VERTICAL;\n const layoutY = tag & LayoutType.HORIZONTAL;\n\n if (!layoutStartPoint) {\n layoutStartPoint = { x: 0, y: 0 };\n }\n\n // 计算x和y的坐标\n let xAxis = null;\n let yAxis = null;\n let x = 0;\n let y = 0;\n if (currValueX.size) {\n const item = Array.from(currValueX.values())[0];\n x = item.axis.getScale().scale(item.value) + item.axis.getLayoutStartPoint().x - layoutStartPoint.x;\n xAxis = item.axis;\n }\n if (currValueY.size) {\n const item = Array.from(currValueY.values())[0];\n y = item.axis.getScale().scale(item.value) + item.axis.getLayoutStartPoint().y - layoutStartPoint.y;\n yAxis = item.axis;\n }\n\n const xVisible = !!currValueX.size && Number.isFinite(x);\n const yVisible = !!currValueY.size && Number.isFinite(y);\n const xUseCache = enableRemain && !xVisible && isValid(cacheXCrossHairInfo);\n const yUseCache = enableRemain && !yVisible && isValid(cacheYCrossHairInfo);\n\n let xCrossHairInfo: ICrosshairInfoX;\n if (layoutX) {\n xCrossHairInfo = xUseCache\n ? cacheXCrossHairInfo\n : {\n height: 0,\n leftPos: 0,\n rightPos: 0,\n topPos: 0,\n x: 0,\n bottom: { visible: false, text: '', dx: 0, dy: 0 },\n top: { visible: false, text: '', dx: 0, dy: 0 },\n visible: xVisible,\n axis: xAxis\n };\n }\n\n let yCrossHairInfo: ICrosshairInfoY;\n if (layoutY) {\n yCrossHairInfo = yUseCache\n ? cacheYCrossHairInfo\n : {\n width: 0,\n leftPos: 0,\n topPos: 0,\n bottomPos: 0,\n y: 0,\n left: { visible: false, text: '', dx: 0, dy: 0 },\n right: { visible: false, text: '', dx: 0, dy: 0 },\n visible: yVisible,\n axis: yAxis\n };\n }\n\n let bandWidth;\n let offsetWidth: number = 0;\n let bandHeight;\n let offsetHeight: number = 0;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (xHair) {\n currValueX.forEach(({ axis, value }) => {\n value = value ?? '';\n let niceLabelFormatter: (value: StringOrNumber) => StringOrNumber = null;\n const xScale = axis.getScale();\n if (isDiscrete(xScale.type)) {\n bandWidth = (xScale as BandScale).bandwidth();\n\n if (bandWidth === 0 && (xScale as BandScale).step) {\n offsetWidth = (xScale as BandScale).step();\n }\n } else if (isContinuous(xScale.type)) {\n const fieldX = series.fieldX[0];\n const fieldX2 = series.fieldX2;\n const datum = getDatumByValue(series.getViewData().latestData, +value, fieldX, fieldX2);\n if (datum) {\n const startX = series.dataToPositionX(datum);\n if (fieldX2) {\n bandWidth = Math.abs(startX - series.dataToPositionX1(datum));\n value = `${datum[fieldX]} ~ ${datum[fieldX2]}`;\n } else {\n bandWidth = 1;\n }\n x = startX;\n }\n niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n }\n if (xCrossHairInfo && xHair.label?.visible && !xUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'bottom') {\n xCrossHairInfo.bottom.visible = true;\n xCrossHairInfo.bottom.defaultFormatter = niceLabelFormatter;\n xCrossHairInfo.bottom.text = value;\n xCrossHairInfo.bottom.dx = 0;\n xCrossHairInfo.bottom.dy = labelOffset;\n } else if (axis.getOrient() === 'top') {\n xCrossHairInfo.top.visible = true;\n xCrossHairInfo.top.defaultFormatter = niceLabelFormatter;\n xCrossHairInfo.top.text = value;\n xCrossHairInfo.top.dx = 0;\n xCrossHairInfo.top.dy = -labelOffset;\n }\n }\n });\n }\n\n if (yHair) {\n currValueY.forEach(({ axis, value }) => {\n value = value ?? '';\n let niceLabelFormatter: (value: StringOrNumber) => StringOrNumber = null;\n const yScale = axis.getScale();\n if (isDiscrete(yScale.type)) {\n bandHeight = (yScale as BandScale).bandwidth();\n\n if (bandHeight === 0 && (yScale as BandScale).step) {\n offsetHeight = (yScale as BandScale).step();\n }\n } else if (isContinuous(yScale.type)) {\n const fieldY = series.fieldY[0];\n const fieldY2 = series.fieldY2;\n const datum = getDatumByValue(series.getViewData().latestData, +value, fieldY, fieldY2);\n if (datum) {\n const startY = series.dataToPositionY(datum);\n if (fieldY2) {\n bandHeight = Math.abs(startY - series.dataToPositionY1(datum));\n value = `${datum[fieldY]} ~ ${datum[fieldY2]}`;\n } else {\n bandHeight = 1;\n }\n y = startY;\n }\n niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n }\n if (yCrossHairInfo && yHair.label?.visible && !yUseCache) {\n const labelOffset = getAxisLabelOffset(axis.getSpec());\n if (axis.getOrient() === 'left') {\n yCrossHairInfo.left.visible = true;\n yCrossHairInfo.left.defaultFormatter = niceLabelFormatter;\n yCrossHairInfo.left.text = value;\n yCrossHairInfo.left.dx = -labelOffset;\n yCrossHairInfo.left.dy = 0;\n } else if (axis.getOrient() === 'right') {\n yCrossHairInfo.right.visible = true;\n yCrossHairInfo.right.defaultFormatter = niceLabelFormatter;\n yCrossHairInfo.right.text = value;\n yCrossHairInfo.right.dx = labelOffset;\n yCrossHairInfo.right.dy = 0;\n }\n }\n });\n }\n\n if (xCrossHairInfo && !xUseCache) {\n const xRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n setRegionArea(xRegion, currValueX);\n xCrossHairInfo.leftPos = xRegion.x1;\n xCrossHairInfo.rightPos = xRegion.x2;\n xCrossHairInfo.topPos = xRegion.y1;\n xCrossHairInfo.height = xRegion.y2 - xRegion.y1;\n xCrossHairInfo.x = x + layoutStartPoint.x;\n\n if (xHair && xHair.label) {\n const { top, bottom } = xCrossHairInfo;\n if (top.visible) {\n setFormattedCrosshairLabel(top, 'top', xHair.label);\n }\n if (bottom.visible) {\n setFormattedCrosshairLabel(bottom, 'bottom', xHair.label);\n }\n }\n }\n\n if (yCrossHairInfo && !yUseCache) {\n const yRegion = { x1: Infinity, y1: Infinity, x2: -Infinity, y2: -Infinity };\n setRegionArea(yRegion, currValueY);\n yCrossHairInfo.leftPos = yRegion.x1;\n yCrossHairInfo.topPos = yRegion.y1;\n yCrossHairInfo.bottomPos = yRegion.y2;\n yCrossHairInfo.width = yRegion.x2 - yRegion.x1;\n yCrossHairInfo.y = y + layoutStartPoint.y;\n\n if (yHair && yHair.label) {\n const { left, right } = yCrossHairInfo;\n if (left.visible) {\n setFormattedCrosshairLabel(left, 'left', yHair.label);\n }\n if (right.visible) {\n setFormattedCrosshairLabel(right, 'right', yHair.label);\n }\n }\n }\n\n return {\n x: layoutX && xCrossHairInfo ? xCrossHairInfo : undefined,\n y: layoutY && yCrossHairInfo ? yCrossHairInfo : undefined,\n offsetWidth,\n offsetHeight,\n bandWidth: bandWidth ?? 0,\n bandHeight: bandHeight ?? 0\n };\n};\n\nconst setFormattedCrosshairLabel = (labelInfo: ICrosshairLabelInfo, position: string, labelSpec: IHair['label']) => {\n const { formatMethod, formatter } = labelSpec;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, labelInfo.text, {\n label: labelInfo.text,\n position\n });\n if (formatFunc) {\n labelInfo.text = formatFunc(...args);\n } else if (labelInfo.defaultFormatter) {\n labelInfo.text = labelInfo.defaultFormatter(labelInfo.text);\n }\n};\n\n// 计算x轴和y轴对应的region区域\nconst setRegionArea = (outRegion: IBound, currentValue: AxisCurrentValueMap) => {\n currentValue.forEach(({ axis }) => {\n const regions = axis.getRegions();\n regions.forEach(r => {\n outRegion.x1 = Math.min(outRegion.x1, r.getLayoutStartPoint().x);\n outRegion.y1 = Math.min(outRegion.y1, r.getLayoutStartPoint().y);\n outRegion.x2 = Math.max(outRegion.x2, r.getLayoutStartPoint().x + r.getLayoutRect().width);\n outRegion.y2 = Math.max(outRegion.y2, r.getLayoutStartPoint().y + r.getLayoutRect().height);\n });\n });\n};\n\nexport const layoutVerticalCrosshair = (\n xHair: IHair,\n crosshairInfo: ICrosshairInfoX,\n bandWidth: number,\n offsetWidth: number\n) => {\n const { x, topPos, height } = crosshairInfo;\n\n // 外部设置的size\n const type = xHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n visible: true,\n start: { x: x + bandWidth / 2, y: topPos },\n end: { x: x + bandWidth / 2, y: topPos + height }\n };\n } else if (type === 'rect') {\n const extend = getRectSize(xHair, bandWidth, crosshairInfo.axis);\n const { leftPos, rightPos } = crosshairInfo;\n\n positionAttribute = {\n visible: true,\n start: { x: Math.max(x - extend / 2 - offsetWidth / 2, leftPos), y: topPos },\n end: { x: Math.min(x + bandWidth + extend / 2 + offsetWidth / 2, rightPos), y: topPos + height }\n };\n }\n\n return positionAttribute;\n};\n\nexport const layoutHorizontalCrosshair = (\n yHair: IHair,\n crosshairInfo: ICrosshairInfoY,\n bandHeight: number,\n offsetHeight: number\n) => {\n const { leftPos, width, y } = crosshairInfo;\n\n // 外部设置的size\n const type = yHair.type;\n let positionAttribute;\n if (type === 'line') {\n positionAttribute = {\n visible: true,\n start: { x: leftPos, y: y + bandHeight / 2 },\n end: { x: leftPos + width, y: y + bandHeight / 2 }\n };\n } else if (type === 'rect') {\n const extend = getRectSize(yHair, bandHeight, crosshairInfo.axis);\n const { topPos, bottomPos } = crosshairInfo;\n\n positionAttribute = {\n visible: true,\n start: { x: leftPos, y: Math.max(y - extend / 2 - offsetHeight / 2, topPos) },\n end: { x: leftPos + width, y: Math.min(y + bandHeight + extend / 2 + offsetHeight / 2, bottomPos) }\n };\n }\n\n return positionAttribute;\n};\n\nconst getRectSize = (hair: IHair, bandSize: number, axis: IAxis) => {\n // 外部设置的size\n let extend = 0;\n if (hair.style?.sizePercent) {\n extend = (hair.style.sizePercent - 1) * bandSize;\n } else if (typeof hair.style?.size === 'number') {\n extend = hair.style.size - bandSize;\n } else if (typeof hair.style?.size === 'function') {\n const axisRect = axis.getLayoutRect();\n extend = hair.style.size(axisRect, axis) - bandSize;\n }\n\n return extend;\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getPolarCrosshairTheme = exports.getCartesianCrosshairTheme = exports.getDatumByValue = exports.limitTagInBounds = void 0;
|
|
6
6
|
|
|
7
|
-
const vutils_1 = require("@visactor/vutils"),
|
|
7
|
+
const vutils_1 = require("@visactor/vutils"), common_1 = require("../../axis/cartesian/util/common"), vscale_1 = require("@visactor/vscale"), util_1 = require("../../util"), type_1 = require("../../interface/type"), util_2 = require("../../axis/util"), vutils_extension_1 = require("@visactor/vutils-extension");
|
|
8
8
|
|
|
9
9
|
function limitTagInBounds(shape, bounds) {
|
|
10
10
|
const {x1: regionMinX, y1: regionMinY, x2: regionMaxX, y2: regionMaxY} = bounds, {x1: x1, y1: y1, x2: x2, y2: y2} = shape.AABBBounds, {dx: originDx = 0, dy: originDy = 0} = shape.attribute;
|
|
@@ -32,10 +32,11 @@ const getCartesianCrosshairTheme = (chartTheme, chartSpec) => {
|
|
|
32
32
|
util_1.getComponentThemeFromOption)(type_1.ComponentTypeEnum.crosshair, chartTheme)) && void 0 !== _b ? _b : {}, xAxis = axes.find((axis => (0,
|
|
33
33
|
common_1.isXAxis)(axis.orient)));
|
|
34
34
|
let newXField;
|
|
35
|
-
newXField = (0, vutils_1.isValid)(xAxis) ? (0,
|
|
35
|
+
newXField = (0, vutils_1.isValid)(xAxis) ? (0, vutils_extension_1.mergeSpec)({}, (0,
|
|
36
|
+
util_2.isDiscreteAxis)(xAxis.type) ? bandField : linearField, xField) : xField;
|
|
36
37
|
const yAxis = axes.find((axis => (0, common_1.isYAxis)(axis.orient)));
|
|
37
38
|
let newYField;
|
|
38
|
-
return newYField = (0, vutils_1.isValid)(yAxis) ? (0,
|
|
39
|
+
return newYField = (0, vutils_1.isValid)(yAxis) ? (0, vutils_extension_1.mergeSpec)({}, (0,
|
|
39
40
|
vscale_1.isDiscrete)(yAxis.type) ? bandField : linearField, yField) : yField, {
|
|
40
41
|
xField: newXField,
|
|
41
42
|
yField: newYField
|
|
@@ -49,11 +50,11 @@ const getPolarCrosshairTheme = (chartTheme, chartSpec) => {
|
|
|
49
50
|
const axes = (0, vutils_1.array)(null !== (_a = chartSpec.axes) && void 0 !== _a ? _a : []), {bandField: bandField, linearField: linearField, categoryField: categoryField, valueField: valueField} = null !== (_b = (0,
|
|
50
51
|
util_1.getComponentThemeFromOption)(type_1.ComponentTypeEnum.crosshair, chartTheme)) && void 0 !== _b ? _b : {}, angleAxis = axes.find((axis => "angle" === axis.orient));
|
|
51
52
|
let newAngleField;
|
|
52
|
-
newAngleField = (0, vutils_1.isValid)(angleAxis) ? (0,
|
|
53
|
+
newAngleField = (0, vutils_1.isValid)(angleAxis) ? (0, vutils_extension_1.mergeSpec)({}, (0,
|
|
53
54
|
util_2.isDiscreteAxis)(angleAxis.type) ? bandField : linearField, categoryField) : categoryField;
|
|
54
55
|
const radiusAxis = axes.find((axis => "radius" === axis.orient));
|
|
55
56
|
let newRadiusField;
|
|
56
|
-
return newRadiusField = (0, vutils_1.isValid)(radiusAxis) ? (0,
|
|
57
|
+
return newRadiusField = (0, vutils_1.isValid)(radiusAxis) ? (0, vutils_extension_1.mergeSpec)({}, (0,
|
|
57
58
|
vscale_1.isDiscrete)(radiusAxis.type) ? bandField : linearField, valueField) : valueField,
|
|
58
59
|
{
|
|
59
60
|
categoryField: newAngleField,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/utils/common.ts"],"names":[],"mappings":";;;AAKA,6CAAkD;AAClD,
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/utils/common.ts"],"names":[],"mappings":"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","file":"common.js","sourcesContent":["import type { Tag } from '@visactor/vrender-components';\nimport type { IBoundsLike } from '@visactor/vutils';\nimport type { Datum } from '../../../typings';\nimport type { ICrosshairTheme } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid } from '@visactor/vutils';\nimport { isXAxis, isYAxis } from '../../axis/cartesian/util/common';\nimport { isDiscrete } from '@visactor/vscale';\nimport type { ICartesianAxisCommonSpec, IPolarAxisCommonSpec } from '../../axis';\nimport { getComponentThemeFromOption } from '../../util';\nimport { ComponentTypeEnum } from '../../interface/type';\nimport type { ITheme } from '../../../theme';\nimport { isDiscreteAxis } from '../../axis/util';\nimport { mergeSpec } from '@visactor/vutils-extension';\n\nexport function limitTagInBounds(shape: Tag, bounds: IBoundsLike) {\n const { x1: regionMinX, y1: regionMinY, x2: regionMaxX, y2: regionMaxY } = bounds;\n const { x1, y1, x2, y2 } = shape.AABBBounds;\n const { dx: originDx = 0, dy: originDy = 0 } = shape.attribute;\n\n let dx = 0;\n let dy = 0;\n if (x1 < regionMinX) {\n // 超出左侧\n dx = regionMinX - x1;\n }\n if (y1 < regionMinY) {\n // 超出顶部\n dy = regionMinY - y1;\n }\n\n if (x2 > regionMaxX) {\n // 超出右侧\n dx = regionMaxX - x2;\n }\n\n if (y2 > regionMaxY) {\n // 整体超出顶部\n dy = regionMaxY - y2;\n }\n if (dx) {\n shape.setAttribute('dx', dx + originDx);\n }\n if (dy) {\n shape.setAttribute('dy', dy + originDy);\n }\n}\n\n// 二分查找数据\nexport function getDatumByValue(data: Datum[], value: number, startField: string, endField?: string): Datum | null {\n let left = 0;\n let right = data.length - 1;\n\n while (left <= right) {\n const mid = Math.floor((left + right) / 2);\n const record = data[mid];\n\n if (record[startField] <= value && record[endField || startField] >= value) {\n return record;\n }\n\n if (record[startField] > value) {\n right = mid - 1;\n } else {\n left = mid + 1;\n }\n }\n\n return null;\n}\n\nexport const getCartesianCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: ICartesianAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, xField, yField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const xAxis = axes.find(axis => isXAxis(axis.orient));\n let newXField;\n if (isValid(xAxis)) {\n newXField = mergeSpec({}, isDiscreteAxis(xAxis.type) ? bandField : linearField, xField);\n } else {\n newXField = xField;\n }\n\n const yAxis = axes.find(axis => isYAxis(axis.orient));\n let newYField;\n if (isValid(yAxis)) {\n newYField = mergeSpec({}, isDiscrete(yAxis.type) ? bandField : linearField, yField);\n } else {\n newYField = yField;\n }\n\n return {\n xField: newXField,\n yField: newYField\n };\n};\n\nexport const getPolarCrosshairTheme = (chartTheme: ITheme, chartSpec: any): ICrosshairTheme => {\n const axes: IPolarAxisCommonSpec[] = array(chartSpec.axes ?? []);\n const { bandField, linearField, categoryField, valueField } =\n getComponentThemeFromOption(ComponentTypeEnum.crosshair, chartTheme) ?? {};\n\n const angleAxis = axes.find(axis => axis.orient === 'angle');\n let newAngleField;\n if (isValid(angleAxis)) {\n newAngleField = mergeSpec({}, isDiscreteAxis(angleAxis.type) ? bandField : linearField, categoryField);\n } else {\n newAngleField = categoryField;\n }\n\n const radiusAxis = axes.find(axis => axis.orient === 'radius');\n let newRadiusField;\n if (isValid(radiusAxis)) {\n newRadiusField = mergeSpec({}, isDiscrete(radiusAxis.type) ? bandField : linearField, valueField);\n } else {\n newRadiusField = valueField;\n }\n\n return {\n categoryField: newAngleField,\n valueField: newRadiusField\n };\n};\n"]}
|
|
@@ -14,7 +14,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.layoutRadiusCrosshair = exports.layoutAngleCrosshair = exports.layoutByValue = void 0;
|
|
16
16
|
|
|
17
|
-
const util_1 = require("../../axis/util"), vutils_1 = require("@visactor/vutils"),
|
|
17
|
+
const util_1 = require("../../axis/util"), vutils_1 = require("@visactor/vutils"), vutils_extension_1 = require("@visactor/vutils-extension"), util_2 = require("../../util"), layoutByValue = (series, currValueAngle, currValueRadius, angleHair, radiusHair, enableRemain = !1, cacheAngleCrossHairInfo, cacheRadiusCrossHairInfo) => {
|
|
18
18
|
let angleCrossHairInfo = {
|
|
19
19
|
x: 0,
|
|
20
20
|
y: 0,
|
|
@@ -58,33 +58,39 @@ const util_1 = require("../../axis/util"), vutils_1 = require("@visactor/vutils"
|
|
|
58
58
|
const bandWidth = series.angleAxisHelper.getBandwidth(0);
|
|
59
59
|
currValueAngle.forEach((_a => {
|
|
60
60
|
var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
|
|
61
|
-
value = null != value ? value : "", (0,
|
|
61
|
+
value = null != value ? value : "", (0, vutils_extension_1.mergeSpec)(angleCrossHairInfo, rest);
|
|
62
62
|
const angle = series.angleAxisHelper.dataToPosition([ value ]);
|
|
63
|
-
angleCrossHairInfo.angle = angle
|
|
64
|
-
|
|
63
|
+
angleCrossHairInfo.angle = angle;
|
|
64
|
+
const niceLabelFormatter = axis.niceLabelFormatter;
|
|
65
|
+
(null === (_b = angleHair.label) || void 0 === _b ? void 0 : _b.visible) && (angleCrossHairInfo.label.visible = !0,
|
|
66
|
+
angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter, angleCrossHairInfo.label.text = value,
|
|
67
|
+
angleCrossHairInfo.label.offset = (0, util_1.getAxisLabelOffset)(axis.getSpec())),
|
|
65
68
|
angleCrossHairInfo.startAngle = angle - bandWidth / 2, angleCrossHairInfo.endAngle = angle + bandWidth / 2;
|
|
66
69
|
}));
|
|
67
70
|
}
|
|
68
71
|
if (radiusHair && (radiusCrossHairInfo.visible = !!currValueRadius.size, currValueRadius.forEach((_a => {
|
|
69
72
|
var _b, {axis: axis, value: value, coord: coord} = _a, rest = __rest(_a, [ "axis", "value", "coord" ]);
|
|
70
|
-
value = null != value ? value : ""
|
|
71
|
-
|
|
72
|
-
|
|
73
|
+
value = null != value ? value : "";
|
|
74
|
+
const niceLabelFormatter = axis.niceLabelFormatter;
|
|
75
|
+
(null === (_b = radiusHair.label) || void 0 === _b ? void 0 : _b.visible) && (radiusCrossHairInfo.label.visible = !0,
|
|
76
|
+
radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter, radiusCrossHairInfo.label.text = value,
|
|
77
|
+
radiusCrossHairInfo.label.offset = (0, util_1.getAxisLabelOffset)(axis.getSpec())),
|
|
78
|
+
radiusCrossHairInfo.angle = coord.angle, radiusCrossHairInfo.axis = axis, (0, vutils_extension_1.mergeSpec)(radiusCrossHairInfo, rest);
|
|
73
79
|
}))), enableRemain && !angleCrossHairInfo.visible && (0, vutils_1.isValid)(cacheAngleCrossHairInfo)) angleCrossHairInfo = cacheAngleCrossHairInfo; else if (angleCrossHairInfo.label.visible && angleHair && angleHair.label) {
|
|
74
80
|
const {label: label} = angleCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = angleHair.label, {formatFunc: formatFunc, args: args} = (0,
|
|
75
|
-
|
|
81
|
+
util_2.getFormatFunction)(formatMethod, formatter, label.text, {
|
|
76
82
|
label: label.text,
|
|
77
83
|
orient: "angle"
|
|
78
84
|
});
|
|
79
|
-
formatFunc
|
|
85
|
+
formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
|
|
80
86
|
}
|
|
81
87
|
if (enableRemain && !radiusCrossHairInfo.visible && (0, vutils_1.isValid)(cacheRadiusCrossHairInfo)) radiusCrossHairInfo = cacheRadiusCrossHairInfo; else if (radiusCrossHairInfo.label.visible && radiusHair && radiusHair.label) {
|
|
82
88
|
const {label: label} = radiusCrossHairInfo, {formatMethod: formatMethod, formatter: formatter} = radiusHair.label, {formatFunc: formatFunc, args: args} = (0,
|
|
83
|
-
|
|
89
|
+
util_2.getFormatFunction)(formatMethod, formatter, label.text, {
|
|
84
90
|
label: label.text,
|
|
85
91
|
orient: "radius"
|
|
86
92
|
});
|
|
87
|
-
formatFunc
|
|
93
|
+
formatFunc ? label.text = formatFunc(...args) : label.defaultFormatter && (label.text = label.defaultFormatter(label.text));
|
|
88
94
|
}
|
|
89
95
|
return {
|
|
90
96
|
angle: angleCrossHairInfo,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { IHair, IHairRadius } from '../base';\nimport type { AxisCurrentValueMap, IPolarCrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { IPolarAxis } from '../../axis';\nimport { mergeSpec } from '../../../util';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n series: IPolarSeries,\n currValueAngle: AxisCurrentValueMap,\n currValueRadius: AxisCurrentValueMap,\n angleHair: IHair,\n radiusHair: IHair,\n enableRemain: boolean = false,\n cacheAngleCrossHairInfo?: IPolarCrosshairInfo,\n cacheRadiusCrossHairInfo?: IPolarCrosshairInfo\n) => {\n let angleCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n let radiusCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n sides: (series.angleAxisHelper.getScale(0) as BandScale).domain().length,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (angleHair) {\n angleCrossHairInfo.visible = !!currValueAngle.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n currValueAngle.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n mergeSpec(angleCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([value]);\n angleCrossHairInfo.angle = angle;\n if (angleHair.label?.visible) {\n angleCrossHairInfo.label.visible = true;\n angleCrossHairInfo.label.text = value;\n angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n angleCrossHairInfo.startAngle = angle - bandWidth / 2;\n angleCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (radiusHair) {\n radiusCrossHairInfo.visible = !!currValueRadius.size;\n currValueRadius.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n if (radiusHair.label?.visible) {\n radiusCrossHairInfo.label.visible = true;\n radiusCrossHairInfo.label.text = value;\n radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n radiusCrossHairInfo.angle = coord.angle;\n radiusCrossHairInfo.axis = axis as IPolarAxis;\n mergeSpec(radiusCrossHairInfo, rest);\n });\n }\n\n if (enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) {\n angleCrossHairInfo = cacheAngleCrossHairInfo;\n } else {\n if (angleCrossHairInfo.label.visible) {\n if (angleHair && angleHair.label) {\n const { label } = angleCrossHairInfo;\n const { formatMethod, formatter } = angleHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'angle'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n }\n }\n }\n }\n\n if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) {\n radiusCrossHairInfo = cacheRadiusCrossHairInfo;\n } else {\n if (radiusCrossHairInfo.label.visible) {\n if (radiusHair && radiusHair.label) {\n const { label } = radiusCrossHairInfo;\n const { formatMethod, formatter } = radiusHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'radius'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n }\n }\n }\n }\n\n return {\n angle: angleCrossHairInfo,\n radius: radiusCrossHairInfo\n };\n};\n\nexport const layoutAngleCrosshair = (angleHair: IHair, crosshairInfo: IPolarCrosshairInfo) => {\n const { angle, innerRadius, radius, startAngle, endAngle, center } = crosshairInfo;\n\n const crosshairType = angleHair.type === 'rect' ? 'sector' : 'line';\n let positionAttrs;\n if (crosshairType === 'sector') {\n positionAttrs = {\n center,\n innerRadius,\n radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n } else {\n positionAttrs = {\n start: polarToCartesian(center, innerRadius, angle),\n end: polarToCartesian(center, radius, angle)\n };\n }\n\n return positionAttrs;\n};\n\nexport const layoutRadiusCrosshair = (radiusHair: IHairRadius, crosshairInfo: IPolarCrosshairInfo) => {\n const { center, startAngle, endAngle, distance, sides, axis, point, radius, innerRadius } = crosshairInfo;\n\n const crosshairType = radiusHair.smooth ? 'circle' : 'polygon';\n\n let polygonRadius = distance;\n if (crosshairType === 'polygon') {\n const axisCenter = axis.getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, distance, preAngle);\n const nextPoint = polarToCartesian(axisCenter, distance, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance,\n innerRadius,\n radius\n );\n }\n }\n const positionAttrs = {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n\n return positionAttrs;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/utils/polar.ts"],"names":[],"mappings":"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","file":"polar.js","sourcesContent":["import type { BandScale } from '@visactor/vscale';\nimport type { IPolarSeries } from '../../../series';\nimport type { IHair, IHairRadius } from '../base';\nimport type { AxisCurrentValueMap, IPolarCrosshairInfo } from '../interface';\nimport { getAxisLabelOffset } from '../../axis/util';\nimport { PointService, clamp, getAngleByPoint, getIntersectPoint, isValid, polarToCartesian } from '@visactor/vutils';\nimport type { ILinearAxis, IPolarAxis } from '../../axis';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { getFormatFunction } from '../../util';\n\nexport const layoutByValue = (\n series: IPolarSeries,\n currValueAngle: AxisCurrentValueMap,\n currValueRadius: AxisCurrentValueMap,\n angleHair: IHair,\n radiusHair: IHair,\n enableRemain: boolean = false,\n cacheAngleCrossHairInfo?: IPolarCrosshairInfo,\n cacheRadiusCrossHairInfo?: IPolarCrosshairInfo\n) => {\n let angleCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n let radiusCrossHairInfo = {\n x: 0,\n y: 0,\n center: { x: 0, y: 0 },\n radius: 0,\n distance: 0,\n startAngle: 0,\n endAngle: 0,\n innerRadius: 0,\n visible: false,\n sides: (series.angleAxisHelper.getScale(0) as BandScale).domain().length,\n label: { visible: false, text: '', offset: 0 }\n } as IPolarCrosshairInfo;\n\n // 计算x轴和y轴的数据,只允许最多一对x和一对y\n if (angleHair) {\n angleCrossHairInfo.visible = !!currValueAngle.size;\n const bandWidth = series.angleAxisHelper.getBandwidth(0);\n currValueAngle.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n mergeSpec(angleCrossHairInfo, rest);\n const angle = series.angleAxisHelper.dataToPosition([value]);\n angleCrossHairInfo.angle = angle;\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (angleHair.label?.visible) {\n angleCrossHairInfo.label.visible = true;\n angleCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n angleCrossHairInfo.label.text = value;\n angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n\n angleCrossHairInfo.startAngle = angle - bandWidth / 2;\n angleCrossHairInfo.endAngle = angle + bandWidth / 2;\n });\n }\n\n if (radiusHair) {\n radiusCrossHairInfo.visible = !!currValueRadius.size;\n currValueRadius.forEach(({ axis, value, coord, ...rest }) => {\n value = value ?? '';\n const niceLabelFormatter = (axis as ILinearAxis).niceLabelFormatter;\n if (radiusHair.label?.visible) {\n radiusCrossHairInfo.label.visible = true;\n radiusCrossHairInfo.label.defaultFormatter = niceLabelFormatter;\n radiusCrossHairInfo.label.text = value;\n radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec());\n }\n radiusCrossHairInfo.angle = coord.angle;\n radiusCrossHairInfo.axis = axis as IPolarAxis;\n mergeSpec(radiusCrossHairInfo, rest);\n });\n }\n\n if (enableRemain && !angleCrossHairInfo.visible && isValid(cacheAngleCrossHairInfo)) {\n angleCrossHairInfo = cacheAngleCrossHairInfo;\n } else {\n if (angleCrossHairInfo.label.visible) {\n if (angleHair && angleHair.label) {\n const { label } = angleCrossHairInfo;\n const { formatMethod, formatter } = angleHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'angle'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n if (enableRemain && !radiusCrossHairInfo.visible && isValid(cacheRadiusCrossHairInfo)) {\n radiusCrossHairInfo = cacheRadiusCrossHairInfo;\n } else {\n if (radiusCrossHairInfo.label.visible) {\n if (radiusHair && radiusHair.label) {\n const { label } = radiusCrossHairInfo;\n const { formatMethod, formatter } = radiusHair.label;\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, label.text, {\n label: label.text,\n orient: 'radius'\n });\n if (formatFunc) {\n label.text = formatFunc(...args);\n } else if (label.defaultFormatter) {\n label.text = label.defaultFormatter(label.text);\n }\n }\n }\n }\n\n return {\n angle: angleCrossHairInfo,\n radius: radiusCrossHairInfo\n };\n};\n\nexport const layoutAngleCrosshair = (angleHair: IHair, crosshairInfo: IPolarCrosshairInfo) => {\n const { angle, innerRadius, radius, startAngle, endAngle, center } = crosshairInfo;\n\n const crosshairType = angleHair.type === 'rect' ? 'sector' : 'line';\n let positionAttrs;\n if (crosshairType === 'sector') {\n positionAttrs = {\n center,\n innerRadius,\n radius,\n startAngle: startAngle,\n endAngle: endAngle\n };\n } else {\n positionAttrs = {\n start: polarToCartesian(center, innerRadius, angle),\n end: polarToCartesian(center, radius, angle)\n };\n }\n\n return positionAttrs;\n};\n\nexport const layoutRadiusCrosshair = (radiusHair: IHairRadius, crosshairInfo: IPolarCrosshairInfo) => {\n const { center, startAngle, endAngle, distance, sides, axis, point, radius, innerRadius } = crosshairInfo;\n\n const crosshairType = radiusHair.smooth ? 'circle' : 'polygon';\n\n let polygonRadius = distance;\n if (crosshairType === 'polygon') {\n const axisCenter = axis.getCenter();\n // 需要计算半径\n // 获取当前点的角度\n const curAngle = getAngleByPoint(axisCenter, point);\n const stepAngle = (endAngle - startAngle) / sides;\n const index = Math.floor((curAngle - startAngle) / stepAngle);\n const preAngle = index * stepAngle + startAngle;\n const nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle);\n\n const prePoint = polarToCartesian(axisCenter, distance, preAngle);\n const nextPoint = polarToCartesian(axisCenter, distance, nextAngle);\n // 求交点\n const insertPoint = getIntersectPoint(\n [nextPoint.x, nextPoint.y],\n [prePoint.x, prePoint.y],\n [axisCenter.x, axisCenter.y],\n [point.x, point.y]\n );\n if (insertPoint) {\n polygonRadius = clamp(\n PointService.distancePN(point, insertPoint[0], insertPoint[1]) + distance,\n innerRadius,\n radius\n );\n }\n }\n const positionAttrs = {\n center,\n startAngle: startAngle,\n endAngle: endAngle,\n radius: polygonRadius,\n sides\n };\n\n return positionAttrs;\n};\n"]}
|
|
@@ -2,11 +2,11 @@ import { BaseComponent } from '../base/base-component';
|
|
|
2
2
|
import { ComponentTypeEnum } from '../interface/type';
|
|
3
3
|
import type { IRegion } from '../../region/interface';
|
|
4
4
|
import type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';
|
|
5
|
-
import type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';
|
|
5
|
+
import type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';
|
|
6
6
|
import type { Maybe } from '@visactor/vutils';
|
|
7
7
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
8
8
|
import type { IModelMarkAttributeContext } from '../../compile/mark/interface';
|
|
9
|
-
export declare class CustomMark
|
|
9
|
+
export declare class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {
|
|
10
10
|
static type: ComponentTypeEnum;
|
|
11
11
|
type: ComponentTypeEnum;
|
|
12
12
|
static specKey: string;
|
|
@@ -14,7 +14,7 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
|
|
|
14
14
|
layoutType: 'none';
|
|
15
15
|
layoutZIndex: number;
|
|
16
16
|
layoutLevel: number;
|
|
17
|
-
protected _spec:
|
|
17
|
+
protected _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;
|
|
18
18
|
static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]>;
|
|
19
19
|
created(): void;
|
|
20
20
|
protected _markAttributeContext: IModelMarkAttributeContext;
|
|
@@ -23,7 +23,7 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
|
|
|
23
23
|
protected initMarks(): void;
|
|
24
24
|
private _createExtensionMark;
|
|
25
25
|
initEvent(): void;
|
|
26
|
-
_compareSpec(spec:
|
|
26
|
+
_compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>): {
|
|
27
27
|
change: boolean;
|
|
28
28
|
reMake: boolean;
|
|
29
29
|
reRender: boolean;
|
|
@@ -35,5 +35,12 @@ export declare class CustomMark<T = any> extends BaseComponent<any> {
|
|
|
35
35
|
onRender(ctx: IModelRenderOption): void;
|
|
36
36
|
afterCompile(): void;
|
|
37
37
|
private _getMarkAttributeContext;
|
|
38
|
+
private _getLayoutRect;
|
|
39
|
+
getBoundsInRect(rect: ILayoutRect): {
|
|
40
|
+
x1: number;
|
|
41
|
+
y1: number;
|
|
42
|
+
x2: number;
|
|
43
|
+
y2: number;
|
|
44
|
+
};
|
|
38
45
|
}
|
|
39
46
|
export declare const registerCustomMark: () => void;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerCustomMark = exports.CustomMark = void 0;
|
|
6
6
|
|
|
7
|
-
const base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), constant_1 = require("../../constant"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"),
|
|
7
|
+
const base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), constant_1 = require("../../constant"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), vgrammar_core_1 = require("@visactor/vgrammar-core"), utils_1 = require("../../animation/utils");
|
|
8
8
|
|
|
9
9
|
class CustomMark extends base_component_1.BaseComponent {
|
|
10
10
|
constructor() {
|
|
@@ -14,7 +14,12 @@ class CustomMark extends base_component_1.BaseComponent {
|
|
|
14
14
|
}
|
|
15
15
|
static getSpecInfo(chartSpec) {
|
|
16
16
|
const spec = chartSpec[this.specKey];
|
|
17
|
-
return spec ?
|
|
17
|
+
return spec ? (0, vutils_1.isArray)(spec) ? spec.map(((specItem, i) => ({
|
|
18
|
+
spec: specItem,
|
|
19
|
+
specPath: [ this.specKey, i ],
|
|
20
|
+
specInfoPath: [ "component", this.specKey, i ],
|
|
21
|
+
type: type_1.ComponentTypeEnum.customMark
|
|
22
|
+
}))) : [ {
|
|
18
23
|
spec: spec,
|
|
19
24
|
specPath: [ this.specKey ],
|
|
20
25
|
specInfoPath: [ "component", this.specKey, 0 ],
|
|
@@ -44,18 +49,16 @@ class CustomMark extends base_component_1.BaseComponent {
|
|
|
44
49
|
marks && marks.length && marks.forEach((mark => {
|
|
45
50
|
depend.push(mark);
|
|
46
51
|
}));
|
|
47
|
-
})), this._spec
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
});
|
|
52
|
-
}));
|
|
52
|
+
})), this._createExtensionMark(this._spec, null, `${constant_1.PREFIX}_series_${this.id}_extensionMark`, 0, {
|
|
53
|
+
depend: depend,
|
|
54
|
+
hasAnimation: hasAnimation
|
|
55
|
+
});
|
|
53
56
|
}
|
|
54
|
-
_createExtensionMark(spec, parentMark, namePrefix, index, options) {
|
|
57
|
+
_createExtensionMark(spec, parentMark, namePrefix, index = 0, options) {
|
|
55
58
|
var _a;
|
|
56
59
|
const mark = this._createMark({
|
|
57
60
|
type: spec.type,
|
|
58
|
-
name: `${
|
|
61
|
+
name: `${namePrefix}_${index}`
|
|
59
62
|
}, {
|
|
60
63
|
skipBeforeLayouted: !0,
|
|
61
64
|
attributeContext: this._getMarkAttributeContext(),
|
|
@@ -63,7 +66,7 @@ class CustomMark extends base_component_1.BaseComponent {
|
|
|
63
66
|
key: spec.dataKey
|
|
64
67
|
});
|
|
65
68
|
if (mark) {
|
|
66
|
-
if (options.hasAnimation) {
|
|
69
|
+
if (options.hasAnimation && spec.animation) {
|
|
67
70
|
const config = (0, utils_1.animationConfig)({}, (0, utils_1.userAnimationConfig)(spec.type, spec, this._markAttributeContext));
|
|
68
71
|
mark.setAnimationConfig(config);
|
|
69
72
|
}
|
|
@@ -105,19 +108,47 @@ class CustomMark extends base_component_1.BaseComponent {
|
|
|
105
108
|
_getMarkAttributeContext() {
|
|
106
109
|
return {
|
|
107
110
|
vchart: this._option.globalInstance,
|
|
111
|
+
chart: this.getChart(),
|
|
108
112
|
globalScale: (key, value) => {
|
|
109
113
|
var _a;
|
|
110
114
|
return null === (_a = this._option.globalScale.getScale(key)) || void 0 === _a ? void 0 : _a.scale(value);
|
|
115
|
+
},
|
|
116
|
+
getLayoutBounds: () => {
|
|
117
|
+
const {x: x, y: y} = this.getLayoutStartPoint(), {width: width, height: height} = this.getLayoutRect();
|
|
118
|
+
return (new vutils_1.Bounds).set(x, y, x + width, y + height);
|
|
111
119
|
}
|
|
112
120
|
};
|
|
113
121
|
}
|
|
122
|
+
_getLayoutRect() {
|
|
123
|
+
const bounds = new vutils_1.Bounds;
|
|
124
|
+
return this.getMarks().forEach((mark => {
|
|
125
|
+
const product = mark.getProduct();
|
|
126
|
+
product && bounds.union(product.getBounds());
|
|
127
|
+
})), bounds.empty() ? {
|
|
128
|
+
width: 0,
|
|
129
|
+
height: 0
|
|
130
|
+
} : {
|
|
131
|
+
width: bounds.width(),
|
|
132
|
+
height: bounds.height()
|
|
133
|
+
};
|
|
134
|
+
}
|
|
135
|
+
getBoundsInRect(rect) {
|
|
136
|
+
this.setLayoutRect(rect);
|
|
137
|
+
const result = this._getLayoutRect(), {x: x, y: y} = this.getLayoutStartPoint();
|
|
138
|
+
return {
|
|
139
|
+
x1: x,
|
|
140
|
+
y1: y,
|
|
141
|
+
x2: x + result.width,
|
|
142
|
+
y2: y + result.height
|
|
143
|
+
};
|
|
144
|
+
}
|
|
114
145
|
}
|
|
115
146
|
|
|
116
147
|
exports.CustomMark = CustomMark, CustomMark.type = type_1.ComponentTypeEnum.customMark,
|
|
117
148
|
CustomMark.specKey = "customMark";
|
|
118
149
|
|
|
119
150
|
const registerCustomMark = () => {
|
|
120
|
-
|
|
151
|
+
factory_1.Factory.registerComponent(CustomMark.type, CustomMark);
|
|
121
152
|
};
|
|
122
153
|
|
|
123
154
|
exports.registerCustomMark = registerCustomMark;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AACvD,4CAAsD;AAItD,6CAAmE;AAMnE,6CAA0E;AAC1E,gDAA6C;AAC7C,4CAAqD;AAErD,2DAAqD;AACrD,iDAA6E;AAI7E,MAAa,UAAoB,SAAQ,8BAAkB;IAA3D;;QAEE,SAAI,GAAG,wBAAiB,CAAC,UAAU,CAAC;QAGpC,YAAO,GAAG,YAAY,CAAC;QAEvB,eAAU,GAAW,MAAM,CAAC;QAC5B,iBAAY,GAAW,uBAAY,CAAC,UAAU,CAAC;QAC/C,gBAAW,GAAW,sBAAW,CAAC,UAAU,CAAC;IAiL/C,CAAC;IA7KC,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrC,IAAI,CAAC,IAAI,EAAE;YACT,OAAO,IAAI,CAAC;SACb;QACD,OAAO;YACL;gBACE,IAAI;gBACJ,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;gBACxB,YAAY,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC5C,IAAI,EAAE,wBAAiB,CAAC,UAAU;aACnC;SACF,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAGD,uBAAuB;QACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAES,0BAA0B;QAClC,IAAI,CAAC,qBAAqB,GAAG;YAC3B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YACnC,WAAW,EAAE,CAAC,GAAW,EAAE,KAAsB,EAAE,EAAE;;gBACnD,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,0CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;IACJ,CAAC;IAES,SAAS;QACjB,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACf,OAAO;SACR;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC;QACtD,MAAM,MAAM,GAAY,EAAE,CAAC;QAE3B,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,EAAE;YAC3B,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACjB,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;gBAE3C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;oBACzB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;wBACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACpB,CAAC,CAAC,CAAC;iBACJ;YACH,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC1B,IAAI,CAAC,oBAAoB,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,iBAAM,WAAW,IAAI,CAAC,EAAE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC,CAAC;QAC/G,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,oBAAoB,CAC1B,IAA8E,EAC9E,UAA6B,EAC7B,UAAkB,EAClB,KAAa,EACb,OAAqD;;QAErD,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAC3B;YACE,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,IAAI,EAAE,GAAG,iBAAM,IAAI,KAAK,EAAE;SAC3B,EACD;YAEE,kBAAkB,EAAE,IAAI;YACxB,gBAAgB,EAAE,IAAI,CAAC,wBAAwB,EAAE;YACjD,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,GAAG,EAAE,IAAI,CAAC,OAAO;SAClB,CACY,CAAC;QAChB,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,IAAI,OAAO,CAAC,YAAY,EAAE;YAExB,MAAM,MAAM,GAAG,IAAA,uBAAe,EAAC,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAW,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC5G,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;SACjC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE;YAC3C,IAAI,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;SACnC;QACD,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,EAAE;YACrB,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC3B;aAAM,IAAI,UAAU,EAAE;YACrB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;SAC1B;QAED,IAAI,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;QACvC,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE;YACzB,UAAU,GAAG,GAAG,UAAU,IAAI,KAAK,EAAE,CAAC;YACtC,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBAC9B,IAAI,CAAC,oBAAoB,CAAC,CAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,SAAS,CAAC,EAAE;YACzD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;YAC5E,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE;oBACzC,IAAI,CAAC,OAAO,EAAE,CAAC,UAAU,EAAE,CAAC;gBAC9B,CAAC,CAAC,CAAC;gBACH,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5B;SACF;IACH,CAAC;IAED,SAAS;IAET,CAAC;IAKD,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YAC5B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QAED,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAES,8BAA8B;QACtC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IAED,YAAY;QACV,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YAClC,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,gBAAgB,CAAC,0BAAU,CAAC,oBAAoB,EAAE,GAAG,EAAE;oBAC7D,IAAI,IAAI,CAAC,SAAS,KAAK,KAAK,EAAE;wBAC5B,MAAM,SAAS,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;wBAEhD,IAAI,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;4BACtC,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAC,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CAC5D,IAAI,CAAC,cAAc,CAAC,SAAgC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAkB,CAAC,CAAC;yBACzF;qBACF;gBACH,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACO,wBAAwB;QAC9B,OAAO;YACL,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;YACnC,WAAW,EAAE,CAAC,GAAW,EAAE,KAAsB,EAAE,EAAE;;gBACnD,OAAO,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,0CAAE,KAAK,CAAC,KAAK,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;IACJ,CAAC;;AAzLH,gCA0LC;AAzLQ,eAAI,GAAG,wBAAiB,CAAC,UAAU,CAAC;AAGpC,kBAAO,GAAG,YAAY,CAAC;AAwLzB,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAA,yBAAiB,GAAE,CAAC;IACpB,iBAAO,CAAC,iBAAiB,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IMark } from '../../mark/interface';\nimport type { LooseFunction, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { registerImageMark } from '../../mark/image';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark<T = any> extends BaseComponent<any> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: (ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec)[];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const spec = chartSpec[this.specKey];\n if (!spec) {\n return null;\n }\n return [\n {\n spec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.customMark\n }\n ];\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const series = this._option && this._option.getAllSeries();\n const hasAnimation = this._option.animation !== false;\n const depend: IMark[] = [];\n\n if (series && series.length) {\n series.forEach(s => {\n const marks = s && s.getMarksWithoutRoot();\n\n if (marks && marks.length) {\n marks.forEach(mark => {\n depend.push(mark);\n });\n }\n });\n }\n\n this._spec.forEach((m, i) => {\n this._createExtensionMark(m, null, `${PREFIX}_series_${this.id}_extensionMark`, i, { depend, hasAnimation });\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number,\n options: { hasAnimation?: boolean; depend?: IMark[] }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: `${PREFIX}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (options.hasAnimation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (options.depend && options.depend.length) {\n mark.setDepend(...options.depend);\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n afterCompile() {\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n const component = product.getGroupGraphicItem();\n // TODO: 待 vgrammar 提供接口后进行优化 @zwx\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n });\n }\n });\n }\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n}\n\nexport const registerCustomMark = () => {\n registerImageMark();\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/custom-mark/custom-mark.ts"],"names":[],"mappings":"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","file":"custom-mark.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport { ComponentTypeEnum } from '../interface/type';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport { LayoutLevel, LayoutZIndex, PREFIX } from '../../constant';\nimport type { EnableMarkType, ICustomMarkGroupSpec, ICustomMarkSpec, ILayoutRect } from '../../typings';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IMark } from '../../mark/interface';\nimport type { LooseFunction, Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { Bounds, isArray, isEqual, isNil, isValid, isValidNumber } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IModelMarkAttributeContext } from '../../compile/mark/interface';\n\n// TODO: 规范范型\nexport class CustomMark extends BaseComponent<ICustomMarkSpec<EnableMarkType>> {\n static type = ComponentTypeEnum.customMark;\n type = ComponentTypeEnum.customMark;\n\n static specKey = 'customMark';\n specKey = 'customMark';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.CustomMark;\n layoutLevel: number = LayoutLevel.CustomMark;\n\n protected declare _spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n const spec = chartSpec[this.specKey];\n if (!spec) {\n return null;\n }\n\n if (!isArray(spec)) {\n return [\n {\n spec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.customMark\n }\n ];\n }\n\n return (spec as ICustomMarkSpec<EnableMarkType>[]).map((specItem, i) => {\n return {\n spec: specItem,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.customMark\n };\n });\n }\n\n created() {\n super.created();\n this.initMarks();\n this.initEvent();\n }\n\n protected _markAttributeContext: IModelMarkAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkAttributeContext() {\n this._markAttributeContext = {\n vchart: this._option.globalInstance,\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n }\n };\n }\n\n protected initMarks() {\n if (!this._spec) {\n return;\n }\n const series = this._option && this._option.getAllSeries();\n const hasAnimation = this._option.animation !== false;\n const depend: IMark[] = [];\n\n if (series && series.length) {\n series.forEach(s => {\n const marks = s && s.getMarksWithoutRoot();\n\n if (marks && marks.length) {\n marks.forEach(mark => {\n depend.push(mark);\n });\n }\n });\n }\n\n this._createExtensionMark(this._spec, null, `${PREFIX}_series_${this.id}_extensionMark`, 0, {\n depend,\n hasAnimation\n });\n }\n\n private _createExtensionMark(\n spec: ICustomMarkSpec<Exclude<EnableMarkType, 'group'>> | ICustomMarkGroupSpec,\n parentMark: null | IGroupMark,\n namePrefix: string,\n index: number = 0,\n options: { hasAnimation?: boolean; depend?: IMark[] }\n ) {\n const mark = this._createMark(\n {\n type: spec.type,\n name: `${namePrefix}_${index}`\n },\n {\n // 避免二次dataflow\n skipBeforeLayouted: true,\n attributeContext: this._getMarkAttributeContext(),\n componentType: spec.componentType,\n key: spec.dataKey\n }\n ) as IGroupMark;\n if (!mark) {\n return;\n }\n\n if (options.hasAnimation && spec.animation) {\n // 自定义图元默认不添加动画\n const config = animationConfig({}, userAnimationConfig(spec.type, spec as any, this._markAttributeContext));\n mark.setAnimationConfig(config);\n }\n\n if (options.depend && options.depend.length) {\n mark.setDepend(...options.depend);\n }\n if (isNil(parentMark)) {\n this._marks.addMark(mark);\n } else if (parentMark) {\n parentMark.addMark(mark);\n }\n // set style\n this.initMarkStyleWithSpec(mark, spec);\n if (spec.type === 'group') {\n namePrefix = `${namePrefix}_${index}`;\n spec.children?.forEach((s, i) => {\n this._createExtensionMark(s as any, mark, namePrefix, i, options);\n });\n }\n\n if (isValid(spec.dataId) || isValidNumber(spec.dataIndex)) {\n const dataview = this.getChart().getSeriesData(spec.dataId, spec.dataIndex);\n if (dataview) {\n dataview.target.addListener('change', () => {\n mark.getData().updateData();\n });\n mark.setDataView(dataview);\n }\n }\n }\n\n initEvent() {\n // do nothing\n }\n\n /**\n * updateSpec\n */\n _compareSpec(spec: ICustomMarkSpec<EnableMarkType>, prevSpec: ICustomMarkSpec<EnableMarkType>) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reMake = true;\n }\n\n result.change = true;\n result.reRender = true;\n return result;\n }\n\n changeRegions(regions: IRegion[]): void {\n // do nothing;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [];\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing;\n }\n\n afterCompile() {\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n const component = product.getGroupGraphicItem();\n // TODO: 待 vgrammar 提供接口后进行优化 @zwx\n if (component.listenerCount('*') === 0) {\n component.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as IGraphic, event, type)) as LooseFunction);\n }\n }\n });\n }\n });\n }\n private _getMarkAttributeContext() {\n return {\n vchart: this._option.globalInstance,\n chart: this.getChart(),\n globalScale: (key: string, value: string | number) => {\n return this._option.globalScale.getScale(key)?.scale(value);\n },\n getLayoutBounds: () => {\n const { x, y } = this.getLayoutStartPoint();\n const { width, height } = this.getLayoutRect();\n return new Bounds().set(x, y, x + width, y + height);\n }\n };\n }\n\n private _getLayoutRect() {\n const bounds = new Bounds();\n\n this.getMarks().forEach(mark => {\n const product = mark.getProduct();\n\n if (product) {\n bounds.union(product.getBounds());\n }\n });\n\n if (bounds.empty()) {\n return {\n width: 0,\n height: 0\n };\n }\n\n return {\n width: bounds.width(),\n height: bounds.height()\n };\n }\n\n getBoundsInRect(rect: ILayoutRect) {\n this.setLayoutRect(rect);\n\n const result = this._getLayoutRect();\n const { x, y } = this.getLayoutStartPoint();\n return {\n x1: x,\n y1: y,\n x2: x + result.width,\n y2: y + result.height\n };\n }\n}\n\nexport const registerCustomMark = () => {\n Factory.registerComponent(CustomMark.type, CustomMark);\n};\n"]}
|
|
@@ -5,7 +5,7 @@ import type { AdaptiveSpec, ILayoutRect, ILayoutType, IOrientType, IRect, String
|
|
|
5
5
|
import type { IBaseScale } from '@visactor/vscale';
|
|
6
6
|
import type { ICartesianBandAxisSpec } from '../axis/cartesian';
|
|
7
7
|
import type { IBoundsLike } from '@visactor/vutils';
|
|
8
|
-
import { IFilterMode } from './interface';
|
|
8
|
+
import type { IFilterMode } from './interface';
|
|
9
9
|
import type { IDataFilterComponent, IDataFilterComponentSpec, IRoamDragSpec, IRoamScrollSpec, IRoamZoomSpec } from './interface';
|
|
10
10
|
import type { BaseEventParams } from '../../event/interface';
|
|
11
11
|
import type { AbstractComponent } from '@visactor/vrender-components';
|
|
@@ -19,6 +19,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
|
|
|
19
19
|
protected _fixedBandSize?: number;
|
|
20
20
|
protected _cacheRect?: ILayoutRect;
|
|
21
21
|
protected _cacheVisibility?: boolean;
|
|
22
|
+
protected _dataUpdating: boolean;
|
|
22
23
|
protected _stateScale: IBaseScale;
|
|
23
24
|
protected _relatedAxisComponent: IComponent;
|
|
24
25
|
protected _originalStateFields: Record<number, string | number>;
|
|
@@ -110,7 +111,7 @@ export declare abstract class DataFilterBaseComponent<T extends IDataFilterCompo
|
|
|
110
111
|
scrollY: number;
|
|
111
112
|
}, e: BaseEventParams['event']) => boolean;
|
|
112
113
|
protected _handleChartDrag: (delta: [number, number], e: BaseEventParams['event']) => void;
|
|
113
|
-
protected _handleChartMove: (value: number, rate: number) =>
|
|
114
|
+
protected _handleChartMove: (value: number, rate: number) => boolean;
|
|
114
115
|
protected _initCommonEvent(): void;
|
|
115
116
|
updateLayoutAttribute(): void;
|
|
116
117
|
onLayoutStart(layoutRect: IRect, viewRect: ILayoutRect, ctx: any): void;
|