@visactor/vchart 1.13.7-alpha.0 → 2.0.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 +2 -2
- package/build/index.es.js +34518 -41938
- package/build/index.js +34522 -41972
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/animate-manager.d.ts +2 -4
- package/cjs/animation/animate-manager.js +6 -9
- package/cjs/animation/animate-manager.js.map +1 -1
- package/cjs/animation/config.js +10 -20
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/interface.d.ts +86 -2
- package/cjs/animation/interface.js.map +1 -1
- package/cjs/animation/spec.d.ts +27 -3
- package/cjs/animation/spec.js.map +1 -1
- package/cjs/animation/utils.d.ts +3 -4
- package/cjs/animation/utils.js +11 -10
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.js +3 -2
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar.js +3 -2
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +2 -2
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +10 -7
- package/cjs/chart/base/base-chart.js +78 -64
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +3 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/funnel/funnel-transformer.js +1 -1
- package/cjs/chart/funnel/funnel-transformer.js.map +1 -1
- package/cjs/chart/funnel/util.d.ts +2 -0
- package/cjs/chart/funnel/util.js +14 -0
- package/cjs/chart/funnel/util.js.map +1 -0
- package/cjs/chart/histogram/3d/histogram-3d.js +3 -2
- package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +3 -2
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/index.js +1 -2
- package/cjs/chart/interface/chart.d.ts +3 -4
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/common.d.ts +2 -9
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/line/line.js +3 -2
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/mosaic/mosaic.js +3 -2
- package/cjs/chart/mosaic/mosaic.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +3 -2
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +3 -2
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +3 -2
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +3 -2
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/3d/range-column-3d.js +3 -3
- package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +3 -2
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +3 -2
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.d.ts +1 -1
- package/cjs/chart/sankey/sankey.js +20 -18
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +3 -2
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence-transformer.js +2 -2
- package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
- package/cjs/chart/util.js +2 -2
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +3 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/compile/compilable-base.d.ts +1 -1
- package/cjs/compile/compilable-base.js +2 -2
- package/cjs/compile/compilable-base.js.map +1 -1
- package/cjs/compile/compiler.d.ts +35 -25
- package/cjs/compile/compiler.js +183 -144
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +7 -7
- package/cjs/compile/data/compilable-data.js +20 -20
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/data/interface.d.ts +4 -1
- package/cjs/compile/data/interface.js.map +1 -1
- package/cjs/compile/grammar-item.d.ts +7 -13
- package/cjs/compile/grammar-item.js +14 -34
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +22 -28
- package/cjs/compile/interface/compilable-item.js +1 -1
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +13 -4
- package/cjs/compile/interface/compiler.js +6 -1
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/index.d.ts +0 -1
- package/cjs/compile/mark/index.js +1 -2
- package/cjs/compile/mark/index.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +42 -33
- package/cjs/compile/mark/interface.js +2 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.d.ts +11 -13
- package/cjs/compile/mark/mark-state-manager.js +25 -32
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/mark/util.d.ts +1 -1
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/compile/state-manager.d.ts +11 -0
- package/cjs/compile/state-manager.js +29 -0
- package/cjs/compile/state-manager.js.map +1 -0
- package/cjs/compile/util.d.ts +14 -0
- package/cjs/compile/util.js +116 -13
- package/cjs/compile/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +5 -3
- package/cjs/component/axis/base-axis.js +20 -17
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/axis.js +19 -21
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js +4 -3
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js +3 -2
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/log-axis.js +3 -2
- package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/symlog-axis.js +3 -2
- package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/time-axis.js +7 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +8 -0
- package/cjs/component/axis/interface/common.js +7 -1
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +2 -2
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.js +5 -3
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.js +5 -3
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +1 -2
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +12 -10
- package/cjs/component/brush/brush.js +25 -28
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +2 -2
- package/cjs/component/crosshair/base.js +2 -2
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +0 -1
- package/cjs/component/custom-mark/custom-mark.js +3 -25
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -2
- package/cjs/component/data-zoom/data-filter-base-component.js +4 -4
- 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 +2 -2
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +2 -2
- package/cjs/component/geo/geo-coordinate.js +4 -4
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/geo/interface.d.ts +1 -1
- package/cjs/component/geo/interface.js.map +1 -1
- package/cjs/component/indicator/indicator.js +13 -14
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +5 -0
- package/cjs/component/label/base-label.js +45 -1
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -3
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +3 -3
- package/cjs/component/label/label.js +63 -52
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +40 -36
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +9 -10
- package/cjs/component/label/util.js +13 -14
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +3 -3
- package/cjs/component/map-label/component.js +14 -14
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +1 -1
- package/cjs/component/marker/base-marker.js +2 -2
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/tooltip/processor/interface.d.ts +1 -1
- package/cjs/component/tooltip/processor/interface.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +4 -4
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/util.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +2 -3
- package/cjs/component/tooltip/tooltip.js +1 -2
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +2 -4
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/constant/data.d.ts +1 -0
- package/cjs/constant/data.js +2 -2
- package/cjs/constant/data.js.map +1 -1
- package/cjs/constant/event.d.ts +53 -2
- package/cjs/constant/event.js +31 -11
- package/cjs/constant/event.js.map +1 -1
- package/cjs/core/factory.d.ts +28 -3
- package/cjs/core/factory.js +33 -5
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +2 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +13 -4
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +6 -6
- package/cjs/core/vchart.js +31 -57
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/dimension-data.js.map +1 -1
- package/cjs/data/transforms/obj-flat.js +11 -5
- package/cjs/data/transforms/obj-flat.js.map +1 -1
- package/cjs/data/transforms/treemap.d.ts +10 -0
- package/cjs/data/transforms/treemap.js +22 -0
- package/cjs/data/transforms/treemap.js.map +1 -0
- package/cjs/data/transforms/venn.d.ts +10 -0
- package/cjs/data/transforms/venn.js +16 -0
- package/cjs/data/transforms/venn.js.map +1 -0
- package/cjs/event/event-dispatcher.js +17 -23
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/events/base.d.ts +1 -2
- package/cjs/event/events/base.js.map +1 -1
- package/cjs/event/interface.d.ts +6 -9
- package/cjs/event/interface.js.map +1 -1
- package/cjs/index-harmony-simple.d.ts +2 -1
- package/cjs/index-harmony-simple.js +15 -11
- package/cjs/index-harmony-simple.js.map +1 -1
- package/cjs/index-harmony.js +3 -3
- package/cjs/index-harmony.js.map +1 -1
- package/cjs/index-lark.js +2 -2
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx-simple.js +2 -2
- package/cjs/index-wx-simple.js.map +1 -1
- package/cjs/index-wx.js +2 -2
- package/cjs/index-wx.js.map +1 -1
- package/cjs/index.d.ts +0 -3
- package/cjs/index.js +1 -3
- package/cjs/index.js.map +1 -1
- package/cjs/interaction/config.d.ts +13 -0
- package/cjs/interaction/config.js +17 -2
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/index.d.ts +9 -1
- package/cjs/interaction/index.js +55 -18
- package/cjs/interaction/index.js.map +1 -1
- package/cjs/interaction/interaction.d.ts +17 -25
- package/cjs/interaction/interaction.js +84 -86
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/interface/common.d.ts +22 -0
- package/cjs/{compile/signal/interface.js → interaction/interface/common.js} +1 -1
- package/cjs/interaction/interface/common.js.map +1 -0
- package/cjs/interaction/interface/spec.d.ts +53 -0
- package/cjs/interaction/{interface.js → interface/spec.js} +1 -1
- package/cjs/interaction/interface/spec.js.map +1 -0
- package/cjs/interaction/interface/trigger.d.ts +87 -0
- package/cjs/interaction/interface/trigger.js +6 -0
- package/cjs/interaction/interface/trigger.js.map +1 -0
- package/cjs/interaction/triggers/base.d.ts +28 -0
- package/cjs/interaction/triggers/base.js +77 -0
- package/cjs/interaction/triggers/base.js.map +1 -0
- package/cjs/interaction/triggers/dimension-hover.d.ts +22 -0
- package/cjs/interaction/triggers/dimension-hover.js +77 -0
- package/cjs/interaction/triggers/dimension-hover.js.map +1 -0
- package/cjs/interaction/triggers/element-active-by-legend.d.ts +21 -0
- package/cjs/interaction/triggers/element-active-by-legend.js +66 -0
- package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -0
- package/cjs/interaction/triggers/element-active.d.ts +20 -0
- package/cjs/interaction/triggers/element-active.js +52 -0
- package/cjs/interaction/triggers/element-active.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.js +53 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-group.d.ts +23 -0
- package/cjs/interaction/triggers/element-highlight-by-group.js +74 -0
- package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-key.d.ts +9 -0
- package/cjs/interaction/triggers/element-highlight-by-key.js +26 -0
- package/cjs/interaction/triggers/element-highlight-by-key.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.js +72 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-name.d.ts +24 -0
- package/cjs/interaction/triggers/element-highlight-by-name.js +81 -0
- package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight.d.ts +25 -0
- package/cjs/interaction/triggers/element-highlight.js +76 -0
- package/cjs/interaction/triggers/element-highlight.js.map +1 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.js +31 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
- package/cjs/interaction/triggers/element-select.d.ts +24 -0
- package/cjs/interaction/triggers/element-select.js +79 -0
- package/cjs/interaction/triggers/element-select.js.map +1 -0
- package/cjs/interaction/triggers/enum.d.ts +8 -0
- package/cjs/interaction/triggers/enum.js +13 -0
- package/cjs/interaction/triggers/enum.js.map +1 -0
- package/cjs/interaction/triggers/util.d.ts +12 -0
- package/cjs/interaction/triggers/util.js +58 -0
- package/cjs/interaction/triggers/util.js.map +1 -0
- package/cjs/interaction/zoom/zoomable.js +1 -1
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/interface.d.ts +2 -2
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout-item.d.ts +2 -3
- package/cjs/layout/layout-item.js +2 -2
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/mark/arc-3d.js +4 -3
- package/cjs/mark/arc-3d.js.map +1 -1
- package/cjs/mark/arc.d.ts +2 -2
- package/cjs/mark/arc.js +8 -7
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +2 -0
- package/cjs/mark/area.js +9 -4
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-line.d.ts +16 -2
- package/cjs/mark/base/base-line.js +65 -11
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +131 -13
- package/cjs/mark/base/base-mark.js +422 -43
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.d.ts +11 -5
- package/cjs/mark/box-plot.js +216 -10
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.d.ts +5 -2
- package/cjs/mark/cell.js +16 -4
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.d.ts +11 -3
- package/cjs/mark/component.js +34 -7
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/glyph.d.ts +29 -0
- package/cjs/mark/glyph.js +73 -0
- package/cjs/mark/glyph.js.map +1 -0
- package/cjs/mark/group.d.ts +10 -6
- package/cjs/mark/group.js +30 -16
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/image.js +3 -2
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/index.d.ts +3 -1
- package/cjs/mark/index.js +19 -1
- package/cjs/mark/index.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +61 -9
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/enum.d.ts +6 -0
- package/cjs/mark/interface/enum.js +11 -0
- package/cjs/mark/interface/enum.js.map +1 -0
- package/cjs/mark/interface/index.d.ts +1 -0
- package/cjs/mark/interface/index.js +1 -1
- package/cjs/mark/interface/index.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +18 -1
- package/cjs/mark/interface/mark.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -0
- package/cjs/mark/interface/type.js +2 -2
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/label.d.ts +4 -3
- package/cjs/mark/label.js +3 -2
- package/cjs/mark/label.js.map +1 -1
- package/cjs/mark/line.js +5 -3
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/link-path.d.ts +35 -5
- package/cjs/mark/link-path.js +65 -11
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/liquid.d.ts +47 -5
- package/cjs/mark/liquid.js +62 -9
- package/cjs/mark/liquid.js.map +1 -1
- package/cjs/mark/path.js +3 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.js +4 -3
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/polygon/pyramid-3d.js +4 -3
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
- package/cjs/mark/rect-3d.js +4 -3
- package/cjs/mark/rect-3d.js.map +1 -1
- package/cjs/mark/rect.js +4 -3
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/ripple.d.ts +39 -4
- package/cjs/mark/ripple.js +41 -9
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.d.ts +3 -0
- package/cjs/mark/rule.js +28 -2
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +4 -4
- package/cjs/mark/symbol.js +14 -11
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +4 -2
- package/cjs/mark/text.js +15 -9
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/transform/data-sampling.d.ts +10 -0
- package/cjs/mark/transform/data-sampling.js +119 -0
- package/cjs/mark/transform/data-sampling.js.map +1 -0
- package/cjs/mark/transform/filter.d.ts +1 -0
- package/cjs/mark/transform/filter.js +14 -0
- package/cjs/mark/transform/filter.js.map +1 -0
- package/cjs/mark/transform/map.d.ts +1 -0
- package/cjs/mark/transform/map.js +16 -0
- package/cjs/mark/transform/map.js.map +1 -0
- package/cjs/mark/transform/symbol-overlap.d.ts +14 -0
- package/cjs/mark/transform/symbol-overlap.js +93 -0
- package/cjs/mark/transform/symbol-overlap.js.map +1 -0
- package/cjs/mark/utils/common.d.ts +4 -0
- package/cjs/mark/utils/common.js +44 -4
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/mark/utils/glyph.d.ts +2 -0
- package/cjs/mark/utils/glyph.js +13 -0
- package/cjs/mark/utils/glyph.js.map +1 -0
- package/cjs/mark/utils/index.d.ts +2 -0
- package/cjs/mark/utils/index.js +2 -1
- package/cjs/mark/utils/index.js.map +1 -1
- package/cjs/mark/utils/line.d.ts +3 -0
- package/cjs/mark/utils/line.js +29 -0
- package/cjs/mark/utils/line.js.map +1 -0
- package/cjs/model/base-model.d.ts +8 -8
- package/cjs/model/base-model.js +20 -9
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +4 -8
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-model.d.ts +2 -2
- package/cjs/model/layout-model.js +4 -4
- package/cjs/model/layout-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/base.js +1 -1
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/other.d.ts +3 -3
- package/cjs/plugin/other.js +16 -18
- package/cjs/plugin/other.js.map +1 -1
- package/cjs/region/interface.d.ts +0 -2
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +3 -9
- package/cjs/region/region.js +12 -32
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/animation.d.ts +1 -1
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.d.ts +1 -1
- package/cjs/series/area/area.js +9 -16
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/animation.d.ts +1 -1
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +3 -3
- package/cjs/series/bar/bar.js +11 -25
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +26 -42
- package/cjs/series/base/base-series.js +57 -70
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +1 -2
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +3 -3
- package/cjs/series/box-plot/box-plot.js +12 -15
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/circle-packing/animation.d.ts +1 -1
- package/cjs/series/circle-packing/animation.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.js +3 -5
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/correlation/animation.d.ts +1 -1
- package/cjs/series/correlation/animation.js.map +1 -1
- package/cjs/series/correlation/correlation.d.ts +3 -4
- package/cjs/series/correlation/correlation.js +6 -13
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +2 -2
- package/cjs/series/dot/dot.js +4 -3
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d.js +3 -4
- package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +3 -2
- package/cjs/series/funnel/funnel.js +57 -45
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +0 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +2 -4
- package/cjs/series/funnel/tooltip-helper.js +5 -6
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/animation.d.ts +1 -1
- package/cjs/series/gauge/animation.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +4 -1
- package/cjs/series/gauge/gauge-pointer.js +2 -2
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +2 -2
- package/cjs/series/gauge/gauge.js +2 -2
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +2 -2
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/animation.d.ts +1 -1
- package/cjs/series/heatmap/animation.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +4 -1
- package/cjs/series/heatmap/heatmap.js +5 -18
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -4
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +6 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/animation.d.ts +1 -1
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/line.d.ts +1 -1
- package/cjs/series/line/line.js +6 -11
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.d.ts +5 -2
- package/cjs/series/link/link.js +3 -3
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/liquid/animation.d.ts +1 -1
- package/cjs/series/liquid/animation.js.map +1 -1
- package/cjs/series/liquid/liquid.d.ts +4 -1
- package/cjs/series/liquid/liquid.js +5 -5
- package/cjs/series/liquid/liquid.js.map +1 -1
- package/cjs/series/map/interface.d.ts +10 -0
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.js +12 -14
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +5 -5
- package/cjs/series/mixin/line-mixin.js +17 -25
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pictogram/pictogram.d.ts +13 -19
- package/cjs/series/pictogram/pictogram.js +18 -28
- package/cjs/series/pictogram/pictogram.js.map +1 -1
- package/cjs/series/pie/animation/animation.d.ts +4 -3
- package/cjs/series/pie/animation/animation.js.map +1 -1
- package/cjs/series/pie/animation/centerOffset.d.ts +1 -1
- package/cjs/series/pie/animation/centerOffset.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +2 -2
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +8 -6
- package/cjs/series/pie/pie.js +14 -17
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/animation.d.ts +1 -1
- package/cjs/series/polar/progress-like/animation.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +4 -1
- package/cjs/series/progress/circular/circular.js +5 -12
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/animation.d.ts +1 -1
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +4 -1
- package/cjs/series/progress/linear/linear.js +7 -13
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/animation.d.ts +11 -9
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +2 -2
- package/cjs/series/radar/radar.js +6 -15
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +1 -5
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/animation.d.ts +1 -1
- package/cjs/series/range-column/animation.js.map +1 -1
- package/cjs/series/range-column/range-column.js +6 -8
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/animation.d.ts +1 -1
- package/cjs/series/rose/animation.js.map +1 -1
- package/cjs/series/rose/rose.js +1 -4
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.d.ts +1 -1
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +11 -12
- package/cjs/series/sankey/sankey.js +85 -99
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.d.ts +1 -1
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/animation.d.ts +1 -1
- package/cjs/series/scatter/animation.js.map +1 -1
- package/cjs/series/scatter/scatter.js +7 -13
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/animation/enter.d.ts +1 -1
- package/cjs/series/sunburst/animation/enter.js +4 -4
- package/cjs/series/sunburst/animation/enter.js.map +1 -1
- package/cjs/series/sunburst/animation/exit.d.ts +1 -1
- package/cjs/series/sunburst/animation/exit.js +4 -4
- package/cjs/series/sunburst/animation/exit.js.map +1 -1
- package/cjs/series/sunburst/animation/preset.d.ts +1 -1
- package/cjs/series/sunburst/animation/preset.js.map +1 -1
- package/cjs/series/sunburst/animation/utils.d.ts +2 -2
- package/cjs/series/sunburst/animation/utils.js +9 -9
- package/cjs/series/sunburst/animation/utils.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/sunburst/sunburst.js +3 -7
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/animation.d.ts +1 -1
- package/cjs/series/treemap/animation.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +1 -2
- package/cjs/series/treemap/treemap.js +37 -56
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/venn/animation.d.ts +1 -1
- package/cjs/series/venn/animation.js.map +1 -1
- package/cjs/series/venn/venn.d.ts +2 -1
- package/cjs/series/venn/venn.js +24 -15
- package/cjs/series/venn/venn.js.map +1 -1
- package/cjs/series/waterfall/animation.d.ts +1 -1
- package/cjs/series/waterfall/animation.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -3
- package/cjs/series/waterfall/waterfall.js +7 -15
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.d.ts +1 -1
- package/cjs/series/word-cloud/animation.js +1 -1
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +1 -1
- package/cjs/series/word-cloud/base.js +8 -11
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +5 -5
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.js +7 -3
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/typings/common.d.ts +13 -0
- package/cjs/typings/common.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +37 -36
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +2 -2
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/array.d.ts +1 -0
- package/cjs/util/array.js +8 -2
- package/cjs/util/array.js.map +1 -1
- package/cjs/util/debug.js +1 -1
- package/cjs/util/debug.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +2 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/mark.d.ts +5 -0
- package/cjs/util/mark.js +27 -0
- package/cjs/util/mark.js.map +1 -0
- package/cjs/util/math.d.ts +1 -1
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/scale.d.ts +0 -1
- package/cjs/util/scale.js +2 -9
- package/cjs/util/scale.js.map +1 -1
- package/esm/animation/animate-manager.d.ts +2 -4
- package/esm/animation/animate-manager.js +6 -11
- package/esm/animation/animate-manager.js.map +1 -1
- package/esm/animation/config.js +9 -21
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/interface.d.ts +86 -2
- package/esm/animation/interface.js.map +1 -1
- package/esm/animation/spec.d.ts +27 -3
- package/esm/animation/spec.js.map +1 -1
- package/esm/animation/utils.d.ts +3 -4
- package/esm/animation/utils.js +9 -8
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.js +3 -1
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar.js +3 -1
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +2 -2
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +10 -7
- package/esm/chart/base/base-chart.js +81 -65
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +3 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/funnel/funnel-transformer.js +1 -1
- package/esm/chart/funnel/funnel-transformer.js.map +1 -1
- package/esm/chart/funnel/util.d.ts +2 -0
- package/esm/chart/funnel/util.js +6 -0
- package/esm/chart/funnel/util.js.map +1 -0
- package/esm/chart/histogram/3d/histogram-3d.js +3 -1
- package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +3 -1
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/index.js +1 -2
- package/esm/chart/interface/chart.d.ts +3 -4
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/common.d.ts +2 -9
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/line/line.js +3 -1
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/mosaic/mosaic.js +3 -1
- package/esm/chart/mosaic/mosaic.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +3 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +3 -1
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +3 -1
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.js +3 -1
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/3d/range-column-3d.js +3 -1
- package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column.js +3 -1
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +3 -1
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.d.ts +1 -1
- package/esm/chart/sankey/sankey.js +21 -17
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +3 -1
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence-transformer.js +2 -2
- package/esm/chart/sequence/sequence-transformer.js.map +1 -1
- package/esm/chart/util.js +1 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +3 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/compile/compilable-base.d.ts +1 -1
- package/esm/compile/compilable-base.js +2 -2
- package/esm/compile/compilable-base.js.map +1 -1
- package/esm/compile/compiler.d.ts +35 -25
- package/esm/compile/compiler.js +190 -149
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +7 -7
- package/esm/compile/data/compilable-data.js +19 -22
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/data/interface.d.ts +4 -1
- package/esm/compile/data/interface.js.map +1 -1
- package/esm/compile/grammar-item.d.ts +7 -13
- package/esm/compile/grammar-item.js +15 -34
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +22 -28
- package/esm/compile/interface/compilable-item.js +1 -1
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +13 -4
- package/esm/compile/interface/compiler.js +6 -1
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/index.d.ts +0 -1
- package/esm/compile/mark/index.js +0 -2
- package/esm/compile/mark/index.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +42 -33
- package/esm/compile/mark/interface.js +2 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.d.ts +11 -13
- package/esm/compile/mark/mark-state-manager.js +26 -32
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/mark/util.d.ts +1 -1
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/compile/state-manager.d.ts +11 -0
- package/esm/compile/state-manager.js +23 -0
- package/esm/compile/state-manager.js.map +1 -0
- package/esm/compile/util.d.ts +14 -0
- package/esm/compile/util.js +104 -0
- package/esm/compile/util.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +5 -3
- package/esm/component/axis/base-axis.js +19 -16
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -1
- package/esm/component/axis/cartesian/axis.js +18 -23
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js +8 -4
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.js +6 -4
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/log-axis.js +6 -4
- package/esm/component/axis/cartesian/log-axis.js.map +1 -1
- package/esm/component/axis/cartesian/symlog-axis.js +6 -4
- package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/time-axis.js +10 -4
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +8 -0
- package/esm/component/axis/interface/common.js +11 -1
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js +2 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.js +7 -4
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.js +7 -4
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +1 -2
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +12 -10
- package/esm/component/brush/brush.js +25 -28
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +2 -2
- package/esm/component/crosshair/base.js +2 -2
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +0 -1
- package/esm/component/custom-mark/custom-mark.js +3 -25
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -2
- package/esm/component/data-zoom/data-filter-base-component.js +4 -4
- 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 +2 -2
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +2 -2
- package/esm/component/geo/geo-coordinate.js +4 -4
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/geo/interface.d.ts +1 -1
- package/esm/component/geo/interface.js.map +1 -1
- package/esm/component/indicator/indicator.js +14 -13
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.d.ts +5 -0
- package/esm/component/label/base-label.js +49 -1
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -3
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +3 -3
- package/esm/component/label/label.js +64 -52
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +41 -36
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +9 -10
- package/esm/component/label/util.js +13 -13
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +3 -3
- package/esm/component/map-label/component.js +15 -13
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +1 -1
- package/esm/component/marker/base-marker.js +2 -2
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/tooltip/processor/interface.d.ts +1 -1
- package/esm/component/tooltip/processor/interface.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +4 -3
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/util.d.ts +1 -1
- package/esm/component/tooltip/tooltip.d.ts +2 -3
- package/esm/component/tooltip/tooltip.js +1 -2
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +2 -4
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/constant/data.d.ts +1 -0
- package/esm/constant/data.js +2 -0
- package/esm/constant/data.js.map +1 -1
- package/esm/constant/event.d.ts +53 -2
- package/esm/constant/event.js +30 -2
- package/esm/constant/event.js.map +1 -1
- package/esm/core/factory.d.ts +28 -3
- package/esm/core/factory.js +33 -6
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +2 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +13 -4
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +6 -6
- package/esm/core/vchart.js +40 -62
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/dimension-data.js.map +1 -1
- package/esm/data/transforms/obj-flat.js +16 -4
- package/esm/data/transforms/obj-flat.js.map +1 -1
- package/esm/data/transforms/treemap.d.ts +10 -0
- package/esm/data/transforms/treemap.js +18 -0
- package/esm/data/transforms/treemap.js.map +1 -0
- package/esm/data/transforms/venn.d.ts +10 -0
- package/esm/data/transforms/venn.js +10 -0
- package/esm/data/transforms/venn.js.map +1 -0
- package/esm/event/event-dispatcher.js +19 -23
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/events/base.d.ts +1 -2
- package/esm/event/events/base.js.map +1 -1
- package/esm/event/interface.d.ts +6 -9
- package/esm/event/interface.js.map +1 -1
- package/esm/index-harmony-simple.d.ts +2 -1
- package/esm/index-harmony-simple.js +4 -2
- package/esm/index-harmony-simple.js.map +1 -1
- package/esm/index-harmony.js +4 -2
- package/esm/index-harmony.js.map +1 -1
- package/esm/index-lark.js +3 -1
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx-simple.js +3 -1
- package/esm/index-wx-simple.js.map +1 -1
- package/esm/index-wx.js +3 -1
- package/esm/index-wx.js.map +1 -1
- package/esm/index.d.ts +0 -3
- package/esm/index.js +0 -6
- package/esm/index.js.map +1 -1
- package/esm/interaction/config.d.ts +13 -0
- package/esm/interaction/config.js +15 -0
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/index.d.ts +9 -1
- package/esm/interaction/index.js +17 -1
- package/esm/interaction/index.js.map +1 -1
- package/esm/interaction/interaction.d.ts +17 -25
- package/esm/interaction/interaction.js +84 -88
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/interface/common.d.ts +22 -0
- package/esm/interaction/interface/common.js +2 -0
- package/esm/interaction/interface/common.js.map +1 -0
- package/esm/interaction/interface/spec.d.ts +53 -0
- package/esm/interaction/interface/spec.js +2 -0
- package/esm/interaction/interface/spec.js.map +1 -0
- package/esm/interaction/interface/trigger.d.ts +87 -0
- package/esm/interaction/interface/trigger.js +2 -0
- package/esm/interaction/interface/trigger.js.map +1 -0
- package/esm/interaction/triggers/base.d.ts +28 -0
- package/esm/interaction/triggers/base.js +73 -0
- package/esm/interaction/triggers/base.js.map +1 -0
- package/esm/interaction/triggers/dimension-hover.d.ts +22 -0
- package/esm/interaction/triggers/dimension-hover.js +80 -0
- package/esm/interaction/triggers/dimension-hover.js.map +1 -0
- package/esm/interaction/triggers/element-active-by-legend.d.ts +21 -0
- package/esm/interaction/triggers/element-active-by-legend.js +68 -0
- package/esm/interaction/triggers/element-active-by-legend.js.map +1 -0
- package/esm/interaction/triggers/element-active.d.ts +20 -0
- package/esm/interaction/triggers/element-active.js +50 -0
- package/esm/interaction/triggers/element-active.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.js +51 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-group.d.ts +23 -0
- package/esm/interaction/triggers/element-highlight-by-group.js +73 -0
- package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-key.d.ts +9 -0
- package/esm/interaction/triggers/element-highlight-by-key.js +22 -0
- package/esm/interaction/triggers/element-highlight-by-key.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
- package/esm/interaction/triggers/element-highlight-by-legend.js +73 -0
- package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-name.d.ts +24 -0
- package/esm/interaction/triggers/element-highlight-by-name.js +82 -0
- package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -0
- package/esm/interaction/triggers/element-highlight.d.ts +25 -0
- package/esm/interaction/triggers/element-highlight.js +75 -0
- package/esm/interaction/triggers/element-highlight.js.map +1 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.js +27 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
- package/esm/interaction/triggers/element-select.d.ts +24 -0
- package/esm/interaction/triggers/element-select.js +81 -0
- package/esm/interaction/triggers/element-select.js.map +1 -0
- package/esm/interaction/triggers/enum.d.ts +8 -0
- package/esm/interaction/triggers/enum.js +9 -0
- package/esm/interaction/triggers/enum.js.map +1 -0
- package/esm/interaction/triggers/util.d.ts +12 -0
- package/esm/interaction/triggers/util.js +52 -0
- package/esm/interaction/triggers/util.js.map +1 -0
- package/esm/interaction/zoom/zoomable.js +1 -1
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/interface.d.ts +2 -2
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout-item.d.ts +2 -3
- package/esm/layout/layout-item.js +2 -2
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/mark/arc-3d.js +6 -3
- package/esm/mark/arc-3d.js.map +1 -1
- package/esm/mark/arc.d.ts +2 -2
- package/esm/mark/arc.js +12 -7
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +2 -0
- package/esm/mark/area.js +16 -5
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-line.d.ts +16 -2
- package/esm/mark/base/base-line.js +65 -9
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +131 -13
- package/esm/mark/base/base-mark.js +441 -43
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.d.ts +11 -5
- package/esm/mark/box-plot.js +220 -11
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.d.ts +5 -2
- package/esm/mark/cell.js +22 -4
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.d.ts +11 -3
- package/esm/mark/component.js +39 -8
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/glyph.d.ts +29 -0
- package/esm/mark/glyph.js +72 -0
- package/esm/mark/glyph.js.map +1 -0
- package/esm/mark/group.d.ts +10 -6
- package/esm/mark/group.js +35 -17
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/image.js +5 -2
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/index.d.ts +3 -1
- package/esm/mark/index.js +5 -1
- package/esm/mark/index.js.map +1 -1
- package/esm/mark/interface/common.d.ts +61 -9
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/enum.d.ts +6 -0
- package/esm/mark/interface/enum.js +7 -0
- package/esm/mark/interface/enum.js.map +1 -0
- package/esm/mark/interface/index.d.ts +1 -0
- package/esm/mark/interface/index.js +2 -0
- package/esm/mark/interface/index.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +18 -1
- package/esm/mark/interface/mark.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -0
- package/esm/mark/interface/type.js +2 -2
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/label.d.ts +4 -3
- package/esm/mark/label.js +3 -4
- package/esm/mark/label.js.map +1 -1
- package/esm/mark/line.js +9 -3
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/link-path.d.ts +35 -5
- package/esm/mark/link-path.js +65 -11
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/liquid.d.ts +47 -5
- package/esm/mark/liquid.js +64 -11
- package/esm/mark/liquid.js.map +1 -1
- package/esm/mark/path.js +5 -2
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.js +6 -3
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/polygon/pyramid-3d.js +6 -4
- package/esm/mark/polygon/pyramid-3d.js.map +1 -1
- package/esm/mark/rect-3d.js +6 -3
- package/esm/mark/rect-3d.js.map +1 -1
- package/esm/mark/rect.js +8 -3
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/ripple.d.ts +39 -4
- package/esm/mark/ripple.js +45 -10
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.d.ts +3 -0
- package/esm/mark/rule.js +30 -2
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +4 -4
- package/esm/mark/symbol.js +18 -8
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +4 -2
- package/esm/mark/text.js +17 -8
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/transform/data-sampling.d.ts +10 -0
- package/esm/mark/transform/data-sampling.js +115 -0
- package/esm/mark/transform/data-sampling.js.map +1 -0
- package/esm/mark/transform/filter.d.ts +1 -0
- package/esm/mark/transform/filter.js +8 -0
- package/esm/mark/transform/filter.js.map +1 -0
- package/esm/mark/transform/map.d.ts +1 -0
- package/esm/mark/transform/map.js +10 -0
- package/esm/mark/transform/map.js.map +1 -0
- package/esm/mark/transform/symbol-overlap.d.ts +14 -0
- package/esm/mark/transform/symbol-overlap.js +87 -0
- package/esm/mark/transform/symbol-overlap.js.map +1 -0
- package/esm/mark/utils/common.d.ts +4 -0
- package/esm/mark/utils/common.js +37 -0
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/mark/utils/glyph.d.ts +2 -0
- package/esm/mark/utils/glyph.js +5 -0
- package/esm/mark/utils/glyph.js.map +1 -0
- package/esm/mark/utils/index.d.ts +2 -0
- package/esm/mark/utils/index.js +4 -0
- package/esm/mark/utils/index.js.map +1 -1
- package/esm/mark/utils/line.d.ts +3 -0
- package/esm/mark/utils/line.js +20 -0
- package/esm/mark/utils/line.js.map +1 -0
- package/esm/model/base-model.d.ts +8 -8
- package/esm/model/base-model.js +20 -9
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +4 -8
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-model.d.ts +2 -2
- package/esm/model/layout-model.js +4 -4
- package/esm/model/layout-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/base.js +1 -1
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/other.d.ts +3 -3
- package/esm/plugin/other.js +13 -5
- package/esm/plugin/other.js.map +1 -1
- package/esm/region/interface.d.ts +0 -2
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +3 -9
- package/esm/region/region.js +11 -36
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/animation.d.ts +1 -1
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.d.ts +1 -1
- package/esm/series/area/area.js +13 -18
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/animation.d.ts +1 -1
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar.d.ts +3 -3
- package/esm/series/bar/bar.js +14 -28
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +26 -42
- package/esm/series/base/base-series.js +61 -71
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +1 -2
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +3 -3
- package/esm/series/box-plot/box-plot.js +13 -16
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/circle-packing/animation.d.ts +1 -1
- package/esm/series/circle-packing/animation.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.js +3 -5
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/correlation/animation.d.ts +1 -1
- package/esm/series/correlation/animation.js.map +1 -1
- package/esm/series/correlation/correlation.d.ts +3 -4
- package/esm/series/correlation/correlation.js +7 -14
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.d.ts +2 -2
- package/esm/series/dot/dot.js +4 -3
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d.js +3 -4
- package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +3 -2
- package/esm/series/funnel/funnel.js +60 -46
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +0 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +2 -4
- package/esm/series/funnel/tooltip-helper.js +5 -6
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/animation.d.ts +1 -1
- package/esm/series/gauge/animation.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +4 -1
- package/esm/series/gauge/gauge-pointer.js +2 -2
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +2 -2
- package/esm/series/gauge/gauge.js +2 -2
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/geo/geo.d.ts +2 -2
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/animation.d.ts +1 -1
- package/esm/series/heatmap/animation.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +4 -1
- package/esm/series/heatmap/heatmap.js +5 -18
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -4
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +6 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/animation.d.ts +1 -1
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/line.d.ts +1 -1
- package/esm/series/line/line.js +10 -13
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.d.ts +5 -2
- package/esm/series/link/link.js +3 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/liquid/animation.d.ts +1 -1
- package/esm/series/liquid/animation.js.map +1 -1
- package/esm/series/liquid/liquid.d.ts +4 -1
- package/esm/series/liquid/liquid.js +5 -5
- package/esm/series/liquid/liquid.js.map +1 -1
- package/esm/series/map/interface.d.ts +10 -0
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.js +13 -15
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +5 -5
- package/esm/series/mixin/line-mixin.js +17 -25
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pictogram/pictogram.d.ts +13 -19
- package/esm/series/pictogram/pictogram.js +22 -31
- package/esm/series/pictogram/pictogram.js.map +1 -1
- package/esm/series/pie/animation/animation.d.ts +4 -3
- package/esm/series/pie/animation/animation.js.map +1 -1
- package/esm/series/pie/animation/centerOffset.d.ts +1 -1
- package/esm/series/pie/animation/centerOffset.js.map +1 -1
- package/esm/series/pie/interface.d.ts +2 -2
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +8 -6
- package/esm/series/pie/pie.js +15 -18
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/animation.d.ts +1 -1
- package/esm/series/polar/progress-like/animation.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +4 -1
- package/esm/series/progress/circular/circular.js +5 -12
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/animation.d.ts +1 -1
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +4 -1
- package/esm/series/progress/linear/linear.js +8 -14
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/animation.d.ts +11 -9
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/radar.d.ts +2 -2
- package/esm/series/radar/radar.js +6 -15
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +1 -5
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/animation.d.ts +1 -1
- package/esm/series/range-column/animation.js.map +1 -1
- package/esm/series/range-column/range-column.js +6 -8
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/animation.d.ts +1 -1
- package/esm/series/rose/animation.js.map +1 -1
- package/esm/series/rose/rose.js +1 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.d.ts +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +11 -12
- package/esm/series/sankey/sankey.js +87 -100
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.d.ts +1 -1
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/animation.d.ts +1 -1
- package/esm/series/scatter/animation.js.map +1 -1
- package/esm/series/scatter/scatter.js +7 -13
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/animation/enter.d.ts +1 -1
- package/esm/series/sunburst/animation/enter.js +4 -4
- package/esm/series/sunburst/animation/enter.js.map +1 -1
- package/esm/series/sunburst/animation/exit.d.ts +1 -1
- package/esm/series/sunburst/animation/exit.js +4 -4
- package/esm/series/sunburst/animation/exit.js.map +1 -1
- package/esm/series/sunburst/animation/preset.d.ts +1 -1
- package/esm/series/sunburst/animation/preset.js.map +1 -1
- package/esm/series/sunburst/animation/utils.d.ts +2 -2
- package/esm/series/sunburst/animation/utils.js +9 -9
- package/esm/series/sunburst/animation/utils.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/sunburst/sunburst.js +3 -7
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/animation.d.ts +1 -1
- package/esm/series/treemap/animation.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +1 -2
- package/esm/series/treemap/treemap.js +43 -60
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/venn/animation.d.ts +1 -1
- package/esm/series/venn/animation.js.map +1 -1
- package/esm/series/venn/venn.d.ts +2 -1
- package/esm/series/venn/venn.js +28 -14
- package/esm/series/venn/venn.js.map +1 -1
- package/esm/series/waterfall/animation.d.ts +1 -1
- package/esm/series/waterfall/animation.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -3
- package/esm/series/waterfall/waterfall.js +9 -17
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.d.ts +1 -1
- package/esm/series/word-cloud/animation.js +1 -1
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +1 -1
- package/esm/series/word-cloud/base.js +8 -11
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +3 -9
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.js +10 -6
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/typings/common.d.ts +13 -0
- package/esm/typings/common.js.map +1 -1
- package/esm/typings/spec/common.d.ts +37 -36
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +2 -2
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/array.d.ts +1 -0
- package/esm/util/array.js +5 -0
- package/esm/util/array.js.map +1 -1
- package/esm/util/debug.js +1 -1
- package/esm/util/debug.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/mark.d.ts +5 -0
- package/esm/util/mark.js +16 -0
- package/esm/util/mark.js.map +1 -0
- package/esm/util/math.d.ts +1 -1
- package/esm/util/math.js.map +1 -1
- package/esm/util/scale.d.ts +0 -1
- package/esm/util/scale.js +0 -6
- package/esm/util/scale.js.map +1 -1
- package/package.json +15 -15
- package/cjs/compile/mark/compilable-mark.d.ts +0 -87
- package/cjs/compile/mark/compilable-mark.js +0 -261
- package/cjs/compile/mark/compilable-mark.js.map +0 -1
- package/cjs/compile/mark/mark-data.d.ts +0 -9
- package/cjs/compile/mark/mark-data.js +0 -28
- package/cjs/compile/mark/mark-data.js.map +0 -1
- package/cjs/compile/signal/compilable-signal.d.ts +0 -21
- package/cjs/compile/signal/compilable-signal.js +0 -42
- package/cjs/compile/signal/compilable-signal.js.map +0 -1
- package/cjs/compile/signal/index.d.ts +0 -4
- package/cjs/compile/signal/index.js +0 -22
- package/cjs/compile/signal/index.js.map +0 -1
- package/cjs/compile/signal/interface.d.ts +0 -12
- package/cjs/compile/signal/interface.js.map +0 -1
- package/cjs/compile/signal/signal-manager.d.ts +0 -11
- package/cjs/compile/signal/signal-manager.js +0 -36
- package/cjs/compile/signal/signal-manager.js.map +0 -1
- package/cjs/compile/signal/state-manager.d.ts +0 -12
- package/cjs/compile/signal/state-manager.js +0 -37
- package/cjs/compile/signal/state-manager.js.map +0 -1
- package/cjs/interaction/dimension-trigger.d.ts +0 -27
- package/cjs/interaction/dimension-trigger.js +0 -73
- package/cjs/interaction/dimension-trigger.js.map +0 -1
- package/cjs/interaction/interface.d.ts +0 -73
- package/cjs/interaction/interface.js.map +0 -1
- package/cjs/series/base/series-data.d.ts +0 -5
- package/cjs/series/base/series-data.js +0 -22
- package/cjs/series/base/series-data.js.map +0 -1
- package/cjs/vrender-tools.d.ts +0 -1
- package/cjs/vrender-tools.js +0 -110
- package/cjs/vrender-tools.js.map +0 -1
- package/esm/compile/mark/compilable-mark.d.ts +0 -87
- package/esm/compile/mark/compilable-mark.js +0 -274
- package/esm/compile/mark/compilable-mark.js.map +0 -1
- package/esm/compile/mark/mark-data.d.ts +0 -9
- package/esm/compile/mark/mark-data.js +0 -24
- package/esm/compile/mark/mark-data.js.map +0 -1
- package/esm/compile/signal/compilable-signal.d.ts +0 -21
- package/esm/compile/signal/compilable-signal.js +0 -38
- package/esm/compile/signal/compilable-signal.js.map +0 -1
- package/esm/compile/signal/index.d.ts +0 -4
- package/esm/compile/signal/index.js +0 -8
- package/esm/compile/signal/index.js.map +0 -1
- package/esm/compile/signal/interface.d.ts +0 -12
- package/esm/compile/signal/interface.js +0 -2
- package/esm/compile/signal/interface.js.map +0 -1
- package/esm/compile/signal/signal-manager.d.ts +0 -11
- package/esm/compile/signal/signal-manager.js +0 -30
- package/esm/compile/signal/signal-manager.js.map +0 -1
- package/esm/compile/signal/state-manager.d.ts +0 -12
- package/esm/compile/signal/state-manager.js +0 -30
- package/esm/compile/signal/state-manager.js.map +0 -1
- package/esm/interaction/dimension-trigger.d.ts +0 -27
- package/esm/interaction/dimension-trigger.js +0 -70
- package/esm/interaction/dimension-trigger.js.map +0 -1
- package/esm/interaction/interface.d.ts +0 -73
- package/esm/interaction/interface.js +0 -2
- package/esm/interaction/interface.js.map +0 -1
- package/esm/series/base/series-data.d.ts +0 -5
- package/esm/series/base/series-data.js +0 -16
- package/esm/series/base/series-data.js.map +0 -1
- package/esm/vrender-tools.d.ts +0 -1
- package/esm/vrender-tools.js +0 -2
- package/esm/vrender-tools.js.map +0 -1
|
@@ -15,17 +15,11 @@ function defaultLabelConfig(rule, labelInfo) {
|
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function textAttribute(labelInfo, datum, formatMethod, formatter) {
|
|
18
|
-
var _a;
|
|
19
|
-
const {labelMark: labelMark, series: series} = labelInfo, textAttribute =
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
}, attributes = Object.keys(labelMark.stateStyle.normal);
|
|
24
|
-
for (const key of attributes) {
|
|
25
|
-
const attr = labelMark.getAttribute(key, datum);
|
|
26
|
-
textAttribute[key] = attr;
|
|
27
|
-
}
|
|
28
|
-
if (series.type !== interface_1.SeriesTypeEnum.sankey) {
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const {labelMark: labelMark, series: series} = labelInfo, field = series.getMeasureField()[0], textAttribute = labelMark.getAttributesOfState(datum);
|
|
20
|
+
if ("text" in textAttribute || (textAttribute.text = null !== (_a = textAttribute.text) && void 0 !== _a ? _a : datum[field]),
|
|
21
|
+
"textType" in textAttribute || (textAttribute.textType = null !== (_b = labelInfo.labelSpec.textType) && void 0 !== _b ? _b : "text"),
|
|
22
|
+
textAttribute.data = datum, series.type !== interface_1.SeriesTypeEnum.sankey) {
|
|
29
23
|
const {formatFunc: formatFunc, args: args} = (0, util_1.getFormatFunction)(formatMethod, formatter, textAttribute.text, datum);
|
|
30
24
|
formatFunc && (textAttribute._originText = textAttribute.text, textAttribute.text = formatFunc(...args, {
|
|
31
25
|
series: series
|
|
@@ -53,8 +47,8 @@ function symbolLabel(labelInfo) {
|
|
|
53
47
|
|
|
54
48
|
function lineDataLabel(labelInfo) {
|
|
55
49
|
const result = symbolLabel(labelInfo);
|
|
56
|
-
return (0, vutils_1.isBoolean)(result.overlap) || (result.overlap.avoidBaseMark = !1
|
|
57
|
-
result;
|
|
50
|
+
return (0, vutils_1.isBoolean)(result.overlap) || (result.overlap.avoidBaseMark = !1,
|
|
51
|
+
result.overlap.clampForce = !1), result;
|
|
58
52
|
}
|
|
59
53
|
|
|
60
54
|
function symbolLabelOverlapStrategy() {
|
|
@@ -106,6 +100,7 @@ function pointLabel(labelInfo) {
|
|
|
106
100
|
const {labelSpec: labelSpec} = labelInfo;
|
|
107
101
|
let overlap;
|
|
108
102
|
return overlap = !1 !== labelSpec.overlap && {
|
|
103
|
+
clampForce: !1,
|
|
109
104
|
avoidBaseMark: !1
|
|
110
105
|
}, {
|
|
111
106
|
position: "center",
|
|
@@ -184,7 +179,11 @@ function LineLabel(labelInfo) {
|
|
|
184
179
|
} ];
|
|
185
180
|
return {
|
|
186
181
|
position: null !== (_d = labelSpec.position) && void 0 !== _d ? _d : "end",
|
|
187
|
-
data: data
|
|
182
|
+
data: data,
|
|
183
|
+
overlap: {
|
|
184
|
+
avoidBaseMark: !1,
|
|
185
|
+
clampForce: !1
|
|
186
|
+
}
|
|
188
187
|
};
|
|
189
188
|
}
|
|
190
189
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/label/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { WaterfallSeries } from './../../series/waterfall/waterfall';\nimport type { Datum } from '../../typings/common';\nimport { Direction } from '../../typings/space';\nimport type { BaseLabelAttrs, LabelItem, OverlapAttrs, Strategy } from '@visactor/vrender-components';\nimport { SeriesTypeEnum, type ICartesianSeries } from '../../series/interface';\nimport { isBoolean, isFunction, isObject, isString } from '@visactor/vutils';\nimport { createText } from '@visactor/vrender-core';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ILabelInfo, ILabelSpec } from './interface';\nimport { getFormatFunction } from '../util';\nimport { DEFAULT_DATA_SERIES_FIELD } from '../../core';\n\nexport const labelRuleMap = {\n rect: barLabel,\n symbol: symbolLabel,\n arc: pieLabel,\n point: pointLabel,\n 'line-data': lineDataLabel,\n stackLabel: stackLabel,\n line: LineLabel,\n area: LineLabel,\n rect3d: barLabel,\n arc3d: pieLabel,\n treemap: treemapLabel,\n venn: vennLabel\n};\n\nexport function defaultLabelConfig(rule: string, labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n if (labelSpec.overlap && !isObject(labelSpec.overlap)) {\n labelSpec.overlap = {};\n }\n const processor = labelRuleMap[rule] ?? labelRuleMap.point;\n\n if (labelInfo.series.type === SeriesTypeEnum.sankey) {\n return sankeyLabel(labelInfo);\n }\n return processor(labelInfo);\n}\n\nexport function textAttribute(\n labelInfo: ILabelInfo,\n datum: Datum,\n formatMethod?: ILabelSpec['formatMethod'],\n formatter?: ILabelSpec['formatter']\n) {\n const { labelMark, series } = labelInfo;\n const field = series.getMeasureField()[0];\n const textAttribute = { text: datum[field], data: datum, textType: labelInfo.labelSpec.textType ?? 'text' } as any;\n\n const attributes = Object.keys(labelMark.stateStyle.normal);\n\n for (const key of attributes) {\n const attr = labelMark.getAttribute(key as any, datum);\n textAttribute[key] = attr;\n }\n\n if (series.type !== SeriesTypeEnum.sankey) {\n const { formatFunc, args } = getFormatFunction(formatMethod, formatter, textAttribute.text, datum);\n if (formatFunc) {\n textAttribute._originText = textAttribute.text;\n textAttribute.text = formatFunc(...args, { series });\n }\n }\n\n return textAttribute;\n}\n\nfunction uniformLabelPosition(position?: ILabelSpec['position']) {\n if (isFunction(position)) {\n return (datum: Datum) => {\n return position(datum.data);\n };\n }\n return position;\n}\n\n/**\n * symbol 图元标签规则。\n */\nexport function symbolLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec } = labelInfo;\n\n // encode position config\n const defaultPosition = (series as ICartesianSeries).direction === 'horizontal' ? 'right' : 'top';\n const position = uniformLabelPosition(labelSpec.position) ?? defaultPosition;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? symbolLabelOverlapStrategy(),\n avoidBaseMark: position !== 'center'\n };\n }\n\n return { position, overlap };\n}\n\nexport function lineDataLabel(labelInfo: ILabelInfo) {\n const result = symbolLabel(labelInfo);\n if (!isBoolean(result.overlap)) {\n result.overlap.avoidBaseMark = false;\n }\n return result;\n}\n\nfunction symbolLabelOverlapStrategy() {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: ['top', 'bottom', 'right', 'left', 'top-right', 'top-left', 'bottom-left', 'bottom-right']\n }\n ];\n\n return strategy;\n}\n\n/**\n *\n */\nexport function barLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction ?? 'vertical';\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n\n let position = originPosition as BaseLabelAttrs['position'];\n\n position = (datum: Datum) => {\n const { data } = datum;\n\n const labelPosition =\n (typeof labelSpec.position === 'function'\n ? (labelSpec.position as (a: Datum) => string)(data)\n : labelSpec.position) ?? 'outside';\n\n if (labelPosition === 'outside') {\n const dataField = series.getMeasureField()[0];\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = (data?.[dataField] >= 0 && isInverse) || (data?.[dataField] < 0 && !isInverse) ? 1 : 0;\n return positionMap[direction][index];\n }\n\n return labelPosition;\n };\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? barLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n // encode smartInvert\n let smartInvert = false;\n if (isString(originPosition) && originPosition.includes('inside')) {\n smartInvert = true;\n }\n\n return { position, overlap, smartInvert };\n}\n\nfunction barLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n const { data: datum } = data;\n const dataField = series.getMeasureField()[0];\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n if (isInverse) {\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n }\n ];\n\n return strategy;\n}\n\n/**\n * 无关图元,指定x/y坐标的标签配置规则\n */\nexport function pointLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n avoidBaseMark: false\n };\n }\n\n return { position: 'center', overlap };\n}\n\n/**\n * pie 图元标签配置规则\n */\n\nexport function pieLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n // encode position config\n const labelPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const position = labelPosition as BaseLabelAttrs['position'];\n\n // encode smartInvert\n let smartInvert;\n if (labelSpec.smartInvert) {\n smartInvert = labelSpec.smartInvert;\n } else {\n smartInvert = isString(labelPosition) && labelPosition.includes('inside');\n }\n\n return { position, smartInvert };\n}\n\n/**\n * 瀑布图堆积标签配置规则\n */\n\nexport function stackLabelX(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n if (pos === 'middle') {\n return (series.totalPositionX(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'start' : 'end') - offset;\n }\n return series.totalPositionX(datum2, 'end') + (datum2.end >= datum2.start ? offset : -offset);\n }\n return series.totalPositionX(datum2, 'index', 0.5);\n}\nexport function stackLabelY(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n return series.totalPositionY(datum2, 'index', 0.5);\n }\n if (pos === 'middle') {\n return (series.totalPositionY(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'start' : 'end') + offset;\n }\n return series.totalPositionY(datum2, 'end') + (datum2.end >= datum2.start ? -offset : offset);\n}\n\nexport function stackLabel(\n labelInfo: ILabelInfo,\n datumTransform?: (data: any) => any,\n attributeTransform?: (label: LabelItem, datum: Datum, att: any) => any\n) {\n const series = labelInfo.series as WaterfallSeries;\n const labelSpec = labelInfo.labelSpec || ({} as IWaterfallSeriesSpec['stackLabel']);\n const totalData = series.getTotalData();\n return {\n customLayoutFunc: (labels: LabelItem[]) => {\n return labels.map(label => {\n const pos = labelSpec.position || 'withChange';\n const offset = labelSpec.offset || 0;\n\n const datum = datumTransform ? datumTransform(label.data) : label.data;\n const attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);\n\n attribute.x = stackLabelX(datum, series, pos, offset);\n attribute.y = stackLabelY(datum, series, pos, offset);\n if (series.direction === Direction.horizontal) {\n attribute.textAlign =\n pos === 'middle'\n ? 'center'\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'left'\n : 'right';\n } else {\n attribute.textBaseline =\n pos === 'middle'\n ? pos\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'bottom'\n : 'top';\n }\n attributeTransform?.(label, datum, attribute);\n return createText({ ...attribute, id: label.id });\n });\n },\n dataFilter: (labels: LabelItem[]) => {\n const result: LabelItem[] = [];\n totalData.forEach((total: any) => {\n const label = labels.find(labelItem => {\n return total.index === labelItem.data?.[series.getDimensionField()[0]];\n });\n if (label) {\n label.data = total;\n result.push(label);\n }\n });\n return result;\n },\n overlap: {\n strategy: [] as any\n }\n };\n}\n\n/**\n * treemap 非叶子节点标签配置规则\n */\nexport function treemapLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n overlap: false\n };\n}\n\n/**\n * venn 标签配置规则\n */\nexport function vennLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n smartInvert: true\n };\n}\n\n/**\n * line 图元标签\n */\n\nexport function LineLabel(labelInfo: ILabelInfo) {\n const { labelSpec, series } = labelInfo;\n\n const seriesData = series.getViewDataStatistics?.().latestData?.[series.getSeriesField()]?.values;\n const data = seriesData\n ? seriesData.map((d: Datum, index: number) => ({ [series.getSeriesField()]: d, index }))\n : [\n {\n index: 0,\n [DEFAULT_DATA_SERIES_FIELD]: series.getSeriesKeys()[0]\n }\n ];\n return { position: labelSpec.position ?? 'end', data };\n}\n\nexport function sankeyLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction;\n let position = originPosition as BaseLabelAttrs['position'];\n\n if (isString(originPosition)) {\n if (direction === 'vertical') {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else {\n position = (datum: Datum) => {\n return 'bottom';\n };\n }\n } else {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else if (originPosition === 'outside') {\n position = (datum: Datum) => {\n return 'right';\n };\n }\n }\n }\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap =\n isString(originPosition) && originPosition.includes('inside')\n ? false\n : {\n strategy:\n (labelSpec.overlap as OverlapAttrs)?.strategy ?? sankeyLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n return {\n position,\n overlap,\n smartInvert: false,\n offset: 0,\n syncState: true\n };\n}\n\nfunction sankeyLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n return series.direction === 'horizontal' ? ['right', 'left'] : ['bottom', 'top'];\n }\n }\n ];\n\n return strategy;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/label/util.ts"],"names":[],"mappings":"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","file":"util.js","sourcesContent":["import type { WaterfallSeries } from './../../series/waterfall/waterfall';\nimport type { Datum } from '../../typings/common';\nimport { Direction } from '../../typings/space';\nimport type { BaseLabelAttrs, LabelItem, OverlapAttrs, Strategy } from '@visactor/vrender-components';\nimport { SeriesTypeEnum, type ICartesianSeries } from '../../series/interface';\nimport { isBoolean, isFunction, isObject, isString } from '@visactor/vutils';\nimport { createText } from '@visactor/vrender-core';\nimport type { IWaterfallSeriesSpec } from '../../series/waterfall/interface';\nimport type { ILabelInfo, ILabelSpec } from './interface';\nimport { getFormatFunction } from '../util';\nimport { DEFAULT_DATA_SERIES_FIELD } from '../../core';\n\nexport const labelRuleMap = {\n rect: barLabel,\n symbol: symbolLabel,\n arc: pieLabel,\n point: pointLabel,\n 'line-data': lineDataLabel,\n stackLabel: stackLabel,\n line: LineLabel,\n area: LineLabel,\n rect3d: barLabel,\n arc3d: pieLabel,\n treemap: treemapLabel,\n venn: vennLabel\n};\n\nexport function defaultLabelConfig(rule: string, labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n if (labelSpec.overlap && !isObject(labelSpec.overlap)) {\n labelSpec.overlap = {};\n }\n const processor = (labelRuleMap as any)[rule] ?? labelRuleMap.point;\n\n if (labelInfo.series.type === SeriesTypeEnum.sankey) {\n return sankeyLabel(labelInfo);\n }\n return processor(labelInfo);\n}\n\nexport function textAttribute(\n labelInfo: ILabelInfo,\n datum: Datum,\n formatMethod?: ILabelSpec['formatMethod'],\n formatter?: ILabelSpec['formatter']\n) {\n const { labelMark, series } = labelInfo;\n const field = series.getMeasureField()[0];\n const textAttribute = labelMark.getAttributesOfState(datum);\n\n if (!('text' in textAttribute)) {\n textAttribute.text = textAttribute.text ?? datum[field];\n }\n if (!('textType' in textAttribute)) {\n textAttribute.textType = labelInfo.labelSpec.textType ?? 'text';\n }\n textAttribute.data = datum;\n\n if (series.type !== SeriesTypeEnum.sankey) {\n const { formatFunc, args } = getFormatFunction(\n formatMethod,\n formatter,\n textAttribute.text as string | number,\n datum\n );\n if (formatFunc) {\n textAttribute._originText = textAttribute.text;\n textAttribute.text = formatFunc(...args, { series });\n }\n }\n\n return textAttribute;\n}\n\nfunction uniformLabelPosition(position?: ILabelSpec['position']) {\n if (isFunction(position)) {\n return (datum: Datum) => {\n return position(datum.data);\n };\n }\n return position;\n}\n\n/**\n * symbol 图元标签规则。\n */\nexport function symbolLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec } = labelInfo;\n\n // encode position config\n const defaultPosition = (series as ICartesianSeries).direction === 'horizontal' ? 'right' : 'top';\n const position = uniformLabelPosition(labelSpec.position) ?? defaultPosition;\n\n // encode overlap config\n let overlap: OverlapAttrs | boolean;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n // clampForce: true,\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? symbolLabelOverlapStrategy(),\n avoidBaseMark: position !== 'center'\n };\n }\n\n return { position, overlap };\n}\n\nexport function lineDataLabel(labelInfo: ILabelInfo) {\n const result = symbolLabel(labelInfo);\n if (!isBoolean(result.overlap)) {\n result.overlap.avoidBaseMark = false;\n result.overlap.clampForce = false;\n }\n return result;\n}\n\nfunction symbolLabelOverlapStrategy() {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: ['top', 'bottom', 'right', 'left', 'top-right', 'top-left', 'bottom-left', 'bottom-right']\n }\n ];\n\n return strategy;\n}\n\n/**\n *\n */\nexport function barLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction ?? 'vertical';\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n\n let position = originPosition as BaseLabelAttrs['position'];\n\n position = (datum: Datum) => {\n const { data } = datum;\n\n const labelPosition =\n (typeof labelSpec.position === 'function'\n ? (labelSpec.position as (a: Datum) => string)(data)\n : labelSpec.position) ?? 'outside';\n\n if (labelPosition === 'outside') {\n const dataField = series.getMeasureField()[0];\n const positionMap = { vertical: ['top', 'bottom'], horizontal: ['right', 'left'] };\n const index = (data?.[dataField] >= 0 && isInverse) || (data?.[dataField] < 0 && !isInverse) ? 1 : 0;\n return positionMap[direction][index];\n }\n\n return labelPosition;\n };\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n strategy: (labelSpec.overlap as OverlapAttrs)?.strategy ?? barLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n // encode smartInvert\n let smartInvert = false;\n if (isString(originPosition) && originPosition.includes('inside')) {\n smartInvert = true;\n }\n\n return { position, overlap, smartInvert };\n}\n\nfunction barLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n const { data: datum } = data;\n const dataField = series.getMeasureField()[0];\n const isInverse =\n (series as ICartesianSeries).direction === 'horizontal'\n ? (series as ICartesianSeries).getXAxisHelper()?.isInverse()\n : (series as ICartesianSeries).getYAxisHelper()?.isInverse();\n if (isInverse) {\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n if (datum?.[dataField] >= 0) {\n return series.direction === 'horizontal' ? ['right', 'inside-right'] : ['top', 'inside-top'];\n }\n return series.direction === 'horizontal' ? ['left', 'inside-left'] : ['bottom', 'inside-bottom'];\n }\n }\n ];\n\n return strategy;\n}\n\n/**\n * 无关图元,指定x/y坐标的标签配置规则\n */\nexport function pointLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap = {\n clampForce: false,\n avoidBaseMark: false\n };\n }\n\n return { position: 'center', overlap };\n}\n\n/**\n * pie 图元标签配置规则\n */\n\nexport function pieLabel(labelInfo: ILabelInfo) {\n const { labelSpec } = labelInfo;\n // encode position config\n const labelPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const position = labelPosition as BaseLabelAttrs['position'];\n\n // encode smartInvert\n let smartInvert;\n if (labelSpec.smartInvert) {\n smartInvert = labelSpec.smartInvert;\n } else {\n smartInvert = isString(labelPosition) && labelPosition.includes('inside');\n }\n\n return { position, smartInvert };\n}\n\n/**\n * 瀑布图堆积标签配置规则\n */\n\nexport function stackLabelX(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n if (pos === 'middle') {\n return (series.totalPositionX(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return series.totalPositionX(datum2, datum2.end >= datum2.start ? 'start' : 'end') - offset;\n }\n return series.totalPositionX(datum2, 'end') + (datum2.end >= datum2.start ? offset : -offset);\n }\n return series.totalPositionX(datum2, 'index', 0.5);\n}\nexport function stackLabelY(datum2: Datum, series: WaterfallSeries, pos: string, offset: number) {\n if (series.direction === Direction.horizontal) {\n return series.totalPositionY(datum2, 'index', 0.5);\n }\n if (pos === 'middle') {\n return (series.totalPositionY(datum2, 'end') + series.totalPositionY(datum2, 'start')) * 0.5;\n } else if (pos === 'max') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return series.totalPositionY(datum2, datum2.end >= datum2.start ? 'start' : 'end') + offset;\n }\n return series.totalPositionY(datum2, 'end') + (datum2.end >= datum2.start ? -offset : offset);\n}\n\nexport function stackLabel(\n labelInfo: ILabelInfo,\n datumTransform?: (data: any) => any,\n attributeTransform?: (label: LabelItem, datum: Datum, att: any) => any\n) {\n const series = labelInfo.series as WaterfallSeries;\n const labelSpec = labelInfo.labelSpec || ({} as IWaterfallSeriesSpec['stackLabel']);\n const totalData = series.getTotalData();\n return {\n customLayoutFunc: (labels: LabelItem[]) => {\n return labels.map(label => {\n const pos = labelSpec.position || 'withChange';\n const offset = labelSpec.offset || 0;\n\n const datum = datumTransform ? datumTransform(label.data) : label.data;\n const attribute = textAttribute(labelInfo, datum, labelSpec.formatMethod);\n\n attribute.x = stackLabelX(datum, series, pos, offset);\n attribute.y = stackLabelY(datum, series, pos, offset);\n if (series.direction === Direction.horizontal) {\n attribute.textAlign =\n pos === 'middle'\n ? 'center'\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'left'\n : 'right';\n } else {\n attribute.textBaseline =\n pos === 'middle'\n ? pos\n : (pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max'\n ? 'bottom'\n : 'top';\n }\n attributeTransform?.(label, datum, attribute);\n return createText({ ...attribute, id: label.id } as any);\n });\n },\n dataFilter: (labels: LabelItem[]) => {\n const result: LabelItem[] = [];\n totalData.forEach((total: any) => {\n const label = labels.find(labelItem => {\n return total.index === labelItem.data?.[series.getDimensionField()[0]];\n });\n if (label) {\n label.data = total;\n result.push(label);\n }\n });\n return result;\n },\n overlap: {\n strategy: [] as any\n }\n };\n}\n\n/**\n * treemap 非叶子节点标签配置规则\n */\nexport function treemapLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n overlap: false\n };\n}\n\n/**\n * venn 标签配置规则\n */\nexport function vennLabel(labelInfo: ILabelInfo) {\n return {\n customLayoutFunc: (labels: LabelItem[], text: any) => text,\n smartInvert: true\n };\n}\n\n/**\n * line 图元标签\n */\n\nexport function LineLabel(labelInfo: ILabelInfo) {\n const { labelSpec, series } = labelInfo;\n\n const seriesData = series.getViewDataStatistics?.().latestData?.[series.getSeriesField()]?.values;\n const data = seriesData\n ? seriesData.map((d: Datum, index: number) => ({ [series.getSeriesField()]: d, index }))\n : [\n {\n index: 0,\n [DEFAULT_DATA_SERIES_FIELD]: series.getSeriesKeys()[0]\n }\n ];\n return {\n position: labelSpec.position ?? 'end',\n data,\n overlap: {\n avoidBaseMark: false,\n clampForce: false\n }\n };\n}\n\nexport function sankeyLabel(labelInfo: ILabelInfo) {\n const { series, labelSpec = {} as ILabelSpec } = labelInfo;\n // encode position config\n const originPosition = uniformLabelPosition(labelSpec.position) ?? 'outside';\n const direction = (series as ICartesianSeries).direction;\n let position = originPosition as BaseLabelAttrs['position'];\n\n if (isString(originPosition)) {\n if (direction === 'vertical') {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else {\n position = (datum: Datum) => {\n return 'bottom';\n };\n }\n } else {\n if (originPosition === 'inside-start') {\n position = (datum: Datum) => {\n return 'inside-left';\n };\n } else if (originPosition === 'inside-middle') {\n position = (datum: Datum) => {\n return 'center';\n };\n } else if (originPosition === 'inside-end') {\n position = (datum: Datum) => {\n return 'inside-right';\n };\n } else if (originPosition === 'outside') {\n position = (datum: Datum) => {\n return 'right';\n };\n }\n }\n }\n // encode overlap config\n let overlap;\n if (labelSpec.overlap === false) {\n overlap = false;\n } else {\n overlap =\n isString(originPosition) && originPosition.includes('inside')\n ? false\n : {\n strategy:\n (labelSpec.overlap as OverlapAttrs)?.strategy ?? sankeyLabelOverlapStrategy(series as ICartesianSeries)\n };\n }\n\n return {\n position,\n overlap,\n smartInvert: false,\n offset: 0,\n syncState: true\n };\n}\n\nfunction sankeyLabelOverlapStrategy(series: ICartesianSeries) {\n const strategy: Strategy[] = [\n {\n type: 'position',\n position: (data: any) => {\n return series.direction === 'horizontal' ? ['right', 'left'] : ['bottom', 'top'];\n }\n }\n ];\n\n return strategy;\n}\n"]}
|
|
@@ -13,7 +13,7 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
|
|
|
13
13
|
};
|
|
14
14
|
background?: {
|
|
15
15
|
visible?: boolean;
|
|
16
|
-
style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "
|
|
16
|
+
style?: Omit<import("./interface").NoVisibleMarkStyle<import("../..").IRectMarkSpec>, "visible" | "width" | "height">;
|
|
17
17
|
};
|
|
18
18
|
text?: string | number | string[] | number[] | {
|
|
19
19
|
type?: "text";
|
|
@@ -32,10 +32,10 @@ export declare function transformLegendTitleAttributes(title: ITitle): {
|
|
|
32
32
|
element: any;
|
|
33
33
|
} & import("@visactor/vrender-core").SimpleDomStyleOptions & import("@visactor/vrender-core").CommonDomOptions;
|
|
34
34
|
};
|
|
35
|
+
visible?: boolean;
|
|
36
|
+
align?: "start" | "end" | "center";
|
|
35
37
|
padding?: import("@visactor/vrender-components").Padding;
|
|
36
38
|
maxWidth?: number;
|
|
37
39
|
minWidth?: number;
|
|
38
|
-
visible?: boolean;
|
|
39
40
|
space?: number;
|
|
40
|
-
align?: "start" | "end" | "center";
|
|
41
41
|
};
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerMapLabel = exports.MapLabelComponent = void 0;
|
|
6
6
|
|
|
7
|
-
const vdataset_1 = require("@visactor/vdataset"), base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), layout_1 = require("../../constant/layout"), layout_2 = require("./layout"), compilable_data_1 = require("../../compile/data/compilable-data"), space_1 = require("../../util/space"), vrender_components_1 = require("@visactor/vrender-components"), vrender_core_1 = require("@visactor/vrender-core"), style_1 = require("../../util/style"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), initialize_1 = require("../../data/initialize"), util_1 = require("../util");
|
|
7
|
+
const vdataset_1 = require("@visactor/vdataset"), base_component_1 = require("../base/base-component"), type_1 = require("../interface/type"), layout_1 = require("../../constant/layout"), layout_2 = require("./layout"), compilable_data_1 = require("../../compile/data/compilable-data"), space_1 = require("../../util/space"), vrender_components_1 = require("@visactor/vrender-components"), vrender_core_1 = require("@visactor/vrender-core"), style_1 = require("../../util/style"), vutils_1 = require("@visactor/vutils"), factory_1 = require("../../core/factory"), initialize_1 = require("../../data/initialize"), util_1 = require("../util"), util_2 = require("../../util");
|
|
8
8
|
|
|
9
9
|
class MapLabelComponent extends base_component_1.BaseComponent {
|
|
10
10
|
constructor() {
|
|
@@ -51,23 +51,22 @@ class MapLabelComponent extends base_component_1.BaseComponent {
|
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
initEvent() {
|
|
54
|
-
var _a;
|
|
55
54
|
this.event.on("zoom", {
|
|
56
55
|
filter: params => this._isRelativeModel(params.model)
|
|
57
56
|
}, (e => (this.handleZoom(e), !0))), this.event.on("panmove", {
|
|
58
57
|
filter: params => this._isRelativeModel(params.model)
|
|
59
58
|
}, (e => (this.handlePan(e), !0)));
|
|
60
59
|
const trigger = this._spec.trigger;
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
this._isRelativeSeries(
|
|
69
|
-
})),
|
|
70
|
-
this.
|
|
60
|
+
"none" !== trigger && ("hover" === trigger ? (this.event.on("element-highlight:start", (params => {
|
|
61
|
+
const g = params.graphics[0];
|
|
62
|
+
this._isRelativeSeries(g) && this._updateDatum((0, util_2.getDatumOfGraphic)(g));
|
|
63
|
+
})), this.event.on("element-highlight:reset", (params => {
|
|
64
|
+
this._activeDatum && this._updateDatum(null);
|
|
65
|
+
}))) : "click" === trigger && (this.event.on("element-select:start", (params => {
|
|
66
|
+
const g = params.graphics[0];
|
|
67
|
+
this._isRelativeSeries(g) && this._updateDatum((0, util_2.getDatumOfGraphic)(g));
|
|
68
|
+
})), this.event.on("elementSelectReset", (params => {
|
|
69
|
+
this._activeDatum && this._updateDatum([]);
|
|
71
70
|
}))));
|
|
72
71
|
}
|
|
73
72
|
handlePan(e) {
|
|
@@ -245,8 +244,9 @@ class MapLabelComponent extends base_component_1.BaseComponent {
|
|
|
245
244
|
const id = null !== (_b = null === (_a = this._series.getXAxisHelper()) || void 0 === _a ? void 0 : _a.getAxisId()) && void 0 !== _b ? _b : null === (_c = this._series.getCoordinateHelper()) || void 0 === _c ? void 0 : _c.getCoordinateId();
|
|
246
245
|
return (null == model ? void 0 : model.id) === id;
|
|
247
246
|
}
|
|
248
|
-
_isRelativeSeries(
|
|
249
|
-
|
|
247
|
+
_isRelativeSeries(g) {
|
|
248
|
+
var _a;
|
|
249
|
+
return (null === (_a = g.context) || void 0 === _a ? void 0 : _a.modelId) === this._series.id;
|
|
250
250
|
}
|
|
251
251
|
onRender(ctx) {}
|
|
252
252
|
changeRegions() {}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { LayoutZIndex } from '../../constant/layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\n\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, IModelSpecInfo } from '../../model/interface';\nimport { Factory } from '../../core/factory';\nimport { TransformLevel } from '../../data/initialize';\nimport { getSpecInfo } from '../util';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n const view = this.getCompiler()?.getVGrammarView();\n\n if (!view) {\n return;\n }\n\n if (trigger === 'hover') {\n view.addEventListener('element-highlight:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('element-highlight:reset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n view.addEventListener('element-select:start', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum(params.elements[0].getDatum());\n }\n });\n view.addEventListener('elementSelectReset', (params: any) => {\n if (this._isRelativeSeries(params.options.seriesId)) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(model: IModel) {\n return model?.id === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/map-label/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import type { IPadding, IRect, IOrientType } from '../../typings/space';\nimport { DataView } from '@visactor/vdataset';\nimport { BaseComponent } from '../base/base-component';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface/type';\nimport { LayoutZIndex } from '../../constant/layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './interface';\nimport type { ICartesianSeries, IGeoSeries } from '../../series/interface';\nimport type { IPoint, Datum } from '../../typings';\nimport type { IPairInfo } from './layout';\n// eslint-disable-next-line no-duplicate-imports\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\n\nimport { CompilableData } from '../../compile/data/compilable-data';\nimport { normalizeLayoutPaddingSpec } from '../../util/space';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { createGroup, createRect, createSymbol, createText } from '@visactor/vrender-core';\nimport { transformToGraphic } from '../../util/style';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, IModelSpecInfo } from '../../model/interface';\nimport { Factory } from '../../core/factory';\nimport { TransformLevel } from '../../data/initialize';\nimport { getSpecInfo } from '../util';\nimport { getDatumOfGraphic } from '../../util';\nimport type { IMarkGraphic } from '../../mark/interface';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = ComponentTypeEnum.mapLabel;\n type = ComponentTypeEnum.mapLabel;\n name: string = ComponentTypeEnum.mapLabel;\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handleZoom(e as unknown as ZoomEventParam);\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('elementSelectReset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom(e: ZoomEventParam) {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = this._spec.id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n marker.removeAllChild();\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = createGroup({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = createRect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = createSymbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = createText(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = createText(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(g: IMarkGraphic) {\n return g.context?.modelId === this._series.id;\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = () => {\n Factory.registerComponent(MapLabelComponent.type, MapLabelComponent);\n};\n"]}
|
|
@@ -59,7 +59,7 @@ export declare abstract class BaseMarker<T extends IMarkerSpec> extends BaseComp
|
|
|
59
59
|
clear(): void;
|
|
60
60
|
private _getFirstSeries;
|
|
61
61
|
protected _getNeedClearVRenderComponents(): IGraphic[];
|
|
62
|
-
onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect
|
|
62
|
+
onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void;
|
|
63
63
|
_compareSpec(spec: T, prevSpec: T): {
|
|
64
64
|
change: boolean;
|
|
65
65
|
reMake: boolean;
|
|
@@ -131,10 +131,10 @@ class BaseMarker extends base_component_1.BaseComponent {
|
|
|
131
131
|
_getNeedClearVRenderComponents() {
|
|
132
132
|
return [ this._markerComponent ];
|
|
133
133
|
}
|
|
134
|
-
onLayoutStart(layoutRect, chartViewRect
|
|
134
|
+
onLayoutStart(layoutRect, chartViewRect) {
|
|
135
135
|
(0, vutils_1.isNil)(this._spec.offsetX) || (this._layoutOffsetX = (0, space_1.calcLayoutNumber)(this._spec.offsetX, chartViewRect.width, chartViewRect)),
|
|
136
136
|
(0, vutils_1.isNil)(this._spec.offsetY) || (this._layoutOffsetY = (0, space_1.calcLayoutNumber)(this._spec.offsetY, chartViewRect.height, chartViewRect)),
|
|
137
|
-
super.onLayoutStart(layoutRect, chartViewRect
|
|
137
|
+
super.onLayoutStart(layoutRect, chartViewRect);
|
|
138
138
|
}
|
|
139
139
|
_compareSpec(spec, prevSpec) {
|
|
140
140
|
const result = super._compareSpec(spec, prevSpec);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":"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","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._markerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._markerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._markerLayout.bind(this));\n }\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n clear(): void {\n super.clear();\n this._firstSeries = null;\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect, ctx: any): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect, ctx);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n result.change = true;\n }\n return result;\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/marker/base-marker.ts"],"names":[],"mappings":";;;AAAA,iDAAuD;AAGvD,6CAA4E;AAK5E,2DAAuD;AAWvD,4CAAoD;AACpD,mCAAqC;AACrC,qCAA4C;AAC5C,mDAAsD;AACtD,kCAAsC;AAEtC,kDAAuE;AACvE,mEAAsE;AACtE,uEAAmE;AAEnE,MAAsB,UAAkC,SAAQ,8BAAgB;IAAhF;;QACE,eAAU,GAAyB,MAAM,CAAC;QAwBhC,mBAAc,GAAW,CAAC,CAAC;QAC3B,mBAAc,GAAW,CAAC,CAAC;IAuPvC,CAAC;IApQC,iBAAiB;QACf,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAID,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAcD,MAAM,CAAC,wBAAwB,CAAC,UAAe;QAC7C,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAc;QAC/B,OAAO,IAAA,kBAAW,EAAc,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAc,EAAE,EAAE;YACrF,OAAO,CAAC,CAAC,OAAO,KAAK,KAAK,IAAI,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,cAAc,CAAC;QACzF,CAAC,CAAC,CAAC;IACL,CAAC;IAGD,uBAAuB;QACrB,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAES,4BAA4B;QACpC,IAAI,CAAC,qBAAqB,GAAG;YAC3B,cAAc,EAAE,IAAI,CAAC,eAAe;YACpC,mBAAmB,EAAE,IAAI,CAAC,oBAAoB;YAC9C,iBAAiB,EAAE,IAAI,CAAC,kBAAkB;YAC1C,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,cAAc;SACpC,CAAC;IACJ,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,4BAA4B,EAAE,CAAC;IACtC,CAAC;IAES,qBAAqB;QAC7B,OAAO;YACL,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe;YAC7C,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,oBAAoB;YACvD,oBAAoB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB;SACpD,CAAC;IACJ,CAAC;IAEO,qBAAqB,CAC3B,GAAgD,EAChD,IAAiC,EACjC,cAAoC;QAEpC,MAAM,YAAY,GAAG;YACnB,CAAC,EAAE,QAAQ;YACX,CAAC,EAAE,QAAQ;YACX,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,eAAe;YACtB,QAAQ,EAAE,WAAW;SACtB,CAAC;QAEF,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,kBAAU,EAAC,IAAI,CAAC,EAAE;YACtC,OAAO;gBACL,KAAK,EAAE,cAAc,CAAC,OAAO,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;gBAClD,QAAQ,EAAE,IAA4B;aACvC,CAAC;SACH;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,kBAAkB,CAC1B,OAGG;QAEH,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC;QAC5C,MAAM,MAAM,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;QACvG,uCACK,MAAM,GACN,IAAI,CAAC,qBAAqB,EAAE,EAC/B;IACJ,CAAC;IAES,eAAe,CAAC,IAAS;QACjC,qCACE,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,IAC7C,IAAI,CAAC,qBAAqB,EAAE,KAC/B,oBAAoB,EAAE,CAAC,YAA4B,EAAE,WAAmB,EAAE,EAAE,CAC1E,IAAI,CAAC,qBAAqB,CAAC,YAAY,EAAE,WAAW,CAAC,EACvD,cAAc,EAAE,IAAI,CAAC,cAAc,IACnC;IACJ,CAAC;IAES,oBAAoB;QAC5B,IAAI,IAAI,CAAC,oBAAoB,EAAE;YAC7B,IAAI,UAAU,GAAU,EAAE,CAAC;YAC3B,IAAA,cAAK,EAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;gBAChD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,CAAC;YAClE,CAAC,CAAC,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,kBAAO,EAAE,CAAC;YAC9B,OAAO,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAW,CAAC,CAAC;YAC7C,OAAO,IAAI,mBAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;SACnE;QACD,OAAO,IAAI,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC;IAC5C,CAAC;IAED,qBAAqB;;QACnB,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;QACjD,IAAI,aAAa,EAAE;YAEjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE;gBAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBACtD,eAAe,CAAC,IAAI,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,IAAI,CAAC,IAAI,CAAC;gBACpD,eAAe,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;gBAChE,IAAI,CAAC,gBAAgB,GAAG,eAAe,CAAC;gBAExC,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAE/C,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAU,EAAE,IAAY,EAAE,EAAE;oBACzD,IAAI,CAAC,cAAc,CACjB,IAAI,CAAC,gBAAuC,EAC5C,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAC9B,CAAC;gBACJ,CAAC,CAAC,CAAC;aACJ;YACD,IAAI,CAAC,aAAa,EAAE,CAAC;SACtB;QAED,KAAK,CAAC,qBAAqB,EAAE,CAAC;IAChC,CAAC;IAEO,qBAAqB,CAAC,YAA4B,EAAE,WAAmB;;QAC7E,IAAI,MAA4B,CAAC;QACjC,MAAM,GAAG,MAAA,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAA,gBAAO,EAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE;YAC1F,WAAW;SACZ,CAAC,0CAAG,CAAC,CAAyB,CAAC;QAChC,IAAI,CAAC,MAAM,EAAE;YACX,MAAM,GAAG,MAAA,IAAI,CAAC,eAAe,mCAAI,IAAI,CAAC,eAAe,EAAE,CAAC;SACzD;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,MAAM,IAAI,GAAQ,IAAI,CAAC,KAAK,CAAC;QAC7B,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACnG,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;QAClH,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,CAAC,sBAAsB,CAAC,CAAC;QAC5G,IACE,CAAC,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,wBAAwB,KAAK,KAAK,CAAC;YAC1E,CAAC,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC,qBAAqB,KAAK,KAAK,CAAC,EACpE;YACA,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAA4B,CAAC;SACnF;aAAM,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,qBAAqB,EAAE;YACtE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,EAAE,IAAI,CAAC,wBAAwB,CAAC,CAAC;SACnH;IACH,CAAC;IAES,SAAS;QAGjB,IAAI,IAAI,CAAC,eAAe,CAAC,UAAU,KAAK,WAAW,EAAE;YACnD,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACrE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;SACxE;IACH,CAAC;IACD,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IACD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,KAAK;QACH,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC3B,CAAC;IAEO,eAAe;;QACrB,IAAI,IAAI,CAAC,YAAY,EAAE;YACrB,OAAO,IAAI,CAAC,YAAY,CAAC;SAC1B;QACD,MAAM,WAAW,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,QAAQ,CAAqB,CAAC;QACtE,IAAI,WAAW,EAAE;YACf,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,OAAO,WAAW,CAAC;SACpB;QACD,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC,0BAA0B,CAAC,CAAC;QAClD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,8BAA8B;QACtC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAwB,CAAC;IACxD,CAAC;IAED,aAAa,CAAC,UAAiB,EAAE,aAA0B;QAEzD,IAAI,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;SAChG;QACD,IAAI,CAAC,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;YAC9B,IAAI,CAAC,cAAc,GAAG,IAAA,wBAAgB,EAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,aAAa,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;SACjG;QACD,KAAK,CAAC,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;IACjD,CAAC;IAED,YAAY,CAAC,IAAO,EAAE,QAAW;QAC/B,MAAM,MAAM,GAAG,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QAClD,IAAI,CAAC,IAAA,gBAAO,EAAC,QAAQ,EAAE,IAAI,CAAC,EAAE;YAC5B,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,mBAAmB;QACjB,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE3C,MAAM,UAAU,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC/C,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,EAAE,+BAAiB,CAAC,CAAC;QAC/F,IAAA,2CAAgC,EAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,4BAAY,CAAC,CAAC;QACrF,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1F,IAAI,CAAC,KAAK,CAAC,CAAC,UAAU,CAAC,EAAE;YACvB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,mBAAmB;YACzB,OAAO;SACR,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC;YACb,IAAI,EAAE,cAAc;YACpB,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE;SACtC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;YAC5B,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;CACF;AAjRD,gCAiRC","file":"base-marker.js","sourcesContent":["import { DataSet, DataView } from '@visactor/vdataset';\nimport type { Maybe } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, isValid, isNil, isString, isEqual } from '@visactor/vutils';\nimport type { IModelRenderOption, IModelSpecInfo } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { ICartesianSeries } from '../../series/interface';\nimport type { CoordinateType, ILayoutRect, ILayoutType, IRect, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base/base-component';\nimport type {\n IAggrType,\n IDataPos,\n IDataPosCallback,\n IMarkerAttributeContext,\n IMarkerSpec,\n IMarkerSupportSeries,\n IMarkProcessOptions\n} from './interface';\nimport type { IGraphic, IGroup } from '@visactor/vrender-core';\nimport { calcLayoutNumber } from '../../util/space';\nimport { isAggrSpec } from './utils';\nimport { getFirstSeries } from '../../util';\nimport { arrayParser } from '../../data/parser/array';\nimport { getSpecInfo } from '../util';\nimport type { IOptionWithCoordinates } from '../../data/transforms/interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { markerAggregation } from '../../data/transforms/aggregation';\nimport { markerFilter } from '../../data/transforms/marker-filter';\n\nexport abstract class BaseMarker<T extends IMarkerSpec> extends BaseComponent<T> {\n layoutType: ILayoutType | 'none' = 'none';\n\n // 下面三个属性需要子组件复写\n static specKey: string;\n static type: string;\n static coordinateType: string;\n coordinateType: CoordinateType;\n\n protected _startRelativeSeries!: IMarkerSupportSeries;\n protected _endRelativeSeries!: IMarkerSupportSeries;\n protected _relativeSeries!: IMarkerSupportSeries;\n protected _specifiedDataSeries!: IMarkerSupportSeries | IMarkerSupportSeries[];\n getRelativeSeries() {\n return this._relativeSeries;\n }\n\n // marker 组件数据\n protected _markerData!: DataView;\n getMarkerData() {\n return this._markerData;\n }\n // marker 组件\n protected _markerComponent!: any;\n\n protected _layoutOffsetX: number = 0;\n protected _layoutOffsetY: number = 0;\n\n private _firstSeries: ICartesianSeries;\n\n protected abstract _initDataView(): void;\n protected abstract _createMarkerComponent(): IGroup;\n protected abstract _markerLayout(): void;\n protected abstract _computeOptions(): IMarkProcessOptions;\n // 该方法需要子组件复写\n static _getMarkerCoordinateType(markerSpec: any): string {\n return 'cartesian';\n }\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMarkerSpec>(chartSpec, this.specKey, this.type, (s: IMarkerSpec) => {\n return s.visible !== false && this._getMarkerCoordinateType(s) === this.coordinateType;\n });\n }\n\n protected _markAttributeContext: IMarkerAttributeContext;\n getMarkAttributeContext() {\n return this._markAttributeContext;\n }\n\n protected _buildMarkerAttributeContext() {\n this._markAttributeContext = {\n relativeSeries: this._relativeSeries,\n startRelativeSeries: this._startRelativeSeries,\n endRelativeSeries: this._endRelativeSeries,\n vchart: this._option.globalInstance\n };\n }\n\n created() {\n super.created();\n this._bindSeries();\n this._initDataView();\n this.initEvent();\n this._buildMarkerAttributeContext();\n }\n\n protected _getAllRelativeSeries() {\n return {\n getRelativeSeries: () => this._relativeSeries,\n getStartRelativeSeries: () => this._startRelativeSeries,\n getEndRelativeSeries: () => this._endRelativeSeries\n };\n }\n\n private _getFieldInfoFromSpec(\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName',\n spec: IDataPos | IDataPosCallback,\n relativeSeries: IMarkerSupportSeries\n ) {\n const specKeyByDim = {\n x: 'xField',\n y: 'yField',\n radius: 'valueField',\n angle: 'categoryField',\n areaName: 'nameField'\n };\n\n if (isString(spec) && isAggrSpec(spec)) {\n return {\n field: relativeSeries.getSpec()[specKeyByDim[dim]],\n aggrType: spec as unknown as IAggrType\n };\n }\n return spec;\n }\n\n protected _processSpecByDims(\n dimSpec: {\n dim: 'x' | 'y' | 'angle' | 'radius' | 'areaName';\n specValue: IDataPos | IDataPosCallback;\n }[]\n ) {\n const relativeSeries = this._relativeSeries;\n const dimMap = {};\n dimSpec.forEach(d => (dimMap[d.dim] = this._getFieldInfoFromSpec(d.dim, d.specValue, relativeSeries)));\n return {\n ...dimMap,\n ...this._getAllRelativeSeries()\n };\n }\n\n protected _processSpecCoo(spec: any): IOptionWithCoordinates {\n return {\n coordinates: spec.coordinates || spec.coordinate,\n ...this._getAllRelativeSeries(),\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) =>\n this._getSeriesByIdOrIndex(seriesUserId, seriesIndex),\n coordinateType: this.coordinateType\n };\n }\n\n protected _getRelativeDataView() {\n if (this._specifiedDataSeries) {\n let resultData: any[] = [];\n array(this._specifiedDataSeries).forEach(series => {\n resultData = resultData.concat(series.getViewData().latestData);\n });\n const dataSet = new DataSet();\n dataSet.registerParser('array', arrayParser);\n return new DataView(dataSet).parse(resultData, { type: 'array' });\n }\n return this._relativeSeries.getViewData();\n }\n\n updateLayoutAttribute(): void {\n const markerVisible = this._spec.visible ?? true;\n if (markerVisible) {\n // 创建marker组件\n if (!this._markerComponent) {\n const markerComponent = this._createMarkerComponent();\n markerComponent.name = this._spec.name ?? this.type;\n markerComponent.id = this._spec.id ?? `${this.type}-${this.id}`;\n this._markerComponent = markerComponent;\n\n this.getContainer().add(this._markerComponent);\n // 代理 marker 组件上的事件\n this._markerComponent.on('*', (event: any, type: string) => {\n this._delegateEvent(\n this._markerComponent as unknown as IGraphic,\n event,\n type,\n null,\n this.getMarkerData.bind(this)\n );\n });\n }\n this._markerLayout();\n }\n\n super.updateLayoutAttribute();\n }\n\n private _getSeriesByIdOrIndex(seriesUserId: StringOrNumber, seriesIndex: number) {\n let series: IMarkerSupportSeries;\n series = this._option.getSeriesInUserIdOrIndex(isValid(seriesUserId) ? [seriesUserId] : [], [\n seriesIndex\n ])?.[0] as IMarkerSupportSeries;\n if (!series) {\n series = this._relativeSeries ?? this._getFirstSeries();\n }\n return series;\n }\n\n protected _bindSeries() {\n const spec: any = this._spec;\n this._relativeSeries = this._getSeriesByIdOrIndex(spec.relativeSeriesId, spec.relativeSeriesIndex);\n this._startRelativeSeries = this._getSeriesByIdOrIndex(spec.startRelativeSeriesId, spec.startRelativeSeriesIndex);\n this._endRelativeSeries = this._getSeriesByIdOrIndex(spec.endRelativeSeriesId, spec.endRelativeSeriesIndex);\n if (\n (spec.specifiedDataSeriesIndex && spec.specifiedDataSeriesIndex === 'all') ||\n (spec.specifiedDataSeriesId && spec.specifiedDataSeriesId === 'all')\n ) {\n this._specifiedDataSeries = this._option.getAllSeries() as IMarkerSupportSeries[];\n } else if (spec.specifiedDataSeriesIndex || spec.specifiedDataSeriesId) {\n this._specifiedDataSeries = this._getSeriesByIdOrIndex(spec.specifiedDataSeriesId, spec.specifiedDataSeriesIndex);\n }\n }\n\n protected initEvent() {\n // 在极坐标系/地理坐标系中, 滚动或缩放画布不会update layout, 所以需要通过事件监听来更新标注的位置\n // 在直角坐标系中, update layout中已经更新标注位置, 在这里不需要重复监听\n if (this._relativeSeries.coordinate !== 'cartesian') {\n this._relativeSeries.event.on('zoom', this._markerLayout.bind(this));\n this._relativeSeries.event.on('panmove', this._markerLayout.bind(this));\n this._relativeSeries.event.on('scroll', this._markerLayout.bind(this));\n }\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n clear(): void {\n super.clear();\n this._firstSeries = null;\n }\n\n private _getFirstSeries(): ICartesianSeries {\n if (this._firstSeries) {\n return this._firstSeries;\n }\n const firstSeries = getFirstSeries(this._regions) as ICartesianSeries;\n if (firstSeries) {\n this._firstSeries = firstSeries;\n return firstSeries;\n }\n this._option?.onError('need at least one series');\n return null;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return [this._markerComponent] as unknown as IGroup[];\n }\n\n onLayoutStart(layoutRect: IRect, chartViewRect: ILayoutRect): void {\n // offset\n if (!isNil(this._spec.offsetX)) {\n this._layoutOffsetX = calcLayoutNumber(this._spec.offsetX, chartViewRect.width, chartViewRect);\n }\n if (!isNil(this._spec.offsetY)) {\n this._layoutOffsetY = calcLayoutNumber(this._spec.offsetY, chartViewRect.height, chartViewRect);\n }\n super.onLayoutStart(layoutRect, chartViewRect);\n }\n\n _compareSpec(spec: T, prevSpec: T) {\n const result = super._compareSpec(spec, prevSpec);\n if (!isEqual(prevSpec, spec)) {\n result.reRender = true;\n result.reMake = true;\n result.change = true;\n }\n return result;\n }\n\n _initCommonDataView() {\n const { options } = this._computeOptions();\n\n const seriesData = this._getRelativeDataView();\n registerDataSetInstanceTransform(this._option.dataSet, 'markerAggregation', markerAggregation);\n registerDataSetInstanceTransform(this._option.dataSet, 'markerFilter', markerFilter);\n const data = new DataView(this._option.dataSet, { name: `${this.type}_${this.id}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({\n type: 'markerAggregation',\n options\n });\n\n data.transform({\n type: 'markerFilter',\n options: this._getAllRelativeSeries()\n });\n\n data.target.on('change', () => {\n this._markerLayout();\n });\n this._markerData = data;\n }\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type { Datum } from '@visactor/vgrammar-core';
|
|
2
1
|
import type { IMark } from '../../../mark/interface';
|
|
3
2
|
import type { ISeries } from '../../../series/interface';
|
|
4
3
|
import type { IDimensionInfo } from '../../../event/events/dimension/interface';
|
|
4
|
+
import type { Datum } from '../../../typings/common';
|
|
5
5
|
export type DimensionTooltipInfo = IDimensionInfo[];
|
|
6
6
|
export type MarkTooltipInfo<T = Datum> = {
|
|
7
7
|
datum: T;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/tooltip/processor/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {
|
|
1
|
+
{"version":3,"sources":["../src/component/tooltip/processor/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMark } from '../../../mark/interface';\nimport type { ISeries } from '../../../series/interface';\nimport type { IDimensionInfo } from '../../../event/events/dimension/interface';\nimport type { Datum } from '../../../typings/common';\n\nexport type DimensionTooltipInfo = IDimensionInfo[];\n\nexport type MarkTooltipInfo<T = Datum> = {\n datum: T;\n mark: IMark;\n series: ISeries;\n};\n\nexport type GroupTooltipInfo = MarkTooltipInfo<Datum | Datum[]>;\n\nexport type TooltipInfo = DimensionTooltipInfo | MarkTooltipInfo | GroupTooltipInfo;\n\nexport type MouseEventData = {\n /** 展示 tooltip 需要的信息 */\n tooltipInfo: TooltipInfo;\n /** 是否忽略该 tooltip */\n ignore: boolean;\n};\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.MarkTooltipProcessor = void 0;
|
|
6
6
|
|
|
7
|
-
const base_1 = require("./base"), vrender_core_1 = require("@visactor/vrender-core");
|
|
7
|
+
const base_1 = require("./base"), vrender_core_1 = require("@visactor/vrender-core"), mark_1 = require("../../../util/mark");
|
|
8
8
|
|
|
9
9
|
class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
10
10
|
constructor() {
|
|
@@ -29,9 +29,9 @@ class MarkTooltipProcessor extends base_1.BaseTooltipProcessor {
|
|
|
29
29
|
x: params.event.viewX,
|
|
30
30
|
y: params.event.viewY
|
|
31
31
|
}, point), activeTriggers.forEach((mark => {
|
|
32
|
-
mark.
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
mark.getGraphics().forEach((g => {
|
|
33
|
+
g !== params.node && g && g.containsPoint(point.x, point.y, vrender_core_1.IContainPointMode.GLOBAL, g.stage.getPickerService()) && tooltipData[0].datum.push((0,
|
|
34
|
+
mark_1.getDatumOfGraphic)(g));
|
|
35
35
|
}));
|
|
36
36
|
}));
|
|
37
37
|
}
|