@visactor/vchart 2.1.0-alpha.14 → 2.1.0-alpha.16
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 +3 -3
- package/build/index.es.js +56784 -64559
- package/build/index.js +56787 -64562
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/callback-disappear.d.ts +1 -1
- package/cjs/animation/callback-disappear.js +2 -2
- package/cjs/animation/callback-disappear.js.map +1 -1
- package/cjs/animation/config.js +34 -34
- package/cjs/animation/config.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.d.ts +0 -3
- package/cjs/chart/base/base-chart-transformer.js +3 -23
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +9 -27
- package/cjs/chart/base/base-chart.js +28 -209
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/gauge/gauge-transformer.js +2 -3
- package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +0 -1
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/pie/base/pie-transformer.js +2 -2
- package/cjs/chart/pie/base/pie-transformer.js.map +1 -1
- package/cjs/chart/polar/polar-transformer.js +1 -1
- package/cjs/chart/polar/polar-transformer.js.map +1 -1
- package/cjs/chart/polar/progress-like/progress-like-transformer.js +1 -1
- package/cjs/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/cjs/chart/progress/circular/circular-progress-transformer.js +1 -2
- package/cjs/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/cjs/chart/progress/linear/linear-progress-transformer.js +1 -1
- package/cjs/chart/progress/linear/linear-progress-transformer.js.map +1 -1
- package/cjs/chart/radar/radar-transformer.js +2 -3
- package/cjs/chart/radar/radar-transformer.js.map +1 -1
- package/cjs/chart/range-area/range-area-transformer.js +2 -2
- package/cjs/chart/range-area/range-area-transformer.js.map +1 -1
- package/cjs/chart/rose/rose-transformer.js +1 -2
- package/cjs/chart/rose/rose-transformer.js.map +1 -1
- package/cjs/chart/util.d.ts +1 -4
- package/cjs/chart/util.js +4 -40
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall-transformer.js +1 -2
- package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/cjs/compile/compiler.d.ts +0 -2
- package/cjs/compile/compiler.js +48 -68
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +1 -1
- package/cjs/compile/data/compilable-data.js +1 -1
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/grammar-item.d.ts +1 -1
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +1 -1
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +1 -2
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/morph.js +4 -4
- package/cjs/compile/morph.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +8 -3
- package/cjs/component/axis/base-axis.js +7 -27
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +7 -1
- package/cjs/component/axis/cartesian/band-axis.js +4 -4
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js +4 -4
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/mixin/linear-axis-mixin.js +10 -7
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +0 -2
- package/cjs/component/axis/polar/band-axis.js +0 -3
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.js +0 -3
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +7 -7
- package/cjs/component/base/base-component.js +6 -41
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +7 -3
- package/cjs/component/brush/brush.js +16 -34
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +8 -5
- package/cjs/component/crosshair/base.js +5 -33
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.js +3 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +7 -4
- package/cjs/component/custom-mark/custom-mark.js +3 -27
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +7 -3
- package/cjs/component/data-zoom/data-filter-base-component.js +2 -15
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -19
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +7 -1
- package/cjs/component/index.js +2 -1
- package/cjs/component/indicator/indicator.d.ts +0 -1
- package/cjs/component/indicator/indicator.js +2 -11
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/util.d.ts +3 -4
- package/cjs/component/indicator/util.js +1 -1
- package/cjs/component/indicator/util.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +7 -1
- package/cjs/component/label/base-label.js +2 -6
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/label.js +3 -3
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +7 -2
- package/cjs/component/legend/base-legend.js +3 -20
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -1
- package/cjs/component/legend/discrete/legend.js +7 -7
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +7 -14
- package/cjs/component/marker/base-marker.js +12 -112
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/mark-area/cartesian-mark-area.js +3 -3
- package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-area/polar-mark-area.js +2 -2
- package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/base-mark-line.js +4 -2
- package/cjs/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/cartesian-mark-line.js +2 -2
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/polar-mark-line.js +2 -2
- package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/base-mark-point.js +11 -26
- package/cjs/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/cartesian-mark-point.js +2 -2
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/polar-mark-point.js +1 -1
- package/cjs/component/marker/mark-point/polar-mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +4 -4
- package/cjs/component/marker/utils.js +23 -27
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +0 -1
- package/cjs/component/player/player.js +0 -10
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +7 -1
- package/cjs/component/title/title.js +2 -6
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +0 -1
- package/cjs/component/tooltip/tooltip.js +0 -8
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/util.js +1 -2
- package/cjs/constant/scatter.js +2 -1
- package/cjs/constant/scroll-bar.js +1 -2
- package/cjs/core/index.d.ts +1 -2
- package/cjs/core/index.js +4 -8
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/instance-manager.js +1 -1
- package/cjs/core/vchart.d.ts +1 -5
- package/cjs/core/vchart.js +18 -30
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/box-plot.d.ts +1 -4
- package/cjs/data/transforms/box-plot.js +3 -3
- package/cjs/data/transforms/box-plot.js.map +1 -1
- package/cjs/data/transforms/correlation-center.d.ts +4 -11
- package/cjs/data/transforms/correlation-center.js +2 -3
- package/cjs/data/transforms/correlation-center.js.map +1 -1
- package/cjs/data/transforms/correlation.d.ts +15 -18
- package/cjs/data/transforms/correlation.js +17 -22
- package/cjs/data/transforms/correlation.js.map +1 -1
- package/cjs/data/transforms/funnel.d.ts +8 -10
- package/cjs/data/transforms/funnel.js +3 -4
- package/cjs/data/transforms/funnel.js.map +1 -1
- package/cjs/data/transforms/lookup.d.ts +3 -3
- package/cjs/data/transforms/lookup.js +7 -12
- package/cjs/data/transforms/lookup.js.map +1 -1
- package/cjs/data/transforms/map.d.ts +2 -8
- package/cjs/data/transforms/map.js +6 -9
- package/cjs/data/transforms/map.js.map +1 -1
- package/cjs/data/transforms/sankey.d.ts +4 -12
- package/cjs/data/transforms/sankey.js +13 -18
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/data/transforms/stack-split.d.ts +1 -2
- package/cjs/data/transforms/stack-split.js +1 -1
- package/cjs/data/transforms/stack-split.js.map +1 -1
- package/cjs/data/transforms/treemap.d.ts +3 -5
- package/cjs/data/transforms/treemap.js +6 -7
- package/cjs/data/transforms/treemap.js.map +1 -1
- package/cjs/data/transforms/venn.d.ts +2 -4
- package/cjs/data/transforms/venn.js +4 -4
- package/cjs/data/transforms/venn.js.map +1 -1
- package/cjs/data/transforms/waterfall.d.ts +2 -4
- package/cjs/data/transforms/waterfall.js +7 -7
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/env/env.js +10 -10
- package/cjs/env/env.js.map +1 -1
- package/cjs/event/event.d.ts +0 -4
- package/cjs/event/event.js +7 -26
- package/cjs/event/event.js.map +1 -1
- package/cjs/interaction/interaction.js +8 -11
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/triggers/element-active-by-legend.js +2 -3
- package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
- package/cjs/interaction/triggers/element-active.js +3 -4
- package/cjs/interaction/triggers/element-active.js.map +1 -1
- package/cjs/interaction/triggers/element-highlight-by-group.js +2 -3
- package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -1
- package/cjs/interaction/triggers/element-highlight-by-legend.js +2 -2
- package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -1
- package/cjs/interaction/triggers/element-highlight-by-name.js +2 -2
- package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -1
- package/cjs/interaction/triggers/element-highlight.js +2 -2
- package/cjs/interaction/triggers/element-highlight.js.map +1 -1
- package/cjs/interaction/triggers/element-select.js +3 -3
- package/cjs/interaction/triggers/element-select.js.map +1 -1
- package/cjs/mark/arc.js +4 -4
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.js +5 -4
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +2 -13
- package/cjs/mark/base/base-mark.js +29 -106
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/component.d.ts +0 -9
- package/cjs/mark/component.js +3 -51
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.js +6 -6
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +0 -2
- package/cjs/mark/interface/mark.js.map +1 -1
- package/cjs/mark/line.js +5 -4
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/rect.js +3 -3
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/symbol.js +3 -3
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.js +4 -4
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/utils/glyph.js +2 -3
- package/cjs/mark/utils/glyph.js.map +1 -1
- package/cjs/model/base-model.d.ts +15 -3
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +0 -13
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/components/axis-sync/tick-align-transform.js +2 -2
- package/cjs/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js +2 -2
- package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
- package/cjs/plugin/other.js +5 -5
- package/cjs/plugin/other.js.map +1 -1
- package/cjs/region/region.d.ts +7 -1
- package/cjs/scale/color-ordinal-scale.d.ts +0 -1
- package/cjs/scale/color-ordinal-scale.js +0 -3
- package/cjs/scale/color-ordinal-scale.js.map +1 -1
- package/cjs/scale/global-scale.js +2 -9
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/series/area/area.d.ts +0 -2
- package/cjs/series/area/area.js +0 -6
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +0 -3
- package/cjs/series/bar/bar.js +4 -30
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +7 -11
- package/cjs/series/base/base-series.js +18 -88
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.d.ts +0 -3
- package/cjs/series/base/constant.js +1 -9
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +0 -2
- package/cjs/series/box-plot/box-plot.js +4 -16
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/correlation/correlation.js +11 -13
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +0 -12
- package/cjs/series/dot/dot.js +1 -16
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.js +8 -5
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +0 -2
- package/cjs/series/heatmap/heatmap.js +0 -10
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/line/line.d.ts +0 -2
- package/cjs/series/line/line.js +3 -9
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/map/map.js +3 -3
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +0 -1
- package/cjs/series/mixin/line-mixin.js +1 -6
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +7 -3
- package/cjs/series/pie/pie.js +1 -16
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +0 -2
- package/cjs/series/polar/progress-like/progress-like.js +1 -16
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/polar/rose-like/rose-like.d.ts +0 -2
- package/cjs/series/polar/rose-like/rose-like.js +1 -15
- package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +0 -2
- package/cjs/series/progress/circular/circular.js +1 -10
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +0 -2
- package/cjs/series/progress/linear/linear.js +1 -19
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/sankey/sankey.js +57 -67
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +0 -2
- package/cjs/series/scatter/scatter.js +1 -9
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/treemap/treemap.js +20 -23
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/venn/venn.js +2 -2
- package/cjs/series/venn/venn.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +0 -2
- package/cjs/series/waterfall/waterfall.js +20 -36
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.js +0 -3
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/theme/builtin/common/series/word-cloud.js +6 -2
- package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
- package/cjs/util/math.d.ts +1 -1
- package/cjs/util/math.js +2 -2
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/text.js +2 -2
- package/cjs/util/text.js.map +1 -1
- package/esm/animation/callback-disappear.d.ts +1 -1
- package/esm/animation/callback-disappear.js +1 -1
- package/esm/animation/callback-disappear.js.map +1 -1
- package/esm/animation/config.js +1 -33
- package/esm/animation/config.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.d.ts +0 -3
- package/esm/chart/base/base-chart-transformer.js +2 -24
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +9 -27
- package/esm/chart/base/base-chart.js +27 -202
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/gauge/gauge-transformer.js +2 -3
- package/esm/chart/gauge/gauge-transformer.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +0 -1
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/pie/base/pie-transformer.js +2 -2
- package/esm/chart/pie/base/pie-transformer.js.map +1 -1
- package/esm/chart/polar/polar-transformer.js +1 -1
- package/esm/chart/polar/polar-transformer.js.map +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js +1 -1
- package/esm/chart/polar/progress-like/progress-like-transformer.js.map +1 -1
- package/esm/chart/progress/circular/circular-progress-transformer.js +1 -2
- package/esm/chart/progress/circular/circular-progress-transformer.js.map +1 -1
- package/esm/chart/progress/linear/linear-progress-transformer.js +1 -1
- package/esm/chart/progress/linear/linear-progress-transformer.js.map +1 -1
- package/esm/chart/radar/radar-transformer.js +2 -3
- package/esm/chart/radar/radar-transformer.js.map +1 -1
- package/esm/chart/range-area/range-area-transformer.js +2 -2
- package/esm/chart/range-area/range-area-transformer.js.map +1 -1
- package/esm/chart/rose/rose-transformer.js +1 -2
- package/esm/chart/rose/rose-transformer.js.map +1 -1
- package/esm/chart/util.d.ts +1 -4
- package/esm/chart/util.js +1 -34
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall-transformer.js +1 -2
- package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/esm/compile/compiler.d.ts +0 -2
- package/esm/compile/compiler.js +47 -69
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +1 -1
- package/esm/compile/data/compilable-data.js +1 -1
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/grammar-item.d.ts +1 -1
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +1 -1
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +1 -2
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/morph.js +1 -1
- package/esm/compile/morph.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +8 -3
- package/esm/component/axis/base-axis.js +6 -27
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +7 -1
- package/esm/component/axis/cartesian/band-axis.js +2 -4
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.d.ts +1 -1
- package/esm/component/axis/cartesian/linear-axis.js +1 -5
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +10 -7
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +0 -2
- package/esm/component/axis/polar/band-axis.js +0 -3
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.js +0 -3
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +7 -7
- package/esm/component/base/base-component.js +5 -41
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +7 -3
- package/esm/component/brush/brush.js +11 -29
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +8 -5
- package/esm/component/crosshair/base.js +3 -27
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +1 -3
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +7 -4
- package/esm/component/custom-mark/custom-mark.js +2 -27
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +7 -3
- package/esm/component/data-zoom/data-filter-base-component.js +2 -14
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +0 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +0 -20
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +0 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -12
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +7 -1
- package/esm/component/index.js +2 -1
- package/esm/component/indicator/indicator.d.ts +0 -1
- package/esm/component/indicator/indicator.js +2 -11
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/util.d.ts +3 -4
- package/esm/component/indicator/util.js +2 -2
- package/esm/component/indicator/util.js.map +1 -1
- package/esm/component/label/base-label.d.ts +7 -1
- package/esm/component/label/base-label.js +1 -5
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/label.js +2 -2
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +7 -2
- package/esm/component/legend/base-legend.js +2 -20
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -1
- package/esm/component/legend/discrete/legend.js +2 -2
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +7 -14
- package/esm/component/marker/base-marker.js +11 -113
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/mark-area/cartesian-mark-area.js +3 -3
- package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/esm/component/marker/mark-area/polar-mark-area.js +2 -2
- package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/base-mark-line.js +4 -2
- package/esm/component/marker/mark-line/base-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/cartesian-mark-line.js +2 -2
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/polar-mark-line.js +2 -2
- package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/base-mark-point.js +11 -24
- package/esm/component/marker/mark-point/base-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.js +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/polar-mark-point.js +1 -1
- package/esm/component/marker/mark-point/polar-mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +4 -4
- package/esm/component/marker/utils.js +23 -27
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +0 -1
- package/esm/component/player/player.js +0 -10
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +7 -1
- package/esm/component/title/title.js +2 -6
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +0 -1
- package/esm/component/tooltip/tooltip.js +1 -9
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/util.js +1 -2
- package/esm/constant/scatter.js +2 -1
- package/esm/constant/scroll-bar.js +1 -2
- package/esm/core/index.d.ts +1 -2
- package/esm/core/index.js +1 -3
- package/esm/core/index.js.map +1 -1
- package/esm/core/instance-manager.js +1 -1
- package/esm/core/vchart.d.ts +1 -5
- package/esm/core/vchart.js +18 -31
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/box-plot.d.ts +1 -4
- package/esm/data/transforms/box-plot.js +4 -4
- package/esm/data/transforms/box-plot.js.map +1 -1
- package/esm/data/transforms/correlation-center.d.ts +4 -11
- package/esm/data/transforms/correlation-center.js +2 -4
- package/esm/data/transforms/correlation-center.js.map +1 -1
- package/esm/data/transforms/correlation.d.ts +15 -18
- package/esm/data/transforms/correlation.js +8 -13
- package/esm/data/transforms/correlation.js.map +1 -1
- package/esm/data/transforms/funnel.d.ts +8 -10
- package/esm/data/transforms/funnel.js +3 -5
- package/esm/data/transforms/funnel.js.map +1 -1
- package/esm/data/transforms/lookup.d.ts +3 -3
- package/esm/data/transforms/lookup.js +6 -12
- package/esm/data/transforms/lookup.js.map +1 -1
- package/esm/data/transforms/map.d.ts +2 -8
- package/esm/data/transforms/map.js +6 -11
- package/esm/data/transforms/map.js.map +1 -1
- package/esm/data/transforms/sankey.d.ts +4 -12
- package/esm/data/transforms/sankey.js +14 -19
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/data/transforms/stack-split.d.ts +1 -2
- package/esm/data/transforms/stack-split.js +2 -2
- package/esm/data/transforms/stack-split.js.map +1 -1
- package/esm/data/transforms/treemap.d.ts +3 -5
- package/esm/data/transforms/treemap.js +5 -8
- package/esm/data/transforms/treemap.js.map +1 -1
- package/esm/data/transforms/venn.d.ts +2 -4
- package/esm/data/transforms/venn.js +3 -5
- package/esm/data/transforms/venn.js.map +1 -1
- package/esm/data/transforms/waterfall.d.ts +2 -4
- package/esm/data/transforms/waterfall.js +8 -7
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/env/env.js +1 -1
- package/esm/env/env.js.map +1 -1
- package/esm/event/event.d.ts +0 -4
- package/esm/event/event.js +7 -26
- package/esm/event/event.js.map +1 -1
- package/esm/interaction/interaction.js +8 -10
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/triggers/element-active-by-legend.js +1 -3
- package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
- package/esm/interaction/triggers/element-active.js +2 -4
- package/esm/interaction/triggers/element-active.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-group.js +1 -4
- package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-legend.js +1 -3
- package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-name.js +1 -3
- package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
- package/esm/interaction/triggers/element-highlight.js +1 -3
- package/esm/interaction/triggers/element-highlight.js.map +1 -1
- package/esm/interaction/triggers/element-select.js +2 -4
- package/esm/interaction/triggers/element-select.js.map +1 -1
- package/esm/mark/arc.js +2 -4
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +2 -6
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +2 -13
- package/esm/mark/base/base-mark.js +28 -107
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/component.d.ts +0 -9
- package/esm/mark/component.js +2 -51
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.js +5 -6
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +0 -2
- package/esm/mark/interface/mark.js.map +1 -1
- package/esm/mark/line.js +2 -6
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/rect.js +2 -4
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/symbol.js +2 -4
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.js +1 -5
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/utils/glyph.js +1 -3
- package/esm/mark/utils/glyph.js.map +1 -1
- package/esm/model/base-model.d.ts +15 -3
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +0 -13
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/components/axis-sync/tick-align-transform.js +1 -1
- package/esm/plugin/components/axis-sync/tick-align-transform.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js +1 -1
- package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
- package/esm/plugin/other.js +2 -2
- package/esm/plugin/other.js.map +1 -1
- package/esm/region/region.d.ts +7 -1
- package/esm/scale/color-ordinal-scale.d.ts +0 -1
- package/esm/scale/color-ordinal-scale.js +0 -3
- package/esm/scale/color-ordinal-scale.js.map +1 -1
- package/esm/scale/global-scale.js +1 -9
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/series/area/area.d.ts +0 -2
- package/esm/series/area/area.js +1 -7
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +0 -3
- package/esm/series/bar/bar.js +4 -30
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +7 -11
- package/esm/series/base/base-series.js +16 -84
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.d.ts +0 -3
- package/esm/series/base/constant.js +0 -10
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +0 -2
- package/esm/series/box-plot/box-plot.js +4 -15
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/correlation/correlation.js +11 -13
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.d.ts +0 -12
- package/esm/series/dot/dot.js +0 -17
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.js +8 -5
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +0 -2
- package/esm/series/heatmap/heatmap.js +0 -10
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/line/line.d.ts +0 -2
- package/esm/series/line/line.js +2 -10
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/map/map.js +3 -3
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +0 -1
- package/esm/series/mixin/line-mixin.js +0 -5
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.d.ts +7 -3
- package/esm/series/pie/pie.js +0 -17
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +0 -2
- package/esm/series/polar/progress-like/progress-like.js +0 -17
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/polar/rose-like/rose-like.d.ts +0 -2
- package/esm/series/polar/rose-like/rose-like.js +0 -16
- package/esm/series/polar/rose-like/rose-like.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +0 -2
- package/esm/series/progress/circular/circular.js +0 -11
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +0 -2
- package/esm/series/progress/linear/linear.js +0 -20
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/sankey/sankey.js +54 -60
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +0 -2
- package/esm/series/scatter/scatter.js +0 -10
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/treemap/treemap.js +20 -23
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/venn/venn.js +2 -2
- package/esm/series/venn/venn.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +0 -2
- package/esm/series/waterfall/waterfall.js +20 -36
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.js +0 -3
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/theme/builtin/common/series/word-cloud.js +6 -2
- package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
- package/esm/util/math.d.ts +1 -1
- package/esm/util/math.js +1 -1
- package/esm/util/math.js.map +1 -1
- package/esm/util/text.js +1 -1
- package/esm/util/text.js.map +1 -1
- package/package.json +7 -9
- package/cjs/compile/stage-app.d.ts +0 -17
- package/cjs/compile/stage-app.js +0 -82
- package/cjs/compile/stage-app.js.map +0 -1
- package/cjs/component/base/release-vrender-component.d.ts +0 -10
- package/cjs/component/base/release-vrender-component.js +0 -37
- package/cjs/component/base/release-vrender-component.js.map +0 -1
- package/cjs/data/data-view-utils.d.ts +0 -5
- package/cjs/data/data-view-utils.js +0 -58
- package/cjs/data/data-view-utils.js.map +0 -1
- package/cjs/util/graphic-state.d.ts +0 -4
- package/cjs/util/graphic-state.js +0 -40
- package/cjs/util/graphic-state.js.map +0 -1
- package/esm/compile/stage-app.d.ts +0 -17
- package/esm/compile/stage-app.js +0 -77
- package/esm/compile/stage-app.js.map +0 -1
- package/esm/component/base/release-vrender-component.d.ts +0 -10
- package/esm/component/base/release-vrender-component.js +0 -24
- package/esm/component/base/release-vrender-component.js.map +0 -1
- package/esm/data/data-view-utils.d.ts +0 -5
- package/esm/data/data-view-utils.js +0 -46
- package/esm/data/data-view-utils.js.map +0 -1
- package/esm/util/graphic-state.d.ts +0 -4
- package/esm/util/graphic-state.js +0 -30
- package/esm/util/graphic-state.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet, DataView } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { AnimationStateValues, IMark, IMarkGraphic, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { StringOrNumber } from '../typings/common';\nimport type { IGroupMarkSpec, ConvertToMarkStyleSpec, ICommonSpec } from '../typings/visual';\nimport type { IRect } from '../typings/space';\nimport type { IPoint, CoordinateType } from '../typings/coordinate';\nimport type { StateValueType } from '../typings/spec';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart, IChartSpecInfo, IChartSpecTransformerOption } from '../chart/interface';\nimport type { IThemeColorScheme } from '../theme/color-scheme/interface';\nimport type { ILayoutItem, ILayoutItemSpec } from '../layout/interface';\nimport type { ILayoutPoint, ILayoutRect } from '../typings/layout';\nimport type { ComponentTypeEnum } from '../component/interface';\nimport type { SeriesTypeEnum } from '../series/interface';\nimport type { ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IVChart } from '../core/interface';\nimport type { ICompilableData } from '../compile/data/interface';\nimport type { IDimensionData, IDimensionInfo } from '../event/events/dimension/interface';\nimport type { IAxis } from '../component/axis';\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface
|
|
1
|
+
{"version":3,"sources":["../src/model/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { DataSet, DataView } from '@visactor/vdataset';\nimport type { IEvent, IEventDispatcher } from '../event/interface';\nimport type { AnimationStateValues, IMark, IMarkGraphic, IMarkRaw, IMarkStyle, MarkTypeEnum } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { StringOrNumber } from '../typings/common';\nimport type { IGroupMarkSpec, ConvertToMarkStyleSpec, ICommonSpec } from '../typings/visual';\nimport type { IRect } from '../typings/space';\nimport type { IPoint, CoordinateType } from '../typings/coordinate';\nimport type { StateValueType } from '../typings/spec';\nimport type { ICompilable, ICompilableInitOption } from '../compile/interface';\nimport type { IGlobalScale } from '../scale/interface';\nimport type { IChart, IChartSpecInfo, IChartSpecTransformerOption } from '../chart/interface';\nimport type { IThemeColorScheme } from '../theme/color-scheme/interface';\nimport type { ILayoutItem, ILayoutItemSpec } from '../layout/interface';\nimport type { ILayoutPoint, ILayoutRect } from '../typings/layout';\nimport type { ComponentTypeEnum } from '../component/interface';\nimport type { SeriesTypeEnum } from '../series/interface';\nimport type { ITooltipSpec } from '../component/tooltip/interface';\nimport type { TooltipActiveType } from '../typings';\nimport type { IVChart } from '../core/interface';\nimport type { ICompilableData } from '../compile/data/interface';\nimport type { IDimensionData, IDimensionInfo } from '../event/events/dimension/interface';\nimport type { IAxis } from '../component/axis';\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelInitOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelLayoutOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelEvaluateOption {}\n// TODO:\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface IModelRenderOption {}\n\nexport interface IEffect {\n [key: string]: (e?: any) => any;\n}\n\nexport interface IMarkTreeGroup extends Partial<IMarkStyle<IGroupMarkSpec>> {\n // 必须要有名字\n type: 'group';\n name: string;\n marks: (IMarkTreeGroup | IMark)[];\n // TODO: 这里要不要支持复杂场景,有图形组合的场景,用自定义mark?\n // from?: IData;\n}\n\nexport type IMarkTree = IMarkTreeGroup | IMark | (IMarkTreeGroup | IMark)[];\n\nexport interface IUpdateSpecResult {\n change: boolean;\n reMake: boolean;\n reRender?: boolean;\n reSize?: boolean;\n // TODO: compile 的判断应不应该出现在这里?\n reCompile?: boolean;\n reTransformSpec?: boolean;\n reAnimate?: boolean;\n changeTheme?: boolean;\n changeBackground?: boolean;\n}\n\nexport interface IUpdateDataResult {\n reAnimate?: boolean;\n}\n\nexport interface IModel extends ICompilable {\n readonly modelType: string;\n readonly type: string;\n readonly specKey: string;\n readonly transformerConstructor: new (option: IBaseModelSpecTransformerOption) => IBaseModelSpecTransformer;\n\n readonly id: number;\n\n readonly userId?: StringOrNumber;\n\n // 事件\n readonly event: IEvent;\n\n // 副作用\n readonly effect: IEffect;\n\n coordinate?: CoordinateType;\n\n // 布局\n layout?: ILayoutItem;\n\n /** 是否可见 */\n getVisible: () => boolean;\n\n // 初始化参数\n getOption: () => IModelOption;\n\n getMarks: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n\n getData: () => ICompilableData;\n\n getChart: () => IChart;\n\n //生命周期\n // 创建模块自身内容,设置自身属性\n created: () => void;\n // 用来处理与其他图表模块的联系\n init: (option: IModelInitOption) => void;\n /** updateSpec 或者切换主题后,根据新 spec 执行的初始化过程 */\n reInit: (spec?: any) => void;\n beforeRelease: () => void;\n\n onEvaluateEnd: (ctx: IModelEvaluateOption) => void;\n onDataUpdate: () => void;\n onBeforeRender: () => void;\n\n updateSpec: (spec: any, totalSpec?: any) => IUpdateSpecResult;\n getSpec?: () => any;\n getSpecIndex: () => number;\n getSpecPath: () => Array<string | number>;\n\n //布局周期\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect) => void;\n onLayoutEnd: () => void;\n\n getColorScheme: () => IThemeColorScheme | undefined;\n\n setMarkStyle: <T extends ICommonSpec>(\n mark?: IMarkRaw<T>,\n style?: Partial<IMarkStyle<T> | ConvertToMarkStyleSpec<T>>,\n state?: StateValueType,\n level?: number\n ) => void;\n\n initMarkStyleWithSpec: (mark?: IMark, spec?: any) => void;\n\n getSpecInfo: () => IModelSpecInfo;\n\n updateAnimateStateCallback: (callback: (graphic: IMarkGraphic) => AnimationStateValues) => void;\n getAnimationStateCallback: () => (graphic: IMarkGraphic) => AnimationStateValues;\n}\n\nexport interface ILayoutModel extends IModel {\n // 布局相关\n getLayoutStartPoint: () => IPoint;\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n getLayoutRect: () => ILayoutRect;\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) => void;\n\n getLastComputeOutBounds: () => IBoundsLike;\n\n getBoundsInRect: (rect: ILayoutRect, fullRect: ILayoutRect) => IBoundsLike;\n\n //布局周期\n afterSetLayoutStartPoint: (pos: ILayoutPoint) => void;\n}\n\nexport interface IModelOption extends ICompilableInitOption {\n type: string;\n eventDispatcher: IEventDispatcher;\n dataSet: DataSet;\n map: Map<StringOrNumber, IModel | IMark>;\n mode: RenderMode;\n globalInstance: IVChart;\n regionIndexes?: Array<number>;\n specKey?: string;\n specPath?: Array<string | number>;\n specInfoPath?: Array<string | number>;\n\n getTheme?: (...keys: string[]) => any;\n getSpecInfo?: () => IChartSpecInfo;\n getChartLayoutRect: () => IRect;\n getChartViewRect: () => ILayoutRect;\n\n getChart: () => IChart;\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n\n globalScale: IGlobalScale;\n animation?: boolean;\n /**\n * 错误消息回调函数\n */\n onError: (...args: any[]) => void;\n\n /**\n * 是否关闭交互效果\n */\n disableTriggerEvent?: boolean;\n\n /**\n * 组件内容展示配置\n * @since 2.0.11\n */\n componentShowContent?: {\n /**\n * tooltip 是否关闭内容展示\n * @default false\n */\n tooltip?: boolean | Partial<Record<TooltipActiveType, boolean>>;\n // crosshair 组件是否展示\n crosshair?: boolean;\n };\n\n getDimensionInfo?: (chart: IChart | undefined, pos: ILayoutPoint, isTooltip?: boolean) => IDimensionInfo[] | null;\n getDimensionInfoByValue?: (axis: IAxis, value: any) => IDimensionInfo | null;\n getRectByDimensionData?: (dimensionData: IDimensionData, layoutStartPoint: ILayoutPoint) => any;\n\n dispatchEvent?: (key: string, params?: any) => void;\n}\n\nexport interface IModelSpecInfo<T extends Record<string, unknown> = any> {\n /** model 具体类型 */\n type: string | ComponentTypeEnum | SeriesTypeEnum;\n /** model spec */\n spec: T;\n /** 该 spec 在图表 spec 上的路径 */\n specPath?: Array<string | number>;\n /** 该 spec 在图表 spec info 上的路径 */\n specInfoPath?: Array<string | number>;\n /** model 当前主题 */\n theme?: any;\n /** model 对应的 region 索引 */\n regionIndexes?: number[];\n /** model 对应的 series 索引 */\n seriesIndexes?: number[];\n}\n\nexport interface IModelConstructor {\n readonly builtInTheme?: any;\n readonly transformerConstructor: new (option: IBaseModelSpecTransformerOption) => IBaseModelSpecTransformer;\n}\n\nexport type ILayoutModelState = {\n layoutUpdateRank: number;\n [key: string]: unknown;\n};\n\n// TODO: 补充model共有配置\nexport type IModelSpec = ILayoutItemSpec & { id?: StringOrNumber };\n\nexport interface IModelMarkInfo {\n /** mark 类型 */\n type: MarkTypeEnum | string | (MarkTypeEnum | string)[];\n /** mark 名称 */\n name: string;\n}\n\nexport type IBaseModelSpecTransformerOption = IChartSpecTransformerOption;\n\nexport interface IBaseModelSpecTransformerResult<T, K> {\n spec: T;\n theme: K;\n}\n\nexport interface IBaseModelSpecTransformer {\n getTheme: (spec: any, chartSpec: any) => any;\n transformSpec: (\n spec: any,\n chartSpec: any,\n chartSpecInfo?: IChartSpecInfo\n ) => IBaseModelSpecTransformerResult<any, any>;\n}\n\nexport interface ITooltipHelper {\n /** tooltip对应spec */\n spec: ITooltipSpec | undefined;\n\n /** 实际生效的tooltip activeType */\n activeType: TooltipActiveType[];\n\n /** 可以响应mark tooltip或者dimension tooltip的对象 */\n activeTriggerSet: {\n mark?: Set<IMark>;\n group?: Set<IMark>;\n };\n /** 不响应tooltip且不会影响已有tooltip的对象 */\n ignoreTriggerSet: {\n mark?: Set<IMark>;\n };\n\n /** 更新spec */\n updateTooltipSpec: () => void;\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.tickAlign = void 0;
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const vrender_components_1 = require("@visactor/vrender-components"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
function saveTick(value, minInput, inputRange, minOutput, outputRange) {
|
|
10
10
|
const sub = (0, vutils_1.precisionSub)(value, minInput), decimalPlaces = Math.max((0,
|
|
@@ -33,7 +33,7 @@ const tickAlign = (data, op) => {
|
|
|
33
33
|
const currentDomain = currentScale.domain(), currentRange = (0, vutils_1.last)(currentDomain) - currentDomain[0];
|
|
34
34
|
if (0 === targetRange) return data;
|
|
35
35
|
const newTicks = targetData.map((d => saveTick(d.value, targetDomain[0], targetRange, currentDomain[0], currentRange)));
|
|
36
|
-
return (0,
|
|
36
|
+
return (0, vrender_components_1.convertDomainToTickData)(newTicks);
|
|
37
37
|
};
|
|
38
38
|
|
|
39
39
|
exports.tickAlign = tickAlign;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/components/axis-sync/tick-align-transform.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/axis-sync/tick-align-transform.ts"],"names":[],"mappings":"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","file":"tick-align-transform.js","sourcesContent":["import type { Datum } from '../../../typings';\nimport type { CartesianAxis } from '../../../component';\nimport { convertDomainToTickData } from '@visactor/vrender-components';\nimport { last, precisionSub, getDecimalPlaces } from '@visactor/vutils';\n\nexport interface ITickAlignOpt {\n targetAxis: () => CartesianAxis;\n currentAxis: () => CartesianAxis;\n}\n\nfunction saveTick(value: number, minInput: number, inputRange: number, minOutput: number, outputRange: number) {\n const sub = precisionSub(value, minInput);\n const decimalPlaces = Math.max(getDecimalPlaces(inputRange), getDecimalPlaces(sub));\n const percent = Math.round(sub * 10 ** decimalPlaces) / Math.round(inputRange * 10 ** decimalPlaces);\n return outputRange * percent + minOutput;\n}\n\nexport const tickAlign = (data: Array<Datum>, op: ITickAlignOpt) => {\n if (!data) {\n return data;\n }\n // check align enable\n const targetAxis = op?.targetAxis?.();\n if (!targetAxis) {\n return data;\n }\n const currentAxis = op?.currentAxis?.();\n if (!currentAxis) {\n return data;\n }\n const currentData = currentAxis.getTickData()?.getDataView();\n if (!currentData) {\n return data;\n }\n // TODO 这种方法有点hack\n const currentTickTransform = currentData.transformsArr.find(t => t.type.includes('ticks'));\n if (!currentTickTransform) {\n return data;\n }\n const currentScale = currentAxis.getScale();\n if (!currentScale) {\n return data;\n }\n const targetData = targetAxis.getTickData()?.getDataView()?.latestData;\n if (!targetData?.length) {\n return data;\n }\n const targetScale = targetAxis.getScale();\n if (!targetScale) {\n return data;\n }\n const targetDomain = targetScale.domain();\n const targetRange = last(targetDomain) - targetDomain[0];\n if (targetRange === 0) {\n return data;\n }\n const currentDomain = currentScale.domain();\n const currentRange = last(currentDomain) - currentDomain[0];\n if (targetRange === 0) {\n return data;\n }\n // make the tickData of the current axis consistent with the tickData of the target axis\n const newTicks: number[] = targetData.map((d: { value: number }) =>\n saveTick(d.value, targetDomain[0], targetRange, currentDomain[0], currentRange)\n );\n return convertDomainToTickData(newTicks);\n};\n"]}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BaseTooltipHandler } from './base';
|
|
2
|
-
import { Tooltip as TooltipComponent } from '@visactor/vrender-components
|
|
2
|
+
import { Tooltip as TooltipComponent } from '@visactor/vrender-components';
|
|
3
3
|
import type { TooltipHandlerParams } from '../../../component/tooltip';
|
|
4
4
|
import type { IComponentPluginService } from '../interface';
|
|
5
5
|
import type { ITooltipActual } from '../../../typings';
|
|
6
|
-
import type { IContainerSize } from '@visactor/vrender-components
|
|
6
|
+
import type { IContainerSize } from '@visactor/vrender-components';
|
|
7
7
|
import type { ITooltipAttributes } from './interface';
|
|
8
8
|
export declare class CanvasTooltipHandler extends BaseTooltipHandler {
|
|
9
9
|
static readonly type: string;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerCanvasTooltipHandler = exports.CanvasTooltipHandler = void 0;
|
|
6
6
|
|
|
7
|
-
const base_1 = require("./base"),
|
|
7
|
+
const base_1 = require("./base"), vrender_components_1 = require("@visactor/vrender-components"), vutils_1 = require("@visactor/vutils"), register_1 = require("../register"), constant_1 = require("../../../component/tooltip/constant"), attribute_1 = require("./utils/attribute");
|
|
8
8
|
|
|
9
9
|
class CanvasTooltipHandler extends base_1.BaseTooltipHandler {
|
|
10
10
|
constructor() {
|
|
@@ -17,7 +17,7 @@ class CanvasTooltipHandler extends base_1.BaseTooltipHandler {
|
|
|
17
17
|
}
|
|
18
18
|
_initTooltipComponent(stage) {
|
|
19
19
|
const layer = this._getLayer(stage);
|
|
20
|
-
this._tooltipComponent = new
|
|
20
|
+
this._tooltipComponent = new vrender_components_1.Tooltip({
|
|
21
21
|
autoCalculatePosition: !1,
|
|
22
22
|
autoMeasure: !1
|
|
23
23
|
}), layer.add(this._tooltipComponent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/components/tooltip-handler/canvas-tooltip-handler.ts"],"names":[],"mappings":";;;AACA,iCAA4C;AAC5C,
|
|
1
|
+
{"version":3,"sources":["../src/plugin/components/tooltip-handler/canvas-tooltip-handler.ts"],"names":[],"mappings":"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","file":"canvas-tooltip-handler.js","sourcesContent":["import type { ILayer, INode, IStage } from '@visactor/vrender-core';\nimport { BaseTooltipHandler } from './base';\nimport { Tooltip as TooltipComponent } from '@visactor/vrender-components';\nimport { isValid, isNil } from '@visactor/vutils';\nimport type { TooltipHandlerParams } from '../../../component/tooltip';\nimport type { IComponentPluginService } from '../interface';\nimport { registerComponentPlugin } from '../register';\nimport { TooltipHandlerType } from '../../../component/tooltip/constant';\nimport type { ITooltipActual } from '../../../typings';\nimport type { IContainerSize } from '@visactor/vrender-components';\nimport { getTooltipAttributes } from './utils/attribute';\nimport type { ITooltipAttributes } from './interface';\n\n/**\n * The tooltip handler class.\n */\nexport class CanvasTooltipHandler extends BaseTooltipHandler {\n static readonly type = TooltipHandlerType.canvas;\n readonly type = TooltipHandlerType.canvas;\n\n private _layer: ILayer;\n protected _el?: HTMLCanvasElement;\n protected _tooltipCanvasId?: string;\n protected _tooltipComponent: TooltipComponent;\n protected _attributes?: ITooltipAttributes | null = null;\n\n constructor() {\n super(CanvasTooltipHandler.type);\n }\n\n onAdd(service: IComponentPluginService<any>): void {\n super.onAdd(service);\n this._tooltipCanvasId = (this._chartOption.modeParams as any)?.tooltipCanvasId;\n }\n\n private _initTooltipComponent(stage: IStage) {\n const layer = this._getLayer(stage);\n this._tooltipComponent = new TooltipComponent({\n autoCalculatePosition: false,\n autoMeasure: false\n });\n layer.add(this._tooltipComponent as unknown as INode);\n }\n\n private _getLayer(stage: IStage) {\n if (this._layer) {\n return this._layer;\n }\n\n this._layer = stage.createLayer(this._tooltipCanvasId);\n\n // 需要关闭 layer 对应的 canvas 的事件\n const layerCanvas = this._layer.layerHandler.canvas.nativeCanvas as HTMLCanvasElement;\n // TODO:待 vrender 支持\n if (layerCanvas && layerCanvas.style) {\n layerCanvas.style.touchAction = 'none';\n layerCanvas.style.pointerEvents = 'none';\n }\n\n return this._layer;\n }\n\n // 计算 tooltip 内容区域的宽高,并缓存结果\n protected _getTooltipBoxSize(actualTooltip: ITooltipActual, changePositionOnly: boolean): IContainerSize | undefined {\n if (!changePositionOnly || isNil(this._attributes)) {\n const globalFontFamily = this._chartOption?.getTheme('fontFamily');\n this._attributes = getTooltipAttributes(actualTooltip, this._component.getSpec(), globalFontFamily);\n }\n const { panel } = this._attributes ?? {};\n // canvas模式下, size需要考虑border size, 目的是为了精准判断边界是否超出画布,达到confine效果\n // html模式不提供confine, 所以不考虑精准计算size\n\n return {\n width: panel.width + panel.lineWidth,\n height: panel.height + panel.lineWidth\n };\n }\n\n protected _removeTooltip() {\n if (this._layer) {\n this._layer.removeAllChild();\n // this._layer.render();\n }\n this._attributes = null;\n }\n\n protected _updateTooltip(visible: boolean, params: TooltipHandlerParams) {\n this._visible = visible;\n\n const stage = this._compiler.getStage();\n if (!stage) {\n return;\n }\n\n if (!visible) {\n if (this._tooltipComponent && this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.hideAll();\n this._tooltipComponent.setAttributes({\n visibleAll: false\n });\n }\n return;\n }\n\n if (!this._tooltipComponent) {\n this._initTooltipComponent(stage);\n }\n\n const { activeTooltipSpec } = params;\n const pos = activeTooltipSpec.position;\n if (!params.changePositionOnly) {\n this._tooltipComponent.setAttributes({\n ...this._attributes,\n ...pos\n });\n } else if (isValid(pos)) {\n this._tooltipComponent.setAttributes(pos);\n }\n\n if (!this._tooltipComponent.attribute.visible) {\n this._tooltipComponent.showAll();\n this._tooltipComponent.setAttributes({\n visibleAll: true\n });\n }\n }\n\n isTooltipShown() {\n return this._tooltipComponent?.attribute.visibleAll;\n }\n\n release() {\n super.release();\n this._layer?.release();\n }\n}\n\nexport const registerCanvasTooltipHandler = () => {\n registerComponentPlugin(CanvasTooltipHandler);\n};\n"]}
|
package/cjs/plugin/other.js
CHANGED
|
@@ -18,21 +18,21 @@ Object.defineProperty(exports, "registerHtmlAttributePlugin", {
|
|
|
18
18
|
}
|
|
19
19
|
});
|
|
20
20
|
|
|
21
|
-
const
|
|
22
|
-
(0,
|
|
23
|
-
config_1.registerStageAnimation)();
|
|
21
|
+
const vrender_animate_1 = require("@visactor/vrender-animate"), vrender_kits_1 = require("@visactor/vrender-kits"), factory_1 = require("../core/factory"), config_1 = require("../animation/config"), registerAnimate = () => {
|
|
22
|
+
(0, vrender_animate_1.registerAnimate)(), (0, config_1.registerBuiltInAnimation)(),
|
|
23
|
+
(0, config_1.registerStageAnimation)();
|
|
24
24
|
};
|
|
25
25
|
|
|
26
26
|
exports.registerAnimate = registerAnimate;
|
|
27
27
|
|
|
28
28
|
const registerDragPlugin = () => {
|
|
29
|
-
factory_1.Factory.registerStageEventPlugin("drag",
|
|
29
|
+
factory_1.Factory.registerStageEventPlugin("drag", vrender_kits_1.DragNDrop);
|
|
30
30
|
};
|
|
31
31
|
|
|
32
32
|
exports.registerDragPlugin = registerDragPlugin;
|
|
33
33
|
|
|
34
34
|
const registerGesturePlugin = () => {
|
|
35
|
-
factory_1.Factory.registerStageEventPlugin("gesture",
|
|
35
|
+
factory_1.Factory.registerStageEventPlugin("gesture", vrender_kits_1.Gesture);
|
|
36
36
|
};
|
|
37
37
|
|
|
38
38
|
exports.registerGesturePlugin = registerGesturePlugin;
|
package/cjs/plugin/other.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/plugin/other.ts"],"names":[],"mappings":";;;AAAA,yDAAmG;AAoB5D,4GApB9B,0CAA2B,OAoB8B;AAAzD,6GApB6B,2CAA4B,OAoB7B;AAlBrC
|
|
1
|
+
{"version":3,"sources":["../src/plugin/other.ts"],"names":[],"mappings":";;;AAAA,yDAAmG;AAoB5D,4GApB9B,0CAA2B,OAoB8B;AAAzD,6GApB6B,2CAA4B,OAoB7B;AAlBrC,+DAAsF;AACtF,yDAA4D;AAC5D,6CAA0C;AAC1C,gDAAuF;AAEhF,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,iCAAsB,GAAE,CAAC;IACzB,IAAA,iCAAwB,GAAE,CAAC;IAC3B,IAAA,+BAAsB,GAAE,CAAC;AAC3B,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B;AAEK,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,iBAAO,CAAC,wBAAwB,CAAC,MAAM,EAAE,wBAAS,CAAC,CAAC;AACtD,CAAC,CAAC;AAFW,QAAA,kBAAkB,sBAE7B;AACK,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,iBAAO,CAAC,wBAAwB,CAAC,SAAS,EAAE,sBAAO,CAAC,CAAC;AACvD,CAAC,CAAC;AAFW,QAAA,qBAAqB,yBAEhC","file":"other.js","sourcesContent":["import { registerHtmlAttributePlugin, registerReactAttributePlugin } from '@visactor/vrender-core';\n\nimport { registerAnimate as registerVRenderAnimate } from '@visactor/vrender-animate';\nimport { DragNDrop, Gesture } from '@visactor/vrender-kits';\nimport { Factory } from '../core/factory';\nimport { registerBuiltInAnimation, registerStageAnimation } from '../animation/config';\n\nexport const registerAnimate = () => {\n registerVRenderAnimate();\n registerBuiltInAnimation();\n registerStageAnimation();\n};\n\nexport const registerDragPlugin = () => {\n Factory.registerStageEventPlugin('drag', DragNDrop);\n};\nexport const registerGesturePlugin = () => {\n Factory.registerStageEventPlugin('gesture', Gesture);\n};\n\nexport { registerReactAttributePlugin, registerHtmlAttributePlugin };\n// export const registerMorph = registerViewMorphAPI;\n"]}
|
package/cjs/region/region.d.ts
CHANGED
|
@@ -39,7 +39,13 @@ export declare class Region<T extends IRegionSpec = IRegionSpec> extends LayoutM
|
|
|
39
39
|
initMark(): void;
|
|
40
40
|
protected _initBackgroundMarkStyle(): void;
|
|
41
41
|
protected _initForegroundMarkStyle(): void;
|
|
42
|
-
_compareSpec(spec: T, prevSpec: T):
|
|
42
|
+
_compareSpec(spec: T, prevSpec: T): {
|
|
43
|
+
change: boolean;
|
|
44
|
+
reMake: boolean;
|
|
45
|
+
reRender: boolean;
|
|
46
|
+
reSize: boolean;
|
|
47
|
+
reCompile: boolean;
|
|
48
|
+
};
|
|
43
49
|
reInit(spec?: T): void;
|
|
44
50
|
addSeries(s: ISeries): void;
|
|
45
51
|
removeSeries(s: ISeries): void;
|
|
@@ -2,7 +2,6 @@ import { OrdinalScale } from '@visactor/vscale';
|
|
|
2
2
|
import type { ColorSchemeItem, ProgressiveDataScheme } from '../theme/color-scheme/interface';
|
|
3
3
|
export declare class ColorOrdinalScale extends OrdinalScale {
|
|
4
4
|
protected _range: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>;
|
|
5
|
-
setSpecified(value?: Record<string, unknown>): this;
|
|
6
5
|
range(value?: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>): this | any;
|
|
7
6
|
domain(value?: any[]): this | any;
|
|
8
7
|
protected _resetRange(): void;
|
|
@@ -7,9 +7,6 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
7
7
|
const vscale_1 = require("@visactor/vscale"), util_1 = require("../theme/color-scheme/util");
|
|
8
8
|
|
|
9
9
|
class ColorOrdinalScale extends vscale_1.OrdinalScale {
|
|
10
|
-
setSpecified(value) {
|
|
11
|
-
return this._specified = value ? Object.assign({}, value) : {}, this;
|
|
12
|
-
}
|
|
13
10
|
range(value) {
|
|
14
11
|
return value ? (this._range = value, this._resetRange(), this) : super.range();
|
|
15
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scale/color-ordinal-scale.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,qDAAmG;AAGnG,MAAa,iBAAkB,SAAQ,qBAAY;IAIjD,
|
|
1
|
+
{"version":3,"sources":["../src/scale/color-ordinal-scale.ts"],"names":[],"mappings":";;;AAAA,6CAAgD;AAEhD,qDAAmG;AAGnG,MAAa,iBAAkB,SAAQ,qBAAY;IAIjD,KAAK,CAAC,KAAuE;QAC3E,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,KAAK,EAAE,CAAC;SACtB;QACD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAGD,MAAM,CAAC,KAAa;QAClB,IAAI,CAAC,KAAK,EAAE;YACV,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;SACvB;QACD,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACpB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAGS,WAAW;QACnB,IAAI,CAAC,IAAA,mCAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,EAAE;YAC9C,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACzB,OAAO;SACR;QACD,MAAM,KAAK,GAAG,IAAA,8BAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;QACjE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;CACF;AAhCD,8CAgCC","file":"color-ordinal-scale.js","sourcesContent":["import { OrdinalScale } from '@visactor/vscale';\nimport type { ColorSchemeItem, ProgressiveDataScheme } from '../theme/color-scheme/interface';\nimport { computeActualDataScheme, isProgressiveDataColorScheme } from '../theme/color-scheme/util';\n\n/** vchart 色板 ordinal scale 类型 */\nexport class ColorOrdinalScale extends OrdinalScale {\n /** range(可能为渐进式色板) */\n protected _range: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>;\n\n range(value?: Array<ColorSchemeItem> | ProgressiveDataScheme<ColorSchemeItem>): this | any {\n if (!value) {\n return super.range();\n }\n this._range = value;\n this._resetRange();\n return this;\n }\n\n /** domain */\n domain(value?: any[]): this | any {\n if (!value) {\n return super.domain();\n }\n super.domain(value);\n this._resetRange();\n return this;\n }\n\n /** 重新计算色板 */\n protected _resetRange() {\n if (!isProgressiveDataColorScheme(this._range)) {\n super.range(this._range);\n return;\n }\n const range = computeActualDataScheme(this._range, this._domain);\n super.range(range);\n }\n}\n"]}
|
|
@@ -69,15 +69,8 @@ class GlobalScale {
|
|
|
69
69
|
const lastSpec = this._spec.find((_s => _s.id === s.id));
|
|
70
70
|
if (!lastSpec.id) return result.reMake = !0, result;
|
|
71
71
|
if (lastSpec.type !== s.type) return result.reMake = !0, result;
|
|
72
|
-
if (!(0, vutils_1.isEqual)(lastSpec.specified, s.specified))
|
|
73
|
-
|
|
74
|
-
const colorScale = scale;
|
|
75
|
-
if (colorScale.setSpecified) colorScale.setSpecified(s.specified); else {
|
|
76
|
-
if (!s.specified || !colorScale.specified) return result.reMake = !0, result;
|
|
77
|
-
colorScale.specified(s.specified);
|
|
78
|
-
}
|
|
79
|
-
result.reRender = !0;
|
|
80
|
-
}
|
|
72
|
+
if (!(0, vutils_1.isEqual)(lastSpec.specified, s.specified)) return result.reMake = !0,
|
|
73
|
+
result;
|
|
81
74
|
s.range && !(0, vutils_1.isEqual)(s.range, scale.range()) && (scale.range(s.range),
|
|
82
75
|
result.reRender = !0), (0, type_1.isDataDomainSpec)(s.domain) ? result.reRender = !0 : (0,
|
|
83
76
|
vutils_1.isEqual)(s.domain, scale.domain()) || (scale.domain(s.domain), result.reRender = !0),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scale/global-scale.ts"],"names":[],"mappings":"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","file":"global-scale.js","sourcesContent":["import type { IGlobalScale } from './interface';\nimport { isArray, isEmpty, isEqual, isNil } from '@visactor/vutils';\nimport type { IBaseScale, LinearScale, OrdinalScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\nimport type { IChart } from '../chart/interface';\nimport type { IChartSpec } from '../typings/spec';\nimport { createScale } from '../util/scale';\nimport { isDataDomainSpec } from '../util/type';\nimport { mergeFields } from '../util/data';\nimport type { IVisualScale, IVisualSpecScale } from '../typings';\nimport type { StatisticOperations } from '../data/transforms/interface';\nimport type { ISeries } from '../series';\n\ntype SpecifiedScale = OrdinalScale & {\n setSpecified?: (value?: Record<string, unknown>) => OrdinalScale;\n};\n\nexport class GlobalScale implements IGlobalScale {\n private _scaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _scaleMap: Map<string, IBaseScale> = new Map();\n private _modelScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _markAttributeScaleMap: Map<string, (IVisualScale & { seriesId: number; markScale: IBaseScale })[]> =\n new Map();\n private _spec: IChartSpec['scales'] = null;\n private readonly _chart: IChart = null;\n constructor(spec: IChartSpec['scales'], chart: IChart) {\n this._spec = spec;\n this._chart = chart;\n this._setAttrFromSpec();\n }\n\n private _createFromSpec(s: IVisualSpecScale<unknown, unknown>): IBaseScale {\n if (!s.id) {\n return null;\n }\n let scale = this._scaleMap.get(s.id);\n if (!scale) {\n if (s.type === 'ordinal' && s.id === 'color') {\n scale = createScale('colorOrdinal'); // 全局颜色色板的特殊逻辑\n } else {\n scale = createScale(s.type);\n }\n }\n if (!scale) {\n return null;\n }\n if (isArray(s.range)) {\n scale.range(s.range);\n }\n if (isArray(s.domain)) {\n if (!isDataDomainSpec(s.domain)) {\n scale.domain(s.domain);\n }\n }\n if (s.specified && (<OrdinalScale>scale).specified) {\n (<OrdinalScale>scale).specified(s.specified);\n }\n\n if (s.clamp && (<LinearScale>scale).clamp) {\n (<LinearScale>scale).clamp(s.clamp);\n }\n\n return scale;\n }\n\n private _setAttrFromSpec() {\n if (!this._spec?.length) {\n return;\n }\n const newScaleMap: Map<string, IBaseScale> = new Map();\n const newScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n this._spec.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n this._modelScaleSpecMap.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n\n this._scaleSpecMap = newScaleSpecMap;\n this._scaleMap = newScaleMap;\n }\n\n updateSpec(spec: IChartSpec['scales']) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n if (isEqual(spec, this._spec)) {\n return result;\n }\n result.change = true;\n for (let i = 0; i < spec.length; i++) {\n const s = spec[i];\n const scale = this._scaleMap.get(s.id);\n if (!scale) {\n // new global scale need remake chart\n result.reMake = true;\n return result;\n }\n const lastSpec = this._spec.find(_s => _s.id === s.id);\n if (!lastSpec.id) {\n // new global scale need remake chart\n result.reMake = true;\n return result;\n }\n if (lastSpec.type !== s.type) {\n // scale cannot change type, need remake chart\n result.reMake = true;\n return result;\n }\n if (!isEqual(lastSpec.specified, s.specified)) {\n if (s.id !== 'color') {\n result.reMake = true;\n return result;\n }\n const colorScale = scale as SpecifiedScale;\n if (colorScale.setSpecified) {\n colorScale.setSpecified(s.specified as Record<string, unknown> | undefined);\n } else if (s.specified && colorScale.specified) {\n colorScale.specified(s.specified);\n } else {\n result.reMake = true;\n return result;\n }\n result.reRender = true;\n }\n if (s.range && !isEqual(s.range, scale.range())) {\n scale.range(s.range);\n result.reRender = true;\n }\n if (isDataDomainSpec(s.domain)) {\n result.reRender = true;\n } else if (!isEqual(s.domain, scale.domain())) {\n scale.domain(s.domain);\n result.reRender = true;\n }\n // replace specMap, this use for data domain\n this._scaleSpecMap.set(s.id, s);\n }\n this._spec = spec;\n return result;\n }\n\n registerModelScale(spec: IVisualSpecScale<unknown, unknown>) {\n const scale = this._createFromSpec(spec);\n if (!scale) {\n return;\n }\n this._modelScaleSpecMap.set(spec.id, spec);\n this._scaleSpecMap.set(spec.id, spec);\n this._scaleMap.set(spec.id, scale);\n }\n\n removeModelScale(filter: (spec: IVisualSpecScale<unknown, unknown>) => boolean) {\n this._modelScaleSpecMap.forEach(spec => {\n if (filter(spec)) {\n this._modelScaleSpecMap.delete(spec.id);\n this._scaleSpecMap.delete(spec.id);\n this._scaleMap.delete(spec.id);\n }\n });\n }\n\n getScale(user_id: string): IBaseScale | null {\n return this._scaleMap.get(user_id);\n }\n\n getScaleSpec(user_id: string): IVisualSpecScale<unknown, unknown> | null {\n return this._scaleSpecMap.get(user_id);\n }\n\n getStatisticalFields = (\n dataId: string\n ): {\n key: string;\n operations: StatisticOperations;\n }[] => {\n const result: {\n key: string;\n operations: StatisticOperations;\n }[] = [];\n this._scaleSpecMap.forEach((v, k) => {\n if (!isDataDomainSpec(v.domain)) {\n return;\n }\n v.domain.forEach(spec => {\n if (spec.dataId === dataId) {\n spec.fields.forEach(key => {\n mergeFields(result, [\n {\n key,\n operations: isContinuous(v.type) ? ['max', 'min'] : ['values']\n }\n ]);\n });\n }\n });\n });\n this._markAttributeScaleMap.forEach((specList, scaleName) => {\n const scale = this.getScale(scaleName);\n specList.forEach(spec => {\n const series = this._getSeriesBySeriesId(spec.seriesId);\n\n if (series.getRawData().name === dataId && spec.field) {\n mergeFields(result, [\n {\n key: spec.field,\n operations: isContinuous(scale.type) ? ['max', 'min'] : ['values']\n }\n ]);\n }\n });\n });\n return result;\n };\n\n private _getSeriesByRawDataId(id: string): ISeries {\n const series = this._chart.getAllSeries();\n\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.getRawData().name === id) {\n return s;\n }\n }\n return null;\n }\n\n private _getSeriesBySeriesId(id: number): ISeries {\n const series = this._chart.getAllSeries();\n\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.id === id) {\n return s;\n }\n }\n return null;\n }\n\n updateScaleDomain(defaultDomain: unknown[]) {\n this._scaleSpecMap.forEach((scaleSpec, id) => {\n const scale = this._scaleMap.get(id);\n if (!scale) {\n return;\n }\n if (!isDataDomainSpec(scaleSpec.domain)) {\n if (!scaleSpec.domain || scaleSpec.domain.length === 0) {\n scale.domain(defaultDomain);\n }\n this._updateMarkScale(id, scale, scale.domain().slice());\n return;\n }\n let domain: unknown[] | Set<string>;\n if (isContinuous(scaleSpec.type)) {\n domain = [null, null];\n } else {\n domain = new Set();\n }\n scaleSpec.domain.forEach(spec => {\n const series = this._getSeriesByRawDataId(spec.dataId);\n\n if (!series) {\n return;\n }\n\n const isContinuousField = isContinuous(scaleSpec.type);\n spec.fields.forEach(key => {\n const statistics = series.getRawDataStatisticsByField(key, isContinuousField);\n if (!statistics) {\n return;\n }\n if (isContinuousField) {\n if (isNil(domain[0])) {\n domain[0] = statistics.min;\n } else {\n domain[0] = Math.min(statistics.min, domain[0]);\n }\n if (isNil(domain[1])) {\n domain[1] = statistics.max;\n } else {\n domain[1] = Math.max(statistics.max, domain[1]);\n }\n } else {\n statistics.values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n }\n });\n });\n\n const scaleDomain = domain;\n if (!isContinuous(scaleSpec.type)) {\n domain = Array.from(domain);\n }\n scale.domain(domain as unknown[]);\n this._updateMarkScale(id, scale, scaleDomain);\n });\n }\n\n private _updateMarkScale(id: string, scale: IBaseScale, domain: unknown[] | Set<string>) {\n const list = this._markAttributeScaleMap.get(id);\n if (!list || list.length === 0) {\n return;\n }\n list.forEach(info => {\n if (!info.field || !info.markScale || info.markScale === scale) {\n return;\n }\n if (isNil(info.changeDomain) || info.changeDomain === 'none' || isNil(info.seriesId)) {\n isContinuous(scale.type) ? info.markScale.domain(domain as unknown[]) : scale.domain(Array.from(domain));\n return;\n }\n\n const series = this._getSeriesBySeriesId(info.seriesId);\n const isContinuousScale = isContinuous(scale.type);\n const statistics = series.getRawDataStatisticsByField(info.field, isContinuousScale);\n\n if (isEmpty(statistics)) {\n isContinuous(scale.type) ? info.markScale.domain(domain as unknown[]) : scale.domain(Array.from(domain));\n return;\n }\n\n if (info.changeDomain === 'expand') {\n if (isContinuousScale) {\n domain[0] = Math.min(domain[0], statistics.min);\n domain[1] = Math.max(domain[1], statistics.max);\n } else {\n statistics.values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n domain = Array.from(domain);\n }\n info.markScale.domain(domain as any[]);\n return;\n }\n if (info.changeDomain === 'replace') {\n if (isContinuousScale) {\n info.markScale.domain([statistics.min, statistics.max]);\n } else {\n info.markScale.domain(statistics.values);\n }\n return;\n }\n });\n }\n\n registerMarkAttributeScale(spec: IVisualScale, seriesId: number): IBaseScale {\n const scale = this._scaleMap.get(spec.scale);\n let list = this._markAttributeScaleMap.get(spec.scale);\n if (!list) {\n list = [];\n this._markAttributeScaleMap.set(spec.scale, list);\n }\n let markScale = scale;\n if (isNil(spec.field) || (!isNil(spec.changeDomain) && spec.changeDomain !== 'none' && !isNil(seriesId))) {\n markScale = scale.clone();\n }\n list.push({\n ...spec,\n seriesId,\n markScale\n });\n return markScale;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scale/global-scale.ts"],"names":[],"mappings":"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","file":"global-scale.js","sourcesContent":["import type { IGlobalScale } from './interface';\nimport { isArray, isEmpty, isEqual, isNil } from '@visactor/vutils';\nimport type { IBaseScale, LinearScale, OrdinalScale } from '@visactor/vscale';\nimport { isContinuous } from '@visactor/vscale';\nimport type { IChart } from '../chart/interface';\nimport type { IChartSpec } from '../typings/spec';\nimport { createScale } from '../util/scale';\nimport { isDataDomainSpec } from '../util/type';\nimport { mergeFields } from '../util/data';\nimport type { IVisualScale, IVisualSpecScale } from '../typings';\nimport type { StatisticOperations } from '../data/transforms/interface';\nimport type { ISeries } from '../series';\n\nexport class GlobalScale implements IGlobalScale {\n private _scaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _scaleMap: Map<string, IBaseScale> = new Map();\n private _modelScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n private _markAttributeScaleMap: Map<string, (IVisualScale & { seriesId: number; markScale: IBaseScale })[]> =\n new Map();\n private _spec: IChartSpec['scales'] = null;\n private readonly _chart: IChart = null;\n constructor(spec: IChartSpec['scales'], chart: IChart) {\n this._spec = spec;\n this._chart = chart;\n this._setAttrFromSpec();\n }\n\n private _createFromSpec(s: IVisualSpecScale<unknown, unknown>): IBaseScale {\n if (!s.id) {\n return null;\n }\n let scale = this._scaleMap.get(s.id);\n if (!scale) {\n if (s.type === 'ordinal' && s.id === 'color') {\n scale = createScale('colorOrdinal'); // 全局颜色色板的特殊逻辑\n } else {\n scale = createScale(s.type);\n }\n }\n if (!scale) {\n return null;\n }\n if (isArray(s.range)) {\n scale.range(s.range);\n }\n if (isArray(s.domain)) {\n if (!isDataDomainSpec(s.domain)) {\n scale.domain(s.domain);\n }\n }\n if (s.specified && (<OrdinalScale>scale).specified) {\n (<OrdinalScale>scale).specified(s.specified);\n }\n\n if (s.clamp && (<LinearScale>scale).clamp) {\n (<LinearScale>scale).clamp(s.clamp);\n }\n\n return scale;\n }\n\n private _setAttrFromSpec() {\n if (!this._spec?.length) {\n return;\n }\n const newScaleMap: Map<string, IBaseScale> = new Map();\n const newScaleSpecMap: Map<string, IVisualSpecScale<unknown, unknown>> = new Map();\n this._spec.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n this._modelScaleSpecMap.forEach(s => {\n const scale = this._createFromSpec(s);\n if (!scale) {\n return;\n }\n newScaleMap.set(s.id, scale);\n newScaleSpecMap.set(s.id, s);\n });\n\n this._scaleSpecMap = newScaleSpecMap;\n this._scaleMap = newScaleMap;\n }\n\n updateSpec(spec: IChartSpec['scales']) {\n const result = {\n change: false,\n reMake: false,\n reRender: false,\n reSize: false,\n reCompile: false\n };\n if (isEqual(spec, this._spec)) {\n return result;\n }\n result.change = true;\n for (let i = 0; i < spec.length; i++) {\n const s = spec[i];\n const scale = this._scaleMap.get(s.id);\n if (!scale) {\n // new global scale need remake chart\n result.reMake = true;\n return result;\n }\n const lastSpec = this._spec.find(_s => _s.id === s.id);\n if (!lastSpec.id) {\n // new global scale need remake chart\n result.reMake = true;\n return result;\n }\n if (lastSpec.type !== s.type) {\n // scale cannot change type, need remake chart\n result.reMake = true;\n return result;\n }\n if (!isEqual(lastSpec.specified, s.specified)) {\n result.reMake = true;\n return result;\n }\n if (s.range && !isEqual(s.range, scale.range())) {\n scale.range(s.range);\n result.reRender = true;\n }\n if (isDataDomainSpec(s.domain)) {\n result.reRender = true;\n } else if (!isEqual(s.domain, scale.domain())) {\n scale.domain(s.domain);\n result.reRender = true;\n }\n // replace specMap, this use for data domain\n this._scaleSpecMap.set(s.id, s);\n }\n this._spec = spec;\n return result;\n }\n\n registerModelScale(spec: IVisualSpecScale<unknown, unknown>) {\n const scale = this._createFromSpec(spec);\n if (!scale) {\n return;\n }\n this._modelScaleSpecMap.set(spec.id, spec);\n this._scaleSpecMap.set(spec.id, spec);\n this._scaleMap.set(spec.id, scale);\n }\n\n removeModelScale(filter: (spec: IVisualSpecScale<unknown, unknown>) => boolean) {\n this._modelScaleSpecMap.forEach(spec => {\n if (filter(spec)) {\n this._modelScaleSpecMap.delete(spec.id);\n this._scaleSpecMap.delete(spec.id);\n this._scaleMap.delete(spec.id);\n }\n });\n }\n\n getScale(user_id: string): IBaseScale | null {\n return this._scaleMap.get(user_id);\n }\n\n getScaleSpec(user_id: string): IVisualSpecScale<unknown, unknown> | null {\n return this._scaleSpecMap.get(user_id);\n }\n\n getStatisticalFields = (\n dataId: string\n ): {\n key: string;\n operations: StatisticOperations;\n }[] => {\n const result: {\n key: string;\n operations: StatisticOperations;\n }[] = [];\n this._scaleSpecMap.forEach((v, k) => {\n if (!isDataDomainSpec(v.domain)) {\n return;\n }\n v.domain.forEach(spec => {\n if (spec.dataId === dataId) {\n spec.fields.forEach(key => {\n mergeFields(result, [\n {\n key,\n operations: isContinuous(v.type) ? ['max', 'min'] : ['values']\n }\n ]);\n });\n }\n });\n });\n this._markAttributeScaleMap.forEach((specList, scaleName) => {\n const scale = this.getScale(scaleName);\n specList.forEach(spec => {\n const series = this._getSeriesBySeriesId(spec.seriesId);\n\n if (series.getRawData().name === dataId && spec.field) {\n mergeFields(result, [\n {\n key: spec.field,\n operations: isContinuous(scale.type) ? ['max', 'min'] : ['values']\n }\n ]);\n }\n });\n });\n return result;\n };\n\n private _getSeriesByRawDataId(id: string): ISeries {\n const series = this._chart.getAllSeries();\n\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.getRawData().name === id) {\n return s;\n }\n }\n return null;\n }\n\n private _getSeriesBySeriesId(id: number): ISeries {\n const series = this._chart.getAllSeries();\n\n for (let i = 0; i < series.length; i++) {\n const s = series[i];\n if (s.id === id) {\n return s;\n }\n }\n return null;\n }\n\n updateScaleDomain(defaultDomain: unknown[]) {\n this._scaleSpecMap.forEach((scaleSpec, id) => {\n const scale = this._scaleMap.get(id);\n if (!scale) {\n return;\n }\n if (!isDataDomainSpec(scaleSpec.domain)) {\n if (!scaleSpec.domain || scaleSpec.domain.length === 0) {\n scale.domain(defaultDomain);\n }\n this._updateMarkScale(id, scale, scale.domain().slice());\n return;\n }\n let domain: unknown[] | Set<string>;\n if (isContinuous(scaleSpec.type)) {\n domain = [null, null];\n } else {\n domain = new Set();\n }\n scaleSpec.domain.forEach(spec => {\n const series = this._getSeriesByRawDataId(spec.dataId);\n\n if (!series) {\n return;\n }\n\n const isContinuousField = isContinuous(scaleSpec.type);\n spec.fields.forEach(key => {\n const statistics = series.getRawDataStatisticsByField(key, isContinuousField);\n if (!statistics) {\n return;\n }\n if (isContinuousField) {\n if (isNil(domain[0])) {\n domain[0] = statistics.min;\n } else {\n domain[0] = Math.min(statistics.min, domain[0]);\n }\n if (isNil(domain[1])) {\n domain[1] = statistics.max;\n } else {\n domain[1] = Math.max(statistics.max, domain[1]);\n }\n } else {\n statistics.values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n }\n });\n });\n\n const scaleDomain = domain;\n if (!isContinuous(scaleSpec.type)) {\n domain = Array.from(domain);\n }\n scale.domain(domain as unknown[]);\n this._updateMarkScale(id, scale, scaleDomain);\n });\n }\n\n private _updateMarkScale(id: string, scale: IBaseScale, domain: unknown[] | Set<string>) {\n const list = this._markAttributeScaleMap.get(id);\n if (!list || list.length === 0) {\n return;\n }\n list.forEach(info => {\n if (!info.field || !info.markScale || info.markScale === scale) {\n return;\n }\n if (isNil(info.changeDomain) || info.changeDomain === 'none' || isNil(info.seriesId)) {\n isContinuous(scale.type) ? info.markScale.domain(domain as unknown[]) : scale.domain(Array.from(domain));\n return;\n }\n\n const series = this._getSeriesBySeriesId(info.seriesId);\n const isContinuousScale = isContinuous(scale.type);\n const statistics = series.getRawDataStatisticsByField(info.field, isContinuousScale);\n\n if (isEmpty(statistics)) {\n isContinuous(scale.type) ? info.markScale.domain(domain as unknown[]) : scale.domain(Array.from(domain));\n return;\n }\n\n if (info.changeDomain === 'expand') {\n if (isContinuousScale) {\n domain[0] = Math.min(domain[0], statistics.min);\n domain[1] = Math.max(domain[1], statistics.max);\n } else {\n statistics.values.forEach((value: string) => {\n (domain as Set<string>).add(value);\n });\n domain = Array.from(domain);\n }\n info.markScale.domain(domain as any[]);\n return;\n }\n if (info.changeDomain === 'replace') {\n if (isContinuousScale) {\n info.markScale.domain([statistics.min, statistics.max]);\n } else {\n info.markScale.domain(statistics.values);\n }\n return;\n }\n });\n }\n\n registerMarkAttributeScale(spec: IVisualScale, seriesId: number): IBaseScale {\n const scale = this._scaleMap.get(spec.scale);\n let list = this._markAttributeScaleMap.get(spec.scale);\n if (!list) {\n list = [];\n this._markAttributeScaleMap.set(spec.scale, list);\n }\n let markScale = scale;\n if (isNil(spec.field) || (!isNil(spec.changeDomain) && spec.changeDomain !== 'none' && !isNil(seriesId))) {\n markScale = scale.clone();\n }\n list.push({\n ...spec,\n seriesId,\n markScale\n });\n return markScale;\n }\n}\n"]}
|
|
@@ -7,7 +7,6 @@ import { SeriesTypeEnum } from '../interface/type';
|
|
|
7
7
|
import type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';
|
|
8
8
|
import type { IMark, IAreaMark } from '../../mark/interface';
|
|
9
9
|
import { AreaSeriesSpecTransformer } from './area-transformer';
|
|
10
|
-
import type { ISeriesSpecUpdatePolicy } from '../base/base-series';
|
|
11
10
|
export interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends Pick<LineLikeSeriesMixin, 'initLineMark' | 'initSymbolMark' | 'initLabelMarkStyle' | 'initLineMarkStyle' | 'initSymbolMarkStyle' | 'encodeDefined' | '_lineMark' | '_symbolMark' | 'addSamplingCompile' | 'addOverlapCompile' | 'reCompileSampling' | 'initLineLabelMarkStyle'>, CartesianSeries<T> {
|
|
12
11
|
}
|
|
13
12
|
export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {
|
|
@@ -19,7 +18,6 @@ export declare class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> ext
|
|
|
19
18
|
readonly transformerConstructor: typeof AreaSeriesSpecTransformer;
|
|
20
19
|
protected _areaMark: IAreaMark;
|
|
21
20
|
protected _sortDataByAxis: boolean;
|
|
22
|
-
protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy;
|
|
23
21
|
initMark(): void;
|
|
24
22
|
initMarkStyle(): void;
|
|
25
23
|
initAreaMarkStyle(): void;
|
package/cjs/series/area/area.js
CHANGED
|
@@ -11,12 +11,6 @@ class AreaSeries extends cartesian_1.CartesianSeries {
|
|
|
11
11
|
super(...arguments), this.type = type_1.SeriesTypeEnum.area, this.transformerConstructor = area_transformer_1.AreaSeriesSpecTransformer,
|
|
12
12
|
this._sortDataByAxis = !1;
|
|
13
13
|
}
|
|
14
|
-
_getSpecUpdatePolicy() {
|
|
15
|
-
const policy = super._getSpecUpdatePolicy();
|
|
16
|
-
return Object.assign(Object.assign({}, policy), {
|
|
17
|
-
dataRelatedKeys: Object.assign(Object.assign({}, policy.dataRelatedKeys), line_mixin_1.LINE_LIKE_SERIES_DATA_RELATED_KEYS)
|
|
18
|
-
});
|
|
19
|
-
}
|
|
20
14
|
initMark() {
|
|
21
15
|
var _a;
|
|
22
16
|
const seriesMark = null !== (_a = this._spec.seriesMark) && void 0 !== _a ? _a : "area", isAreaMarkVisible = this._isAreaVisible() || this._isLineVisible();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LINE_LIKE_SERIES_DATA_RELATED_KEYS, LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { Datum, InterpolateType } from '../../typings';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaSeriesAnimation } from './animation';\nimport type { IMark, IAreaMark } from '../../mark/interface';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { STACK_FIELD_END } from '../../constant/data';\nimport { registerSymbolOverlapTransform } from '../../mark/transform/symbol-overlap';\nimport { registerDataSamplingTransform } from '../../mark/transform/data-sampling';\nimport { area } from '../../theme/builtin/common/series/area';\nimport type { ISeriesSpecUpdatePolicy } from '../base/base-series';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly builtInTheme: Record<string, IAreaSeriesTheme> = { area };\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _sortDataByAxis: boolean = false;\n\n protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy {\n const policy = super._getSpecUpdatePolicy();\n return {\n ...policy,\n dataRelatedKeys: {\n ...policy.dataRelatedKeys,\n ...LINE_LIKE_SERIES_DATA_RELATED_KEYS\n }\n };\n }\n\n initMark(): void {\n const seriesMark = this._spec.seriesMark ?? 'area';\n const isAreaMarkVisible = this._isAreaVisible() || this._isLineVisible();\n // area\n this._areaMark = this._createMark(\n AreaSeries.mark.area,\n {\n groupKey: this._seriesField,\n isSeriesMark: isAreaMarkVisible && seriesMark !== 'point'\n },\n {\n morphElementKey: this.getDimensionField()[0]\n }\n ) as IAreaMark;\n\n this.initSymbolMark(seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMarkStyle() {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n const isAreaVisible = this._isAreaVisible();\n const isLineVisible = this._isLineVisible();\n if (isAreaVisible || isLineVisible) {\n areaMark.setVisible(true);\n } else {\n areaMark.setVisible(false);\n }\n\n if (this._direction === Direction.horizontal) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n y1: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: isAreaVisible ? this.getColorAttribute() : false,\n stroke: isLineVisible ? this.getColorAttribute() : false\n },\n 'normal',\n AttributeLevel.Series\n );\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n if (this.getStack()) {\n // 在堆叠情况下面积系列需要控制图元层级,https://github.com/VisActor/VChart/issues/3684\n this.setMarkStyle(\n areaMark,\n {\n zIndex: (datum: Datum) => -datum[STACK_FIELD_END] // 越在堆叠下层,datum[STACK_FIELD_END] 越小, zIndex越大\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected _isAreaVisible() {\n const areaSpec = this._spec.area || {};\n return areaSpec.visible !== false && areaSpec.style?.visible !== false;\n }\n\n protected _isLineVisible() {\n const lineSpec = this._spec.line || {};\n return lineSpec.visible !== false && lineSpec.style?.visible !== false;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n const { group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._areaMark) {\n group.add(this._areaMark);\n }\n if (this._lineMark) {\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerDataSamplingTransform();\n registerSymbolOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaSeriesAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/area/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { isArray } from '@visactor/vutils';\n/* eslint-disable no-duplicate-imports */\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport { Direction } from '../../typings/space';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { Datum, InterpolateType } from '../../typings';\nimport { valueInScaleRange } from '../../util/scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { mixin } from '@visactor/vutils';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_SMOOTH_INTERPOLATE } from '../../typings/interpolate';\nimport type { IAreaSeriesSpec, IAreaSeriesTheme } from './interface';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { registerLineMark } from '../../mark/line';\nimport { registerAreaMark } from '../../mark/area';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { AreaSeriesTooltipHelper } from './tooltip-helpter';\nimport { areaSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport { registerAreaSeriesAnimation } from './animation';\nimport type { IMark, IAreaMark } from '../../mark/interface';\nimport { AreaSeriesSpecTransformer } from './area-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { STACK_FIELD_END } from '../../constant/data';\nimport { registerSymbolOverlapTransform } from '../../mark/transform/symbol-overlap';\nimport { registerDataSamplingTransform } from '../../mark/transform/data-sampling';\nimport { area } from '../../theme/builtin/common/series/area';\n\nexport interface AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | 'encodeDefined'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n | 'initLineLabelMarkStyle'\n >,\n CartesianSeries<T> {}\n\nexport class AreaSeries<T extends IAreaSeriesSpec = IAreaSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.area;\n type = SeriesTypeEnum.area;\n\n static readonly builtInTheme: Record<string, IAreaSeriesTheme> = { area };\n static readonly mark: SeriesMarkMap = areaSeriesMark;\n static readonly transformerConstructor = AreaSeriesSpecTransformer as any;\n readonly transformerConstructor = AreaSeriesSpecTransformer;\n\n protected _areaMark!: IAreaMark;\n protected _sortDataByAxis: boolean = false;\n\n initMark(): void {\n const seriesMark = this._spec.seriesMark ?? 'area';\n const isAreaMarkVisible = this._isAreaVisible() || this._isLineVisible();\n // area\n this._areaMark = this._createMark(\n AreaSeries.mark.area,\n {\n groupKey: this._seriesField,\n isSeriesMark: isAreaMarkVisible && seriesMark !== 'point'\n },\n {\n morphElementKey: this.getDimensionField()[0]\n }\n ) as IAreaMark;\n\n this.initSymbolMark(seriesMark === 'point');\n }\n\n initMarkStyle(): void {\n this.initAreaMarkStyle();\n this.initSymbolMarkStyle();\n }\n\n initAreaMarkStyle() {\n // FIXME 是不是应该把curveType提前到上层配置\n // 不允许area和line的curveType不一致\n const userCurveType = (this.getSpec().area?.style?.curveType ??\n this.getSpec().line?.style?.curveType) as InterpolateType;\n const curveType =\n userCurveType === DEFAULT_SMOOTH_INTERPOLATE\n ? this._direction === Direction.horizontal\n ? 'monotoneY'\n : 'monotoneX'\n : userCurveType;\n\n // area\n const areaMark = this._areaMark;\n if (areaMark) {\n const isAreaVisible = this._isAreaVisible();\n const isLineVisible = this._isLineVisible();\n if (isAreaVisible || isLineVisible) {\n areaMark.setVisible(true);\n } else {\n areaMark.setVisible(false);\n }\n\n if (this._direction === Direction.horizontal) {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionX1(datum), this._xAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n y1: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n orient: this._direction\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._areaMark,\n {\n x: this.dataToPositionX.bind(this),\n x1: this.dataToPositionX.bind(this),\n y1: (datum: Datum) => {\n return valueInScaleRange(this.dataToPositionY1(datum), this._yAxisHelper?.getScale?.(0));\n },\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this.setMarkStyle(\n areaMark,\n {\n fill: isAreaVisible ? this.getColorAttribute() : false,\n stroke: isLineVisible ? this.getColorAttribute() : false\n },\n 'normal',\n AttributeLevel.Series\n );\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n areaMark,\n {\n defined: this._getInvalidDefined.bind(this),\n connectedType: this._getInvalidConnectType()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n if (this.getStack()) {\n // 在堆叠情况下面积系列需要控制图元层级,https://github.com/VisActor/VChart/issues/3684\n this.setMarkStyle(\n areaMark,\n {\n zIndex: (datum: Datum) => -datum[STACK_FIELD_END] // 越在堆叠下层,datum[STACK_FIELD_END] 越小, zIndex越大\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n this.setMarkStyle(\n areaMark,\n {\n curveType\n },\n 'normal',\n AttributeLevel.Built_In\n );\n\n // change stroke to area stoke = [lineStroke,false,false,false]\n Object.keys(areaMark.stateStyle).forEach(state => {\n if (areaMark.stateStyle[state].stroke) {\n areaMark.setPostProcess(\n 'stroke',\n result => {\n return [result, false, false, false];\n },\n state\n );\n }\n });\n }\n }\n\n initAnimation() {\n const areaAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec.animationAppear as IMarkAnimateSpec<string>)?.preset;\n if (this._lineMark) {\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._areaMark) {\n this._areaMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('area')?.(areaAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.area, this._spec, this._markAttributeContext)\n )\n );\n }\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n protected _isAreaVisible() {\n const areaSpec = this._spec.area || {};\n return areaSpec.visible !== false && areaSpec.style?.visible !== false;\n }\n\n protected _isLineVisible() {\n const lineSpec = this._spec.line || {};\n return lineSpec.visible !== false && lineSpec.style?.visible !== false;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new AreaSeriesTooltipHelper(this);\n const { group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._areaMark) {\n group.add(this._areaMark);\n }\n if (this._lineMark) {\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n this.encodeDefined(this._areaMark, 'defined');\n }\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n getDefaultShapeType() {\n return 'square';\n }\n\n getActiveMarks(): IMark[] {\n return [this._areaMark, this._symbolMark, this._lineMark];\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n return (attribute: string) => {\n const seriesMarkType = this._spec.seriesMark ?? 'area';\n\n let result = this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n if (attribute === 'fill' && (!result || seriesMarkType === 'line')) {\n attribute = 'stroke';\n result = this._seriesMark?.getAttribute(attribute, datum) ?? undefined;\n }\n if (attribute === 'stroke' && isArray(result)) {\n return result[0];\n }\n return result;\n };\n }\n}\n\nmixin(AreaSeries, LineLikeSeriesMixin);\n\nexport const registerAreaSeries = () => {\n registerDataSamplingTransform();\n registerSymbolOverlapTransform();\n registerLineMark();\n registerAreaMark();\n registerSymbolMark();\n registerAreaSeriesAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(AreaSeries.type, AreaSeries);\n};\n"]}
|
package/cjs/series/bar/bar.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import type { IBaseScale } from '@visactor/vscale';
|
|
2
2
|
import { CartesianSeries } from '../cartesian/cartesian';
|
|
3
|
-
import type { ISeriesSpecUpdatePolicy } from '../base/base-series';
|
|
4
3
|
import type { IMark, IRectMark, ITextMark } from '../../mark/interface';
|
|
5
4
|
import type { Datum, DirectionType } from '../../typings';
|
|
6
5
|
import type { IBarSeriesSpec, IBarSeriesTheme } from './interface';
|
|
@@ -25,11 +24,9 @@ export declare class BarSeries<T extends IBarSeriesSpec = IBarSeriesSpec> extend
|
|
|
25
24
|
protected _barMark: IRectMark;
|
|
26
25
|
protected _barBackgroundMark: IRectMark;
|
|
27
26
|
protected _barBackgroundViewData: ICompilableData;
|
|
28
|
-
protected _getSpecUpdatePolicy(): ISeriesSpecUpdatePolicy;
|
|
29
27
|
initMark(): void;
|
|
30
28
|
protected _initBarBackgroundMark(): void;
|
|
31
29
|
initMarkStyle(): void;
|
|
32
|
-
protected initRectMarkStyle(): void;
|
|
33
30
|
initLabelMarkStyle(textMark: ITextMark): void;
|
|
34
31
|
protected initTooltip(): void;
|
|
35
32
|
protected _statisticViewData(): void;
|
package/cjs/series/bar/bar.js
CHANGED
|
@@ -8,15 +8,6 @@ const vscale_1 = require("@visactor/vscale"), cartesian_1 = require("../cartesia
|
|
|
8
8
|
|
|
9
9
|
exports.DefaultBandWidth = 6;
|
|
10
10
|
|
|
11
|
-
const BAR_SERIES_COMPILE_ONLY_KEYS = {
|
|
12
|
-
barWidth: !0,
|
|
13
|
-
barMinWidth: !0,
|
|
14
|
-
barMaxWidth: !0,
|
|
15
|
-
barGapInGroup: !0,
|
|
16
|
-
barMinHeight: !0,
|
|
17
|
-
stackCornerRadius: !0
|
|
18
|
-
};
|
|
19
|
-
|
|
20
11
|
class BarSeries extends cartesian_1.CartesianSeries {
|
|
21
12
|
constructor() {
|
|
22
13
|
super(...arguments), this.type = type_1.SeriesTypeEnum.bar, this._barMarkName = "bar",
|
|
@@ -74,12 +65,6 @@ class BarSeries extends cartesian_1.CartesianSeries {
|
|
|
74
65
|
this._barBackgroundPositionYEncoder = encoder.bind(this);
|
|
75
66
|
};
|
|
76
67
|
}
|
|
77
|
-
_getSpecUpdatePolicy() {
|
|
78
|
-
const policy = super._getSpecUpdatePolicy();
|
|
79
|
-
return Object.assign(Object.assign({}, policy), {
|
|
80
|
-
compileOnlyKeys: Object.assign(Object.assign({}, policy.compileOnlyKeys), BAR_SERIES_COMPILE_ONLY_KEYS)
|
|
81
|
-
});
|
|
82
|
-
}
|
|
83
68
|
initMark() {
|
|
84
69
|
this._initBarBackgroundMark(), this._barMark = this._createMark(Object.assign(Object.assign({}, BarSeries.mark.bar), {
|
|
85
70
|
name: this._barMarkName,
|
|
@@ -101,13 +86,7 @@ class BarSeries extends cartesian_1.CartesianSeries {
|
|
|
101
86
|
initMarkStyle() {
|
|
102
87
|
this._barMark && this.setMarkStyle(this._barMark, {
|
|
103
88
|
fill: this.getColorAttribute()
|
|
104
|
-
}, "normal", attribute_1.AttributeLevel.Series)
|
|
105
|
-
}
|
|
106
|
-
initRectMarkStyle() {
|
|
107
|
-
var _a;
|
|
108
|
-
if (!this._barMark) return;
|
|
109
|
-
const bandAxisHelper = "vertical" === this.direction ? this._xAxisHelper : this._yAxisHelper, scale = null === (_a = null == bandAxisHelper ? void 0 : bandAxisHelper.getScale) || void 0 === _a ? void 0 : _a.call(bandAxisHelper, 0);
|
|
110
|
-
scale && ("band" === scale.type ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle());
|
|
89
|
+
}, "normal", attribute_1.AttributeLevel.Series);
|
|
111
90
|
}
|
|
112
91
|
initLabelMarkStyle(textMark) {
|
|
113
92
|
textMark && this.setMarkStyle(textMark, {
|
|
@@ -189,7 +168,8 @@ class BarSeries extends cartesian_1.CartesianSeries {
|
|
|
189
168
|
this._barBackgroundViewData = new data_3.CompilableData(this._option, barBackgroundData);
|
|
190
169
|
}
|
|
191
170
|
init(option) {
|
|
192
|
-
|
|
171
|
+
var _a, _b;
|
|
172
|
+
super.init(option), "vertical" === this.direction ? "band" === (null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale(0).type) ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle() : "band" === (null === (_b = this._yAxisHelper) || void 0 === _b ? void 0 : _b.getScale(0).type) ? this.initBandRectMarkStyle() : this.initLinearRectMarkStyle();
|
|
193
173
|
}
|
|
194
174
|
_shouldDoPreCalculate() {
|
|
195
175
|
const region = this.getRegion();
|
|
@@ -262,13 +242,7 @@ class BarSeries extends cartesian_1.CartesianSeries {
|
|
|
262
242
|
}
|
|
263
243
|
_initStackBarMarkStyle() {
|
|
264
244
|
var _a, _b, _c, _d;
|
|
265
|
-
if (!this._spec.stackCornerRadius)
|
|
266
|
-
const markConfig = this._barMark.getMarkConfig();
|
|
267
|
-
return void (!markConfig.clip && (0, vutils_1.isNil)(markConfig.clipPath) || this._barMark.setMarkConfig({
|
|
268
|
-
clip: !1,
|
|
269
|
-
clipPath: []
|
|
270
|
-
}));
|
|
271
|
-
}
|
|
245
|
+
if (!this._spec.stackCornerRadius) return;
|
|
272
246
|
const xScale = null === (_b = null === (_a = this._xAxisHelper) || void 0 === _a ? void 0 : _a.getScale) || void 0 === _b ? void 0 : _b.call(_a, 0), yScale = null === (_d = null === (_c = this._yAxisHelper) || void 0 === _c ? void 0 : _c.getScale) || void 0 === _d ? void 0 : _d.call(_c, 0), isVertical = "vertical" === this.direction;
|
|
273
247
|
this._barMark.setMarkConfig({
|
|
274
248
|
clip: !0,
|