@visactor/vchart 1.6.2 → 1.7.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +2505 -1615
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/config.js +1 -0
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/utils.d.ts +2 -2
- package/cjs/animation/utils.js +13 -13
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +4 -4
- package/cjs/chart/base-chart.js +33 -22
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +2 -2
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/stack.js +1 -2
- package/cjs/compile/compilable-base.js +2 -1
- package/cjs/compile/compiler.js +1 -1
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +1 -2
- package/cjs/compile/mark/compilable-mark.js +4 -7
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +1 -0
- package/cjs/component/axis/base-axis.js +2 -2
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +12 -9
- package/cjs/component/axis/cartesian/axis.js +46 -55
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/theme.d.ts +1 -1
- package/cjs/component/axis/cartesian/interface/theme.js.map +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js +1 -1
- package/cjs/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +3 -4
- package/cjs/component/axis/polar/axis.js +7 -12
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +12 -4
- package/cjs/component/base/base-component.js +20 -10
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +3 -4
- package/cjs/component/brush/brush.js +3 -5
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +4 -5
- package/cjs/component/crosshair/base.js +1 -1
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +2 -0
- package/cjs/component/crosshair/cartesian.js +6 -8
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +1 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +2 -0
- package/cjs/component/crosshair/polar.js +5 -8
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +3 -4
- package/cjs/component/custom-mark/custom-mark.js +1 -2
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +6 -8
- package/cjs/component/data-zoom/data-filter-base-component.js +26 -25
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +12 -15
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +1 -0
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/interface.d.ts +1 -1
- package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +6 -9
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +4 -3
- package/cjs/component/geo/geo-coordinate.js +4 -4
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +2 -4
- package/cjs/component/indicator/indicator.js +3 -4
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +1 -1
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/interface/common.d.ts +3 -3
- package/cjs/component/interface/common.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +3 -4
- package/cjs/component/label/base-label.js +1 -2
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/label.d.ts +3 -3
- package/cjs/component/label/label.js +2 -3
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.d.ts +3 -3
- package/cjs/component/label/totalLabel.js +2 -3
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +6 -9
- package/cjs/component/legend/base-legend.js +3 -9
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.d.ts +4 -1
- package/cjs/component/legend/continuous/legend.js +7 -7
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +4 -1
- package/cjs/component/legend/discrete/legend.js +6 -7
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/discrete/util.d.ts +1 -1
- package/cjs/component/legend/discrete/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/map-label/component.d.ts +2 -4
- package/cjs/component/map-label/component.js +1 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +2 -3
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +1 -1
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +1 -3
- package/cjs/component/marker/mark-area/mark-area.js +6 -10
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +1 -3
- package/cjs/component/marker/mark-line/mark-line.js +8 -12
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +1 -3
- package/cjs/component/marker/mark-point/mark-point.js +6 -10
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/player/interface/theme.d.ts +1 -1
- package/cjs/component/player/interface/theme.js.map +1 -1
- package/cjs/component/player/player.d.ts +6 -7
- package/cjs/component/player/player.js +4 -7
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/interface/theme.d.ts +1 -1
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/title/title.d.ts +6 -9
- package/cjs/component/title/title.js +13 -24
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +12 -10
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +4 -3
- package/cjs/component/tooltip/tooltip.js +5 -8
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/layout.d.ts +1 -0
- package/cjs/constant/layout.js +2 -2
- package/cjs/constant/layout.js.map +1 -1
- package/cjs/core/factory.d.ts +5 -2
- package/cjs/core/factory.js +6 -3
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.d.ts +1 -0
- package/cjs/core/vchart.js +11 -8
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/events/base.d.ts +16 -0
- package/cjs/event/events/base.js +23 -0
- package/cjs/event/events/base.js.map +1 -0
- package/cjs/event/events/dimension/util/cartesian.d.ts +1 -1
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/event/events/dimension/util/common.d.ts +1 -2
- package/cjs/event/events/dimension/util/common.js +1 -1
- package/cjs/event/events/dimension/util/common.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.d.ts +1 -1
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/event/interface.d.ts +1 -1
- package/cjs/event/interface.js.map +1 -1
- package/cjs/interaction/zoom/zoomable.d.ts +1 -0
- package/cjs/interaction/zoom/zoomable.js +6 -5
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/base-layout.d.ts +3 -5
- package/cjs/layout/base-layout.js +8 -8
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +1 -2
- package/cjs/layout/grid-layout/grid-layout.js +6 -4
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/interface.d.ts +74 -6
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/{model → layout}/layout-item.d.ts +35 -23
- package/cjs/{model → layout}/layout-item.js +100 -64
- package/cjs/layout/layout-item.js.map +1 -0
- package/cjs/layout/layout3d/index.d.ts +2 -4
- package/cjs/layout/layout3d/index.js +6 -6
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/layout/util.d.ts +1 -1
- package/cjs/layout/util.js.map +1 -1
- package/cjs/mark/arc.js +2 -2
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +3 -3
- package/cjs/mark/base/base-mark.js +32 -72
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/model/base-model.d.ts +10 -6
- package/cjs/model/base-model.js +23 -21
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +20 -82
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-model.d.ts +39 -0
- package/cjs/model/layout-model.js +75 -0
- package/cjs/model/layout-model.js.map +1 -0
- package/cjs/region/interface.d.ts +3 -2
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +12 -7
- package/cjs/region/region.js +18 -10
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +10 -4
- package/cjs/series/base/base-series.js +27 -10
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/cartesian/cartesian.js +6 -3
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +1 -2
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/interface/series.d.ts +3 -2
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +2 -1
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -1
- package/cjs/series/sankey/sankey.js +23 -28
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js +22 -0
- package/cjs/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js +36 -0
- package/cjs/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js +42 -0
- package/cjs/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js +22 -0
- package/cjs/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js +25 -0
- package/cjs/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/crosshair.js +39 -0
- package/cjs/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/data-zoom.js +40 -0
- package/cjs/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/index.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/index.js +33 -0
- package/cjs/theme/builtin/common-mobile/component/index.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/indicator.js +23 -0
- package/cjs/theme/builtin/common-mobile/component/indicator.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js +23 -0
- package/cjs/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.js +44 -0
- package/cjs/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js +39 -0
- package/cjs/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js +23 -0
- package/cjs/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/map-label.js +39 -0
- package/cjs/theme/builtin/common-mobile/component/map-label.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/mark-area.js +24 -0
- package/cjs/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/mark-line.js +33 -0
- package/cjs/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/mark-point.js +19 -0
- package/cjs/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/player.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/player.js +51 -0
- package/cjs/theme/builtin/common-mobile/component/player.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/poptip.js +25 -0
- package/cjs/theme/builtin/common-mobile/component/poptip.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/title.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/title.js +23 -0
- package/cjs/theme/builtin/common-mobile/component/title.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/tooltip.js +43 -0
- package/cjs/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/component/total-label.js +16 -0
- package/cjs/theme/builtin/common-mobile/component/total-label.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/constants.d.ts +2 -0
- package/cjs/theme/builtin/common-mobile/constants.js +23 -0
- package/cjs/theme/builtin/common-mobile/constants.js.map +1 -0
- package/cjs/theme/builtin/common-mobile/mark.d.ts +3 -0
- package/cjs/theme/builtin/common-mobile/mark.js +35 -0
- package/cjs/theme/builtin/common-mobile/mark.js.map +1 -0
- package/cjs/theme/builtin/dark-mobile/index.d.ts +2 -0
- package/cjs/theme/builtin/dark-mobile/index.js +18 -0
- package/cjs/theme/builtin/dark-mobile/index.js.map +1 -0
- package/cjs/theme/builtin/index.js +4 -2
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/theme/builtin/light-mobile/index.d.ts +2 -0
- package/cjs/theme/builtin/light-mobile/index.js +18 -0
- package/cjs/theme/builtin/light-mobile/index.js.map +1 -0
- package/cjs/theme/interface.d.ts +1 -2
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/typings/index.d.ts +1 -0
- package/cjs/typings/index.js +2 -1
- package/cjs/typings/index.js.map +1 -1
- package/cjs/typings/layout.d.ts +23 -0
- package/cjs/typings/layout.js +6 -0
- package/cjs/typings/layout.js.map +1 -0
- package/cjs/typings/spec/common.d.ts +1 -2
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/util/space.d.ts +1 -1
- package/cjs/util/space.js.map +1 -1
- package/cjs/util/type.js +1 -1
- package/cjs/util/type.js.map +1 -1
- package/esm/animation/config.js +1 -0
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -2
- package/esm/animation/utils.js +13 -13
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base-chart.d.ts +4 -4
- package/esm/chart/base-chart.js +33 -22
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +2 -2
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/stack.js +1 -2
- package/esm/compile/compilable-base.js +2 -1
- package/esm/compile/compiler.js +1 -1
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +1 -2
- package/esm/compile/mark/compilable-mark.js +3 -7
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +1 -0
- package/esm/component/axis/base-axis.js +2 -2
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +12 -9
- package/esm/component/axis/cartesian/axis.js +44 -52
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/theme.d.ts +1 -1
- package/esm/component/axis/cartesian/interface/theme.js.map +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js +1 -1
- package/esm/component/axis/mixin/band-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +3 -4
- package/esm/component/axis/polar/axis.js +7 -12
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +12 -4
- package/esm/component/base/base-component.js +21 -11
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +3 -4
- package/esm/component/brush/brush.js +3 -5
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +4 -5
- package/esm/component/crosshair/base.js +1 -1
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +2 -0
- package/esm/component/crosshair/cartesian.js +5 -8
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +1 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +2 -0
- package/esm/component/crosshair/polar.js +5 -8
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +3 -4
- package/esm/component/custom-mark/custom-mark.js +1 -2
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +6 -8
- package/esm/component/data-zoom/data-filter-base-component.js +26 -24
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +12 -15
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +1 -0
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/interface.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +6 -9
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +4 -3
- package/esm/component/geo/geo-coordinate.js +3 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +2 -4
- package/esm/component/indicator/indicator.js +3 -4
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +1 -1
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/interface/common.d.ts +3 -3
- package/esm/component/interface/common.js.map +1 -1
- package/esm/component/label/base-label.d.ts +3 -4
- package/esm/component/label/base-label.js +1 -3
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/label.d.ts +3 -3
- package/esm/component/label/label.js +2 -3
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.d.ts +3 -3
- package/esm/component/label/totalLabel.js +2 -3
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +6 -9
- package/esm/component/legend/base-legend.js +3 -9
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.d.ts +4 -1
- package/esm/component/legend/continuous/legend.js +6 -7
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +4 -1
- package/esm/component/legend/discrete/legend.js +6 -7
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/discrete/util.d.ts +1 -1
- package/esm/component/legend/discrete/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/map-label/component.d.ts +2 -4
- package/esm/component/map-label/component.js +1 -1
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +2 -3
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +1 -1
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +1 -3
- package/esm/component/marker/mark-area/mark-area.js +6 -9
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +1 -3
- package/esm/component/marker/mark-line/mark-line.js +8 -11
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +1 -3
- package/esm/component/marker/mark-point/mark-point.js +6 -9
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/player/interface/theme.d.ts +1 -1
- package/esm/component/player/interface/theme.js.map +1 -1
- package/esm/component/player/player.d.ts +6 -7
- package/esm/component/player/player.js +4 -7
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/interface/theme.d.ts +1 -1
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/title/title.d.ts +6 -9
- package/esm/component/title/title.js +12 -22
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +13 -9
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +1 -0
- package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +4 -3
- package/esm/component/tooltip/tooltip.js +5 -8
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/layout.d.ts +1 -0
- package/esm/constant/layout.js +2 -0
- package/esm/constant/layout.js.map +1 -1
- package/esm/core/factory.d.ts +5 -2
- package/esm/core/factory.js +6 -3
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.d.ts +1 -0
- package/esm/core/vchart.js +11 -8
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/events/base.d.ts +16 -0
- package/esm/event/events/base.js +15 -0
- package/esm/event/events/base.js.map +1 -0
- package/esm/event/events/dimension/util/cartesian.d.ts +1 -1
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/event/events/dimension/util/common.d.ts +1 -2
- package/esm/event/events/dimension/util/common.js +1 -1
- package/esm/event/events/dimension/util/common.js.map +1 -1
- package/esm/event/events/dimension/util/polar.d.ts +1 -1
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/event/interface.d.ts +1 -1
- package/esm/event/interface.js.map +1 -1
- package/esm/interaction/zoom/zoomable.d.ts +1 -0
- package/esm/interaction/zoom/zoomable.js +6 -5
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/base-layout.d.ts +3 -5
- package/esm/layout/base-layout.js +8 -8
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +1 -2
- package/esm/layout/grid-layout/grid-layout.js +6 -4
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/interface.d.ts +74 -6
- package/esm/layout/interface.js.map +1 -1
- package/esm/{model → layout}/layout-item.d.ts +35 -23
- package/esm/{model → layout}/layout-item.js +95 -63
- package/esm/layout/layout-item.js.map +1 -0
- package/esm/layout/layout3d/index.d.ts +2 -4
- package/esm/layout/layout3d/index.js +5 -5
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/layout/util.d.ts +1 -1
- package/esm/layout/util.js.map +1 -1
- package/esm/mark/arc.js +2 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +3 -3
- package/esm/mark/base/base-mark.js +30 -69
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/model/base-model.d.ts +10 -6
- package/esm/model/base-model.js +24 -22
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +20 -82
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-model.d.ts +39 -0
- package/esm/model/layout-model.js +71 -0
- package/esm/model/layout-model.js.map +1 -0
- package/esm/region/interface.d.ts +3 -2
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +12 -7
- package/esm/region/region.js +19 -11
- package/esm/region/region.js.map +1 -1
- package/esm/series/base/base-series.d.ts +10 -4
- package/esm/series/base/base-series.js +26 -10
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/cartesian/cartesian.js +4 -1
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +1 -2
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/interface/series.d.ts +3 -2
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +2 -1
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -1
- package/esm/series/sankey/sankey.js +23 -27
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.js +18 -0
- package/esm/theme/builtin/common-mobile/component/axis/band-axis.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.d.ts +3 -0
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js +32 -0
- package/esm/theme/builtin/common-mobile/component/axis/cartesian-axis.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.js +36 -0
- package/esm/theme/builtin/common-mobile/component/axis/common-axis.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js +18 -0
- package/esm/theme/builtin/common-mobile/component/axis/linear-axis.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.d.ts +3 -0
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js +23 -0
- package/esm/theme/builtin/common-mobile/component/axis/polar-axis.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/crosshair.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/crosshair.js +35 -0
- package/esm/theme/builtin/common-mobile/component/crosshair.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/data-zoom.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/data-zoom.js +34 -0
- package/esm/theme/builtin/common-mobile/component/data-zoom.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/index.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/index.js +65 -0
- package/esm/theme/builtin/common-mobile/component/index.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/indicator.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/indicator.js +17 -0
- package/esm/theme/builtin/common-mobile/component/indicator.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.js +17 -0
- package/esm/theme/builtin/common-mobile/component/legend/color-legend.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/legend/continuous.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/legend/continuous.js +38 -0
- package/esm/theme/builtin/common-mobile/component/legend/continuous.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js +33 -0
- package/esm/theme/builtin/common-mobile/component/legend/discrete-legend.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.js +17 -0
- package/esm/theme/builtin/common-mobile/component/legend/size-legend.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/map-label.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/map-label.js +33 -0
- package/esm/theme/builtin/common-mobile/component/map-label.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/mark-area.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/mark-area.js +18 -0
- package/esm/theme/builtin/common-mobile/component/mark-area.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/mark-line.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/mark-line.js +27 -0
- package/esm/theme/builtin/common-mobile/component/mark-line.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/mark-point.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/mark-point.js +15 -0
- package/esm/theme/builtin/common-mobile/component/mark-point.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/player.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/player.js +47 -0
- package/esm/theme/builtin/common-mobile/component/player.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/poptip.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/poptip.js +19 -0
- package/esm/theme/builtin/common-mobile/component/poptip.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/title.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/title.js +17 -0
- package/esm/theme/builtin/common-mobile/component/title.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/tooltip.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/tooltip.js +37 -0
- package/esm/theme/builtin/common-mobile/component/tooltip.js.map +1 -0
- package/esm/theme/builtin/common-mobile/component/total-label.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/component/total-label.js +10 -0
- package/esm/theme/builtin/common-mobile/component/total-label.js.map +1 -0
- package/esm/theme/builtin/common-mobile/constants.d.ts +2 -0
- package/esm/theme/builtin/common-mobile/constants.js +19 -0
- package/esm/theme/builtin/common-mobile/constants.js.map +1 -0
- package/esm/theme/builtin/common-mobile/mark.d.ts +3 -0
- package/esm/theme/builtin/common-mobile/mark.js +31 -0
- package/esm/theme/builtin/common-mobile/mark.js.map +1 -0
- package/esm/theme/builtin/dark-mobile/index.d.ts +2 -0
- package/esm/theme/builtin/dark-mobile/index.js +16 -0
- package/esm/theme/builtin/dark-mobile/index.js.map +1 -0
- package/esm/theme/builtin/index.js +7 -1
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/theme/builtin/light-mobile/index.d.ts +2 -0
- package/esm/theme/builtin/light-mobile/index.js +16 -0
- package/esm/theme/builtin/light-mobile/index.js.map +1 -0
- package/esm/theme/interface.d.ts +1 -2
- package/esm/theme/interface.js.map +1 -1
- package/esm/typings/index.d.ts +1 -0
- package/esm/typings/index.js +2 -0
- package/esm/typings/index.js.map +1 -1
- package/esm/typings/layout.d.ts +23 -0
- package/esm/typings/layout.js +2 -0
- package/esm/typings/layout.js.map +1 -0
- package/esm/typings/spec/common.d.ts +1 -2
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/util/space.d.ts +1 -1
- package/esm/util/space.js.map +1 -1
- package/esm/util/type.js +1 -1
- package/esm/util/type.js.map +1 -1
- package/package.json +19 -19
- package/cjs/model/layout-item.js.map +0 -1
- package/esm/model/layout-item.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/data-zoom/scroll-bar/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import { isArray, isBoolean, isEmpty, isNil, isNumber, isValid } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\nimport type { ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollBarComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\nimport { SCROLL_BAR_DEFAULT_SIZE } from '../../../constant/scroll-bar';\nimport type { IScrollBarSpec } from './interface';\nimport { IFilterMode } from '../constant';\nimport { Factory } from '../../../core/factory';\nimport type { IZoomable } from '../../../interaction/zoom';\n\nexport class ScrollBar<T extends IScrollBarSpec = IScrollBarSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.scrollBar;\n type = ComponentTypeEnum.scrollBar;\n name: string = ComponentTypeEnum.scrollBar;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: ScrollBarComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.scrollBar || options.defaultSpec;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new ScrollBar(compSpec, { ...options, specKey: 'scrollBar' });\n }\n const zooms: ScrollBar[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new ScrollBar(s, { ...options, specIndex: i, specKey: 'scrollBar' }));\n });\n return zooms;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec as any, {\n ...options\n });\n this._filterMode = spec.filterMode ?? IFilterMode.axis;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // roam兼容逻辑\n if (isBoolean((this._spec as any).roam)) {\n this._zoomAttr.enable = false; // 对于之前的逻辑而言,只要配置了roam,zoom始终不打开\n this._dragAttr.enable = (this._spec as any).roam;\n this._scrollAttr.enable = (this._spec as any).roam;\n }\n if (this._zoomAttr.enable || this._dragAttr.enable || this._scrollAttr.enable) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n this.effect.onZoomChange?.();\n super.onLayoutEnd(ctx);\n }\n\n protected _updateScaleRange() {\n if (this._component) {\n this._component.setAttributes({\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y,\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n });\n }\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n // default value\n return SCROLL_BAR_DEFAULT_SIZE;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n // default value\n if (!this._isHorizontal) {\n return this.getLayoutRect().height;\n }\n\n return SCROLL_BAR_DEFAULT_SIZE;\n }\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new ScrollBarComponent({\n zIndex: this.layoutZIndex,\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y,\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height,\n range: [this._start, this._end],\n direction: this._isHorizontal ? 'horizontal' : 'vertical',\n delayType: this._spec?.delayType,\n delayTime: isValid(this._spec?.delayType) ? this._spec?.delayTime ?? 30 : 0,\n realTime: this._spec?.realTime ?? true,\n ...this._getComponentAttrs()\n });\n // 绑定事件,防抖,防止频繁触发\n this._component.addEventListener('scroll', (e: any) => {\n const value = e.detail.value;\n this._handleChange(value[0], value[1]);\n });\n container.add(this._component as unknown as INode);\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n super._handleChange(start, end, updateComponent);\n if (updateComponent && this._component) {\n this._component.setAttribute('range', [start, end]);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.scrollBarChange, {\n model: this,\n value: {\n filterData: this._filterMode !== IFilterMode.axis,\n start: this._start,\n end: this._end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n // do nothing\n }\n\n protected _initCommonEvent() {\n super._initCommonEvent();\n if (this._component) {\n this._component.on('scroll', (e: any) => {\n const value = e.detail.value;\n this._handleChange(value[0], value[1]);\n });\n }\n }\n\n protected _getComponentAttrs() {\n const { rail, slider, innerPadding } = this._spec;\n const attrs: Partial<ScrollBarAttributes> = {};\n\n if (!isNil(innerPadding)) {\n attrs.padding = innerPadding;\n }\n\n if (!isEmpty(rail?.style)) {\n attrs.railStyle = transformToGraphic(rail.style) as unknown as IRectGraphicAttribute;\n }\n if (!isEmpty(slider?.style)) {\n attrs.sliderStyle = transformToGraphic(slider.style) as unknown as IRectGraphicAttribute;\n }\n return attrs;\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._component] as unknown as IGroup[];\n }\n}\n\nexport const registerScrollBar = () => {\n Factory.registerComponent(ScrollBar.type, ScrollBar);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/data-zoom/scroll-bar/scroll-bar.ts"],"names":[],"mappings":"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","file":"scroll-bar.js","sourcesContent":["import { isArray, isBoolean, isEmpty, isNil, isNumber, isValid } from '@visactor/vutils';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface/type';\nimport { DataFilterBaseComponent } from '../data-filter-base-component';\nimport type { ScrollBarAttributes } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport { ScrollBar as ScrollBarComponent } from '@visactor/vrender-components';\nimport { transformToGraphic } from '../../../util/style';\nimport type { IRectGraphicAttribute, INode, IGroup, IGraphic } from '@visactor/vrender-core';\nimport { ChartEvent, LayoutLevel, LayoutZIndex } from '../../../constant';\nimport { SCROLL_BAR_DEFAULT_SIZE } from '../../../constant/scroll-bar';\nimport type { IScrollBarSpec } from './interface';\nimport { IFilterMode } from '../constant';\nimport { Factory } from '../../../core/factory';\nimport type { IZoomable } from '../../../interaction/zoom';\n\nexport class ScrollBar<T extends IScrollBarSpec = IScrollBarSpec> extends DataFilterBaseComponent<T> {\n static type = ComponentTypeEnum.scrollBar;\n type = ComponentTypeEnum.scrollBar;\n name: string = ComponentTypeEnum.scrollBar;\n\n layoutZIndex: number = LayoutZIndex.DataZoom;\n layoutLevel: number = LayoutLevel.DataZoom;\n\n // datazoom组件\n protected _component!: ScrollBarComponent;\n\n static createComponent(spec: any, options: IComponentOption) {\n const compSpec = spec.scrollBar;\n if (isNil(compSpec)) {\n return undefined;\n }\n if (!isArray(compSpec)) {\n return new ScrollBar(compSpec, options);\n }\n const zooms: ScrollBar[] = [];\n compSpec.forEach((s, i: number) => {\n zooms.push(new ScrollBar(s, { ...options, specIndex: i }));\n });\n return zooms;\n }\n\n constructor(spec: T, options: IComponentOption) {\n super(spec as any, options);\n this._filterMode = spec.filterMode ?? IFilterMode.axis;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // roam兼容逻辑\n if (isBoolean((this._spec as any).roam)) {\n this._zoomAttr.enable = false; // 对于之前的逻辑而言,只要配置了roam,zoom始终不打开\n this._dragAttr.enable = (this._spec as any).roam;\n this._scrollAttr.enable = (this._spec as any).roam;\n }\n if (this._zoomAttr.enable || this._dragAttr.enable || this._scrollAttr.enable) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n }\n\n /** LifeCycle API**/\n onLayoutEnd(ctx: any): void {\n this._updateScaleRange();\n this.effect.onZoomChange?.();\n super.onLayoutEnd(ctx);\n }\n\n protected _updateScaleRange() {\n if (this._component) {\n this._component.setAttributes({\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y,\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height\n });\n }\n }\n\n protected _computeWidth(): number {\n if (isNumber(this._spec.width)) {\n return this._spec.width;\n }\n\n if (this._isHorizontal) {\n return this.getLayoutRect().width;\n }\n // default value\n return SCROLL_BAR_DEFAULT_SIZE;\n }\n\n protected _computeHeight(): number {\n if (isNumber(this._spec.height)) {\n return this._spec.height;\n }\n\n // default value\n if (!this._isHorizontal) {\n return this.getLayoutRect().height;\n }\n\n return SCROLL_BAR_DEFAULT_SIZE;\n }\n\n protected _createOrUpdateComponent() {\n if (!this._component) {\n const container = this.getContainer();\n this._component = new ScrollBarComponent({\n zIndex: this.layoutZIndex,\n x: this.getLayoutStartPoint().x,\n y: this.getLayoutStartPoint().y,\n width: this.getLayoutRect().width,\n height: this.getLayoutRect().height,\n range: [this._start, this._end],\n direction: this._isHorizontal ? 'horizontal' : 'vertical',\n delayType: this._spec?.delayType,\n delayTime: isValid(this._spec?.delayType) ? this._spec?.delayTime ?? 30 : 0,\n realTime: this._spec?.realTime ?? true,\n ...this._getComponentAttrs()\n });\n // 绑定事件,防抖,防止频繁触发\n this._component.addEventListener('scroll', (e: any) => {\n const value = e.detail.value;\n this._handleChange(value[0], value[1]);\n });\n container.add(this._component as unknown as INode);\n }\n }\n\n protected _handleChange(start: number, end: number, updateComponent?: boolean) {\n super._handleChange(start, end, updateComponent);\n if (updateComponent && this._component) {\n this._component.setAttribute('range', [start, end]);\n }\n\n this._start = start;\n this._end = end;\n const hasChange = this._handleStateChange(this._statePointToData(start), this._statePointToData(end));\n if (hasChange) {\n this.event.emit(ChartEvent.scrollBarChange, {\n model: this,\n value: {\n filterData: this._filterMode !== IFilterMode.axis,\n start: this._start,\n end: this._end,\n startValue: this._startValue,\n endValue: this._endValue,\n newDomain: this._newDomain\n }\n });\n }\n }\n\n protected _handleDataCollectionChange() {\n // do nothing\n }\n\n protected _initCommonEvent() {\n super._initCommonEvent();\n if (this._component) {\n this._component.on('scroll', (e: any) => {\n const value = e.detail.value;\n this._handleChange(value[0], value[1]);\n });\n }\n }\n\n protected _getComponentAttrs() {\n const { rail, slider, innerPadding } = this._spec;\n const attrs: Partial<ScrollBarAttributes> = {};\n\n if (!isNil(innerPadding)) {\n attrs.padding = innerPadding;\n }\n\n if (!isEmpty(rail?.style)) {\n attrs.railStyle = transformToGraphic(rail.style) as unknown as IRectGraphicAttribute;\n }\n if (!isEmpty(slider?.style)) {\n attrs.sliderStyle = transformToGraphic(slider.style) as unknown as IRectGraphicAttribute;\n }\n return attrs;\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._component] as unknown as IGroup[];\n }\n}\n\nexport const registerScrollBar = () => {\n Factory.registerComponent(ScrollBar.type, ScrollBar);\n};\n"]}
|
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import type { IPoint } from '../../typings/coordinate';
|
|
2
2
|
import { Projection } from './projection';
|
|
3
|
-
import type { IEffect, IModelLayoutOption, IModelRenderOption
|
|
3
|
+
import type { IEffect, IModelLayoutOption, IModelRenderOption } from '../../model/interface';
|
|
4
4
|
import type { IComponentOption } from '../interface';
|
|
5
5
|
import { ComponentTypeEnum } from '../interface/type';
|
|
6
6
|
import { BaseComponent } from '../base/base-component';
|
|
7
7
|
import type { IGeoRegionSpec, IRegion } from '../../region/interface';
|
|
8
8
|
import type { IGeoCoordinate, IGeoCoordinateSpec, IProjectionSpec } from './interface';
|
|
9
|
-
import type { IChartSpec, StringOrNumber } from '../../typings';
|
|
9
|
+
import type { IChartSpec, ILayoutType, StringOrNumber } from '../../typings';
|
|
10
10
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
11
11
|
export declare function projectionName(key: string, id: number): string;
|
|
12
12
|
export declare class GeoCoordinate extends BaseComponent<IGeoRegionSpec> implements IGeoCoordinate {
|
|
13
13
|
static type: ComponentTypeEnum;
|
|
14
14
|
type: ComponentTypeEnum;
|
|
15
15
|
name: string;
|
|
16
|
-
layoutType:
|
|
16
|
+
layoutType: ILayoutType;
|
|
17
|
+
protected layoutZIndex: number;
|
|
17
18
|
_longitudeField?: string;
|
|
18
19
|
get longitudeField(): string;
|
|
19
20
|
_latitudeField?: string;
|
|
@@ -4,10 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerGeoCoordinate = exports.GeoCoordinate = exports.projectionName = void 0;
|
|
6
6
|
|
|
7
|
-
const projection_1 = require("./projection"), type_1 = require("../interface/type"), base_component_1 = require("../base/base-component"), model_1 = require("../../util/model"), merge_spec_1 = require("../../util/spec/merge-spec"),
|
|
7
|
+
const index_1 = require("./../../constant/index"), projection_1 = require("./projection"), type_1 = require("../interface/type"), base_component_1 = require("../base/base-component"), model_1 = require("../../util/model"), merge_spec_1 = require("../../util/spec/merge-spec"), index_2 = require("../../constant/index"), type_2 = require("../../series/interface/type"), zoomable_1 = require("../../interaction/zoom/zoomable"), vutils_1 = require("@visactor/vutils"), map_1 = require("../../data/transforms/map"), factory_1 = require("../../core/factory");
|
|
8
8
|
|
|
9
9
|
function projectionName(key, id) {
|
|
10
|
-
return `${
|
|
10
|
+
return `${index_2.PREFIX}_${id}_${key}`;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
exports.projectionName = projectionName;
|
|
@@ -15,7 +15,7 @@ exports.projectionName = projectionName;
|
|
|
15
15
|
class GeoCoordinate extends base_component_1.BaseComponent {
|
|
16
16
|
constructor() {
|
|
17
17
|
super(...arguments), this.type = type_1.ComponentTypeEnum.geoCoordinate, this.name = type_1.ComponentTypeEnum.geoCoordinate,
|
|
18
|
-
this.layoutType = "absolute", this._projectionSpec = {
|
|
18
|
+
this.layoutType = "absolute", this.layoutZIndex = index_1.LayoutZIndex.Mark, this._projectionSpec = {
|
|
19
19
|
name: projectionName(this.type, this.id),
|
|
20
20
|
type: "mercator"
|
|
21
21
|
}, this._actualScale = 1, this._evaluated = !1, this._lastHeight = 0, this._lastWidth = 0,
|
|
@@ -97,7 +97,7 @@ class GeoCoordinate extends base_component_1.BaseComponent {
|
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
99
|
initEvent() {
|
|
100
|
-
this.event.on(
|
|
100
|
+
this.event.on(index_2.ChartEvent.scaleUpdate, {
|
|
101
101
|
filter: ({model: model}) => (null == model ? void 0 : model.id) === this.id
|
|
102
102
|
}, this.effect.scaleUpdate.bind(this)), this._spec.roam && (this.initZoomEventOfRegions(this._regions, null, this._handleChartZoom),
|
|
103
103
|
this.initDragEventOfRegions(this._regions, (() => !0), this.pan), this._regions.forEach((r => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/geo/geo-coordinate.ts"],"names":[],"mappings":"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","file":"geo-coordinate.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IPoint } from '../../typings/coordinate';\nimport { Projection } from './projection';\nimport type { IEffect, IModelLayoutOption, IModelRenderOption, ILayoutItem } from '../../model/interface';\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IGeoRegionSpec, IRegion, IRegionSpec } from '../../region/interface';\nimport { eachSeries } from '../../util/model';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { ChartEvent, PREFIX } from '../../constant/index';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { IGeoCoordinate, IGeoCoordinateHelper, IGeoCoordinateSpec, IProjectionSpec } from './interface';\nimport type { BaseEventParams, ExtendEventParam, PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IChartSpec, StringOrNumber } from '../../typings';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport { isValid, mixin, isNil } from '@visactor/vutils';\nimport { DEFAULT_MAP_LOOK_UP_KEY } from '../../data/transforms/map';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\n\nexport function projectionName(key: string, id: number) {\n return `${PREFIX}_${id}_${key}`;\n}\nexport class GeoCoordinate extends BaseComponent<IGeoRegionSpec> implements IGeoCoordinate {\n static type = ComponentTypeEnum.geoCoordinate;\n type = ComponentTypeEnum.geoCoordinate;\n name: string = ComponentTypeEnum.geoCoordinate;\n\n layoutType: ILayoutItem['layoutType'] = 'absolute';\n\n _longitudeField?: string;\n get longitudeField() {\n return this._longitudeField;\n }\n\n _latitudeField?: string;\n get latitudeField() {\n return this._latitudeField;\n }\n\n protected _projectionSpec: IProjectionSpec = {\n name: projectionName(this.type, this.id),\n type: 'mercator'\n };\n get projectionSpec() {\n return this._projectionSpec;\n }\n setProjection(projectionSpec: IGeoCoordinateSpec['projection']) {\n this._projectionSpec = {\n ...projectionSpec,\n name: this._projectionSpec.name\n };\n }\n\n protected _projection!: Projection;\n\n protected _centerCache: Map<StringOrNumber, { x: number; y: number }>;\n\n private _actualScale = 1;\n\n getZoom() {\n return this._actualScale;\n }\n\n private _evaluated = false;\n private _lastHeight = 0;\n private _lastWidth = 0;\n\n static createComponent(spec: IChartSpec, options: IComponentOption) {\n if (isNil(spec)) {\n return null;\n }\n const result: IGeoCoordinate[] = [];\n spec.region.forEach((r: IRegionSpec, i: number) => {\n if (r.coordinate === 'geo') {\n // 去除 padding 配置,避免重复计算\n const spec = { ...r, padding: 0 } as any;\n const c = new GeoCoordinate(spec, options);\n // FIXME: hack,regions的关联关系不应该在具体的component中处理\n c._regions = options.getRegionsInIndex([i]);\n result.push(c);\n }\n });\n return result;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.coordinateHelper();\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n this._projectionSpec = mergeSpec(this._projectionSpec, this._spec.projection);\n if (this._projectionSpec.zoom > this._spec.zoomLimit?.max) {\n this._projectionSpec.zoom = this._spec.zoomLimit.max;\n }\n if (this._projectionSpec.zoom < this._spec.zoomLimit?.min) {\n this._projectionSpec.zoom = this._spec.zoomLimit.min;\n }\n\n this._actualScale = this._projectionSpec.zoom ?? 1;\n this._longitudeField = this._spec.longitudeField;\n this._latitudeField = this._spec.latitudeField;\n }\n\n // life cycle\n created() {\n super.created();\n this.initProjection();\n this.coordinateHelper();\n this.initEvent();\n this._initCenterCache();\n // FIXME: 这里是在开启缩放时,处理关联的symbol等mark,在地图缩放时应该同步缩放\n // this.rescaleMark();\n }\n\n private _handleChartZoom = (\n params: { zoomDelta: number; zoomX?: number; zoomY?: number },\n event?: BaseEventParams['event']\n ) => {\n let scale = params.zoomDelta;\n // check if the next scale will outrange\n const _lastActualScale = this._actualScale;\n this._actualScale *= scale;\n if (this._actualScale < this._spec.zoomLimit?.min) {\n this._actualScale = this._spec.zoomLimit?.min;\n scale = this._spec.zoomLimit?.min / _lastActualScale;\n } else if (this._actualScale > this._spec.zoomLimit?.max) {\n this._actualScale = this._spec.zoomLimit?.max;\n scale = this._spec.zoomLimit?.max / _lastActualScale;\n }\n if (event) {\n (event as any).zoomDelta = scale;\n }\n this.zoom(scale, [params.zoomX, params.zoomY]);\n return scale;\n };\n\n dispatchZoom(zoomDelta: number, center?: { x: number; y: number }) {\n const scaleCenter = center || {\n x: this.getLayoutStartPoint().x + this.getLayoutRect().width / 2,\n y: this.getLayoutStartPoint().y + this.getLayoutRect().height / 2\n };\n const scale = this._handleChartZoom({ zoomDelta, zoomX: scaleCenter.x, zoomY: scaleCenter.y });\n if (scale !== 1) {\n this.event.emit('zoom', {\n scale,\n scaleCenter,\n model: this\n } as unknown as ExtendEventParam);\n }\n }\n\n initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, () => true, this.pan);\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n s.event.on('zoom', e => {\n s.handleZoom(e as ZoomEventParam);\n return true;\n });\n\n s.event.on('panmove', e => {\n s.handlePan(e as PanEventParam);\n return true;\n });\n });\n });\n }\n }\n\n initProjection() {\n this._projection = new Projection(this._projectionSpec);\n if (this._projection.projection === null) {\n this._option?.onError('unsupported projection type!');\n return;\n }\n }\n\n coordinateHelper() {\n const helper: IGeoCoordinateHelper = {\n longitudeField: this._longitudeField,\n latitudeField: this._latitudeField,\n dataToPosition: this.dataToPosition.bind(this),\n dataToLongitude: this.dataToLongitude.bind(this),\n dataToLatitude: this.dataToLatitude.bind(this),\n shape: this.shape.bind(this),\n getCoordinateId: () => this.id\n };\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n (s as IGeoSeries).setCoordinateHelper(helper);\n } else {\n // 散点地图\n (s as ICartesianSeries).setXAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n getFields: () => [this._longitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n (s as unknown as ICartesianSeries).setYAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n getFields: () => [this._latitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n }\n });\n });\n }\n\n onLayoutEnd(ctx: IModelLayoutOption) {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n const { width, height } = this.getLayoutRect();\n if (!this._evaluated) {\n const { translate, scale, center } = this.evaluateProjection([0, 0], [width, height]);\n translate && this._projection.translate(translate);\n scale && this._projection.scale(scale);\n center && this._projection.center(center);\n this._evaluated = true;\n } else {\n const dx = (width - this._lastWidth) / 2;\n const dy = (height - this._lastHeight) / 2;\n this.pan([dx, dy]);\n eachSeries(this._regions, s => {\n // 其他系列会根据 projection 进行 encode.x/y 上的位置更新\n // 只有地图系列,位置不依赖 encode,而是通过 translate 进行更新\n if (s.type === SeriesTypeEnum.map) {\n s.handlePan({ delta: [dx, dy] });\n }\n });\n }\n this._lastWidth = width;\n this._lastHeight = height;\n\n super.onLayoutEnd(ctx);\n }\n onRender(ctx: IModelRenderOption) {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n\n // util\n protected collectFeatures() {\n const features: any[] = [];\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n features.push(...((s as unknown as IGeoSeries).getMapViewData()?.latestData ?? []));\n }\n });\n });\n return features;\n }\n\n // API\n dataToPosition(values: number[] = []): IPoint {\n const point = this._projection?.project([values[0], values[1]]);\n return {\n x: point?.[0],\n y: point?.[1]\n };\n }\n\n dataToLatitude(lat: number): number {\n const point = this._projection?.project([0, lat]);\n return point?.[1];\n }\n\n dataToLongitude(lon: number): number {\n const point = this._projection?.project([lon, 0]);\n return point?.[0];\n }\n\n // interaction\n zoom(p: number, anchor: [number, number] = [0, 0]) {\n let s = this._projection?.scale() ?? 0;\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n s = s * p;\n t_x -= (anchor[0] - t_x) * (p - 1);\n t_y -= (anchor[1] - t_y) * (p - 1);\n\n this._projection?.scale(s);\n this._projection?.translate([t_x, t_y]);\n }\n\n pan = (delta: [number, number] = [0, 0]) => {\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n t_x += delta[0];\n t_y += delta[1];\n this._projection?.translate([t_x, t_y]);\n };\n\n shape(datum?: any) {\n return this._projection.shape(datum);\n }\n\n /**\n * 根据像素坐标获取经纬度位置\n */\n invert(point: [number, number]) {\n return this._projection.invert(point);\n }\n\n private evaluateProjection(start: [number, number], size: [number, number]) {\n const evaluated = this._projection.evaluate(start, size, this.collectFeatures());\n let translate = evaluated.translate();\n const scale = evaluated.scale() * (this._projectionSpec.zoom ?? 1);\n const center = this._projectionSpec.center ?? evaluated.invert([size[0] / 2, size[1] / 2]);\n center && (translate = [size[0] / 2, size[1] / 2]);\n return { translate, scale, center };\n }\n\n protected _initCenterCache() {\n if (!this._centerCache) {\n this._centerCache = new Map();\n }\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === 'map') {\n const mapData = (s as IGeoSeries).getMapViewData()?.latestData ?? [];\n mapData.forEach((feature: any = {}) => {\n const key = feature[s.getDimensionField()[0]] || feature[DEFAULT_MAP_LOOK_UP_KEY];\n const center = (s as IGeoSeries).getDatumCenter(feature);\n if (key && isValid(center)) {\n this._centerCache.set(key, { x: center[0], y: center[1] });\n }\n });\n }\n });\n });\n }\n\n release(): void {\n super.release();\n this._centerCache && this._centerCache.clear();\n this._centerCache = null;\n }\n}\n\nmixin(GeoCoordinate, Zoomable);\n\nexport const registerGeoCoordinate = () => {\n Factory.registerComponent(GeoCoordinate.type, GeoCoordinate);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/geo/geo-coordinate.ts"],"names":[],"mappings":"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","file":"geo-coordinate.js","sourcesContent":["import { LayoutZIndex } from './../../constant/index';\n/* eslint-disable no-duplicate-imports */\nimport type { IPoint } from '../../typings/coordinate';\nimport { Projection } from './projection';\nimport type { IEffect, IModelLayoutOption, IModelRenderOption } from '../../model/interface';\nimport type { IComponentOption } from '../interface';\nimport { ComponentTypeEnum } from '../interface/type';\nimport { BaseComponent } from '../base/base-component';\nimport type { IGeoRegionSpec, IRegion, IRegionSpec } from '../../region/interface';\nimport { eachSeries } from '../../util/model';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { ChartEvent, PREFIX } from '../../constant/index';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport type { IGeoCoordinate, IGeoCoordinateHelper, IGeoCoordinateSpec, IProjectionSpec } from './interface';\nimport type { BaseEventParams, ExtendEventParam, PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IChartSpec, ILayoutType, StringOrNumber } from '../../typings';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport { isValid, mixin, isNil } from '@visactor/vutils';\nimport { DEFAULT_MAP_LOOK_UP_KEY } from '../../data/transforms/map';\nimport { Factory } from '../../core/factory';\nimport type { IGraphic } from '@visactor/vrender-core';\n\nexport function projectionName(key: string, id: number) {\n return `${PREFIX}_${id}_${key}`;\n}\nexport class GeoCoordinate extends BaseComponent<IGeoRegionSpec> implements IGeoCoordinate {\n static type = ComponentTypeEnum.geoCoordinate;\n type = ComponentTypeEnum.geoCoordinate;\n name: string = ComponentTypeEnum.geoCoordinate;\n\n layoutType: ILayoutType = 'absolute';\n protected layoutZIndex: number = LayoutZIndex.Mark;\n\n _longitudeField?: string;\n get longitudeField() {\n return this._longitudeField;\n }\n\n _latitudeField?: string;\n get latitudeField() {\n return this._latitudeField;\n }\n\n protected _projectionSpec: IProjectionSpec = {\n name: projectionName(this.type, this.id),\n type: 'mercator'\n };\n get projectionSpec() {\n return this._projectionSpec;\n }\n setProjection(projectionSpec: IGeoCoordinateSpec['projection']) {\n this._projectionSpec = {\n ...projectionSpec,\n name: this._projectionSpec.name\n };\n }\n\n protected _projection!: Projection;\n\n protected _centerCache: Map<StringOrNumber, { x: number; y: number }>;\n\n private _actualScale = 1;\n\n getZoom() {\n return this._actualScale;\n }\n\n private _evaluated = false;\n private _lastHeight = 0;\n private _lastWidth = 0;\n\n static createComponent(spec: IChartSpec, options: IComponentOption) {\n if (isNil(spec)) {\n return null;\n }\n const result: IGeoCoordinate[] = [];\n spec.region.forEach((r: IRegionSpec, i: number) => {\n if (r.coordinate === 'geo') {\n // 去除 padding 配置,避免重复计算\n const spec = { ...r, padding: 0 } as any;\n const c = new GeoCoordinate(spec, options);\n // FIXME: hack,regions的关联关系不应该在具体的component中处理\n c._regions = options.getRegionsInIndex([i]);\n result.push(c);\n }\n });\n return result;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.coordinateHelper();\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n }\n\n this._projectionSpec = mergeSpec(this._projectionSpec, this._spec.projection);\n if (this._projectionSpec.zoom > this._spec.zoomLimit?.max) {\n this._projectionSpec.zoom = this._spec.zoomLimit.max;\n }\n if (this._projectionSpec.zoom < this._spec.zoomLimit?.min) {\n this._projectionSpec.zoom = this._spec.zoomLimit.min;\n }\n\n this._actualScale = this._projectionSpec.zoom ?? 1;\n this._longitudeField = this._spec.longitudeField;\n this._latitudeField = this._spec.latitudeField;\n }\n\n // life cycle\n created() {\n super.created();\n this.initProjection();\n this.coordinateHelper();\n this.initEvent();\n this._initCenterCache();\n // FIXME: 这里是在开启缩放时,处理关联的symbol等mark,在地图缩放时应该同步缩放\n // this.rescaleMark();\n }\n\n private _handleChartZoom = (\n params: { zoomDelta: number; zoomX?: number; zoomY?: number },\n event?: BaseEventParams['event']\n ) => {\n let scale = params.zoomDelta;\n // check if the next scale will outrange\n const _lastActualScale = this._actualScale;\n this._actualScale *= scale;\n if (this._actualScale < this._spec.zoomLimit?.min) {\n this._actualScale = this._spec.zoomLimit?.min;\n scale = this._spec.zoomLimit?.min / _lastActualScale;\n } else if (this._actualScale > this._spec.zoomLimit?.max) {\n this._actualScale = this._spec.zoomLimit?.max;\n scale = this._spec.zoomLimit?.max / _lastActualScale;\n }\n if (event) {\n (event as any).zoomDelta = scale;\n }\n this.zoom(scale, [params.zoomX, params.zoomY]);\n return scale;\n };\n\n dispatchZoom(zoomDelta: number, center?: { x: number; y: number }) {\n const scaleCenter = center || {\n x: this.getLayoutStartPoint().x + this.getLayoutRect().width / 2,\n y: this.getLayoutStartPoint().y + this.getLayoutRect().height / 2\n };\n const scale = this._handleChartZoom({ zoomDelta, zoomX: scaleCenter.x, zoomY: scaleCenter.y });\n if (scale !== 1) {\n this.event.emit('zoom', {\n scale,\n scaleCenter,\n model: this\n } as unknown as ExtendEventParam);\n }\n }\n\n initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomEventOfRegions(this._regions, null, this._handleChartZoom);\n (this as unknown as IZoomable).initDragEventOfRegions(this._regions, () => true, this.pan);\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n s.event.on('zoom', e => {\n s.handleZoom(e as ZoomEventParam);\n return true;\n });\n\n s.event.on('panmove', e => {\n s.handlePan(e as PanEventParam);\n return true;\n });\n });\n });\n }\n }\n\n initProjection() {\n this._projection = new Projection(this._projectionSpec);\n if (this._projection.projection === null) {\n this._option?.onError('unsupported projection type!');\n return;\n }\n }\n\n coordinateHelper() {\n const helper: IGeoCoordinateHelper = {\n longitudeField: this._longitudeField,\n latitudeField: this._latitudeField,\n dataToPosition: this.dataToPosition.bind(this),\n dataToLongitude: this.dataToLongitude.bind(this),\n dataToLatitude: this.dataToLatitude.bind(this),\n shape: this.shape.bind(this),\n getCoordinateId: () => this.id\n };\n\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n (s as IGeoSeries).setCoordinateHelper(helper);\n } else {\n // 散点地图\n (s as ICartesianSeries).setXAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.x;\n }\n return this.dataToLongitude(value);\n },\n getFields: () => [this._longitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n (s as unknown as ICartesianSeries).setYAxisHelper({\n ...helper,\n isContinuous: true,\n dataToPosition: (values: any[], option) => {\n let value = values[0];\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n valueToPosition: (value: any, option) => {\n if (isNil(value) && option?.datum) {\n const nameFieldValue = option.datum[(s as ICartesianSeries).getDimensionField()[0]];\n value = this._centerCache.get(nameFieldValue)?.y;\n }\n return this.dataToLatitude(value);\n },\n getFields: () => [this._latitudeField],\n getAxisType: () => this.type,\n getAxisId: () => this.id,\n isInverse: () => false\n });\n }\n });\n });\n }\n\n onLayoutEnd(ctx: IModelLayoutOption) {\n this.setLayoutRect(this._regions[0].getLayoutRect());\n this.setLayoutStartPosition(this._regions[0].getLayoutStartPoint());\n const { width, height } = this.getLayoutRect();\n if (!this._evaluated) {\n const { translate, scale, center } = this.evaluateProjection([0, 0], [width, height]);\n translate && this._projection.translate(translate);\n scale && this._projection.scale(scale);\n center && this._projection.center(center);\n this._evaluated = true;\n } else {\n const dx = (width - this._lastWidth) / 2;\n const dy = (height - this._lastHeight) / 2;\n this.pan([dx, dy]);\n eachSeries(this._regions, s => {\n // 其他系列会根据 projection 进行 encode.x/y 上的位置更新\n // 只有地图系列,位置不依赖 encode,而是通过 translate 进行更新\n if (s.type === SeriesTypeEnum.map) {\n s.handlePan({ delta: [dx, dy] });\n }\n });\n }\n this._lastWidth = width;\n this._lastHeight = height;\n\n super.onLayoutEnd(ctx);\n }\n onRender(ctx: IModelRenderOption) {\n // do nothing\n }\n\n // region\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n\n // util\n protected collectFeatures() {\n const features: any[] = [];\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === SeriesTypeEnum.map) {\n features.push(...((s as unknown as IGeoSeries).getMapViewData()?.latestData ?? []));\n }\n });\n });\n return features;\n }\n\n // API\n dataToPosition(values: number[] = []): IPoint {\n const point = this._projection?.project([values[0], values[1]]);\n return {\n x: point?.[0],\n y: point?.[1]\n };\n }\n\n dataToLatitude(lat: number): number {\n const point = this._projection?.project([0, lat]);\n return point?.[1];\n }\n\n dataToLongitude(lon: number): number {\n const point = this._projection?.project([lon, 0]);\n return point?.[0];\n }\n\n // interaction\n zoom(p: number, anchor: [number, number] = [0, 0]) {\n let s = this._projection?.scale() ?? 0;\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n s = s * p;\n t_x -= (anchor[0] - t_x) * (p - 1);\n t_y -= (anchor[1] - t_y) * (p - 1);\n\n this._projection?.scale(s);\n this._projection?.translate([t_x, t_y]);\n }\n\n pan = (delta: [number, number] = [0, 0]) => {\n const t = this._projection?.translate() ?? [0, 0];\n let t_x = t[0];\n let t_y = t[1];\n t_x += delta[0];\n t_y += delta[1];\n this._projection?.translate([t_x, t_y]);\n };\n\n shape(datum?: any) {\n return this._projection.shape(datum);\n }\n\n /**\n * 根据像素坐标获取经纬度位置\n */\n invert(point: [number, number]) {\n return this._projection.invert(point);\n }\n\n private evaluateProjection(start: [number, number], size: [number, number]) {\n const evaluated = this._projection.evaluate(start, size, this.collectFeatures());\n let translate = evaluated.translate();\n const scale = evaluated.scale() * (this._projectionSpec.zoom ?? 1);\n const center = this._projectionSpec.center ?? evaluated.invert([size[0] / 2, size[1] / 2]);\n center && (translate = [size[0] / 2, size[1] / 2]);\n return { translate, scale, center };\n }\n\n protected _initCenterCache() {\n if (!this._centerCache) {\n this._centerCache = new Map();\n }\n this._regions.forEach(r => {\n r.getSeries().forEach(s => {\n if (s.type === 'map') {\n const mapData = (s as IGeoSeries).getMapViewData()?.latestData ?? [];\n mapData.forEach((feature: any = {}) => {\n const key = feature[s.getDimensionField()[0]] || feature[DEFAULT_MAP_LOOK_UP_KEY];\n const center = (s as IGeoSeries).getDatumCenter(feature);\n if (key && isValid(center)) {\n this._centerCache.set(key, { x: center[0], y: center[1] });\n }\n });\n }\n });\n });\n }\n\n release(): void {\n super.release();\n this._centerCache && this._centerCache.clear();\n this._centerCache = null;\n }\n}\n\nmixin(GeoCoordinate, Zoomable);\n\nexport const registerGeoCoordinate = () => {\n Factory.registerComponent(GeoCoordinate.type, GeoCoordinate);\n};\n"]}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import type { IComponentOption } from '../interface';
|
|
2
2
|
import { ComponentTypeEnum } from '../interface/type';
|
|
3
|
-
import type { LayoutItem } from '../../model/layout-item';
|
|
4
3
|
import { BaseComponent } from '../base/base-component';
|
|
5
4
|
import type { IRegion } from '../../region/interface';
|
|
6
5
|
import type { IIndicator, IIndicatorSpec, IIndicatorTheme } from './interface';
|
|
7
|
-
import type { Maybe } from '../../typings';
|
|
6
|
+
import type { ILayoutType, Maybe } from '../../typings';
|
|
8
7
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
9
8
|
export declare class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {
|
|
10
|
-
static speckey: string;
|
|
11
9
|
static type: ComponentTypeEnum;
|
|
12
10
|
type: ComponentTypeEnum;
|
|
13
11
|
name: string;
|
|
14
|
-
layoutType:
|
|
12
|
+
layoutType: ILayoutType;
|
|
15
13
|
layoutZIndex: number;
|
|
16
14
|
layoutLevel: number;
|
|
17
15
|
private _gap;
|
|
@@ -14,10 +14,9 @@ class Indicator extends base_component_1.BaseComponent {
|
|
|
14
14
|
}
|
|
15
15
|
static createComponent(spec, options) {
|
|
16
16
|
if (this.type !== Indicator.type) return null;
|
|
17
|
-
const indicatorSpec = spec.indicator
|
|
17
|
+
const indicatorSpec = spec.indicator;
|
|
18
18
|
return (0, vutils_1.array)(indicatorSpec).filter((s => s && !1 !== s.visible)).map(((s, index) => new Indicator(s, Object.assign(Object.assign({}, options), {
|
|
19
|
-
specIndex: index
|
|
20
|
-
specKey: Indicator.speckey
|
|
19
|
+
specIndex: index
|
|
21
20
|
}))));
|
|
22
21
|
}
|
|
23
22
|
created() {
|
|
@@ -130,7 +129,7 @@ class Indicator extends base_component_1.BaseComponent {
|
|
|
130
129
|
}
|
|
131
130
|
}
|
|
132
131
|
|
|
133
|
-
exports.Indicator = Indicator, Indicator.
|
|
132
|
+
exports.Indicator = Indicator, Indicator.type = type_1.ComponentTypeEnum.indicator;
|
|
134
133
|
|
|
135
134
|
const registerIndicator = () => {
|
|
136
135
|
factory_1.Factory.registerComponent(Indicator.type, Indicator);
|
|
@@ -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 type { IComponentOption } from '../interface';\nimport { LayoutLevel, LayoutZIndex } from '../../constant';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base/base-component';\nimport type { IRegion } from '../../region/interface';\nimport type { IIndicator, IIndicatorItemSpec, IIndicatorSpec, IIndicatorTheme } from './interface';\nimport type { Maybe } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { eachSeries } from '../../util/model';\nimport { transformToGraphic } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModel } 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 { IVisualScale, IVisualSpecStyle, VisualType, FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\n\nexport class Indicator<T extends IIndicatorSpec> extends BaseComponent<T> implements IIndicator {\n static speckey = 'indicator';\n static type = ComponentTypeEnum.indicator;\n type = ComponentTypeEnum.indicator;\n name: string = ComponentTypeEnum.indicator;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\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 protected declare _theme: Maybe<IIndicatorTheme>;\n\n static createComponent(spec: any, options: IComponentOption) {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = spec.indicator || options.defaultSpec;\n const indicators: IIndicator[] = array(indicatorSpec)\n .filter(s => s && s.visible !== false)\n .map((s, index) => new Indicator(s, { ...options, specIndex: index, specKey: Indicator.speckey }));\n return indicators;\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 const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('hovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unhovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('selected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unselected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\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 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 style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text)\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 | IVisualScale\n | VisualType<string>[]\n | FunctionType<string | number | string[]>\n | IVisualSpecStyle<unknown, string | number | string[]>\n | undefined\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(model: IModel) {\n return eachSeries(this._regions, s => model === s) || this._regions.includes(model as IRegion);\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\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":"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","file":"indicator.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IComponentOption } from '../interface';\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, IIndicatorTheme } from './interface';\nimport type { ILayoutType, Maybe } from '../../typings';\nimport { mergeSpec } from '../../util/spec/merge-spec';\nimport { eachSeries } from '../../util/model';\nimport { transformToGraphic } from '../../util/style';\nimport { getActualNumValue } from '../../util/space';\nimport { isEqual, isValid, isFunction, array } from '@visactor/vutils';\nimport { indicatorMapper } from './util';\nimport type { IModel } 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 { IVisualScale, IVisualSpecStyle, VisualType, FunctionType } from '../../typings/visual';\nimport { Factory } from '../../core/factory';\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 layoutType: ILayoutType = 'absolute';\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 protected declare _theme: Maybe<IIndicatorTheme>;\n\n static createComponent(spec: any, options: IComponentOption) {\n if (this.type !== Indicator.type) {\n return null;\n }\n const indicatorSpec = spec.indicator;\n const indicators: IIndicator[] = array(indicatorSpec)\n .filter(s => s && s.visible !== false)\n .map((s, index) => new Indicator(s, { ...options, specIndex: index }));\n return indicators;\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 const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (this._spec.trigger === 'hover') {\n this.event.on('hovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unhovered', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(null);\n }\n });\n } else {\n this.event.on('selected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\n this.updateDatum(params.value[0]);\n }\n });\n this.event.on('unselected', params => {\n if (!params.model || this.isRelativeModel(params.model)) {\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 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 style: {\n ...transformToGraphic(this._spec.title.style),\n text: this._createText(this._spec.title.field, this._spec.title.style.text)\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 | IVisualScale\n | VisualType<string>[]\n | FunctionType<string | number | string[]>\n | IVisualSpecStyle<unknown, string | number | string[]>\n | undefined\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(model: IModel) {\n return eachSeries(this._regions, s => model === s) || this._regions.includes(model as IRegion);\n }\n\n getVRenderComponents(): IGraphic[] {\n return [this._indicatorComponent] as unknown as IGroup[];\n }\n\n clear(): void {\n this._cacheAttrs = null;\n super.clear();\n }\n}\n\nexport const registerIndicator = () => {\n Factory.registerComponent(Indicator.type, Indicator);\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IPercent } from '../../
|
|
1
|
+
import type { IPercent } from '../../typings/layout';
|
|
2
2
|
import type { ConvertToMarkStyleSpec, ITextMarkSpec } from '../../typings/visual';
|
|
3
3
|
import type { IComponentSpec } from '../base/interface';
|
|
4
4
|
import type { IComponent } from '../interface';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/indicator/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPercent } from '../../
|
|
1
|
+
{"version":3,"sources":["../src/component/indicator/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IPercent } from '../../typings/layout';\nimport type { ConvertToMarkStyleSpec, ITextMarkSpec } from '../../typings/visual';\nimport type { IComponentSpec } from '../base/interface';\nimport type { IComponent } from '../interface';\n\nexport interface IIndicatorItemSpec {\n /**\n * 是否显示当前项\n * @default true\n */\n visible?: boolean;\n /**\n * 文字内容字段\n * 优先级高于样式中 text 配置\n */\n field?: string;\n /**\n * title.space: title 和 content 之间的间距\n * contentItem.space: content 之间的间距\n * 兼容gap\n */\n space?: number;\n /**\n * 是否自适应文字空间进行缩略\n * @default false\n */\n autoLimit?: boolean;\n /**\n * 是否自适应文字空间缩放文字大小\n * @default false\n */\n autoFit?: boolean;\n /**\n * 自适应文字宽度与可用空间的比例\n * @default 0.5\n */\n fitPercent?: number;\n /**\n * 文字样式\n */\n style?: Omit<ConvertToMarkStyleSpec<ITextMarkSpec>, 'visible'>;\n}\n\nexport type IIndicator = IComponent;\n\nexport interface IIndicatorSpec extends IComponentSpec {\n /**\n * 是否显示指标卡组件\n * @default true\n */\n visible?: boolean;\n /**\n * 保持指标卡内容显示 / 交互后才显示\n * @default true\n */\n fixed?: boolean;\n /**\n * 交互触发类型\n * @default 'select'\n */\n trigger?: 'hover' | 'select' | 'none';\n /**\n * 指标卡文字间隔\n * @deparated 已弃用,请使用 title.space 或者 content.space\n * @default 0\n */\n gap?: number;\n /**\n * 指标卡 x 方向偏移\n * 支持两种格式:像素值、百分比\n * @default 0\n */\n offsetX?: number | IPercent;\n /**\n * 指标卡 y 方向偏移\n * 支持两种格式:像素值、百分比\n * @default 0\n */\n offsetY?: number | IPercent;\n /**\n * 指标卡宽度占内容区域的最大比值(从0到1)\n */\n limitRatio?: number;\n /**\n * 指标卡标题文字配置\n */\n title?: IIndicatorItemSpec;\n /**\n * 指标卡内容文字配置\n */\n content?: IIndicatorItemSpec[] | IIndicatorItemSpec;\n}\n\nexport interface IIndicatorItemTheme extends IIndicatorItemSpec {\n style?: Omit<ITextMarkSpec, 'visible'>;\n}\n\nexport interface IIndicatorTheme extends IIndicatorSpec {\n /**\n * 指标卡标题文字配置\n */\n title?: IIndicatorItemTheme;\n /**\n * 指标卡内容文字配置\n */\n content?: IIndicatorItemTheme;\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { ISeriesFilter } from '../../region/interface';
|
|
2
2
|
import type { IAnimate } from '../../animation/interface';
|
|
3
|
-
import type {
|
|
3
|
+
import type { ILayoutModel, IModelOption } from '../../model/interface';
|
|
4
4
|
import type { IRegion } from '../../region/interface';
|
|
5
5
|
import type { ISeries } from '../../series/interface';
|
|
6
6
|
import type { StringOrNumber } from '../../typings';
|
|
@@ -10,7 +10,6 @@ export interface IComponentOption extends IModelOption {
|
|
|
10
10
|
getRegionsInIndex: (index?: number[]) => IRegion[];
|
|
11
11
|
getRegionsInIds: (ids: number[]) => IRegion[];
|
|
12
12
|
getRegionsInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => IRegion[];
|
|
13
|
-
defaultSpec?: any;
|
|
14
13
|
getAllSeries: () => ISeries[];
|
|
15
14
|
getSeriesInIndex: (index?: number[]) => ISeries[];
|
|
16
15
|
getSeriesInIds: (ids?: number[]) => ISeries[];
|
|
@@ -20,7 +19,7 @@ export interface IComponentOption extends IModelOption {
|
|
|
20
19
|
getComponentByUserId: (userId: StringOrNumber) => IComponent | undefined;
|
|
21
20
|
getComponentsByKey: (key: string) => IComponent[];
|
|
22
21
|
}
|
|
23
|
-
export interface IComponent extends
|
|
22
|
+
export interface IComponent extends ILayoutModel {
|
|
24
23
|
readonly name: string;
|
|
25
24
|
readonly animate?: IAnimate;
|
|
26
25
|
getRegions: () => IRegion[];
|
|
@@ -31,6 +30,7 @@ export interface IComponent extends IModel, ILayoutItem {
|
|
|
31
30
|
}
|
|
32
31
|
export interface IComponentConstructor {
|
|
33
32
|
type: string;
|
|
33
|
+
specKey?: string;
|
|
34
34
|
createComponent: (spec: any, options: IComponentOption) => IComponent | IComponent[] | undefined;
|
|
35
35
|
new (spec: any, options: IComponentOption): IComponent;
|
|
36
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { ISeriesFilter } from '../../region/interface';\nimport type { IAnimate } from '../../animation/interface';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/component/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { ISeriesFilter } from '../../region/interface';\nimport type { IAnimate } from '../../animation/interface';\nimport type { ILayoutModel, IModelOption } from '../../model/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport type { IRegion } from '../../region/interface';\nimport type { ISeries } from '../../series/interface';\nimport type { StringOrNumber } from '../../typings';\nimport type { IGraphic } from '@visactor/vrender-core';\n/**\n * 组件作为图表辅助阅读等功能的模块,除了model提供的能力之外,还有以下功能特点\n * 支持对多region的绑定。\n * 能够在resize时正常的重新对内部元素布局。\n * 保持数据独立,模块间的依赖关系,能从数据上处理的应当从数据上处理。\n */\n\nexport interface IComponentOption extends IModelOption {\n // 区域\n getAllRegions: () => IRegion[];\n getRegionsInIndex: (index?: number[]) => IRegion[];\n getRegionsInIds: (ids: number[]) => IRegion[];\n getRegionsInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => IRegion[];\n // series\n getAllSeries: () => ISeries[];\n getSeriesInIndex: (index?: number[]) => ISeries[];\n getSeriesInIds: (ids?: number[]) => ISeries[];\n getSeriesInUserIdOrIndex: (user_ids?: StringOrNumber[], index?: number[]) => ISeries[];\n // component\n getAllComponents: () => IComponent[];\n getComponentByIndex: (key: string, index: number) => IComponent | undefined;\n getComponentByUserId: (userId: StringOrNumber) => IComponent | undefined;\n getComponentsByKey: (key: string) => IComponent[];\n}\n\nexport interface IComponent extends ILayoutModel {\n readonly name: string;\n readonly animate?: IAnimate;\n\n // 区域\n getRegions: () => IRegion[];\n getBindSeriesFilter?: () => ISeriesFilter;\n changeRegions: (regions: IRegion[]) => void;\n getVRenderComponents: () => IGraphic[];\n\n // 清空,用于更新等场景\n clear: () => void;\n}\n\nexport interface IComponentConstructor {\n type: string;\n specKey?: string;\n createComponent: (spec: any, options: IComponentOption) => IComponent | IComponent[] | undefined;\n new (spec: any, options: IComponentOption): IComponent;\n}\n"]}
|
|
@@ -3,15 +3,15 @@ import type { IComponentOption } from '../interface';
|
|
|
3
3
|
import { ComponentTypeEnum } from '../interface/type';
|
|
4
4
|
import type { IRegion } from '../../region/interface';
|
|
5
5
|
import type { IModelRenderOption } from '../../model/interface';
|
|
6
|
-
import type { LayoutItem } from '../../model/layout-item';
|
|
7
6
|
import type { ILabelSpec } from './interface';
|
|
8
7
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
8
|
+
import type { ILayoutType } from '../../typings/layout';
|
|
9
9
|
export declare abstract class BaseLabelComponent<T extends ILabelSpec = ILabelSpec> extends BaseComponent<T> {
|
|
10
10
|
static type: ComponentTypeEnum;
|
|
11
11
|
type: ComponentTypeEnum;
|
|
12
12
|
name: string;
|
|
13
|
-
layoutType:
|
|
14
|
-
layoutZIndex:
|
|
13
|
+
layoutType: ILayoutType;
|
|
14
|
+
layoutZIndex: number;
|
|
15
15
|
constructor(spec: T, options: IComponentOption);
|
|
16
16
|
protected _interactiveConfig(labelSpec: ILabelSpec): {
|
|
17
17
|
hover: boolean;
|
|
@@ -26,7 +26,6 @@ export declare abstract class BaseLabelComponent<T extends ILabelSpec = ILabelSp
|
|
|
26
26
|
hover: boolean;
|
|
27
27
|
select: boolean;
|
|
28
28
|
};
|
|
29
|
-
setLayoutStartPosition(): void;
|
|
30
29
|
_compareSpec(): {
|
|
31
30
|
change: boolean;
|
|
32
31
|
reMake: boolean;
|
|
@@ -10,7 +10,7 @@ class BaseLabelComponent extends base_component_1.BaseComponent {
|
|
|
10
10
|
constructor(spec, options) {
|
|
11
11
|
super(spec, options), this.type = type_1.ComponentTypeEnum.label, this.name = type_1.ComponentTypeEnum.label,
|
|
12
12
|
this.layoutType = "absolute", this.layoutZIndex = constant_1.LayoutZIndex.Label,
|
|
13
|
-
this._regions = options.getRegionsInIndex([ options.specIndex ])
|
|
13
|
+
this._regions = options.getRegionsInIndex([ options.specIndex ]);
|
|
14
14
|
}
|
|
15
15
|
_interactiveConfig(labelSpec) {
|
|
16
16
|
const {interactive: interactive} = labelSpec;
|
|
@@ -26,7 +26,6 @@ class BaseLabelComponent extends base_component_1.BaseComponent {
|
|
|
26
26
|
return !1 === hover && !1 === hover.enable || (result.hover = !0), !1 === select && !1 === select.enable || (result.select = !0),
|
|
27
27
|
result;
|
|
28
28
|
}
|
|
29
|
-
setLayoutStartPosition() {}
|
|
30
29
|
_compareSpec() {
|
|
31
30
|
const result = super._compareSpec();
|
|
32
31
|
return result.reRender = !0, (0, vutils_1.isEqual)(this._originalSpec, this._spec) || (result.reMake = !0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/label/base-label.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAGvD,4CAAsD;
|
|
1
|
+
{"version":3,"sources":["../src/component/label/base-label.ts"],"names":[],"mappings":";;;AAAA,2DAAuD;AAGvD,4CAAsD;AAGtD,6CAA8C;AAG9C,6CAA2C;AAI3C,MAAsB,kBAAsD,SAAQ,8BAAgB;IAQlG,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QAPvB,SAAI,GAAG,wBAAiB,CAAC,KAAK,CAAC;QAC/B,SAAI,GAAW,wBAAiB,CAAC,KAAK,CAAC;QAEvC,eAAU,GAAgB,UAAU,CAAC;QACrC,iBAAY,GAAW,uBAAY,CAAC,KAAK,CAAC;QAIxC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IACjE,CAAC;IAES,kBAAkB,CAAC,SAAqB;QAChD,MAAM,EAAE,WAAW,EAAE,GAAG,SAAS,CAAC;QAClC,IAAI,WAAW,KAAK,IAAI,EAAE;YACxB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;SACxC;QACD,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC;QAEvE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,OAAO,EAAE,CAAC;QAC5D,IAAI,KAAK,KAAK,KAAK,IAAK,KAA+B,CAAC,MAAM,KAAK,KAAK,EAAE;YACxE,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC;SACrB;QACD,IAAI,MAAM,KAAK,KAAK,IAAK,MAAiC,CAAC,MAAM,KAAK,KAAK,EAAE;YAC3E,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,YAAY;QACV,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5C,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IACD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IACD,oBAAoB;QAClB,OAAO,EAAE,CAAC;IACZ,CAAC;;AAjDH,gDAkDC;AAjDQ,uBAAI,GAAG,wBAAiB,CAAC,KAAK,CAAC","file":"base-label.js","sourcesContent":["import { BaseComponent } from '../base/base-component';\nimport 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 { IModelRenderOption } from '../../model/interface';\nimport { LayoutZIndex } from '../../constant';\nimport type { ILabelSpec } from './interface';\nimport type { IHoverSpec, ISelectSpec } from '../../interaction/interface';\nimport { isEqual } from '@visactor/vutils';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { ILayoutType } from '../../typings/layout';\n\nexport abstract class BaseLabelComponent<T extends ILabelSpec = ILabelSpec> extends BaseComponent<T> {\n static type = ComponentTypeEnum.label;\n type = ComponentTypeEnum.label;\n name: string = ComponentTypeEnum.label;\n\n layoutType: ILayoutType = 'absolute';\n layoutZIndex: number = LayoutZIndex.Label;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex([options.specIndex]);\n }\n\n protected _interactiveConfig(labelSpec: ILabelSpec) {\n const { interactive } = labelSpec;\n if (interactive !== true) {\n return { hover: false, select: false };\n }\n const result = { hover: false, select: false, state: labelSpec.state };\n\n const { hover, select } = this._option.getChart().getSpec();\n if (hover !== false || (hover as unknown as IHoverSpec).enable !== false) {\n result.hover = true;\n }\n if (select !== false || (select as unknown as ISelectSpec).enable !== false) {\n result.select = true;\n }\n return result;\n }\n\n /** Update API **/\n _compareSpec() {\n const result = super._compareSpec();\n result.reRender = true;\n if (!isEqual(this._originalSpec, this._spec)) {\n result.reMake = true;\n }\n\n return result;\n }\n\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n getVRenderComponents(): IGraphic[] {\n return [];\n }\n}\n"]}
|
|
@@ -2,7 +2,6 @@ import type { IComponentOption } from '../interface';
|
|
|
2
2
|
import { ComponentTypeEnum } from '../interface/type';
|
|
3
3
|
import type { IRegion } from '../../region/interface';
|
|
4
4
|
import type { IModelInitOption } from '../../model/interface';
|
|
5
|
-
import type { LayoutItem } from '../../model/layout-item';
|
|
6
5
|
import type { ISeries } from '../../series/interface';
|
|
7
6
|
import { type ILabel, type IMark } from '@visactor/vgrammar-core';
|
|
8
7
|
import { type IComponentMark } from '../../mark/component';
|
|
@@ -11,6 +10,7 @@ import type { IGroup } from '@visactor/vrender-core';
|
|
|
11
10
|
import type { ILabelSpec } from './interface';
|
|
12
11
|
import { type ILabelMark } from '../../mark/label';
|
|
13
12
|
import type { ICompilableMark } from '../../compile/mark';
|
|
13
|
+
import type { ILayoutType } from '../../typings/layout';
|
|
14
14
|
export interface ILabelInfo {
|
|
15
15
|
baseMark: ICompilableMark;
|
|
16
16
|
labelMark: ILabelMark;
|
|
@@ -25,8 +25,8 @@ export declare class Label<T extends ILabelSpec = ILabelSpec> extends BaseLabelC
|
|
|
25
25
|
static type: ComponentTypeEnum;
|
|
26
26
|
type: ComponentTypeEnum;
|
|
27
27
|
name: string;
|
|
28
|
-
layoutType:
|
|
29
|
-
layoutZIndex:
|
|
28
|
+
layoutType: ILayoutType;
|
|
29
|
+
layoutZIndex: number;
|
|
30
30
|
protected _labelInfoMap: Map<IRegion, ILabelInfo[]>;
|
|
31
31
|
protected _labelComponentMap: Map<IComponentMark, ILabelInfo | ILabelInfo[]>;
|
|
32
32
|
protected _layoutRule: 'series' | 'region';
|
|
@@ -19,8 +19,7 @@ class Label extends base_label_1.BaseLabelComponent {
|
|
|
19
19
|
var _a;
|
|
20
20
|
return null === (_a = mark.getLabelSpec()) || void 0 === _a ? void 0 : _a.some((labelSpec => labelSpec.visible));
|
|
21
21
|
})) && labelComponents.push(new Label(spec, Object.assign(Object.assign({}, options), {
|
|
22
|
-
specIndex: i
|
|
23
|
-
specKey: "label"
|
|
22
|
+
specIndex: i
|
|
24
23
|
})));
|
|
25
24
|
}
|
|
26
25
|
return labelComponents;
|
|
@@ -178,7 +177,7 @@ exports.Label = Label, Label.type = type_1.ComponentTypeEnum.label;
|
|
|
178
177
|
const registerLabel = () => {
|
|
179
178
|
(0, vgrammar_core_1.registerLabel)(), factory_1.Factory.registerMark(label_1.LabelMark.constructorType, label_1.LabelMark),
|
|
180
179
|
factory_1.Factory.registerMark(component_1.ComponentMark.type, component_1.ComponentMark),
|
|
181
|
-
factory_1.Factory.registerComponent(Label.type, Label);
|
|
180
|
+
factory_1.Factory.registerComponent(Label.type, Label, !0);
|
|
182
181
|
};
|
|
183
182
|
|
|
184
183
|
exports.registerLabel = registerLabel;
|