@visactor/vchart 1.11.0-alpha.2 → 1.11.0-alpha.3
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 +49567 -46010
- 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 +4 -2
- package/cjs/chart/base/base-chart.js +24 -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 +6 -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/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/stack.js +2 -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/data/compilable-data.js +3 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -2
- 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 +1 -0
- 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 +1 -1
- package/cjs/component/tooltip/tooltip.js +13 -11
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/compose.js +3 -3
- package/cjs/component/tooltip/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/utils/get-spec.js +2 -2
- 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 +5 -1
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +2 -2
- package/cjs/core/vchart.js +47 -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/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/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/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 +45 -27
- 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/sankey.d.ts +2 -1
- package/cjs/series/sankey/sankey.js +51 -118
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.js +9 -9
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/scatter.js +2 -1
- 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/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 +4 -2
- package/esm/chart/base/base-chart.js +24 -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 +6 -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/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/stack.js +2 -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/data/compilable-data.js +3 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -2
- 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 +1 -0
- 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 +1 -1
- package/esm/component/tooltip/tooltip.js +13 -11
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/compose.js +3 -3
- package/esm/component/tooltip/utils/compose.js.map +1 -1
- package/esm/component/tooltip/utils/get-spec.js +2 -2
- 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 +5 -1
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +2 -2
- package/esm/core/vchart.js +42 -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/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/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/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 +41 -23
- 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/sankey.d.ts +2 -1
- package/esm/series/sankey/sankey.js +52 -119
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.js +9 -9
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/scatter.js +4 -1
- 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/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/indicator/indicator.ts"],"names":[],"mappings":"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","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport { LayoutLevel, LayoutZIndex } from '../../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorSpec } from './interface';\nimport type { Maybe } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { transformToGraphic } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array, isArray } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\nimport type { FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\n\nexport class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n static specKey = 'indicator';\n specKey = 'indicator';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = chartSpec[this.specKey];\n if (!isArray(indicatorSpec)) {\n if (indicatorSpec.visible === false) {\n return [];\n }\n return [\n {\n spec: indicatorSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.indicator\n }\n ];\n }\n\n const specInfos: IModelSpecInfo[] = [];\n indicatorSpec.forEach((s, i) => {\n if (s && s.visible !== false) {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.indicator\n });\n }\n });\n return specInfos;\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = array(this._spec.content);\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // event\n protected initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n const view = this.getCompiler()?.getVGrammarView();\n\n if (!view) {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n view.addEventListener('element-highlight:start', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-highlight:reset', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(null);\n }\n });\n } else {\n view.addEventListener('element-select:start', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-select:reset', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n private updateDatum(datum: any) {\n this._activeDatum = datum;\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n displayData.transform({\n type: 'indicatorFilter',\n options: {\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n }\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(this._spec.content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = mergeSpec({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n fitStrategy: contentSpec.fitStrategy,\n style: {\n ...transformToGraphic(contentSpec.style),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n\n return {\n visible: this._spec.visible !== false && (this._spec.fixed !== false || this._activeDatum !== null),\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: this._spec.offsetX ? getActualNumValue(this._spec.offsetX, this._computeLayoutRadius()) : 0,\n dy: this._spec.offsetY ? getActualNumValue(this._spec.offsetY, this._computeLayoutRadius()) : 0,\n limitRatio: this._spec.limitRatio || Infinity,\n title: {\n visible: this._spec.title.visible !== false && (!isValid(this._spec.title.field) || this._activeDatum !== null),\n space: this._spec.title.space || this._gap,\n autoLimit: this._spec.title.autoLimit,\n autoFit: this._spec.title.autoFit,\n fitPercent: this._spec.title.fitPercent,\n fitStrategy: this._spec.title.fitStrategy,\n style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text as any) // FIXME: type\n }\n },\n content: contentComponentSpec\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes): IndicatorComponents {\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as IGraphic, event, type)\n );\n }\n this._cacheAttrs = attrs;\n return this._indicatorComponent;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | number[]\n | IRichTextCharacter[]\n | FunctionType<number | number[] | string | string[] | IRichTextCharacter[]>\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private _computeLayoutRadius() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n private isRelativeModel(regionId: number) {\n return this._regions.some(region => region.id === regionId);\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\n }\n\n getIndicatorComponent(): IndicatorComponents {\n return this._indicatorComponent;\n }\n}\n\nexport const registerIndicator = () => {\n Factory.registerComponent(Indicator.type, Indicator);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/indicator/indicator.ts"],"names":[],"mappings":";;;AAAA,iDAA8C;AAC9C,6CAA2D;AAE3D,4CAAsD;AACtD,2DAAuD;AAIvD,iEAAuD;AACvD,4CAAsD;AACtD,4CAAqD;AACrD,6CAAgF;AAChF,iCAAyC;AAEzC,kDAAuE;AACvE,wEAAoE;AACpE,qEAAgF;AAKhF,gDAA6C;AAI7C,MAAa,SAAoC,SAAQ,8BAAgB;IAAzE;;QAEE,SAAI,GAAG,wBAAiB,CAAC,SAAS,CAAC;QACnC,SAAI,GAAW,wBAAiB,CAAC,SAAS,CAAC;QAG3C,YAAO,GAAG,WAAW,CAAC;QAEtB,eAAU,GAAW,MAAM,CAAC;QAC5B,iBAAY,GAAW,uBAAY,CAAC,SAAS,CAAC;QAC9C,gBAAW,GAAW,sBAAW,CAAC,SAAS,CAAC;QAEpC,SAAI,GAAW,CAAC,CAAC;QAEjB,iBAAY,GAAQ,IAAI,CAAC;IA2PnC,CAAC;IAlPC,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;YAChC,OAAO,IAAI,CAAC;SACb;QACD,MAAM,aAAa,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,IAAA,gBAAO,EAAC,aAAa,CAAC,EAAE;YAC3B,IAAI,aAAa,CAAC,OAAO,KAAK,KAAK,EAAE;gBACnC,OAAO,EAAE,CAAC;aACX;YACD,OAAO;gBACL;oBACE,IAAI,EAAE,aAAa;oBACnB,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;oBACxB,YAAY,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5C,IAAI,EAAE,wBAAiB,CAAC,SAAS;iBAClC;aACF,CAAC;SACH;QAED,MAAM,SAAS,GAAqB,EAAE,CAAC;QACvC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YAC7B,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,KAAK,EAAE;gBAC5B,SAAS,CAAC,IAAI,CAAC;oBACb,IAAI,EAAE,CAAC;oBACP,QAAQ,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC3B,YAAY,EAAE,CAAC,WAAW,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5C,IAAI,EAAE,wBAAiB,CAAC,SAAS;iBAClC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,QAAQ,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;IACnB,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;IACpH,CAAC;IAED,QAAQ,CAAC,GAAQ;IAEjB,CAAC;IAGD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAGS,SAAS;;QACjB,IAAI,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACpC,OAAO;SACR;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QACnC,IAAI,OAAO,KAAK,MAAM,EAAE;YACtB,OAAO;SACR;QAED,MAAM,IAAI,GAAG,MAAA,IAAI,CAAC,WAAW,EAAE,0CAAE,eAAe,EAAE,CAAC;QAEnD,IAAI,CAAC,IAAI,EAAE;YACT,OAAO;SACR;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,OAAO,EAAE;YAClC,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC/D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;iBACjD;YACH,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,CAAC,MAAW,EAAE,EAAE;gBAC5D,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACjD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;iBACxB;YACH,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;IAEO,WAAW,CAAC,KAAU;QAC5B,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;IAChD,CAAC;IAGO,QAAQ;QACd,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,sBAAe,CAAC,CAAC;QAC3F,MAAM,WAAW,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QACjG,WAAW,CAAC,SAAS,CAAC;YACpB,IAAI,EAAE,iBAAiB;YACvB,OAAO,EAAE;gBACP,KAAK,EAAE,IAAI,CAAC,MAAM;gBAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;gBACtB,KAAK,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY;aAC/B;SACF,CAAC,CAAC;QAEH,WAAW,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAEtE,IAAI,CAAC,YAAY,GAAG,IAAI,gCAAc,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;IAED,qBAAqB;QACnB,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,IAAI,CAAC,iCAAiC,CAAC,KAAK,CAAC,CAAC;QAE9C,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAEO,kBAAkB;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAE9C,MAAM,oBAAoB,GAAyB,EAAE,CAAC;QACtD,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,QAA4B,EAAE,EAAE;YACjE,MAAM,WAAW,GAAG,IAAA,4BAAS,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACjE,oBAAoB,CAAC,IAAI,CAAC;gBACxB,OAAO,EAAE,WAAW,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBACjG,KAAK,EAAE,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBACrC,SAAS,EAAE,WAAW,CAAC,SAAS;gBAChC,OAAO,EAAE,WAAW,CAAC,OAAO;gBAC5B,UAAU,EAAE,WAAW,CAAC,UAAU;gBAClC,WAAW,EAAE,WAAW,CAAC,WAAW;gBACpC,KAAK,kCACA,IAAA,0BAAkB,EAAC,WAAW,CAAC,KAAK,CAAC,KACxC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,GAClE;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;YACnG,IAAI,EAAE;gBACJ,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,MAAM;aACf;YACD,MAAM,EAAE,IAAI,CAAC,YAAY;YACzB,CAAC,EAAE,CAAC;YACJ,CAAC,EAAE,CAAC;YACJ,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAA,yBAAiB,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC/F,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU,IAAI,QAAQ;YAC7C,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,CAAC,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;gBAC/G,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI;gBAC1C,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS;gBACrC,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO;gBACjC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,UAAU;gBACvC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,WAAW;gBACzC,KAAK,kCACA,IAAA,0BAAkB,EAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAC7C,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAW,CAAC,GACnF;aACF;YACD,OAAO,EAAE,oBAAoB;SACP,CAAC;IAC3B,CAAC;IAEO,iCAAiC,CAAC,KAA0B;QAClE,IAAI,IAAI,CAAC,mBAAmB,EAAE;YAC5B,IAAI,CAAC,IAAA,gBAAO,EAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE;gBACrC,IAAI,CAAC,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;aAC/C;SACF;aAAM;YACL,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;YAEtC,MAAM,SAAS,GAAG,IAAI,8BAAmB,CAAC,KAAY,CAAC,CAAC;YACxD,SAAS,CAAC,IAAI,GAAG,WAAW,CAAC;YAC7B,SAAS,CAAC,GAAG,CAAC,SAA6B,CAAC,CAAC;YAC7C,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;YACrC,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE,CAC5D,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,mBAA0C,EAAE,KAAK,EAAE,IAAI,CAAC,CAClF,CAAC;SACH;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;IAEO,WAAW,CACjB,KAAyB,EACzB,IAM8E;;QAE9E,IAAI,KAAK,EAAE;YACT,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;SAC1D;QACD,IAAI,IAAA,mBAAU,EAAC,IAAI,CAAC,EAAE;YACpB,OAAO,MAAA,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,SAAS,CAAC,mCAAI,EAAE,CAAC;SACjD;QACD,OAAO,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,EAAE,CAAC;IACpB,CAAC;IAEO,oBAAoB;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAChC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;QACjD,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,CAAC;IACzC,CAAC;IAEO,eAAe,CAAC,QAAgB;QACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,QAAQ,CAAC,CAAC;IAC9D,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAwB,CAAC;IAC3D,CAAC;IAED,KAAK;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,mBAAmB,CAAC;IAClC,CAAC;;AAxQH,8BAyQC;AAxQQ,cAAI,GAAG,wBAAiB,CAAC,SAAS,CAAC;AAInC,iBAAO,GAAG,WAAW,CAAC;AAsQxB,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,iBAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,iBAAiB,qBAE5B","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport { LayoutLevel, LayoutZIndex } from '../../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorSpec } from './interface';\nimport type { Maybe } from '../../typings';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { transformToGraphic } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array, isArray } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModelSpecInfo } from '../../model/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { Indicator as IndicatorComponents } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IndicatorAttributes } from '@visactor/vrender-components';\nimport type { IGraphic, INode, IGroup } from '@visactor/vrender-core';\nimport type { FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRichTextCharacter } from '@visactor/vrender-core';\n\nexport class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n static specKey = 'indicator';\n specKey = 'indicator';\n\n layoutType: 'none' = 'none';\n layoutZIndex: number = LayoutZIndex.Indicator;\n layoutLevel: number = LayoutLevel.Indicator;\n\n private _gap: number = 0;\n\n private _activeDatum: any = null;\n private _displayData!: CompilableData;\n\n private _title: IIndicatorItemSpec;\n private _content: IIndicatorItemSpec[];\n\n private _indicatorComponent: IndicatorComponents;\n private _cacheAttrs: IndicatorAttributes;\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = chartSpec[this.specKey];\n if (!isArray(indicatorSpec)) {\n if (indicatorSpec.visible === false) {\n return [];\n }\n return [\n {\n spec: indicatorSpec,\n specPath: [this.specKey],\n specInfoPath: ['component', this.specKey, 0],\n type: ComponentTypeEnum.indicator\n }\n ];\n }\n\n const specInfos: IModelSpecInfo[] = [];\n indicatorSpec.forEach((s, i) => {\n if (s && s.visible !== false) {\n specInfos.push({\n spec: s,\n specPath: [this.specKey, i],\n specInfoPath: ['component', this.specKey, i],\n type: ComponentTypeEnum.indicator\n });\n }\n });\n return specInfos;\n }\n\n created() {\n super.created();\n // data\n this.initData();\n // event\n this.initEvent();\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._gap = this._spec.gap || 0;\n this._title = this._spec.title;\n this._content = array(this._spec.content);\n this._regions = this._option.getRegionsInUserIdOrIndex(array(this._spec.regionId), array(this._spec.regionIndex));\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n // event\n protected initEvent() {\n if (this._option.disableTriggerEvent) {\n return;\n }\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n const view = this.getCompiler()?.getVGrammarView();\n\n if (!view) {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n view.addEventListener('element-highlight:start', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-highlight:reset', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(null);\n }\n });\n } else {\n view.addEventListener('element-select:start', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-select:reset', (params: any) => {\n if (this.isRelativeModel(params.options.regionId)) {\n this.updateDatum(null);\n }\n });\n }\n }\n\n private updateDatum(datum: any) {\n this._activeDatum = datum;\n this._displayData.updateData();\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n }\n\n // data\n private initData() {\n registerDataSetInstanceTransform(this._option.dataSet, 'indicatorFilter', indicatorMapper);\n const displayData = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n displayData.transform({\n type: 'indicatorFilter',\n options: {\n title: this._title,\n content: this._content,\n datum: () => this._activeDatum\n }\n });\n\n displayData.target.addListener('change', this.updateDatum.bind(this));\n\n this._displayData = new CompilableData(this._option, displayData);\n }\n\n updateLayoutAttribute(): void {\n const attrs = this._getIndicatorAttrs();\n this._createOrUpdateIndicatorComponent(attrs);\n\n super.updateLayoutAttribute();\n }\n\n private _getIndicatorAttrs() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n const { x, y } = region.getLayoutStartPoint();\n\n const contentComponentSpec: IIndicatorItemSpec[] = [];\n array(this._spec.content).forEach((eachItem: IIndicatorItemSpec) => {\n const contentSpec = mergeSpec({}, this._theme.content, eachItem);\n contentComponentSpec.push({\n visible: contentSpec.visible !== false && (contentSpec.field ? this._activeDatum !== null : true),\n space: contentSpec.space || this._gap,\n autoLimit: contentSpec.autoLimit,\n autoFit: contentSpec.autoFit,\n fitPercent: contentSpec.fitPercent,\n fitStrategy: contentSpec.fitStrategy,\n style: {\n ...transformToGraphic(contentSpec.style),\n text: this._createText(contentSpec.field, contentSpec.style.text)\n }\n });\n });\n\n return {\n visible: this._spec.visible !== false && (this._spec.fixed !== false || this._activeDatum !== null),\n size: {\n width: width,\n height: height\n },\n zIndex: this.layoutZIndex,\n x: x,\n y: y,\n dx: this._spec.offsetX ? getActualNumValue(this._spec.offsetX, this._computeLayoutRadius()) : 0,\n dy: this._spec.offsetY ? getActualNumValue(this._spec.offsetY, this._computeLayoutRadius()) : 0,\n limitRatio: this._spec.limitRatio || Infinity,\n title: {\n visible: this._spec.title.visible !== false && (!isValid(this._spec.title.field) || this._activeDatum !== null),\n space: this._spec.title.space || this._gap,\n autoLimit: this._spec.title.autoLimit,\n autoFit: this._spec.title.autoFit,\n fitPercent: this._spec.title.fitPercent,\n fitStrategy: this._spec.title.fitStrategy,\n style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text as any) // FIXME: type\n }\n },\n content: contentComponentSpec\n } as IndicatorAttributes;\n }\n\n private _createOrUpdateIndicatorComponent(attrs: IndicatorAttributes): IndicatorComponents {\n if (this._indicatorComponent) {\n if (!isEqual(attrs, this._cacheAttrs)) {\n this._indicatorComponent.setAttributes(attrs);\n }\n } else {\n const container = this.getContainer();\n //FIXME:类型“IndicatorAttributes”的参数不能赋给类型“Required<IndicatorAttributes>”的参数\n const indicator = new IndicatorComponents(attrs as any);\n indicator.name = 'indicator';\n container.add(indicator as unknown as INode);\n this._indicatorComponent = indicator;\n this._indicatorComponent.on('*', (event: any, type: string) =>\n this._delegateEvent(this._indicatorComponent as unknown as IGraphic, event, type)\n );\n }\n this._cacheAttrs = attrs;\n return this._indicatorComponent;\n }\n\n private _createText(\n field: string | undefined,\n text:\n | string\n | number\n | string[]\n | number[]\n | IRichTextCharacter[]\n | FunctionType<number | number[] | string | string[] | IRichTextCharacter[]>\n ) {\n if (field) {\n return this._activeDatum ? this._activeDatum[field] : '';\n }\n if (isFunction(text)) {\n return text(this._activeDatum, undefined) ?? '';\n }\n return text ?? '';\n }\n\n private _computeLayoutRadius() {\n const region = this._regions[0];\n const { width, height } = region.getLayoutRect();\n return Math.min(width / 2, height / 2);\n }\n\n private isRelativeModel(regionId: number) {\n return this._regions.some(region => region.id === regionId);\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\n }\n\n getIndicatorComponent(): IndicatorComponents {\n return this._indicatorComponent;\n }\n}\n\nexport const registerIndicator = () => {\n Factory.registerComponent(Indicator.type, Indicator);\n};\n"]}
|
|
@@ -29,8 +29,12 @@ export interface IComponentTheme {
|
|
|
29
29
|
[ComponentTypeEnum.colorLegend]?: IColorLegendTheme;
|
|
30
30
|
[ComponentTypeEnum.sizeLegend]?: ISizeLegendTheme;
|
|
31
31
|
[ComponentTypeEnum.markLine]?: IMarkLineTheme;
|
|
32
|
+
[ComponentTypeEnum.polarMarkLine]?: IMarkLineTheme;
|
|
32
33
|
[ComponentTypeEnum.markArea]?: IMarkAreaTheme;
|
|
34
|
+
[ComponentTypeEnum.polarMarkArea]?: IMarkAreaTheme;
|
|
33
35
|
[ComponentTypeEnum.markPoint]?: IMarkPointTheme;
|
|
36
|
+
[ComponentTypeEnum.polarMarkPoint]?: IMarkPointTheme;
|
|
37
|
+
[ComponentTypeEnum.geoMarkPoint]?: IMarkPointTheme;
|
|
34
38
|
[ComponentTypeEnum.tooltip]?: ITooltipTheme<string | IColorKey>;
|
|
35
39
|
[ComponentTypeEnum.crosshair]?: ICrosshairTheme;
|
|
36
40
|
[ComponentTypeEnum.dataZoom]?: IDataZoomTheme;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IAxisCommonTheme, ICartesianAxisCommonTheme, IPolarAxisCommonTheme } from '../axis';\nimport type { IBrushTheme } from '../brush';\nimport type { ICrosshairTheme } from '../crosshair/interface';\nimport type { IDataZoomTheme, IScrollBarTheme } from '../data-zoom';\nimport type { IIndicatorTheme } from '../indicator/interface';\nimport type { IDiscreteLegendTheme, IColorLegendTheme, ISizeLegendTheme } from '../legend';\nimport type { IMapLabelTheme } from '../map-label';\nimport type { IMarkAreaTheme } from '../marker/mark-area/interface';\nimport type { IMarkLineTheme } from '../marker/mark-line/interface';\nimport type { IMarkPointTheme } from '../marker/mark-point/interface';\nimport type { IPlayerTheme } from '../player';\nimport type { ITitleTheme } from '../title';\nimport type { ITooltipTheme } from '../tooltip/interface';\nimport type { ComponentTypeEnum } from './type';\nimport type { ITotalLabelTheme } from '../label';\nimport type { IPoptipTheme } from '../poptip/interface';\nimport type { IColorKey } from '../../theme';\nimport type { Direction, IOrientType } from '../../typings';\n\nexport interface IComponentTheme {\n /**\n * 通用坐标轴配置\n */\n axis?: IAxisCommonTheme;\n /**\n * 离散轴的通用配置\n */\n axisBand?: IAxisCommonTheme;\n /**\n * 连续轴的通用配置\n */\n axisLinear?: IAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 x 轴的配置\n */\n axisX?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 y 轴配置\n */\n axisY?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 z 轴配置\n */\n axisZ?: ICartesianAxisCommonTheme;\n /**\n * 极坐标系下半径轴配置\n */\n axisRadius?: IPolarAxisCommonTheme;\n /**\n * 极坐标系下角度轴配置\n */\n axisAngle?: IPolarAxisCommonTheme;\n /**\n * 离散图例配置\n */\n [ComponentTypeEnum.discreteLegend]?: IDiscreteLegendTheme;\n /**\n * 连续颜色图例配置\n */\n [ComponentTypeEnum.colorLegend]?: IColorLegendTheme;\n /**\n * 连续尺寸图例配置\n */\n [ComponentTypeEnum.sizeLegend]?: ISizeLegendTheme;\n /**\n * markLine 标记配置\n */\n [ComponentTypeEnum.markLine]?: IMarkLineTheme;\n /**\n * markArea 标记配置\n */\n [ComponentTypeEnum.markArea]?: IMarkAreaTheme;\n /**\n * markPoint 标记配置\n */\n [ComponentTypeEnum.markPoint]?: IMarkPointTheme;\n /**\n * tooltip 组件配置\n */\n [ComponentTypeEnum.tooltip]?: ITooltipTheme<string | IColorKey>;\n /**\n * crosshair 配置\n */\n [ComponentTypeEnum.crosshair]?: ICrosshairTheme;\n /**\n * dataZoom 配置\n */\n [ComponentTypeEnum.dataZoom]?: IDataZoomTheme;\n /**\n * scrollbar 滚动条配置\n */\n [ComponentTypeEnum.scrollBar]?: IScrollBarTheme;\n /**\n * 指标卡组件配置\n */\n [ComponentTypeEnum.indicator]?: IIndicatorTheme;\n /**\n * 播放器配置\n */\n [ComponentTypeEnum.player]?: IPlayerTheme;\n /**\n * 框选配置\n */\n [ComponentTypeEnum.brush]?: IBrushTheme;\n /**\n * 图表标题配置\n */\n [ComponentTypeEnum.title]?: ITitleTheme;\n /**\n * 地图标签配置\n */\n [ComponentTypeEnum.mapLabel]?: IMapLabelTheme;\n /**\n * 省略文本配置\n */\n [ComponentTypeEnum.poptip]?: IPoptipTheme;\n /**\n * 堆叠总计标签配置\n * @since 1.3.0\n */\n [ComponentTypeEnum.totalLabel]?: ITotalLabelTheme;\n}\n\n/** 区分方向的组件主题类型 */\nexport type ComponentThemeWithDirection<\n T extends {\n orient?: IOrientType;\n }\n> = T /* 通用主题,留作兼容 */ & {\n orient?: IOrientType;\n /** 横向主题 */\n [Direction.horizontal]?: Omit<T, 'orient'>;\n /** 纵向主题 */\n [Direction.vertical]?: Omit<T, 'orient'>;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/interface/theme.ts"],"names":[],"mappings":"","file":"theme.js","sourcesContent":["import type { IAxisCommonTheme, ICartesianAxisCommonTheme, IPolarAxisCommonTheme } from '../axis';\nimport type { IBrushTheme } from '../brush';\nimport type { ICrosshairTheme } from '../crosshair/interface';\nimport type { IDataZoomTheme, IScrollBarTheme } from '../data-zoom';\nimport type { IIndicatorTheme } from '../indicator/interface';\nimport type { IDiscreteLegendTheme, IColorLegendTheme, ISizeLegendTheme } from '../legend';\nimport type { IMapLabelTheme } from '../map-label';\nimport type { IMarkAreaTheme } from '../marker/mark-area/interface';\nimport type { IMarkLineTheme } from '../marker/mark-line/interface';\nimport type { IMarkPointTheme } from '../marker/mark-point/interface';\nimport type { IPlayerTheme } from '../player';\nimport type { ITitleTheme } from '../title';\nimport type { ITooltipTheme } from '../tooltip/interface';\nimport type { ComponentTypeEnum } from './type';\nimport type { ITotalLabelTheme } from '../label';\nimport type { IPoptipTheme } from '../poptip/interface';\nimport type { IColorKey } from '../../theme';\nimport type { Direction, IOrientType } from '../../typings';\n\nexport interface IComponentTheme {\n /**\n * 通用坐标轴配置\n */\n axis?: IAxisCommonTheme;\n /**\n * 离散轴的通用配置\n */\n axisBand?: IAxisCommonTheme;\n /**\n * 连续轴的通用配置\n */\n axisLinear?: IAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 x 轴的配置\n */\n axisX?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 y 轴配置\n */\n axisY?: ICartesianAxisCommonTheme;\n /**\n * 笛卡尔坐标系下 z 轴配置\n */\n axisZ?: ICartesianAxisCommonTheme;\n /**\n * 极坐标系下半径轴配置\n */\n axisRadius?: IPolarAxisCommonTheme;\n /**\n * 极坐标系下角度轴配置\n */\n axisAngle?: IPolarAxisCommonTheme;\n /**\n * 离散图例配置\n */\n [ComponentTypeEnum.discreteLegend]?: IDiscreteLegendTheme;\n /**\n * 连续颜色图例配置\n */\n [ComponentTypeEnum.colorLegend]?: IColorLegendTheme;\n /**\n * 连续尺寸图例配置\n */\n [ComponentTypeEnum.sizeLegend]?: ISizeLegendTheme;\n /**\n * markLine 标记配置\n */\n [ComponentTypeEnum.markLine]?: IMarkLineTheme;\n [ComponentTypeEnum.polarMarkLine]?: IMarkLineTheme;\n /**\n * markArea 标记配置\n */\n [ComponentTypeEnum.markArea]?: IMarkAreaTheme;\n [ComponentTypeEnum.polarMarkArea]?: IMarkAreaTheme;\n /**\n * markPoint 标记配置\n */\n [ComponentTypeEnum.markPoint]?: IMarkPointTheme;\n [ComponentTypeEnum.polarMarkPoint]?: IMarkPointTheme;\n [ComponentTypeEnum.geoMarkPoint]?: IMarkPointTheme;\n /**\n * tooltip 组件配置\n */\n [ComponentTypeEnum.tooltip]?: ITooltipTheme<string | IColorKey>;\n /**\n * crosshair 配置\n */\n [ComponentTypeEnum.crosshair]?: ICrosshairTheme;\n /**\n * dataZoom 配置\n */\n [ComponentTypeEnum.dataZoom]?: IDataZoomTheme;\n /**\n * scrollbar 滚动条配置\n */\n [ComponentTypeEnum.scrollBar]?: IScrollBarTheme;\n /**\n * 指标卡组件配置\n */\n [ComponentTypeEnum.indicator]?: IIndicatorTheme;\n /**\n * 播放器配置\n */\n [ComponentTypeEnum.player]?: IPlayerTheme;\n /**\n * 框选配置\n */\n [ComponentTypeEnum.brush]?: IBrushTheme;\n /**\n * 图表标题配置\n */\n [ComponentTypeEnum.title]?: ITitleTheme;\n /**\n * 地图标签配置\n */\n [ComponentTypeEnum.mapLabel]?: IMapLabelTheme;\n /**\n * 省略文本配置\n */\n [ComponentTypeEnum.poptip]?: IPoptipTheme;\n /**\n * 堆叠总计标签配置\n * @since 1.3.0\n */\n [ComponentTypeEnum.totalLabel]?: ITotalLabelTheme;\n}\n\n/** 区分方向的组件主题类型 */\nexport type ComponentThemeWithDirection<\n T extends {\n orient?: IOrientType;\n }\n> = T /* 通用主题,留作兼容 */ & {\n orient?: IOrientType;\n /** 横向主题 */\n [Direction.horizontal]?: Omit<T, 'orient'>;\n /** 纵向主题 */\n [Direction.vertical]?: Omit<T, 'orient'>;\n};\n"]}
|
|
@@ -23,6 +23,10 @@ export declare enum ComponentTypeEnum {
|
|
|
23
23
|
markLine = "markLine",
|
|
24
24
|
markArea = "markArea",
|
|
25
25
|
markPoint = "markPoint",
|
|
26
|
+
polarMarkLine = "polarMarkLine",
|
|
27
|
+
polarMarkArea = "polarMarkArea",
|
|
28
|
+
polarMarkPoint = "polarMarkPoint",
|
|
29
|
+
geoMarkPoint = "geoMarkPoint",
|
|
26
30
|
tooltip = "tooltip",
|
|
27
31
|
title = "title",
|
|
28
32
|
player = "player",
|
|
@@ -16,7 +16,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
16
16
|
ComponentTypeEnum.continuousLegend = "continuousLegend", ComponentTypeEnum.colorLegend = "colorLegend",
|
|
17
17
|
ComponentTypeEnum.sizeLegend = "sizeLegend", ComponentTypeEnum.mapLabel = "mapLabel",
|
|
18
18
|
ComponentTypeEnum.markLine = "markLine", ComponentTypeEnum.markArea = "markArea",
|
|
19
|
-
ComponentTypeEnum.markPoint = "markPoint", ComponentTypeEnum.
|
|
19
|
+
ComponentTypeEnum.markPoint = "markPoint", ComponentTypeEnum.polarMarkLine = "polarMarkLine",
|
|
20
|
+
ComponentTypeEnum.polarMarkArea = "polarMarkArea", ComponentTypeEnum.polarMarkPoint = "polarMarkPoint",
|
|
21
|
+
ComponentTypeEnum.geoMarkPoint = "geoMarkPoint", ComponentTypeEnum.tooltip = "tooltip",
|
|
20
22
|
ComponentTypeEnum.title = "title", ComponentTypeEnum.player = "player", ComponentTypeEnum.scrollBar = "scrollBar",
|
|
21
23
|
ComponentTypeEnum.label = "label", ComponentTypeEnum.totalLabel = "totalLabel",
|
|
22
24
|
ComponentTypeEnum.brush = "brush", ComponentTypeEnum.poptip = "poptip", ComponentTypeEnum.customMark = "customMark";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,
|
|
1
|
+
{"version":3,"sources":["../src/component/interface/type.ts"],"names":[],"mappings":";;;AAEA,IAAY,iBAwCX;AAxCD,WAAY,iBAAiB;IAC3B,oDAA+B,CAAA;IAC/B,6DAAwC,CAAA;IACxC,iEAA4C,CAAA;IAC5C,6DAAwC,CAAA;IACxC,2DAAsC,CAAA;IACtC,iEAA4C,CAAA;IAC5C,4CAAuB,CAAA;IACvB,qDAAgC,CAAA;IAChC,yDAAoC,CAAA;IACpC,4CAAuB,CAAA;IACvB,8DAAyC,CAAA;IACzC,sDAAiC,CAAA;IACjC,0CAAqB,CAAA;IACrB,oDAA+B,CAAA;IAC/B,4CAAuB,CAAA;IACvB,sDAAiC,CAAA;IACjC,0DAAqC,CAAA;IACrC,gDAA2B,CAAA;IAC3B,8CAAyB,CAAA;IACzB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IACrB,0CAAqB,CAAA;IACrB,4CAAuB,CAAA;IACvB,oDAA+B,CAAA;IAC/B,oDAA+B,CAAA;IAC/B,sDAAiC,CAAA;IACjC,kDAA6B,CAAA;IAC7B,wCAAmB,CAAA;IACnB,oCAAe,CAAA;IACf,sCAAiB,CAAA;IACjB,4CAAuB,CAAA;IACvB,oCAAe,CAAA;IACf,8CAAyB,CAAA;IAEzB,oCAAe,CAAA;IAEf,sCAAiB,CAAA;IAEjB,8CAAyB,CAAA;AAC3B,CAAC,EAxCW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAwC5B","file":"type.js","sourcesContent":["export type ComponentType = keyof typeof ComponentTypeEnum | string;\n\nexport enum ComponentTypeEnum {\n cartesianAxis = 'cartesianAxis',\n cartesianBandAxis = 'cartesianAxis-band',\n cartesianLinearAxis = 'cartesianAxis-linear',\n cartesianTimeAxis = 'cartesianAxis-time',\n cartesianLogAxis = 'cartesianAxis-log',\n cartesianSymlogAxis = 'cartesianAxis-symlog',\n polarAxis = 'polarAxis',\n polarBandAxis = 'polarAxis-band',\n polarLinearAxis = 'polarAxis-linear',\n crosshair = 'crosshair',\n cartesianCrosshair = 'cartesianCrosshair',\n polarCrosshair = 'polarCrosshair',\n dataZoom = 'dataZoom',\n geoCoordinate = 'geoCoordinate',\n indicator = 'indicator',\n discreteLegend = 'discreteLegend',\n continuousLegend = 'continuousLegend',\n colorLegend = 'colorLegend',\n sizeLegend = 'sizeLegend',\n mapLabel = 'mapLabel',\n markLine = 'markLine',\n markArea = 'markArea',\n markPoint = 'markPoint',\n polarMarkLine = 'polarMarkLine',\n polarMarkArea = 'polarMarkArea',\n polarMarkPoint = 'polarMarkPoint',\n geoMarkPoint = 'geoMarkPoint',\n tooltip = 'tooltip',\n title = 'title',\n player = 'player',\n scrollBar = 'scrollBar',\n label = 'label',\n totalLabel = 'totalLabel',\n\n brush = 'brush',\n\n poptip = 'poptip',\n\n customMark = 'customMark'\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerLabel = exports.Label = void 0;
|
|
6
6
|
|
|
7
|
-
const type_1 = require("../interface/type"), constant_1 = require("../../constant"),
|
|
7
|
+
const type_1 = require("../interface/type"), constant_1 = require("../../constant"), vutils_extension_1 = require("@visactor/vutils-extension"), model_1 = require("../../util/model"), vgrammar_core_1 = require("@visactor/vgrammar-core"), util_1 = require("./util"), component_1 = require("../../mark/component"), base_label_1 = require("./base-label"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), label_1 = require("../../mark/label"), label_transformer_1 = require("./label-transformer"), vgrammar_core_2 = require("@visactor/vgrammar-core");
|
|
8
8
|
|
|
9
9
|
class Label extends base_label_1.BaseLabelComponent {
|
|
10
10
|
constructor(spec, options) {
|
|
@@ -15,11 +15,10 @@ class Label extends base_label_1.BaseLabelComponent {
|
|
|
15
15
|
static getSpecInfo(chartSpec, chartSpecInfo) {
|
|
16
16
|
const specInfo = [], regionSpecInfo = (null == chartSpecInfo ? void 0 : chartSpecInfo.region) || [];
|
|
17
17
|
return regionSpecInfo.forEach(((regionInfo, i) => {
|
|
18
|
-
|
|
18
|
+
(regionInfo.seriesIndexes || []).some((seriesIndex => {
|
|
19
19
|
const seriesInfo = chartSpecInfo.series[seriesIndex], {markLabelSpec: markLabelSpec = {}} = seriesInfo;
|
|
20
20
|
return Object.values(markLabelSpec).some((labelSpecList => Array.isArray(labelSpecList) && (labelSpecList => labelSpecList.some((labelSpec => labelSpec.visible)))(labelSpecList)));
|
|
21
|
-
}))
|
|
22
|
-
("region" !== chartSpec.labelLayout || hasVisibleLabel) && specInfo.push({
|
|
21
|
+
})) && specInfo.push({
|
|
23
22
|
spec: chartSpec,
|
|
24
23
|
type: type_1.ComponentTypeEnum.label,
|
|
25
24
|
specInfoPath: [ "component", this.specKey, i ],
|
|
@@ -147,7 +146,7 @@ class Label extends base_label_1.BaseLabelComponent {
|
|
|
147
146
|
const labelInfo = labelInfos[params.labelIndex];
|
|
148
147
|
if (labelInfo) {
|
|
149
148
|
const {labelSpec: labelSpec, labelMark: labelMark} = labelInfo, rule = labelMark.getRule(), interactive = this._interactiveConfig(labelSpec), centerOffset = null !== (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.centerOffset) && void 0 !== _b ? _b : 0, spec = (0,
|
|
150
|
-
|
|
149
|
+
vutils_extension_1.mergeSpec)({
|
|
151
150
|
textStyle: Object.assign({
|
|
152
151
|
pickable: !0 === labelSpec.interactive
|
|
153
152
|
}, labelSpec.style),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/label/label.ts"],"names":[],"mappings":"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","file":"label.js","sourcesContent":["import type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { IRegion } from '../../region/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../model/interface';\nimport { AttributeLevel, ChartEvent, LayoutZIndex, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { eachSeries } from '../../util/model';\nimport type { ISeries } from '../../series/interface';\nimport type { IGroupMark, ILabel, IMark as IVGrammarMark } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabel as registerVGrammarLabel } from '@visactor/vgrammar-core';\nimport { defaultLabelConfig, textAttribute } from './util';\nimport type { IComponentMark } from '../../mark/component';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerComponentMark } from '../../mark/component';\nimport { BaseLabelComponent } from './base-label';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isArray, isFunction, pickWithout } from '@visactor/vutils';\nimport type { ILabelSpec, TransformedLabelSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabelMark } from '../../mark/label';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport type { IChartSpec } from '../../typings';\nimport { LabelSpecTransformer } from './label-transformer';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\n\nexport interface ILabelInfo {\n baseMark: ICompilableMark;\n labelMark: ILabelMark;\n series: ISeries;\n labelSpec: TransformedLabelSpec;\n}\n\nexport interface ILabelComponentContext {\n region: IRegion;\n labelInfo: ILabelInfo[];\n}\n\nexport class Label<T extends IChartSpec = any> extends BaseLabelComponent<T> {\n static type = ComponentTypeEnum.label;\n type = ComponentTypeEnum.label;\n name: string = ComponentTypeEnum.label;\n\n static specKey = 'label';\n specKey = 'label';\n\n static readonly transformerConstructor = LabelSpecTransformer as any;\n readonly transformerConstructor = LabelSpecTransformer;\n\n layoutZIndex: number = LayoutZIndex.Label;\n\n protected _labelInfoMap: Map<IRegion, ILabelInfo[]>;\n\n protected _labelComponentMap: Map<IComponentMark, () => ILabelInfo | ILabelInfo[]>;\n\n protected _layoutRule: 'series' | 'region';\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._layoutRule = (spec as any).labelLayout || 'series';\n }\n\n static getSpecInfo(chartSpec: any, chartSpecInfo: IChartSpecInfo): Maybe<IModelSpecInfo[]> {\n const specInfo: IModelSpecInfo[] = [];\n const regionSpecInfo = chartSpecInfo?.region || [];\n const isLabelVisible = (labelSpecList: ILabelSpec[]) => {\n return labelSpecList.some(labelSpec => labelSpec.visible);\n };\n\n regionSpecInfo.forEach((regionInfo, i) => {\n const seriesIndexes = regionInfo.seriesIndexes || [];\n const hasVisibleLabel = seriesIndexes.some(seriesIndex => {\n const seriesInfo = chartSpecInfo.series[seriesIndex];\n const { markLabelSpec = {} } = seriesInfo;\n return Object.values(markLabelSpec).some(\n labelSpecList => Array.isArray(labelSpecList) && isLabelVisible(labelSpecList)\n );\n });\n\n if (chartSpec.labelLayout !== 'region' || hasVisibleLabel) {\n specInfo.push({\n spec: chartSpec,\n type: ComponentTypeEnum.label,\n specInfoPath: ['component', this.specKey, i],\n regionIndexes: [i]\n });\n }\n });\n return specInfo;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.initEvent();\n this._initTextMark();\n this._initLabelComponent();\n this._initTextMarkStyle();\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._labelInfoMap && this._labelInfoMap.clear();\n this._initTextMark();\n this._initTextMarkStyle();\n }\n\n initEvent() {\n this.event.on(ChartEvent.dataZoomChange, () => {\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n graphicItem.disableAnimation();\n }\n });\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableAnimation);\n });\n const enableAnimation = () => {\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n graphicItem.enableAnimation();\n }\n });\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableAnimation);\n };\n }\n\n afterCompile() {\n this._labelComponentMap.forEach((info, component) => {\n const product = component.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n this._delegateLabelEvent(product.getGroupGraphicItem());\n }\n });\n }\n });\n }\n\n protected _initTextMark() {\n if (!this._labelInfoMap) {\n this._labelInfoMap = new Map();\n }\n\n if (!this._labelComponentMap) {\n this._labelComponentMap = new Map();\n }\n eachSeries(this._regions, (series: ISeries) => {\n const { markLabelSpec = {} } = series.getSpecInfo();\n const markNames = Object.keys(markLabelSpec);\n const region = series.getRegion();\n\n if (!this._labelInfoMap.get(region)) {\n this._labelInfoMap.set(region, []);\n }\n for (let i = 0; i < markNames.length; i++) {\n const markName = markNames[i];\n const mark = series.getMarkInName(markName);\n if (!mark) {\n continue;\n }\n markLabelSpec[markName].forEach((spec: TransformedLabelSpec, index: number) => {\n if (spec.visible) {\n const info = this._labelInfoMap.get(region);\n const labelMark = this._createMark(\n {\n type: MarkTypeEnum.label,\n name: `${markName}-label-${index}`\n },\n { noSeparateStyle: true, attributeContext: series.getMarkAttributeContext() }\n ) as ILabelMark;\n labelMark.setTarget(mark);\n info.push({\n labelMark,\n baseMark: mark,\n series,\n labelSpec: spec\n });\n }\n });\n }\n });\n }\n\n protected _initLabelComponent() {\n this._labelInfoMap.forEach((regionLabelInfo, region) => {\n if (this._layoutRule === 'region') {\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${region.getGroupMark().name}-label-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: (this._spec as any).support3d\n }\n );\n if (component) {\n component.setSkipBeforeLayouted(true);\n this._marks.addMark(component);\n this._labelComponentMap.set(component, () => {\n return this._labelInfoMap.get(region);\n });\n }\n } else {\n regionLabelInfo.forEach((labelInfo, i) => {\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${labelInfo.labelMark.name}-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: labelInfo.baseMark.getSupport3d()\n }\n );\n if (component) {\n component.setSkipBeforeLayouted(true);\n this._marks.addMark(component);\n this._labelComponentMap.set(component, () => {\n return this._labelInfoMap.get(region)[i];\n });\n labelInfo.labelMark.setComponent(component);\n }\n });\n }\n });\n }\n\n protected _initTextMarkStyle() {\n this._labelInfoMap.forEach(labelInfos => {\n labelInfos.forEach(info => {\n const { labelMark, labelSpec, series } = info;\n this.initMarkStyleWithSpec(labelMark, labelSpec, undefined);\n if (isFunction(labelSpec?.getStyleHandler)) {\n const styleHandler = labelSpec.getStyleHandler(series);\n styleHandler?.call(series, labelMark, labelSpec);\n }\n if (labelMark.stateStyle?.normal?.lineWidth) {\n labelMark.setAttribute('stroke', series.getColorAttribute(), 'normal', AttributeLevel.Base_Series);\n }\n });\n });\n }\n\n updateLayoutAttribute(): void {\n super.updateLayoutAttribute();\n this._labelComponentMap.forEach((labelInfoCb, labelComponent) => {\n const labelInfo = labelInfoCb();\n if (isArray(labelInfo)) {\n this._updateMultiLabelAttribute(labelInfo, labelComponent);\n } else {\n this._updateSingleLabelAttribute(labelInfo, labelComponent);\n }\n });\n }\n\n protected _updateMultiLabelAttribute(labelInfo: ILabelInfo[], labelComponent: IComponentMark) {\n this._updateLabelComponentAttribute(\n labelComponent.getProduct() as ILabel,\n labelInfo.map(({ baseMark }) => baseMark.getProduct()),\n labelInfo\n );\n }\n\n protected _updateSingleLabelAttribute(labelInfo: ILabelInfo, labelComponent: IComponentMark) {\n const { baseMark } = labelInfo;\n this._updateLabelComponentAttribute(labelComponent.getProduct() as ILabel, baseMark.getProduct(), [labelInfo]);\n }\n\n protected _updateLabelComponentAttribute(\n component: ILabel,\n target: IVGrammarMark | IVGrammarMark[],\n labelInfos: ILabelInfo[]\n ) {\n const dependCmp = this._option.getComponentsByType('totalLabel');\n component\n .target(target)\n .configure({ interactive: false })\n .depend(dependCmp.map(cmp => cmp.getMarks()[0].getProduct()))\n .labelStyle((mark: IVGrammarMark, params: Record<string, any>) => {\n const labelInfo = labelInfos[params.labelIndex];\n if (labelInfo) {\n const { labelSpec, labelMark } = labelInfo;\n const rule = labelMark.getRule();\n const interactive = this._interactiveConfig(labelSpec);\n /** arc label When setting the centerOffset of the spec, the label also needs to be offset accordingly, and the centerOffset is not in the labelSpec */\n const centerOffset = (this._spec as any)?.centerOffset ?? 0;\n const spec = mergeSpec(\n {\n textStyle: { pickable: labelSpec.interactive === true, ...labelSpec.style },\n overlap: {\n avoidMarks: dependCmp.map(cmp => cmp.getMarks()[0].getProductId())\n }\n },\n defaultLabelConfig(rule, labelInfo),\n {\n ...pickWithout(labelSpec, ['position', 'style', 'state', 'type']),\n ...interactive,\n centerOffset\n }\n );\n // TODO 可以优化。vgrammar 的 label 图元类型分发是完全依赖 baseMark 的类型。默认情况下,line/area 图元的标签会使用'line-data'标签,此时需要 vchart 将类型传给 vgrammar\n if (rule === 'line' || rule === 'area') {\n spec.type = rule;\n }\n return spec;\n }\n })\n .encode((datum, element, params: Record<string, any>) => {\n const labelInfo = labelInfos[params.labelIndex];\n if (labelInfo) {\n const { labelSpec, labelMark } = labelInfos[params.labelIndex];\n return labelMark.skipEncode\n ? { data: datum }\n : textAttribute(labelInfos[params.labelIndex], datum, labelSpec.formatMethod, labelSpec.formatter);\n }\n })\n .size(() => labelInfos[0].series.getRegion().getLayoutRect());\n }\n\n compileMarks() {\n this.getMarks().forEach(m => {\n const labelInfo = this._labelComponentMap.get(m)();\n let group;\n if (isArray(labelInfo)) {\n group = labelInfo[0].series.getRegion().getGroupMark().getProduct() as IGroupMark;\n } else {\n group = labelInfo.series.getRegion().getGroupMark().getProduct() as IGroupMark;\n }\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this,\n labelInfo\n }\n });\n });\n }\n\n getVRenderComponents() {\n const labels: any[] = [];\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n labels.push(graphicItem);\n }\n });\n return labels;\n }\n}\n\nexport const registerLabel = () => {\n registerVGrammarLabel();\n registerLabelMark();\n registerComponentMark();\n Factory.registerComponent(Label.type, Label, true);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/label/label.ts"],"names":[],"mappings":"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","file":"label.js","sourcesContent":["import type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { IRegion } from '../../region/interface';\nimport type { IModelInitOption, IModelSpecInfo } from '../../model/interface';\nimport { AttributeLevel, ChartEvent, LayoutZIndex, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport { eachSeries } from '../../util/model';\nimport type { ISeries } from '../../series/interface';\nimport type { IGroupMark, ILabel, IMark as IVGrammarMark } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabel as registerVGrammarLabel } from '@visactor/vgrammar-core';\nimport { defaultLabelConfig, textAttribute } from './util';\nimport type { IComponentMark } from '../../mark/component';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerComponentMark } from '../../mark/component';\nimport { BaseLabelComponent } from './base-label';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isArray, isFunction, pickWithout } from '@visactor/vutils';\nimport type { ILabelSpec, TransformedLabelSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport type { ILabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabelMark } from '../../mark/label';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport type { IChartSpec } from '../../typings';\nimport { LabelSpecTransformer } from './label-transformer';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\n\nexport interface ILabelInfo {\n baseMark: ICompilableMark;\n labelMark: ILabelMark;\n series: ISeries;\n labelSpec: TransformedLabelSpec;\n}\n\nexport interface ILabelComponentContext {\n region: IRegion;\n labelInfo: ILabelInfo[];\n}\n\nexport class Label<T extends IChartSpec = any> extends BaseLabelComponent<T> {\n static type = ComponentTypeEnum.label;\n type = ComponentTypeEnum.label;\n name: string = ComponentTypeEnum.label;\n\n static specKey = 'label';\n specKey = 'label';\n\n static readonly transformerConstructor = LabelSpecTransformer as any;\n readonly transformerConstructor = LabelSpecTransformer;\n\n layoutZIndex: number = LayoutZIndex.Label;\n\n protected _labelInfoMap: Map<IRegion, ILabelInfo[]>;\n\n protected _labelComponentMap: Map<IComponentMark, () => ILabelInfo | ILabelInfo[]>;\n\n protected _layoutRule: 'series' | 'region';\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._layoutRule = (spec as any).labelLayout || 'series';\n }\n\n static getSpecInfo(chartSpec: any, chartSpecInfo: IChartSpecInfo): Maybe<IModelSpecInfo[]> {\n const specInfo: IModelSpecInfo[] = [];\n const regionSpecInfo = chartSpecInfo?.region || [];\n const isLabelVisible = (labelSpecList: ILabelSpec[]) => {\n return labelSpecList.some(labelSpec => labelSpec.visible);\n };\n\n regionSpecInfo.forEach((regionInfo, i) => {\n const seriesIndexes = regionInfo.seriesIndexes || [];\n const hasVisibleLabel = seriesIndexes.some(seriesIndex => {\n const seriesInfo = chartSpecInfo.series[seriesIndex];\n const { markLabelSpec = {} } = seriesInfo;\n return Object.values(markLabelSpec).some(\n labelSpecList => Array.isArray(labelSpecList) && isLabelVisible(labelSpecList)\n );\n });\n if (hasVisibleLabel) {\n specInfo.push({\n spec: chartSpec,\n type: ComponentTypeEnum.label,\n specInfoPath: ['component', this.specKey, i],\n regionIndexes: [i]\n });\n }\n });\n return specInfo;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this.initEvent();\n this._initTextMark();\n this._initLabelComponent();\n this._initTextMarkStyle();\n }\n\n reInit(spec?: T) {\n super.reInit(spec);\n this._labelInfoMap && this._labelInfoMap.clear();\n this._initTextMark();\n this._initTextMarkStyle();\n }\n\n initEvent() {\n this.event.on(ChartEvent.dataZoomChange, () => {\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n graphicItem.disableAnimation();\n }\n });\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableAnimation);\n });\n const enableAnimation = () => {\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n graphicItem.enableAnimation();\n }\n });\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_MARK_RENDER_END, enableAnimation);\n };\n }\n\n afterCompile() {\n this._labelComponentMap.forEach((info, component) => {\n const product = component.getProduct();\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n this._delegateLabelEvent(product.getGroupGraphicItem());\n }\n });\n }\n });\n }\n\n protected _initTextMark() {\n if (!this._labelInfoMap) {\n this._labelInfoMap = new Map();\n }\n\n if (!this._labelComponentMap) {\n this._labelComponentMap = new Map();\n }\n eachSeries(this._regions, (series: ISeries) => {\n const { markLabelSpec = {} } = series.getSpecInfo();\n const markNames = Object.keys(markLabelSpec);\n const region = series.getRegion();\n\n if (!this._labelInfoMap.get(region)) {\n this._labelInfoMap.set(region, []);\n }\n for (let i = 0; i < markNames.length; i++) {\n const markName = markNames[i];\n const mark = series.getMarkInName(markName);\n if (!mark) {\n continue;\n }\n markLabelSpec[markName].forEach((spec: TransformedLabelSpec, index: number) => {\n if (spec.visible) {\n const info = this._labelInfoMap.get(region);\n const labelMark = this._createMark(\n {\n type: MarkTypeEnum.label,\n name: `${markName}-label-${index}`\n },\n { noSeparateStyle: true, attributeContext: series.getMarkAttributeContext() }\n ) as ILabelMark;\n labelMark.setTarget(mark);\n info.push({\n labelMark,\n baseMark: mark,\n series,\n labelSpec: spec\n });\n }\n });\n }\n });\n }\n\n protected _initLabelComponent() {\n this._labelInfoMap.forEach((regionLabelInfo, region) => {\n if (this._layoutRule === 'region') {\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${region.getGroupMark().name}-label-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: (this._spec as any).support3d\n }\n );\n if (component) {\n component.setSkipBeforeLayouted(true);\n this._marks.addMark(component);\n this._labelComponentMap.set(component, () => {\n return this._labelInfoMap.get(region);\n });\n }\n } else {\n regionLabelInfo.forEach((labelInfo, i) => {\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${labelInfo.labelMark.name}-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: labelInfo.baseMark.getSupport3d()\n }\n );\n if (component) {\n component.setSkipBeforeLayouted(true);\n this._marks.addMark(component);\n this._labelComponentMap.set(component, () => {\n return this._labelInfoMap.get(region)[i];\n });\n labelInfo.labelMark.setComponent(component);\n }\n });\n }\n });\n }\n\n protected _initTextMarkStyle() {\n this._labelInfoMap.forEach(labelInfos => {\n labelInfos.forEach(info => {\n const { labelMark, labelSpec, series } = info;\n this.initMarkStyleWithSpec(labelMark, labelSpec, undefined);\n if (isFunction(labelSpec?.getStyleHandler)) {\n const styleHandler = labelSpec.getStyleHandler(series);\n styleHandler?.call(series, labelMark, labelSpec);\n }\n if (labelMark.stateStyle?.normal?.lineWidth) {\n labelMark.setAttribute('stroke', series.getColorAttribute(), 'normal', AttributeLevel.Base_Series);\n }\n });\n });\n }\n\n updateLayoutAttribute(): void {\n super.updateLayoutAttribute();\n this._labelComponentMap.forEach((labelInfoCb, labelComponent) => {\n const labelInfo = labelInfoCb();\n if (isArray(labelInfo)) {\n this._updateMultiLabelAttribute(labelInfo, labelComponent);\n } else {\n this._updateSingleLabelAttribute(labelInfo, labelComponent);\n }\n });\n }\n\n protected _updateMultiLabelAttribute(labelInfo: ILabelInfo[], labelComponent: IComponentMark) {\n this._updateLabelComponentAttribute(\n labelComponent.getProduct() as ILabel,\n labelInfo.map(({ baseMark }) => baseMark.getProduct()),\n labelInfo\n );\n }\n\n protected _updateSingleLabelAttribute(labelInfo: ILabelInfo, labelComponent: IComponentMark) {\n const { baseMark } = labelInfo;\n this._updateLabelComponentAttribute(labelComponent.getProduct() as ILabel, baseMark.getProduct(), [labelInfo]);\n }\n\n protected _updateLabelComponentAttribute(\n component: ILabel,\n target: IVGrammarMark | IVGrammarMark[],\n labelInfos: ILabelInfo[]\n ) {\n const dependCmp = this._option.getComponentsByType('totalLabel');\n component\n .target(target)\n .configure({ interactive: false })\n .depend(dependCmp.map(cmp => cmp.getMarks()[0].getProduct()))\n .labelStyle((mark: IVGrammarMark, params: Record<string, any>) => {\n const labelInfo = labelInfos[params.labelIndex];\n if (labelInfo) {\n const { labelSpec, labelMark } = labelInfo;\n const rule = labelMark.getRule();\n const interactive = this._interactiveConfig(labelSpec);\n /** arc label When setting the centerOffset of the spec, the label also needs to be offset accordingly, and the centerOffset is not in the labelSpec */\n const centerOffset = (this._spec as any)?.centerOffset ?? 0;\n const spec = mergeSpec(\n {\n textStyle: { pickable: labelSpec.interactive === true, ...labelSpec.style },\n overlap: {\n avoidMarks: dependCmp.map(cmp => cmp.getMarks()[0].getProductId())\n }\n },\n defaultLabelConfig(rule, labelInfo),\n {\n ...pickWithout(labelSpec, ['position', 'style', 'state', 'type']),\n ...interactive,\n centerOffset\n }\n );\n // TODO 可以优化。vgrammar 的 label 图元类型分发是完全依赖 baseMark 的类型。默认情况下,line/area 图元的标签会使用'line-data'标签,此时需要 vchart 将类型传给 vgrammar\n if (rule === 'line' || rule === 'area') {\n spec.type = rule;\n }\n return spec;\n }\n })\n .encode((datum, element, params: Record<string, any>) => {\n const labelInfo = labelInfos[params.labelIndex];\n if (labelInfo) {\n const { labelSpec, labelMark } = labelInfos[params.labelIndex];\n return labelMark.skipEncode\n ? { data: datum }\n : textAttribute(labelInfos[params.labelIndex], datum, labelSpec.formatMethod, labelSpec.formatter);\n }\n })\n .size(() => labelInfos[0].series.getRegion().getLayoutRect());\n }\n\n compileMarks() {\n this.getMarks().forEach(m => {\n const labelInfo = this._labelComponentMap.get(m)();\n let group;\n if (isArray(labelInfo)) {\n group = labelInfo[0].series.getRegion().getGroupMark().getProduct() as IGroupMark;\n } else {\n group = labelInfo.series.getRegion().getGroupMark().getProduct() as IGroupMark;\n }\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this,\n labelInfo\n }\n });\n });\n }\n\n getVRenderComponents() {\n const labels: any[] = [];\n this._labelComponentMap.forEach((info, component) => {\n const graphicItem = component.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n labels.push(graphicItem);\n }\n });\n return labels;\n }\n}\n\nexport const registerLabel = () => {\n registerVGrammarLabel();\n registerLabelMark();\n registerComponentMark();\n Factory.registerComponent(Label.type, Label, true);\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerTotalLabel = exports.totalLabelPosition = exports.TotalLabel = void 0;
|
|
6
6
|
|
|
7
|
-
const label_1 = require("../../mark/label"), type_1 = require("../interface/type"), constant_1 = require("../../constant"),
|
|
7
|
+
const label_1 = require("../../mark/label"), type_1 = require("../interface/type"), constant_1 = require("../../constant"), vutils_extension_1 = require("@visactor/vutils-extension"), vgrammar_core_1 = require("@visactor/vgrammar-core"), util_1 = require("./util"), base_label_1 = require("./base-label"), factory_1 = require("../../core/factory"), component_1 = require("../../mark/component"), vgrammar_core_2 = require("@visactor/vgrammar-core");
|
|
8
8
|
|
|
9
9
|
class TotalLabel extends base_label_1.BaseLabelComponent {
|
|
10
10
|
constructor() {
|
|
@@ -47,9 +47,12 @@ class TotalLabel extends base_label_1.BaseLabelComponent {
|
|
|
47
47
|
}
|
|
48
48
|
}
|
|
49
49
|
_initTextMarkStyle() {
|
|
50
|
+
var _a;
|
|
50
51
|
super.initMarkStyleWithSpec(this._textMark, this._spec), this.setMarkStyle(this._textMark, {
|
|
51
52
|
text: datum => datum[constant_1.STACK_FIELD_TOTAL]
|
|
52
53
|
}, "normal", constant_1.AttributeLevel.Default);
|
|
54
|
+
const series = this._getSeries();
|
|
55
|
+
null === (_a = series.initTotalLabelMarkStyle) || void 0 === _a || _a.call(series, this._textMark);
|
|
53
56
|
}
|
|
54
57
|
_initLabelComponent() {
|
|
55
58
|
const series = this._getSeries(), component = this._createMark({
|
|
@@ -77,16 +80,20 @@ class TotalLabel extends base_label_1.BaseLabelComponent {
|
|
|
77
80
|
componentMark.getProduct().target(this._baseMark.getProduct()).configure({
|
|
78
81
|
interactive: !1
|
|
79
82
|
}).labelStyle((() => {
|
|
83
|
+
var _a, _b;
|
|
80
84
|
if (this._baseMark) {
|
|
81
85
|
const {offset: offset, animation: animation, overlap: overlap} = this._spec, interactive = this._interactiveConfig(this._spec);
|
|
82
|
-
return (0,
|
|
86
|
+
return (0, vutils_extension_1.mergeSpec)({
|
|
83
87
|
textStyle: {
|
|
84
88
|
pickable: !0 === this._spec.interactive
|
|
85
89
|
},
|
|
86
90
|
position: totalLabelPosition(series, this._baseMark.type),
|
|
87
91
|
x: 0,
|
|
88
92
|
y: 0
|
|
89
|
-
},
|
|
93
|
+
}, null !== (_b = null === (_a = series.getTotalLabelComponentStyle) || void 0 === _a ? void 0 : _a.call(series, {
|
|
94
|
+
baseMark: this._baseMark,
|
|
95
|
+
labelMark: this._textMark
|
|
96
|
+
})) && void 0 !== _b ? _b : {}, Object.assign({
|
|
90
97
|
offset: offset,
|
|
91
98
|
animation: animation,
|
|
92
99
|
overlap: overlap,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/label/total-label.ts"],"names":[],"mappings":"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","file":"total-label.js","sourcesContent":["import type { ILabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { AttributeLevel, LayoutZIndex, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_TOP } from '../../constant';\nimport type { IMark, MarkType } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport type { ICartesianSeries, ISeries } from '../../series/interface';\nimport type { IGroupMark, IView } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabel as registerVGrammarLabel } from '@visactor/vgrammar-core';\nimport { textAttribute } from './util';\nimport { BaseLabelComponent } from './base-label';\nimport type { IModelInitOption, IModelSpecInfo } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Factory } from '../../core/factory';\nimport { registerComponentMark } from '../../mark/component';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\n\nexport class TotalLabel extends BaseLabelComponent {\n static type = ComponentTypeEnum.totalLabel;\n type = ComponentTypeEnum.totalLabel;\n name: string = ComponentTypeEnum.totalLabel;\n\n static specKey = 'totalLabel';\n specKey = 'totalLabel';\n\n layoutZIndex: number = LayoutZIndex.Label;\n\n private _textMark?: ILabelMark;\n private _baseMark?: IMark;\n\n static getSpecInfo(chartSpec: any, chartSpecInfo?: IChartSpecInfo): Maybe<IModelSpecInfo[]> {\n const specInfo: IModelSpecInfo[] = [];\n chartSpecInfo?.region?.forEach((regionInfo, regionIndex) => {\n regionInfo.seriesIndexes?.forEach(seriesIndex => {\n const { spec } = chartSpecInfo.series[seriesIndex];\n const labelSpec = spec[this.specKey];\n if (labelSpec?.visible) {\n specInfo.push({\n spec: labelSpec,\n type: ComponentTypeEnum.totalLabel,\n specPath: ['series', seriesIndex, this.specKey],\n specInfoPath: ['component', this.specKey, seriesIndex],\n regionIndexes: [regionIndex],\n seriesIndexes: [seriesIndex]\n });\n }\n });\n });\n return specInfo;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this._initTextMark();\n this._initLabelComponent();\n }\n\n protected _initTextMark() {\n const series = this._getSeries();\n if (series.getSpec().totalLabel?.visible) {\n const mark = series.getSeriesMark();\n if (mark) {\n const textMark = this._createMark({ type: MarkTypeEnum.label, name: `${mark.name}-total-label` }) as ILabelMark;\n this._baseMark = mark;\n this._textMark = textMark;\n this._initTextMarkStyle();\n }\n }\n }\n\n _initTextMarkStyle() {\n super.initMarkStyleWithSpec(this._textMark, this._spec);\n this.setMarkStyle(\n this._textMark,\n {\n text: (datum: Datum) => {\n return datum[STACK_FIELD_TOTAL];\n }\n },\n 'normal',\n AttributeLevel.Default\n );\n }\n\n protected _initLabelComponent() {\n const series = this._getSeries();\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${series.name}-total-label-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: this._spec.support3d\n }\n );\n if (component) {\n this._marks.addMark(component);\n }\n }\n\n afterCompile() {\n this._marks.forEach((componentMark, index) => {\n const product = componentMark.getProduct() as ReturnType<IView['label']>;\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n this._delegateLabelEvent(product.getGroupGraphicItem());\n }\n });\n }\n });\n }\n\n updateLayoutAttribute(): void {\n super.updateLayoutAttribute();\n const series = this._getSeries();\n this._marks.forEach((componentMark, index) => {\n const component = componentMark.getProduct() as ReturnType<IView['label']>;\n component\n .target(this._baseMark.getProduct())\n .configure({ interactive: false })\n .labelStyle(() => {\n if (this._baseMark) {\n const { offset, animation, overlap } = this._spec;\n const interactive = this._interactiveConfig(this._spec);\n return mergeSpec(\n {\n textStyle: { pickable: this._spec.interactive === true },\n position: totalLabelPosition(series, this._baseMark.type),\n x: 0,\n y: 0\n },\n {\n offset,\n animation,\n overlap,\n dataFilter: (data: any) => {\n return data.filter((d: any) => d.data[STACK_FIELD_TOTAL_TOP]);\n },\n ...interactive\n }\n );\n }\n })\n .encode(datum => {\n return textAttribute(\n {\n baseMark: this._baseMark,\n labelMark: this._textMark,\n series,\n labelSpec: series.getSpec().totalLabel\n },\n datum,\n this._spec.formatMethod\n );\n })\n .size(() => this._regions[0].getLayoutRect());\n });\n }\n\n compileMarks() {\n this.getMarks().forEach(m => {\n const group = this._regions[0].getGroupMark().getProduct() as IGroupMark;\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n getVRenderComponents() {\n const labels: any[] = [];\n this.getMarks().forEach(m => {\n const graphicItem = m.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n labels.push(graphicItem);\n }\n });\n return labels;\n }\n\n protected _getSeries() {\n return this._option.getSeriesInIndex([this.getSpecPath()[1] as number])[0];\n }\n}\n\nexport function totalLabelPosition(series: ISeries, type: MarkType) {\n let position;\n const { direction } = series as ICartesianSeries;\n const isInverse =\n direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = isInverse ? 1 : 0;\n switch (type) {\n case 'rect':\n case 'symbol':\n position = positionMap[direction][index];\n break;\n default:\n position = 'top';\n }\n return position;\n}\n\nexport const registerTotalLabel = () => {\n registerVGrammarLabel();\n registerLabelMark();\n registerComponentMark();\n Factory.registerComponent(TotalLabel.type, TotalLabel, true);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/label/total-label.ts"],"names":[],"mappings":"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","file":"total-label.js","sourcesContent":["import type { ILabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabelMark } from '../../mark/label';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { AttributeLevel, LayoutZIndex, STACK_FIELD_TOTAL, STACK_FIELD_TOTAL_TOP } from '../../constant';\nimport type { IMark, MarkType } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { mergeSpec } from '@visactor/vutils-extension';\nimport type { ICartesianSeries, ISeries } from '../../series/interface';\nimport type { IGroupMark, IView } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { registerLabel as registerVGrammarLabel } from '@visactor/vgrammar-core';\nimport { textAttribute } from './util';\nimport { BaseLabelComponent } from './base-label';\nimport type { IModelInitOption, IModelSpecInfo } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Factory } from '../../core/factory';\nimport { registerComponentMark } from '../../mark/component';\nimport type { IChartSpecInfo } from '../../chart/interface';\nimport { HOOK_EVENT } from '@visactor/vgrammar-core';\n\nexport class TotalLabel extends BaseLabelComponent {\n static type = ComponentTypeEnum.totalLabel;\n type = ComponentTypeEnum.totalLabel;\n name: string = ComponentTypeEnum.totalLabel;\n\n static specKey = 'totalLabel';\n specKey = 'totalLabel';\n\n layoutZIndex: number = LayoutZIndex.Label;\n\n private _textMark?: ILabelMark;\n private _baseMark?: IMark;\n\n static getSpecInfo(chartSpec: any, chartSpecInfo?: IChartSpecInfo): Maybe<IModelSpecInfo[]> {\n const specInfo: IModelSpecInfo[] = [];\n chartSpecInfo?.region?.forEach((regionInfo, regionIndex) => {\n regionInfo.seriesIndexes?.forEach(seriesIndex => {\n const { spec } = chartSpecInfo.series[seriesIndex];\n const labelSpec = spec[this.specKey];\n if (labelSpec?.visible) {\n specInfo.push({\n spec: labelSpec,\n type: ComponentTypeEnum.totalLabel,\n specPath: ['series', seriesIndex, this.specKey],\n specInfoPath: ['component', this.specKey, seriesIndex],\n regionIndexes: [regionIndex],\n seriesIndexes: [seriesIndex]\n });\n }\n });\n });\n return specInfo;\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n this._initTextMark();\n this._initLabelComponent();\n }\n\n protected _initTextMark() {\n const series = this._getSeries();\n if (series.getSpec().totalLabel?.visible) {\n const mark = series.getSeriesMark();\n if (mark) {\n const textMark = this._createMark({ type: MarkTypeEnum.label, name: `${mark.name}-total-label` }) as ILabelMark;\n this._baseMark = mark;\n this._textMark = textMark;\n this._initTextMarkStyle();\n }\n }\n }\n\n _initTextMarkStyle() {\n super.initMarkStyleWithSpec(this._textMark, this._spec);\n this.setMarkStyle(\n this._textMark,\n {\n text: (datum: Datum) => {\n return datum[STACK_FIELD_TOTAL];\n }\n },\n 'normal',\n AttributeLevel.Default\n );\n\n const series = this._getSeries();\n series.initTotalLabelMarkStyle?.(this._textMark);\n }\n\n protected _initLabelComponent() {\n const series = this._getSeries();\n const component = this._createMark(\n { type: MarkTypeEnum.component, name: `${series.name}-total-label-component` },\n {\n componentType: 'label',\n noSeparateStyle: true,\n support3d: this._spec.support3d\n }\n );\n if (component) {\n this._marks.addMark(component);\n }\n }\n\n afterCompile() {\n this._marks.forEach((componentMark, index) => {\n const product = componentMark.getProduct() as ReturnType<IView['label']>;\n if (product) {\n product.addEventListener(HOOK_EVENT.AFTER_ELEMENT_ENCODE, () => {\n if (this._isLayout === false) {\n this._delegateLabelEvent(product.getGroupGraphicItem());\n }\n });\n }\n });\n }\n\n updateLayoutAttribute(): void {\n super.updateLayoutAttribute();\n const series = this._getSeries();\n this._marks.forEach((componentMark, index) => {\n const component = componentMark.getProduct() as ReturnType<IView['label']>;\n component\n .target(this._baseMark.getProduct())\n .configure({ interactive: false })\n .labelStyle(() => {\n if (this._baseMark) {\n const { offset, animation, overlap } = this._spec;\n const interactive = this._interactiveConfig(this._spec);\n return mergeSpec(\n {\n textStyle: { pickable: this._spec.interactive === true },\n position: totalLabelPosition(series, this._baseMark.type),\n x: 0,\n y: 0\n },\n series.getTotalLabelComponentStyle?.({\n baseMark: this._baseMark,\n labelMark: this._textMark\n }) ?? {},\n {\n offset,\n animation,\n overlap,\n dataFilter: (data: any) => {\n return data.filter((d: any) => d.data[STACK_FIELD_TOTAL_TOP]);\n },\n ...interactive\n }\n );\n }\n })\n .encode(datum => {\n return textAttribute(\n {\n baseMark: this._baseMark,\n labelMark: this._textMark,\n series,\n labelSpec: series.getSpec().totalLabel\n },\n datum,\n this._spec.formatMethod\n );\n })\n .size(() => this._regions[0].getLayoutRect());\n });\n }\n\n compileMarks() {\n this.getMarks().forEach(m => {\n const group = this._regions[0].getGroupMark().getProduct() as IGroupMark;\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n getVRenderComponents() {\n const labels: any[] = [];\n this.getMarks().forEach(m => {\n const graphicItem = m.getProduct().getGroupGraphicItem();\n if (graphicItem) {\n labels.push(graphicItem);\n }\n });\n return labels;\n }\n\n protected _getSeries() {\n return this._option.getSeriesInIndex([this.getSpecPath()[1] as number])[0];\n }\n}\n\nexport function totalLabelPosition(series: ISeries, type: MarkType) {\n let position;\n const { direction } = series as ICartesianSeries;\n const isInverse =\n direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = isInverse ? 1 : 0;\n switch (type) {\n case 'rect':\n case 'symbol':\n position = positionMap[direction][index];\n break;\n default:\n position = 'top';\n }\n return position;\n}\n\nexport const registerTotalLabel = () => {\n registerVGrammarLabel();\n registerLabelMark();\n registerComponentMark();\n Factory.registerComponent(TotalLabel.type, TotalLabel, true);\n};\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { WaterfallSeries } from './../../series/waterfall/waterfall';
|
|
1
2
|
import type { Datum } from '../../typings/common';
|
|
2
3
|
import type { ILabelInfo } from './label';
|
|
3
4
|
import type { LabelItem, Strategy } from '@visactor/vrender-components';
|
|
@@ -14,6 +15,7 @@ export declare const labelRuleMap: {
|
|
|
14
15
|
rect3d: typeof barLabel;
|
|
15
16
|
arc3d: typeof pieLabel;
|
|
16
17
|
treemap: typeof treemapLabel;
|
|
18
|
+
venn: typeof vennLabel;
|
|
17
19
|
};
|
|
18
20
|
export declare function defaultLabelConfig(rule: string, labelInfo: ILabelInfo): any;
|
|
19
21
|
export declare function textAttribute(labelInfo: ILabelInfo, datum: Datum, formatMethod?: ILabelSpec['formatMethod'], formatter?: ILabelSpec['formatter']): any;
|
|
@@ -48,7 +50,9 @@ export declare function pieLabel(labelInfo: ILabelInfo): {
|
|
|
48
50
|
position: import("@visactor/vrender-components").Functional<string>;
|
|
49
51
|
smartInvert: boolean | import("@visactor/vrender-components").SmartInvertAttrs;
|
|
50
52
|
};
|
|
51
|
-
export declare function
|
|
53
|
+
export declare function stackLabelX(datum2: Datum, series: WaterfallSeries, pos: string, offset: number): number;
|
|
54
|
+
export declare function stackLabelY(datum2: Datum, series: WaterfallSeries, pos: string, offset: number): number;
|
|
55
|
+
export declare function stackLabel(labelInfo: ILabelInfo, datumTransform?: (data: any) => any, attributeTransform?: (label: LabelItem, datum: Datum, att: any) => any): {
|
|
52
56
|
customLayoutFunc: (labels: LabelItem[]) => import("@visactor/vrender-core").IText[];
|
|
53
57
|
dataFilter: (labels: LabelItem[]) => LabelItem[];
|
|
54
58
|
overlap: {
|
|
@@ -59,6 +63,10 @@ export declare function treemapLabel(labelInfo: ILabelInfo): {
|
|
|
59
63
|
customLayoutFunc: (labels: LabelItem[], text: any) => any;
|
|
60
64
|
overlap: boolean;
|
|
61
65
|
};
|
|
66
|
+
export declare function vennLabel(labelInfo: ILabelInfo): {
|
|
67
|
+
customLayoutFunc: (labels: LabelItem[], text: any) => any;
|
|
68
|
+
smartInvert: boolean;
|
|
69
|
+
};
|
|
62
70
|
export declare function LineLabel(labelInfo: ILabelInfo): {
|
|
63
71
|
position: string;
|
|
64
72
|
data: any;
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: !0
|
|
5
|
-
}), exports.LineLabel = exports.treemapLabel = exports.stackLabel = exports.pieLabel = exports.pointLabel = exports.barLabel = exports.lineDataLabel = exports.symbolLabel = exports.textAttribute = exports.defaultLabelConfig = exports.labelRuleMap = void 0;
|
|
5
|
+
}), exports.LineLabel = exports.vennLabel = exports.treemapLabel = exports.stackLabel = exports.stackLabelY = exports.stackLabelX = exports.pieLabel = exports.pointLabel = exports.barLabel = exports.lineDataLabel = exports.symbolLabel = exports.textAttribute = exports.defaultLabelConfig = exports.labelRuleMap = void 0;
|
|
6
6
|
|
|
7
7
|
const vutils_1 = require("@visactor/vutils"), vrender_core_1 = require("@visactor/vrender-core"), util_1 = require("../util");
|
|
8
8
|
|
|
@@ -115,15 +115,22 @@ function pieLabel(labelInfo) {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
|
|
118
|
-
function
|
|
118
|
+
function stackLabelX(datum2, series, pos, offset) {
|
|
119
|
+
return "horizontal" === series.direction ? "middle" === pos ? .5 * (series.totalPositionX(datum2, "end") + series.totalPositionY(datum2, "start")) : "max" === pos ? series.totalPositionX(datum2, datum2.end >= datum2.start ? "end" : "start") + offset : "min" === pos ? series.totalPositionX(datum2, datum2.end >= datum2.start ? "start" : "end") - offset : series.totalPositionX(datum2, "end") + (datum2.end >= datum2.start ? offset : -offset) : series.totalPositionX(datum2, "index", .5);
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
function stackLabelY(datum2, series, pos, offset) {
|
|
123
|
+
return "horizontal" === series.direction ? series.totalPositionY(datum2, "index", .5) : "middle" === pos ? .5 * (series.totalPositionY(datum2, "end") + series.totalPositionY(datum2, "start")) : "max" === pos ? series.totalPositionY(datum2, datum2.end >= datum2.start ? "end" : "start") - offset : "min" === pos ? series.totalPositionY(datum2, datum2.end >= datum2.start ? "start" : "end") + offset : series.totalPositionY(datum2, "end") + (datum2.end >= datum2.start ? -offset : offset);
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function stackLabel(labelInfo, datumTransform, attributeTransform) {
|
|
119
127
|
const series = labelInfo.series, labelSpec = labelInfo.labelSpec || {}, totalData = series.getTotalData();
|
|
120
128
|
return {
|
|
121
129
|
customLayoutFunc: labels => labels.map((label => {
|
|
122
|
-
const pos = labelSpec.position || "withChange", offset = labelSpec.offset || 0, datum = label.data, attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);
|
|
123
|
-
return attribute.x = (datum
|
|
124
|
-
attribute.y = (datum => "horizontal" === series.direction ? series.totalPositionY(datum, "index", .5) : "middle" === pos ? .5 * (series.totalPositionY(datum, "end") + series.totalPositionY(datum, "start")) : "max" === pos ? series.totalPositionY(datum, datum.end >= datum.start ? "end" : "start") - offset : "min" === pos ? series.totalPositionY(datum, datum.end >= datum.start ? "start" : "end") + offset : series.totalPositionY(datum, "end") + (datum.end >= datum.start ? -offset : offset))(datum),
|
|
130
|
+
const pos = labelSpec.position || "withChange", offset = labelSpec.offset || 0, datum = datumTransform ? datumTransform(label.data) : label.data, attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);
|
|
131
|
+
return attribute.x = stackLabelX(datum, series, pos, offset), attribute.y = stackLabelY(datum, series, pos, offset),
|
|
125
132
|
"horizontal" === series.direction ? attribute.textAlign = "middle" === pos ? "center" : "withChange" === pos && datum.end - datum.start >= 0 || "max" === pos ? "left" : "right" : attribute.textBaseline = "middle" === pos ? pos : "withChange" === pos && datum.end - datum.start >= 0 || "max" === pos ? "bottom" : "top",
|
|
126
|
-
(0, vrender_core_1.createText)(Object.assign(Object.assign({}, attribute), {
|
|
133
|
+
null == attributeTransform || attributeTransform(label, datum, attribute), (0, vrender_core_1.createText)(Object.assign(Object.assign({}, attribute), {
|
|
127
134
|
id: label.id
|
|
128
135
|
}));
|
|
129
136
|
})),
|
|
@@ -150,6 +157,13 @@ function treemapLabel(labelInfo) {
|
|
|
150
157
|
};
|
|
151
158
|
}
|
|
152
159
|
|
|
160
|
+
function vennLabel(labelInfo) {
|
|
161
|
+
return {
|
|
162
|
+
customLayoutFunc: (labels, text) => text,
|
|
163
|
+
smartInvert: !0
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
|
|
153
167
|
function LineLabel(labelInfo) {
|
|
154
168
|
var _a, _b, _c, _d;
|
|
155
169
|
const {labelSpec: labelSpec, series: series} = labelInfo, seriesData = null === (_c = null === (_b = null === (_a = series.getViewDataStatistics) || void 0 === _a ? void 0 : _a.call(series).latestData) || void 0 === _b ? void 0 : _b[series.getSeriesField()]) || void 0 === _c ? void 0 : _c.values, data = seriesData ? seriesData.map(((d, index) => ({
|
|
@@ -173,9 +187,11 @@ exports.labelRuleMap = {
|
|
|
173
187
|
area: LineLabel,
|
|
174
188
|
rect3d: barLabel,
|
|
175
189
|
arc3d: pieLabel,
|
|
176
|
-
treemap: treemapLabel
|
|
190
|
+
treemap: treemapLabel,
|
|
191
|
+
venn: vennLabel
|
|
177
192
|
}, exports.defaultLabelConfig = defaultLabelConfig, exports.textAttribute = textAttribute,
|
|
178
193
|
exports.symbolLabel = symbolLabel, exports.lineDataLabel = lineDataLabel, exports.barLabel = barLabel,
|
|
179
|
-
exports.pointLabel = pointLabel, exports.pieLabel = pieLabel, exports.
|
|
180
|
-
exports.
|
|
194
|
+
exports.pointLabel = pointLabel, exports.pieLabel = pieLabel, exports.stackLabelX = stackLabelX,
|
|
195
|
+
exports.stackLabelY = stackLabelY, exports.stackLabel = stackLabel, exports.treemapLabel = treemapLabel,
|
|
196
|
+
exports.vennLabel = vennLabel, exports.LineLabel = LineLabel;
|
|
181
197
|
//# sourceMappingURL=util.js.map
|