@visactor/vchart 2.1.0-alpha.16 → 2.1.0-alpha.18
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 +63796 -59964
- package/build/index.js +63798 -59966
- 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/animation/index.js +2 -1
- package/cjs/chart/base/base-chart-transformer.d.ts +3 -0
- package/cjs/chart/base/base-chart-transformer.js +23 -3
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +27 -9
- package/cjs/chart/base/base-chart.js +209 -28
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/gauge/gauge-transformer.js +3 -2
- package/cjs/chart/gauge/gauge-transformer.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +1 -0
- 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 +2 -1
- 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 +3 -2
- 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 +2 -1
- package/cjs/chart/rose/rose-transformer.js.map +1 -1
- package/cjs/chart/util.d.ts +4 -1
- package/cjs/chart/util.js +40 -4
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall-transformer.js +2 -1
- package/cjs/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/cjs/compile/compiler.d.ts +2 -0
- package/cjs/compile/compiler.js +68 -48
- 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 +2 -1
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/morph.js +5 -6
- package/cjs/compile/morph.js.map +1 -1
- package/cjs/compile/stage-app.d.ts +17 -0
- package/cjs/compile/stage-app.js +82 -0
- package/cjs/compile/stage-app.js.map +1 -0
- package/cjs/component/axis/base-axis.d.ts +3 -8
- package/cjs/component/axis/base-axis.js +27 -7
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -7
- 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 +7 -10
- package/cjs/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +2 -0
- package/cjs/component/axis/polar/band-axis.js +3 -0
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.js +3 -0
- 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 +41 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/release-vrender-component.d.ts +10 -0
- package/cjs/component/base/release-vrender-component.js +37 -0
- package/cjs/component/base/release-vrender-component.js.map +1 -0
- package/cjs/component/brush/brush.d.ts +3 -7
- package/cjs/component/brush/brush.js +34 -16
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +5 -8
- package/cjs/component/crosshair/base.js +33 -5
- 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 +4 -7
- package/cjs/component/custom-mark/custom-mark.js +27 -3
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +3 -7
- package/cjs/component/data-zoom/data-filter-base-component.js +15 -2
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +19 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +1 -7
- package/cjs/component/indicator/indicator.d.ts +1 -0
- package/cjs/component/indicator/indicator.js +11 -2
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/util.d.ts +4 -3
- 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 +1 -7
- package/cjs/component/label/base-label.js +6 -2
- 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 +2 -7
- package/cjs/component/legend/base-legend.js +20 -3
- 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 +14 -7
- package/cjs/component/marker/base-marker.js +112 -12
- 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 +2 -4
- 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 +26 -11
- 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 +27 -23
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +1 -0
- package/cjs/component/player/player.js +10 -0
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -7
- package/cjs/component/title/title.js +6 -2
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -0
- package/cjs/component/tooltip/tooltip.js +8 -0
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/util.js +2 -1
- package/cjs/constant/correlation.js +1 -2
- package/cjs/constant/marker.js +1 -1
- package/cjs/constant/polar.js +1 -1
- package/cjs/constant/scatter.js +1 -1
- package/cjs/constant/scroll-bar.js +2 -1
- package/cjs/constant/sunburst.js +1 -1
- package/cjs/constant/waterfall.js +1 -1
- package/cjs/constant/word-cloud.js +1 -1
- package/cjs/core/expression-function.js +1 -2
- package/cjs/core/index.d.ts +2 -1
- package/cjs/core/index.js +8 -4
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.js +1 -1
- package/cjs/core/util.js +1 -1
- package/cjs/core/vchart.d.ts +5 -1
- package/cjs/core/vchart.js +38 -21
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/data-view-utils.d.ts +5 -0
- package/cjs/data/data-view-utils.js +58 -0
- package/cjs/data/data-view-utils.js.map +1 -0
- package/cjs/data/transforms/box-plot.d.ts +4 -1
- 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 +11 -4
- package/cjs/data/transforms/correlation-center.js +3 -2
- package/cjs/data/transforms/correlation-center.js.map +1 -1
- package/cjs/data/transforms/correlation.d.ts +18 -15
- package/cjs/data/transforms/correlation.js +22 -17
- package/cjs/data/transforms/correlation.js.map +1 -1
- package/cjs/data/transforms/funnel.d.ts +10 -8
- package/cjs/data/transforms/funnel.js +4 -3
- package/cjs/data/transforms/funnel.js.map +1 -1
- package/cjs/data/transforms/lookup.d.ts +3 -3
- package/cjs/data/transforms/lookup.js +12 -7
- package/cjs/data/transforms/lookup.js.map +1 -1
- package/cjs/data/transforms/map.d.ts +8 -2
- package/cjs/data/transforms/map.js +9 -6
- package/cjs/data/transforms/map.js.map +1 -1
- package/cjs/data/transforms/sankey.d.ts +12 -4
- package/cjs/data/transforms/sankey.js +18 -13
- package/cjs/data/transforms/sankey.js.map +1 -1
- package/cjs/data/transforms/stack-split.d.ts +2 -1
- 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 +5 -3
- package/cjs/data/transforms/treemap.js +7 -6
- package/cjs/data/transforms/treemap.js.map +1 -1
- package/cjs/data/transforms/venn.d.ts +4 -2
- package/cjs/data/transforms/venn.js +4 -4
- package/cjs/data/transforms/venn.js.map +1 -1
- package/cjs/data/transforms/waterfall.d.ts +4 -2
- package/cjs/data/transforms/waterfall.js +7 -7
- package/cjs/data/transforms/waterfall.js.map +1 -1
- package/cjs/env/env.js +11 -11
- package/cjs/env/env.js.map +1 -1
- package/cjs/env/index.js +1 -1
- package/cjs/event/event.d.ts +4 -0
- package/cjs/event/event.js +26 -7
- package/cjs/event/event.js.map +1 -1
- package/cjs/interaction/interaction.js +11 -8
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/triggers/element-active-by-legend.js +3 -2
- package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -1
- package/cjs/interaction/triggers/element-active.js +4 -3
- package/cjs/interaction/triggers/element-active.js.map +1 -1
- package/cjs/interaction/triggers/element-highlight-by-group.js +3 -2
- 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 +4 -5
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +12 -2
- package/cjs/mark/base/base-mark.js +98 -29
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/component.d.ts +9 -0
- package/cjs/mark/component.js +51 -3
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/glyph.js +1 -1
- package/cjs/mark/glyph.js.map +1 -1
- package/cjs/mark/group.js +6 -6
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +2 -0
- package/cjs/mark/interface/mark.js.map +1 -1
- package/cjs/mark/line.js +4 -5
- 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 +3 -2
- package/cjs/mark/utils/glyph.js.map +1 -1
- package/cjs/model/base-model.d.ts +3 -15
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +13 -0
- 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 +1 -7
- package/cjs/scale/color-ordinal-scale.d.ts +1 -0
- package/cjs/scale/color-ordinal-scale.js +3 -0
- package/cjs/scale/color-ordinal-scale.js.map +1 -1
- package/cjs/scale/global-scale.js +9 -2
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/series/area/area.d.ts +2 -0
- package/cjs/series/area/area.js +6 -0
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +3 -0
- package/cjs/series/bar/bar.js +30 -4
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +11 -7
- package/cjs/series/base/base-series.js +93 -23
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.d.ts +3 -0
- package/cjs/series/base/constant.js +9 -1
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +2 -0
- package/cjs/series/box-plot/box-plot.js +16 -4
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/correlation/correlation.js +13 -11
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +12 -0
- package/cjs/series/dot/dot.js +16 -1
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.js +5 -8
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +2 -0
- package/cjs/series/heatmap/heatmap.js +10 -0
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/line/line.d.ts +2 -0
- package/cjs/series/line/line.js +9 -3
- 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 +1 -0
- package/cjs/series/mixin/line-mixin.js +6 -1
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +3 -7
- package/cjs/series/pie/pie.js +16 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +2 -0
- package/cjs/series/polar/progress-like/progress-like.js +16 -1
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/polar/rose-like/rose-like.d.ts +2 -0
- package/cjs/series/polar/rose-like/rose-like.js +15 -1
- package/cjs/series/polar/rose-like/rose-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +2 -0
- package/cjs/series/progress/circular/circular.js +10 -1
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +2 -0
- package/cjs/series/progress/linear/linear.js +19 -1
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/sankey/sankey.js +67 -57
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -0
- package/cjs/series/scatter/scatter.js +9 -1
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/treemap/treemap.js +23 -20
- 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 +2 -0
- package/cjs/series/waterfall/waterfall.js +36 -20
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.js +3 -0
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/theme/builtin/common/series/word-cloud.js +2 -6
- package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -1
- package/cjs/util/graphic-state.d.ts +4 -0
- package/cjs/util/graphic-state.js +40 -0
- package/cjs/util/graphic-state.js.map +1 -0
- package/cjs/util/mark.js +7 -3
- package/cjs/util/mark.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/cjs/vchart-line.d.ts +4 -0
- package/cjs/vchart-line.js +35 -0
- package/cjs/vchart-line.js.map +1 -0
- 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 +33 -1
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/index.js +2 -1
- package/esm/chart/base/base-chart-transformer.d.ts +3 -0
- package/esm/chart/base/base-chart-transformer.js +24 -2
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +27 -9
- package/esm/chart/base/base-chart.js +202 -27
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/gauge/gauge-transformer.js +3 -2
- package/esm/chart/gauge/gauge-transformer.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +1 -0
- 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 +2 -1
- 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 +3 -2
- 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 +2 -1
- package/esm/chart/rose/rose-transformer.js.map +1 -1
- package/esm/chart/util.d.ts +4 -1
- package/esm/chart/util.js +34 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall-transformer.js +2 -1
- package/esm/chart/waterfall/waterfall-transformer.js.map +1 -1
- package/esm/compile/compiler.d.ts +2 -0
- package/esm/compile/compiler.js +69 -47
- 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 +2 -1
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/morph.js +2 -3
- package/esm/compile/morph.js.map +1 -1
- package/esm/compile/stage-app.d.ts +17 -0
- package/esm/compile/stage-app.js +77 -0
- package/esm/compile/stage-app.js.map +1 -0
- package/esm/component/axis/base-axis.d.ts +3 -8
- package/esm/component/axis/base-axis.js +27 -6
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -7
- package/esm/component/axis/cartesian/band-axis.js +4 -2
- 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 +5 -1
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/mixin/linear-axis-mixin.js +7 -10
- package/esm/component/axis/mixin/linear-axis-mixin.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +2 -0
- package/esm/component/axis/polar/band-axis.js +3 -0
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.js +3 -0
- 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 +41 -5
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/release-vrender-component.d.ts +10 -0
- package/esm/component/base/release-vrender-component.js +24 -0
- package/esm/component/base/release-vrender-component.js.map +1 -0
- package/esm/component/brush/brush.d.ts +3 -7
- package/esm/component/brush/brush.js +29 -11
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +5 -8
- package/esm/component/crosshair/base.js +27 -3
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.js +3 -1
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +4 -7
- package/esm/component/custom-mark/custom-mark.js +27 -2
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +3 -7
- package/esm/component/data-zoom/data-filter-base-component.js +14 -2
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js +20 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -0
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +12 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +1 -7
- package/esm/component/indicator/indicator.d.ts +1 -0
- package/esm/component/indicator/indicator.js +11 -2
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/util.d.ts +4 -3
- 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 +1 -7
- package/esm/component/label/base-label.js +5 -1
- 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 +2 -7
- package/esm/component/legend/base-legend.js +20 -2
- 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 +14 -7
- package/esm/component/marker/base-marker.js +113 -11
- 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 +2 -4
- 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 +24 -11
- 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 +27 -23
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +1 -0
- package/esm/component/player/player.js +10 -0
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -7
- package/esm/component/title/title.js +6 -2
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -0
- package/esm/component/tooltip/tooltip.js +9 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/util.js +2 -1
- package/esm/constant/correlation.js +1 -2
- package/esm/constant/marker.js +1 -1
- package/esm/constant/polar.js +1 -1
- package/esm/constant/scatter.js +1 -1
- package/esm/constant/scroll-bar.js +2 -1
- package/esm/constant/sunburst.js +1 -1
- package/esm/constant/waterfall.js +1 -1
- package/esm/constant/word-cloud.js +1 -1
- package/esm/core/expression-function.js +1 -2
- package/esm/core/index.d.ts +2 -1
- package/esm/core/index.js +3 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.js +1 -1
- package/esm/core/util.js +1 -1
- package/esm/core/vchart.d.ts +5 -1
- package/esm/core/vchart.js +39 -21
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/data-view-utils.d.ts +5 -0
- package/esm/data/data-view-utils.js +46 -0
- package/esm/data/data-view-utils.js.map +1 -0
- package/esm/data/transforms/box-plot.d.ts +4 -1
- 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 +11 -4
- package/esm/data/transforms/correlation-center.js +4 -2
- package/esm/data/transforms/correlation-center.js.map +1 -1
- package/esm/data/transforms/correlation.d.ts +18 -15
- package/esm/data/transforms/correlation.js +13 -8
- package/esm/data/transforms/correlation.js.map +1 -1
- package/esm/data/transforms/funnel.d.ts +10 -8
- package/esm/data/transforms/funnel.js +5 -3
- package/esm/data/transforms/funnel.js.map +1 -1
- package/esm/data/transforms/lookup.d.ts +3 -3
- package/esm/data/transforms/lookup.js +12 -6
- package/esm/data/transforms/lookup.js.map +1 -1
- package/esm/data/transforms/map.d.ts +8 -2
- package/esm/data/transforms/map.js +11 -6
- package/esm/data/transforms/map.js.map +1 -1
- package/esm/data/transforms/sankey.d.ts +12 -4
- package/esm/data/transforms/sankey.js +19 -14
- package/esm/data/transforms/sankey.js.map +1 -1
- package/esm/data/transforms/stack-split.d.ts +2 -1
- 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 +5 -3
- package/esm/data/transforms/treemap.js +8 -5
- package/esm/data/transforms/treemap.js.map +1 -1
- package/esm/data/transforms/venn.d.ts +4 -2
- package/esm/data/transforms/venn.js +5 -3
- package/esm/data/transforms/venn.js.map +1 -1
- package/esm/data/transforms/waterfall.d.ts +4 -2
- package/esm/data/transforms/waterfall.js +7 -8
- package/esm/data/transforms/waterfall.js.map +1 -1
- package/esm/env/env.js +2 -2
- package/esm/env/env.js.map +1 -1
- package/esm/env/index.js +1 -1
- package/esm/event/event.d.ts +4 -0
- package/esm/event/event.js +26 -7
- package/esm/event/event.js.map +1 -1
- package/esm/interaction/interaction.js +10 -8
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/triggers/element-active-by-legend.js +3 -1
- package/esm/interaction/triggers/element-active-by-legend.js.map +1 -1
- package/esm/interaction/triggers/element-active.js +4 -2
- package/esm/interaction/triggers/element-active.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-group.js +4 -1
- package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-legend.js +3 -1
- package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -1
- package/esm/interaction/triggers/element-highlight-by-name.js +3 -1
- package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -1
- package/esm/interaction/triggers/element-highlight.js +3 -1
- package/esm/interaction/triggers/element-highlight.js.map +1 -1
- package/esm/interaction/triggers/element-select.js +4 -2
- package/esm/interaction/triggers/element-select.js.map +1 -1
- package/esm/mark/arc.js +4 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +6 -2
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +12 -2
- package/esm/mark/base/base-mark.js +99 -28
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/component.d.ts +9 -0
- package/esm/mark/component.js +51 -2
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/glyph.js +1 -1
- package/esm/mark/glyph.js.map +1 -1
- package/esm/mark/group.js +6 -5
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +2 -0
- package/esm/mark/interface/mark.js.map +1 -1
- package/esm/mark/line.js +6 -2
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/rect.js +4 -2
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/symbol.js +4 -2
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.js +5 -1
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/utils/glyph.js +3 -1
- package/esm/mark/utils/glyph.js.map +1 -1
- package/esm/model/base-model.d.ts +3 -15
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +13 -0
- 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 +1 -7
- package/esm/scale/color-ordinal-scale.d.ts +1 -0
- package/esm/scale/color-ordinal-scale.js +3 -0
- package/esm/scale/color-ordinal-scale.js.map +1 -1
- package/esm/scale/global-scale.js +9 -1
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/series/area/area.d.ts +2 -0
- package/esm/series/area/area.js +7 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/bar.d.ts +3 -0
- package/esm/series/bar/bar.js +30 -4
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +11 -7
- package/esm/series/base/base-series.js +89 -21
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.d.ts +3 -0
- package/esm/series/base/constant.js +10 -0
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +2 -0
- package/esm/series/box-plot/box-plot.js +15 -4
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/correlation/correlation.js +13 -11
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.d.ts +12 -0
- package/esm/series/dot/dot.js +17 -0
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.js +5 -8
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +2 -0
- package/esm/series/heatmap/heatmap.js +10 -0
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/line/line.d.ts +2 -0
- package/esm/series/line/line.js +10 -2
- 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 +1 -0
- package/esm/series/mixin/line-mixin.js +5 -0
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/pie.d.ts +3 -7
- package/esm/series/pie/pie.js +17 -0
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +2 -0
- package/esm/series/polar/progress-like/progress-like.js +17 -0
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/polar/rose-like/rose-like.d.ts +2 -0
- package/esm/series/polar/rose-like/rose-like.js +16 -0
- package/esm/series/polar/rose-like/rose-like.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +2 -0
- package/esm/series/progress/circular/circular.js +11 -0
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +2 -0
- package/esm/series/progress/linear/linear.js +20 -0
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/sankey/sankey.js +60 -54
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -0
- package/esm/series/scatter/scatter.js +10 -0
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/treemap/treemap.js +23 -20
- 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 +2 -0
- package/esm/series/waterfall/waterfall.js +36 -20
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.js +3 -0
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/theme/builtin/common/series/word-cloud.js +2 -6
- package/esm/theme/builtin/common/series/word-cloud.js.map +1 -1
- package/esm/util/graphic-state.d.ts +4 -0
- package/esm/util/graphic-state.js +30 -0
- package/esm/util/graphic-state.js.map +1 -0
- package/esm/util/mark.js +8 -2
- package/esm/util/mark.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/esm/vchart-line.d.ts +4 -0
- package/esm/vchart-line.js +28 -0
- package/esm/vchart-line.js.map +1 -0
- package/package.json +12 -9
package/cjs/mark/component.d.ts
CHANGED
|
@@ -8,11 +8,20 @@ export declare class ComponentMark extends BaseMark<ICommonSpec> implements ICom
|
|
|
8
8
|
type: string;
|
|
9
9
|
private _componentType;
|
|
10
10
|
private _component;
|
|
11
|
+
private _exitingComponent?;
|
|
12
|
+
private _exitingProduct?;
|
|
11
13
|
private _mode;
|
|
12
14
|
constructor(name: string, option: IMarkOption);
|
|
13
15
|
protected _getDefaultStyle(): IMarkStyle<ICommonSpec>;
|
|
14
16
|
getComponent(): IGraphic<Partial<import("@visactor/vrender-core").IGraphicAttribute>>;
|
|
17
|
+
private _clearExitingComponent;
|
|
18
|
+
private _removeProductAfterExit;
|
|
19
|
+
private _registerExitingComponent;
|
|
20
|
+
private _unregisterExitingComponent;
|
|
21
|
+
private _releaseComponentWithExitAnimation;
|
|
15
22
|
clearComponent(): void;
|
|
23
|
+
releaseWithExitAnimation(): boolean;
|
|
24
|
+
forceReleaseExitAnimation(): void;
|
|
16
25
|
protected _getAttrsFromConfig(attrs?: IGroupGraphicAttribute): IGroupGraphicAttribute;
|
|
17
26
|
protected _attributesTransform: (attrs: any) => any;
|
|
18
27
|
setAttributeTransform(t: (attrs: any) => any): void;
|
package/cjs/mark/component.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerComponentMark = exports.ComponentMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), vutils_1 = require("@visactor/vutils"), event_1 = require("../constant/event");
|
|
7
|
+
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), vutils_1 = require("@visactor/vutils"), event_1 = require("../constant/event"), release_vrender_component_1 = require("../component/base/release-vrender-component");
|
|
8
8
|
|
|
9
9
|
class ComponentMark extends base_mark_1.BaseMark {
|
|
10
10
|
constructor(name, option) {
|
|
@@ -17,10 +17,54 @@ class ComponentMark extends base_mark_1.BaseMark {
|
|
|
17
17
|
getComponent() {
|
|
18
18
|
return this._component;
|
|
19
19
|
}
|
|
20
|
+
_clearExitingComponent(component) {
|
|
21
|
+
this._exitingComponent === component && (this._unregisterExitingComponent(component),
|
|
22
|
+
this._exitingComponent = void 0, this._exitingProduct = void 0);
|
|
23
|
+
}
|
|
24
|
+
_removeProductAfterExit(component, product) {
|
|
25
|
+
product.parent && product.parent.removeChild(product, !0), this._product === product && (this._product = null,
|
|
26
|
+
this._compiledProductId = null), this._clearExitingComponent(component);
|
|
27
|
+
}
|
|
28
|
+
_registerExitingComponent(component) {
|
|
29
|
+
var _a, _b, _c, _d, _e;
|
|
30
|
+
null === (_e = null === (_d = null === (_c = null === (_b = null === (_a = this.model) || void 0 === _a ? void 0 : _a.getOption) || void 0 === _b ? void 0 : _b.call(_a)) || void 0 === _c ? void 0 : _c.globalInstance) || void 0 === _d ? void 0 : _d._registerExitingVRenderComponent) || void 0 === _e || _e.call(_d, component);
|
|
31
|
+
}
|
|
32
|
+
_unregisterExitingComponent(component) {
|
|
33
|
+
var _a, _b, _c, _d, _e;
|
|
34
|
+
null === (_e = null === (_d = null === (_c = null === (_b = null === (_a = this.model) || void 0 === _a ? void 0 : _a.getOption) || void 0 === _b ? void 0 : _b.call(_a)) || void 0 === _c ? void 0 : _c.globalInstance) || void 0 === _d ? void 0 : _d._unregisterExitingVRenderComponent) || void 0 === _e || _e.call(_d, component);
|
|
35
|
+
}
|
|
36
|
+
_releaseComponentWithExitAnimation(component, releaseProduct) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const product = this._product;
|
|
39
|
+
if (!component || (null === (_b = null === (_a = this.model) || void 0 === _a ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) || void 0 === _b ? void 0 : _b.call(_a))) return !1;
|
|
40
|
+
const releasedWithExit = (0, release_vrender_component_1.releaseVRenderComponent)(component, {
|
|
41
|
+
enableExitAnimation: !0,
|
|
42
|
+
removeFromParent: !0,
|
|
43
|
+
onComplete: () => {
|
|
44
|
+
releaseProduct && product ? this._removeProductAfterExit(component, product) : this._clearExitingComponent(component);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
return releasedWithExit && (this._exitingComponent = component, this._exitingProduct = releaseProduct ? product : void 0,
|
|
48
|
+
this._registerExitingComponent(component)), releasedWithExit;
|
|
49
|
+
}
|
|
20
50
|
clearComponent() {
|
|
21
|
-
|
|
51
|
+
var _a, _b;
|
|
52
|
+
const component = this._component;
|
|
53
|
+
component && ((null === (_b = null === (_a = this.model) || void 0 === _a ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) || void 0 === _b ? void 0 : _b.call(_a)) ? (0,
|
|
54
|
+
release_vrender_component_1.releaseVRenderComponentSync)(component) : this._releaseComponentWithExitAnimation(component, !1),
|
|
22
55
|
this._component = null);
|
|
23
56
|
}
|
|
57
|
+
releaseWithExitAnimation() {
|
|
58
|
+
const component = this._component;
|
|
59
|
+
return !!this._releaseComponentWithExitAnimation(component, !0) && (this._component = null,
|
|
60
|
+
this._exitingComponent = component, !0);
|
|
61
|
+
}
|
|
62
|
+
forceReleaseExitAnimation() {
|
|
63
|
+
var _a;
|
|
64
|
+
this._exitingComponent && ((0, release_vrender_component_1.releaseVRenderComponentSync)(this._exitingComponent),
|
|
65
|
+
this._unregisterExitingComponent(this._exitingComponent), (null === (_a = this._exitingProduct) || void 0 === _a ? void 0 : _a.parent) && this._exitingProduct.parent.removeChild(this._exitingProduct, !0),
|
|
66
|
+
this._exitingComponent = void 0, this._exitingProduct = void 0);
|
|
67
|
+
}
|
|
24
68
|
_getAttrsFromConfig(attrs = {}) {
|
|
25
69
|
const configAttrs = super._getAttrsFromConfig(attrs);
|
|
26
70
|
return (0, vutils_1.isNil)(this._markConfig.interactive) || (configAttrs.pickable = this._markConfig.interactive),
|
|
@@ -49,7 +93,11 @@ class ComponentMark extends base_mark_1.BaseMark {
|
|
|
49
93
|
}), this.needClear = !0;
|
|
50
94
|
}
|
|
51
95
|
release() {
|
|
52
|
-
|
|
96
|
+
var _a, _b;
|
|
97
|
+
return (null === (_b = null === (_a = this.model) || void 0 === _a ? void 0 : _a._shouldReleaseVRenderComponentsImmediately) || void 0 === _b ? void 0 : _b.call(_a)) ? (this.forceReleaseExitAnimation(),
|
|
98
|
+
super.release(), void this.removeProduct(!0)) : this._exitingComponent ? (this._releaseComponentWithExitAnimation(this._exitingComponent, !0) || this.removeProduct(!0),
|
|
99
|
+
void super.release()) : void (this.releaseWithExitAnimation() ? super.release() : (super.release(),
|
|
100
|
+
this.removeProduct(!0)));
|
|
53
101
|
}
|
|
54
102
|
}
|
|
55
103
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ICommonSpec } from '../typings';\nimport { BaseMark } from './base/base-mark';\nimport type { IComponentMark, IMarkOption, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { IGraphic, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\nimport { HOOK_EVENT } from '../constant/event';\n\nexport class ComponentMark extends BaseMark<ICommonSpec> implements IComponentMark {\n static readonly type = MarkTypeEnum.component;\n type: string = 'component';\n\n private _componentType: string;\n private _component: IGraphic;\n private _mode: '2d' | '3d';\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n // 这里需要将 type 指定为具体的组件名称,即调用 vgrammar 的 registerComponent API 注册的组件名称\n this._componentType = option.componentType;\n\n this._mode = option.mode;\n }\n\n protected _getDefaultStyle(): IMarkStyle<ICommonSpec> {\n return {};\n }\n\n getComponent() {\n return this._component;\n }\n clearComponent() {\n if (this._component) {\n if (this._component.parent) {\n this._component.parent.removeChild(this._component);\n }\n\n this._component = null;\n }\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n protected _attributesTransform: (attrs: any) => any;\n setAttributeTransform(t: (attrs: any) => any) {\n this._attributesTransform = t;\n }\n\n renderInner() {\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n let attrs = this._getAttrsFromConfig(style as unknown as IGroupGraphicAttribute);\n\n if (this._attributesTransform) {\n attrs = this._attributesTransform(attrs);\n }\n\n if (this._animationConfig) {\n attrs = {\n ...attrs,\n animation: true,\n animationAppear: this._animationConfig.appear\n ? Array.isArray(this._animationConfig.appear)\n ? this._animationConfig.appear[0]\n : this._animationConfig.appear\n : undefined,\n animationEnter: this._animationConfig.enter\n ? Array.isArray(this._animationConfig.enter)\n ? this._animationConfig.enter[0]\n : this._animationConfig.enter\n : undefined,\n animationUpdate: this._animationConfig.update\n ? Array.isArray(this._animationConfig.update)\n ? this._animationConfig.update[0]\n : this._animationConfig.update\n : undefined,\n animationExit: this._animationConfig.exit\n ? Array.isArray(this._animationConfig.exit)\n ? this._animationConfig.exit[0]\n : this._animationConfig.exit\n : undefined\n } as any;\n }\n\n if (!this._component) {\n this._component = Factory.createGraphicComponent(this._componentType, attrs, {\n mode: this._mode,\n skipDefault: this._markConfig.skipTheme\n });\n this._component && this._product.appendChild(this._component);\n } else {\n this._component.setAttributes(attrs as any);\n }\n\n if (this._component) {\n this._component.context = this._getCommonContext();\n }\n\n if (this._markConfig.support3d && this._product) {\n this._product.setMode('3d');\n }\n\n this.model.event.emit(HOOK_EVENT.AFTER_ELEMENT_ENCODE, {\n mark: this,\n model: this.model\n });\n this.needClear = true;\n }\n\n release() {\n super.release();\n this.removeProduct();\n }\n}\n\nexport const registerComponentMark = () => {\n Factory.registerMark(ComponentMark.type, ComponentMark);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/component.ts"],"names":[],"mappings":"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","file":"component.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ICommonSpec } from '../typings';\nimport { BaseMark } from './base/base-mark';\nimport type { IComponentMark, IMarkOption, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { IGraphic, IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { isNil } from '@visactor/vutils';\nimport { HOOK_EVENT } from '../constant/event';\nimport { releaseVRenderComponent, releaseVRenderComponentSync } from '../component/base/release-vrender-component';\n\nexport class ComponentMark extends BaseMark<ICommonSpec> implements IComponentMark {\n static readonly type = MarkTypeEnum.component;\n type: string = 'component';\n\n private _componentType: string;\n private _component: IGraphic;\n private _exitingComponent?: IGraphic;\n private _exitingProduct?: IGroup;\n private _mode: '2d' | '3d';\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n // 这里需要将 type 指定为具体的组件名称,即调用 vgrammar 的 registerComponent API 注册的组件名称\n this._componentType = option.componentType;\n\n this._mode = option.mode;\n }\n\n protected _getDefaultStyle(): IMarkStyle<ICommonSpec> {\n return {};\n }\n\n getComponent() {\n return this._component;\n }\n\n private _clearExitingComponent(component: IGraphic) {\n if (this._exitingComponent === component) {\n this._unregisterExitingComponent(component);\n this._exitingComponent = undefined;\n this._exitingProduct = undefined;\n }\n }\n\n private _removeProductAfterExit(component: IGraphic, product: IGroup) {\n if (product.parent) {\n product.parent.removeChild(product, true);\n }\n if (this._product === product) {\n this._product = null;\n this._compiledProductId = null;\n }\n this._clearExitingComponent(component);\n }\n\n private _registerExitingComponent(component: IGraphic) {\n (this.model as any)?.getOption?.()?.globalInstance?._registerExitingVRenderComponent?.(component);\n }\n\n private _unregisterExitingComponent(component: IGraphic) {\n (this.model as any)?.getOption?.()?.globalInstance?._unregisterExitingVRenderComponent?.(component);\n }\n\n private _releaseComponentWithExitAnimation(component: IGraphic, releaseProduct: boolean) {\n const product = this._product;\n\n if (!component || (this.model as any)?._shouldReleaseVRenderComponentsImmediately?.()) {\n return false;\n }\n\n const releasedWithExit = releaseVRenderComponent(component, {\n enableExitAnimation: true,\n removeFromParent: true,\n onComplete: () => {\n if (releaseProduct && product) {\n this._removeProductAfterExit(component, product);\n } else {\n this._clearExitingComponent(component);\n }\n }\n });\n\n if (releasedWithExit) {\n this._exitingComponent = component;\n this._exitingProduct = releaseProduct ? product : undefined;\n this._registerExitingComponent(component);\n }\n\n return releasedWithExit;\n }\n\n clearComponent() {\n const component = this._component;\n\n if (!component) {\n return;\n }\n\n if ((this.model as any)?._shouldReleaseVRenderComponentsImmediately?.()) {\n releaseVRenderComponentSync(component);\n } else {\n this._releaseComponentWithExitAnimation(component, false);\n }\n\n this._component = null;\n }\n\n releaseWithExitAnimation() {\n const component = this._component;\n\n if (!this._releaseComponentWithExitAnimation(component, true)) {\n return false;\n }\n\n this._component = null;\n this._exitingComponent = component;\n return true;\n }\n\n forceReleaseExitAnimation() {\n if (!this._exitingComponent) {\n return;\n }\n\n releaseVRenderComponentSync(this._exitingComponent);\n this._unregisterExitingComponent(this._exitingComponent);\n if (this._exitingProduct?.parent) {\n this._exitingProduct.parent.removeChild(this._exitingProduct, true);\n }\n this._exitingComponent = undefined;\n this._exitingProduct = undefined;\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n protected _attributesTransform: (attrs: any) => any;\n setAttributeTransform(t: (attrs: any) => any) {\n this._attributesTransform = t;\n }\n\n renderInner() {\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n let attrs = this._getAttrsFromConfig(style as unknown as IGroupGraphicAttribute);\n\n if (this._attributesTransform) {\n attrs = this._attributesTransform(attrs);\n }\n\n if (this._animationConfig) {\n attrs = {\n ...attrs,\n animation: true,\n animationAppear: this._animationConfig.appear\n ? Array.isArray(this._animationConfig.appear)\n ? this._animationConfig.appear[0]\n : this._animationConfig.appear\n : undefined,\n animationEnter: this._animationConfig.enter\n ? Array.isArray(this._animationConfig.enter)\n ? this._animationConfig.enter[0]\n : this._animationConfig.enter\n : undefined,\n animationUpdate: this._animationConfig.update\n ? Array.isArray(this._animationConfig.update)\n ? this._animationConfig.update[0]\n : this._animationConfig.update\n : undefined,\n animationExit: this._animationConfig.exit\n ? Array.isArray(this._animationConfig.exit)\n ? this._animationConfig.exit[0]\n : this._animationConfig.exit\n : undefined\n } as any;\n }\n\n if (!this._component) {\n this._component = Factory.createGraphicComponent(this._componentType, attrs, {\n mode: this._mode,\n skipDefault: this._markConfig.skipTheme\n });\n this._component && this._product.appendChild(this._component);\n } else {\n this._component.setAttributes(attrs as any);\n }\n\n if (this._component) {\n this._component.context = this._getCommonContext();\n }\n\n if (this._markConfig.support3d && this._product) {\n this._product.setMode('3d');\n }\n\n this.model.event.emit(HOOK_EVENT.AFTER_ELEMENT_ENCODE, {\n mark: this,\n model: this.model\n });\n this.needClear = true;\n }\n\n release() {\n if ((this.model as any)?._shouldReleaseVRenderComponentsImmediately?.()) {\n this.forceReleaseExitAnimation();\n super.release();\n this.removeProduct(true);\n return;\n }\n\n if (this._exitingComponent) {\n if (!this._releaseComponentWithExitAnimation(this._exitingComponent, true)) {\n this.removeProduct(true);\n }\n super.release();\n return;\n }\n\n if (this.releaseWithExitAnimation()) {\n super.release();\n return;\n }\n\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerComponentMark = () => {\n Factory.registerMark(ComponentMark.type, ComponentMark);\n};\n"]}
|
package/cjs/mark/glyph.js
CHANGED
|
@@ -9,7 +9,7 @@ const base_mark_1 = require("./base/base-mark"), vrender_core_1 = require("@visa
|
|
|
9
9
|
class GlyphMark extends base_mark_1.BaseMark {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this._setStateOfGraphic = g => {
|
|
12
|
-
g.clearStates(), g.
|
|
12
|
+
g.clearStates(), g.context.diffState !== enum_1.DiffState.enter && g.context.diffState !== enum_1.DiffState.update || (g.glyphStateProxy = (stateName, nexStates) => {
|
|
13
13
|
var _a;
|
|
14
14
|
const glyphAttrs = {
|
|
15
15
|
attributes: Object.assign(Object.assign({}, this._runEncoderOfGraphic(null === (_a = this._encoderOfState) || void 0 === _a ? void 0 : _a[stateName], g)), g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)
|
package/cjs/mark/glyph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAE5C,yDAAqD;AAGrD,6CAA0C;AAE1C,yDAA2E;AAE3E,2CAA6C;AAC7C,6CAAyC;AACzC,MAAsB,SACpB,SAAQ,oBAAW;IADrB;;QAoEY,uBAAkB,GAAG,CAAC,CAAe,EAAE,EAAE;YACjD,CAAC,CAAC,WAAW,EAAE,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/mark/glyph.ts"],"names":[],"mappings":";;;AACA,gDAA4C;AAE5C,yDAAqD;AAGrD,6CAA0C;AAE1C,yDAA2E;AAE3E,2CAA6C;AAC7C,6CAAyC;AACzC,MAAsB,SACpB,SAAQ,oBAAW;IADrB;;QAoEY,uBAAkB,GAAG,CAAC,CAAe,EAAE,EAAE;YACjD,CAAC,CAAC,WAAW,EAAE,CAAC;YAEhB,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,gBAAS,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,CAAC,SAAS,KAAK,gBAAS,CAAC,MAAM,EAAE;gBACvF,CAAC,CAAC,eAAe,GAAG,CAAC,SAAiB,EAAE,SAAmB,EAAE,EAAE;;oBAC7D,MAAM,UAAU,GAAG;wBACjB,UAAU,kCACL,IAAI,CAAC,oBAAoB,CAAC,MAAA,IAAI,CAAC,eAAe,0CAAG,SAAS,CAAC,EAAE,CAAC,CAAC,GAC/D,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACjE;qBACF,CAAC;oBAGF,IAAI,CAAC,CAAC,CAAC,WAAW,EAAE;wBAClB,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC;qBAC7C;yBAAM,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;wBACpC,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,GAAG,UAAU,CAAC;qBACvC;oBAED,OAAO,UAAU,CAAC;gBACpB,CAAC,CAAC;gBAEF,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;aAC/B;QACH,CAAC,CAAC;IAqCJ,CAAC;IAnHC,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAID,cAAc,CAAC,GAAQ;QACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;IAC1B,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAID,mBAAmB;QACjB,OAAO,IAAI,CAAC,iBAAiB,CAAC;IAChC,CAAC;IAMO,uBAAuB,CAAC,KAAa;QAC3C,OAAO,CAAC,aAAkB,EAAE,EAAE;;YAC5B,MAAM,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACpD,IAAI,WAAW,GACb,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC7G,CAAC,CAAC,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAA,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,0CAAE,IAAI,0CAAG,CAAC,CAAC,EAAE,KAAK,CAAC;gBACxE,CAAC,CAAC,IAAI,CAAC;YAEX,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;oBAClD,IAAI,OAAO,IAAI,aAAa,EAAE;wBAC5B,MAAM,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC;wBAE9E,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAA,cAAK,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC;qBACnF;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,IAAI,WAAW,EAAE;gBACf,KAAK,CAAC,aAAa,EAAE,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;oBACzC,IAAI,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;wBAC9C,UAAU,CAAC,aAAa,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;qBACxD;gBACH,CAAC,CAAC,CAAC;aACJ;YAED,OAAO,aAAa,CAAC;QACvB,CAAC,CAAC;IACJ,CAAC;IA4BS,cAAc,CAAC,QAAgC,EAAE;QACzD,MAAM,KAAK,GAAG,IAAA,0BAAW,EAAC,KAAK,CAAC,CAAC;QACjC,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAEhC,IAAI,QAAQ,EAAE;YACZ,MAAM,WAAW,GAAe,EAAE,CAAC;YAEnC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;gBAEnC,MAAM,UAAU,GAAG,iBAAO,CAAC,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,oBAChE,QAAQ,CAAC,IAAI,CAAC,CAAC,iBAAiB,EACnC,CAAC;gBAEH,IAAI,UAAU,EAAE;oBACd,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;oBAE7B,UAAU,CAAC,IAAI,GAAG,IAAI,CAAC;oBACvB,UAAU,CAAC,uBAAuB,GAAG,CAAC,KAAU,EAAE,EAAE;wBAClD,OAAO,KAAK,CAAC;oBACf,CAAC,CAAC;iBACH;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;SAClC;QAEA,KAAa,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;QAE9C,OAAO,KAAK,CAAC;IACf,CAAC;IAES,sBAAsB,CAAC,QAAwB;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;CACF;AAjID,8BAiIC;AAEM,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,iBAAO,CAAC,wBAAwB,CAAC,OAAO,EAAE,0BAAW,CAAC,CAAC;IACvD,IAAA,iCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAa,GAAE,CAAC;AAClB,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B","file":"glyph.js","sourcesContent":["import type { ICommonSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IGlyph, IGlyphGraphicAttribute, IGraphic } from '@visactor/vrender-core';\nimport { createGlyph } from '@visactor/vrender-core';\nimport type { IGlyphMark } from './interface/mark';\nimport type { MarkType } from './interface/type';\nimport { Factory } from '../core/factory';\nimport type { Datum } from '../typings/common';\nimport { registerGlyph, registerShadowRoot } from '@visactor/vrender-kits';\nimport type { IMarkGraphic } from './interface/common';\nimport { DiffState } from './interface/enum';\nimport { merge } from '@visactor/vutils';\nexport abstract class GlyphMark<T extends ICommonSpec = ICommonSpec, Cfg = any>\n extends BaseMark<T>\n implements IGlyphMark<T, Cfg>\n{\n protected _defaultGlyphAttrs: T;\n\n protected _subMarks: Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getSubMarks() {\n return this._subMarks;\n }\n\n protected _glyphConfig: Cfg;\n\n setGlyphConfig(cfg: Cfg) {\n this._glyphConfig = cfg;\n }\n\n getGlyphConfig() {\n return this._glyphConfig;\n }\n\n protected _positionChannels: string[];\n\n getPositionChannels() {\n return this._positionChannels;\n }\n\n protected _positionEncoder: (glyphAttrs: any, datum: Datum, g: IGlyph) => Record<string, any>;\n\n protected _channelEncoder: Record<string, (channelValue: any) => Record<string, any>>;\n\n private _onGlyphAttributeUpdate(glyph: IGlyph) {\n return (newAttributes: any) => {\n const positionChannels = this.getPositionChannels();\n let subAttrsMap =\n positionChannels && this._positionEncoder && Object.keys(newAttributes).some(k => positionChannels.includes(k))\n ? this._positionEncoder(newAttributes, glyph?.context?.data?.[0], glyph)\n : null;\n\n if (this._channelEncoder) {\n Object.keys(this._channelEncoder).forEach(channel => {\n if (channel in newAttributes) {\n const channelAttrsMap = this._channelEncoder[channel](newAttributes[channel]);\n\n subAttrsMap = subAttrsMap ? merge(subAttrsMap, channelAttrsMap) : channelAttrsMap;\n }\n });\n }\n\n if (subAttrsMap) {\n glyph.getSubGraphic().forEach(subGraphic => {\n if (subGraphic && subAttrsMap[subGraphic.name]) {\n subGraphic.setAttributes(subAttrsMap[subGraphic.name]);\n }\n });\n }\n\n return newAttributes;\n };\n }\n\n protected _setStateOfGraphic = (g: IMarkGraphic) => {\n g.clearStates();\n\n if (g.context.diffState === DiffState.enter || g.context.diffState === DiffState.update) {\n g.glyphStateProxy = (stateName: string, nexStates: string[]) => {\n const glyphAttrs = {\n attributes: {\n ...this._runEncoderOfGraphic(this._encoderOfState?.[stateName], g),\n ...(g.runtimeStateCache ? g.runtimeStateCache[stateName] : null)\n }\n };\n\n // 更新缓存\n if (!g.glyphStates) {\n g.glyphStates = { [stateName]: glyphAttrs };\n } else if (!g.glyphStates[stateName]) {\n g.glyphStates[stateName] = glyphAttrs;\n }\n\n return glyphAttrs;\n };\n\n g.useStates(g.context.states);\n }\n };\n\n protected _createGraphic(attrs: IGlyphGraphicAttribute = {}): IGraphic {\n const glyph = createGlyph(attrs);\n glyph.onBeforeAttributeUpdate = this._onGlyphAttributeUpdate(glyph);\n const subMarks = this._subMarks;\n\n if (subMarks) {\n const subGraphics: IGraphic[] = [];\n\n Object.keys(subMarks).forEach(name => {\n // glyph 中的子元素会继承glyph 的 x,y,所以子元素手动设置一下,x: 0, y: 0\n const subGraphic = Factory.createGraphicComponent(subMarks[name].type, {\n ...subMarks[name].defaultAttributes\n });\n\n if (subGraphic) {\n subGraphics.push(subGraphic);\n\n subGraphic.name = name;\n subGraphic.onBeforeAttributeUpdate = (attrs: any) => {\n return attrs;\n };\n }\n });\n\n glyph.setSubGraphic(subGraphics);\n }\n\n (glyph as any).onBeforeAttributeUpdate(attrs);\n\n return glyph;\n }\n\n protected _runProgressiveEncoder(graphics: IMarkGraphic[]) {\n this._runEncoder(graphics);\n }\n}\n\nexport const registerGlyphMark = () => {\n Factory.registerGraphicComponent('glyph', createGlyph);\n registerShadowRoot();\n registerGlyph();\n};\n"]}
|
package/cjs/mark/group.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerGroupMark = exports.GroupMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), debug_1 = require("../util/debug"), base_mark_1 = require("./base/base-mark"), interface_1 = require("./interface"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), debug_1 = require("../util/debug"), base_mark_1 = require("./base/base-mark"), interface_1 = require("./interface"), register_group_1 = require("@visactor/vrender-kits/register/register-group"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), vutils_1 = require("@visactor/vutils"), util_1 = require("../compile/util"), mark_1 = require("../util/mark");
|
|
8
8
|
|
|
9
9
|
class GroupMark extends base_mark_1.BaseMark {
|
|
10
10
|
constructor() {
|
|
@@ -63,10 +63,9 @@ class GroupMark extends base_mark_1.BaseMark {
|
|
|
63
63
|
diffState: this._diffState
|
|
64
64
|
}), this._setAnimationState(this._product);
|
|
65
65
|
const newAttrs = this._getAttrsFromConfig(style);
|
|
66
|
-
if (this._product.context.diffState === interface_1.DiffState.update) {
|
|
66
|
+
if (this._product.context.finalAttrs = newAttrs, this._product.context.diffState === interface_1.DiffState.update) {
|
|
67
67
|
const hasAnimation = this.hasAnimation(), diffAttrs = (0, mark_1.getDiffAttributesOfGraphic)(this._product, newAttrs);
|
|
68
|
-
this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs))
|
|
69
|
-
hasAnimation && this._product.setFinalAttributes(newAttrs);
|
|
68
|
+
this._product.context.diffAttrs = diffAttrs, this.hasAnimationByState(this._product.context.animationState) || (hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs));
|
|
70
69
|
} else this._product.setAttributes(newAttrs);
|
|
71
70
|
this.needClear = !0;
|
|
72
71
|
}
|
|
@@ -80,14 +79,15 @@ class GroupMark extends base_mark_1.BaseMark {
|
|
|
80
79
|
}));
|
|
81
80
|
}
|
|
82
81
|
release() {
|
|
83
|
-
super.release(), this.removeProduct();
|
|
82
|
+
super.release(), this.removeProduct(!0);
|
|
84
83
|
}
|
|
85
84
|
}
|
|
86
85
|
|
|
87
86
|
exports.GroupMark = GroupMark, GroupMark.type = "group";
|
|
88
87
|
|
|
89
88
|
const registerGroupMark = () => {
|
|
90
|
-
(0,
|
|
89
|
+
(0, register_shadowRoot_1.registerShadowRoot)(), (0, register_group_1.registerGroup)(),
|
|
90
|
+
factory_1.Factory.registerMark(GroupMark.type, GroupMark);
|
|
91
91
|
};
|
|
92
92
|
|
|
93
93
|
exports.registerGroupMark = registerGroupMark;
|
package/cjs/mark/group.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAG5C,yCAA0C;AAE1C,gDAA4C;AAC5C,2CAOqB;AAKrB,
|
|
1
|
+
{"version":3,"sources":["../src/mark/group.ts"],"names":[],"mappings":"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","file":"group.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { Maybe } from '../typings';\n// eslint-disable-next-line no-duplicate-imports\nimport { log, warn } from '../util/debug';\nimport type { IGroupMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport {\n DiffState,\n type AnimationStateValues,\n type IGroupMark,\n type IMark,\n type IMarkGraphic,\n type MarkType\n} from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { type IMarkCompileOption } from '../compile/mark';\nimport type { IGroup, IGroupGraphicAttribute } from '@visactor/vrender-core';\nimport { registerGroup } from '@visactor/vrender-kits/register/register-group';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { isNil } from '@visactor/vutils';\nimport { traverseGroupMark } from '../compile/util';\nimport { getDiffAttributesOfGraphic } from '../util/mark';\n\nexport class GroupMark extends BaseMark<IGroupMarkSpec> implements IGroupMark {\n static readonly type = MarkTypeEnum.group;\n readonly type = GroupMark.type;\n protected _marks: IMark[] = [];\n getMarks(): IMark[] {\n return this._marks;\n }\n\n protected _diffState = DiffState.enter;\n protected declare _product: Maybe<IGroup>;\n declare getProduct: () => Maybe<IGroup>;\n\n protected isMarkExist(mark: IMark): boolean {\n return this._marks.find(m => m.id === mark.id) !== undefined;\n }\n\n addMark(mark: IMark): boolean {\n if (this.isMarkExist(mark)) {\n warn('Mark already exists, add mark failed.');\n return false;\n }\n\n this._marks.push(mark);\n return true;\n }\n\n removeMark(mark: IMark): boolean {\n const index = this._marks.findIndex(m => m.id === mark.id || m.name === mark.name);\n if (index === -1) {\n warn('Mark does not exists, removeMark failed.');\n return false;\n }\n this._marks.splice(index, 1);\n return true;\n }\n\n getMarkInType(type: MarkType) {\n return this._marks.filter(m => m.type === type);\n }\n\n getMarkInId(id: number) {\n return this._marks.find(m => m.id === id);\n }\n\n getMarkInUserId(id: string | number) {\n let result: IMark | undefined;\n traverseGroupMark(\n this,\n m => {\n result = m;\n },\n m => m.getUserId() === id,\n null,\n true\n );\n\n return result;\n }\n\n getMarkInName(name: string) {\n return this._marks.filter(m => m.name === name);\n }\n\n protected _compileProduct(option?: IMarkCompileOption): void {\n // 编译自身\n super._compileProduct(option);\n\n // 设置zIndex\n // this._product.configure({\n // zIndex: this._markConfig.zIndex\n // });\n\n // 编译子元素\n this.getMarks().forEach(mark => {\n mark.compile({ group: this._product });\n });\n }\n\n protected _getAttrsFromConfig(attrs: IGroupGraphicAttribute = {}) {\n const configAttrs = super._getAttrsFromConfig(attrs);\n\n if (!isNil(this._markConfig.interactive)) {\n configAttrs.pickable = this._markConfig.interactive;\n }\n return attrs;\n }\n\n getGraphics(): IMarkGraphic[] {\n return [this._product as unknown as IMarkGraphic];\n }\n\n renderInner() {\n if (!this._product) {\n return;\n }\n\n const style = this._simpleStyle ?? this.getAttributesOfState({});\n\n this._product.context = {\n ...this._product.context,\n ...this._getCommonContext(),\n diffState: this._diffState\n };\n this._setAnimationState(this._product as unknown as IMarkGraphic);\n const newAttrs = this._getAttrsFromConfig(style);\n this._product.context.finalAttrs = newAttrs;\n\n // TODO: 需要优化,现在group mark 走了一些特殊逻辑\n if (this._product.context.diffState === DiffState.update) {\n const hasAnimation = this.hasAnimation();\n const diffAttrs = getDiffAttributesOfGraphic(this._product as unknown as IMarkGraphic, newAttrs);\n this._product.context.diffAttrs = diffAttrs;\n\n if (!this.hasAnimationByState(this._product.context.animationState)) {\n hasAnimation ? this._product.setAttributesAndPreventAnimate(diffAttrs) : this._product.setAttributes(diffAttrs);\n }\n } else {\n this._product.setAttributes(newAttrs);\n }\n\n this.needClear = true;\n }\n\n clearExitGraphics() {\n // group 暂时不需要clear元素,完成首次渲染后 将状态设置为update\n this._diffState = DiffState.update;\n }\n\n render(): void {\n if (this._isCommited) {\n log(`render mark: ${this.getProductId()}, type is ${this.type}`);\n this.renderInner();\n this.uncommit();\n }\n\n this.getMarks().forEach(mark => {\n mark.render();\n });\n }\n\n release() {\n super.release();\n this.removeProduct(true);\n }\n}\n\nexport const registerGroupMark = () => {\n registerShadowRoot();\n registerGroup();\n Factory.registerMark(GroupMark.type, GroupMark);\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IGlobalScale } from '../../scale/interface';\nimport type { ICommonSpec, VisualType, ValueType, FunctionType } from '../../typings/visual';\nimport type { IModel } from '../../model/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { MarkType, MarkTypeEnum } from './type';\nimport type {\n ICompilableMark,\n ICompilableMarkOption,\n IMarkConfig,\n IModelMarkAttributeContext,\n StateValueType\n} from '../../compile/mark/interface';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { IGroupMark } from './mark';\nimport type { IAnimationConfig } from '../../animation/interface';\nimport type { ICompiler } from '../../compile/interface';\n\nexport interface VisualScaleType {\n scale: IBaseScale;\n field: StringOrNumber;\n changeDomain?: 'none' | 'replace' | 'expand'; //default 'none'\n}\n\nexport type MarkInputStyle<T> = StyleConvert<T> | VisualType<T>;\n\n/** 用户将属性类型转化为 mark-style 中某个属性的 style */\nexport type StyleConvert<T> = ValueType<T> | FunctionType<T> | VisualScaleType;\n\n/** mark-style 中某个属性的样式信息,包含层级等信息 */\nexport interface IAttrConfig<A, R extends ICommonSpec> {\n level: number;\n style: StyleConvert<A>;\n referer?: IMarkRaw<R>;\n postProcess?: (result: A, ...args: Parameters<FunctionType<A>>) => A;\n}\n/** mark-style 中某状态下的一组样式信息 */\nexport type IAttrs<T extends ICommonSpec> = {\n [K in keyof T]: IAttrConfig<T[K], T>;\n};\n\nexport type IMarkProgressiveConfig = {\n /** 是否开启大数据渲染模式,开启后会降低渲染的精度 */\n large?: boolean;\n /** 开启大数据渲染优化的阀值,对应的是data的长度;推荐 largeThreshold < progressiveThreshold */\n largeThreshold?: number;\n /** 分片长度 */\n progressiveStep?: number;\n /** 开启分片渲染的阀值,对应的是单系列data的长度 */\n progressiveThreshold?: number;\n};\n\n/** mark-state-style */\nexport type IMarkStateStyle<T extends ICommonSpec> = Record<StateValueType, Partial<IAttrs<T>>>;\n\n/** mark-style 一组style */\nexport type IMarkStyle<T extends ICommonSpec> = {\n [key in keyof T]: MarkInputStyle<T[key]>;\n};\n\nexport type DiffStateValues = 'update' | 'enter' | 'exit';\n\nexport type AnimationStateValues = 'appear' | 'enter' | 'update' | 'exit' | 'disappear' | 'none' | 'state';\n\nexport interface IGraphicContext {\n /**\n * 编译器\n */\n compiler: ICompiler;\n /**\n * mark的类型\n */\n markType: MarkTypeEnum;\n /**\n * 图形所属mark对应的id,自增id\n */\n markId: number;\n /**\n * 图形所属model对应的id,自增id\n */\n modelId: number;\n /**\n * 图形所属mark对应的用户设置id\n */\n markUserId?: number | string;\n /**\n * 图形所属model对应的用户设置id\n */\n modelUserId?: number | string;\n /**\n * 数据对比状态\n */\n diffState?: DiffStateValues;\n /**\n * 是否正在被复用的图元\n */\n reusing?: boolean;\n /**\n * 复用图元时,保存的上一次的旧属性(用于平滑的过渡动画)\n */\n lastAttrs?: Record<string, any>;\n /**\n * 用于判定这个图元是第几个,在OneByOne动画中控制顺序\n */\n indexKey?: string;\n /**\n * 差异的属性\n */\n diffAttrs?: Record<string, any>;\n /**\n *
|
|
1
|
+
{"version":3,"sources":["../src/mark/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { IGlobalScale } from '../../scale/interface';\nimport type { ICommonSpec, VisualType, ValueType, FunctionType } from '../../typings/visual';\nimport type { IModel } from '../../model/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { MarkType, MarkTypeEnum } from './type';\nimport type {\n ICompilableMark,\n ICompilableMarkOption,\n IMarkConfig,\n IModelMarkAttributeContext,\n StateValueType\n} from '../../compile/mark/interface';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport type { IGraphic } from '@visactor/vrender-core';\nimport type { IGroupMark } from './mark';\nimport type { IAnimationConfig } from '../../animation/interface';\nimport type { ICompiler } from '../../compile/interface';\n\nexport interface VisualScaleType {\n scale: IBaseScale;\n field: StringOrNumber;\n changeDomain?: 'none' | 'replace' | 'expand'; //default 'none'\n}\n\nexport type MarkInputStyle<T> = StyleConvert<T> | VisualType<T>;\n\n/** 用户将属性类型转化为 mark-style 中某个属性的 style */\nexport type StyleConvert<T> = ValueType<T> | FunctionType<T> | VisualScaleType;\n\n/** mark-style 中某个属性的样式信息,包含层级等信息 */\nexport interface IAttrConfig<A, R extends ICommonSpec> {\n level: number;\n style: StyleConvert<A>;\n referer?: IMarkRaw<R>;\n postProcess?: (result: A, ...args: Parameters<FunctionType<A>>) => A;\n}\n/** mark-style 中某状态下的一组样式信息 */\nexport type IAttrs<T extends ICommonSpec> = {\n [K in keyof T]: IAttrConfig<T[K], T>;\n};\n\nexport type IMarkProgressiveConfig = {\n /** 是否开启大数据渲染模式,开启后会降低渲染的精度 */\n large?: boolean;\n /** 开启大数据渲染优化的阀值,对应的是data的长度;推荐 largeThreshold < progressiveThreshold */\n largeThreshold?: number;\n /** 分片长度 */\n progressiveStep?: number;\n /** 开启分片渲染的阀值,对应的是单系列data的长度 */\n progressiveThreshold?: number;\n};\n\n/** mark-state-style */\nexport type IMarkStateStyle<T extends ICommonSpec> = Record<StateValueType, Partial<IAttrs<T>>>;\n\n/** mark-style 一组style */\nexport type IMarkStyle<T extends ICommonSpec> = {\n [key in keyof T]: MarkInputStyle<T[key]>;\n};\n\nexport type DiffStateValues = 'update' | 'enter' | 'exit';\n\nexport type AnimationStateValues = 'appear' | 'enter' | 'update' | 'exit' | 'disappear' | 'none' | 'state';\n\nexport interface IGraphicContext {\n /**\n * 编译器\n */\n compiler: ICompiler;\n /**\n * mark的类型\n */\n markType: MarkTypeEnum;\n /**\n * 图形所属mark对应的id,自增id\n */\n markId: number;\n /**\n * 图形所属model对应的id,自增id\n */\n modelId: number;\n /**\n * 图形所属mark对应的用户设置id\n */\n markUserId?: number | string;\n /**\n * 图形所属model对应的用户设置id\n */\n modelUserId?: number | string;\n /**\n * 数据对比状态\n */\n diffState?: DiffStateValues;\n /**\n * 是否正在被复用的图元\n */\n reusing?: boolean;\n /**\n * 复用图元时,保存的上一次的旧属性(用于平滑的过渡动画)\n */\n lastAttrs?: Record<string, any>;\n /**\n * 用于判定这个图元是第几个,在OneByOne动画中控制顺序\n */\n indexKey?: string;\n /**\n * 差异的属性\n */\n diffAttrs?: Record<string, any>;\n /**\n * VChart encode/transform 后、应用到 VRender graphic 前的下一轮属性快照。\n * 用于 VChart 的 afterEncode transform、diffAttrs 与动画参数,不等同于 VRender finalAttribute。\n */\n finalAttrs?: Record<string, any>;\n /**\n * 用于保存mark对应series的fieldX\n */\n fieldX?: string[];\n /**\n * 用于保存mark对应series的fieldX\n */\n originalFieldX?: string[];\n /**\n * 用于保存mark对应series的fieldY\n */\n fieldY?: string[];\n /**\n * 用于保存mark对应series的fieldY\n */\n originalFieldY?: string[];\n /**\n * 动画状态管理: 'appear' / 'enter' / 'update' / 'exit' / 'disappear'\n */\n animationState?: AnimationStateValues;\n /**\n * 数据\n */\n data?: Datum[];\n /**\n * 用于区分图形的唯一key,\n * 对于line/mark而言,和`groupKey` 是一致的\n * 对于其他图元,由 `groupKey` 和 `key` 拼装得到\n */\n uniqueKey?: string;\n /**\n * 唯一key\n */\n key?: string;\n /**\n * 分组key\n */\n groupKey?: string;\n /**\n * 状态\n */\n states?: string[];\n /**\n * 图元总数量\n */\n graphicCount?: number;\n /**\n * 图元索引顺序\n */\n graphicIndex?: number;\n /**\n * 状态动画配置\n */\n stateAnimateConfig?: IAnimationConfig | IAnimationConfig[];\n}\n\nexport interface IMarkGraphic extends IGraphic {\n /**\n * 缓存运行时的状态编码数据\n */\n runtimeStateCache?: Record<string, any>;\n\n /**\n * 上下文数据\n */\n context?: IGraphicContext;\n\n /**\n * 是否正在退场\n */\n isExiting?: boolean;\n}\n\n/********** mark ***************/\nexport interface IMarkRaw<T extends ICommonSpec> extends ICompilableMark {\n readonly stateStyle: IMarkStateStyle<T>;\n\n getAttributesOfState: (datum: Datum, state?: StateValueType) => Partial<T>;\n getAttribute: <U extends keyof T>(key: U, datum: any, state?: StateValueType) => unknown;\n setAttribute: <U extends keyof T>(attr: U, style: StyleConvert<T[U]>, state?: StateValueType, level?: number) => void;\n\n // 需要支持优先级并且可以使用优先级覆盖\n /** @deprecated VChart 层尽量使用 IModel.setMarkStyle() */\n setStyle: (style: Partial<IMarkStyle<T>>, state?: StateValueType, level?: number) => void;\n setSimpleStyle: (s: T) => void;\n getSimpleStyle: () => T;\n\n setReferer: (mark: IMarkRaw<T>, styleKey?: string, state?: StateValueType) => void;\n\n /** @deprecated VChart 层尽量使用 IModel.initMarkStyleWithSpec() */\n initStyleWithSpec: (spec: any) => void;\n\n created: () => void;\n\n setPostProcess: <U extends keyof T, A>(\n key: U,\n postProcessFunc: IAttrConfig<A, T>['postProcess'],\n state?: StateValueType\n ) => void;\n\n /** 更新某一个状态 */\n updateMarkState: (key: string) => void;\n\n render: () => void;\n renderInner: () => void;\n\n getGraphics: () => IMarkGraphic[];\n\n reuse: (mark: IMark) => void;\n prepareMorph: (mark: IMark) => void;\n\n clearExitGraphics: () => void;\n\n /** 是否启动了增量渲染模式 */\n isProgressive: () => boolean;\n /** 是否正在执行增量渲染 */\n isDoingProgressive: () => boolean;\n /** 清除增量渲染相关状态 */\n clearProgressive: () => void;\n /** 从第一帧开始增量计算 */\n restartProgressive: () => void;\n /** 分片执行 */\n renderProgressive: () => void;\n /** 增量流程后,是否执行动画 */\n canAnimateAfterProgressive: () => boolean;\n /** 执行动画 */\n runAnimation: () => void;\n /** 获取动画状态 */\n getAnimationState: () => AnimationStateValues;\n /** 是否需要清除旧的数据 */\n needClear?: boolean;\n /** 禁用状态动画 */\n disableAnimationByState: (state: string | string[]) => void;\n /** 启用状态动画 */\n enableAnimationByState: (state: string | string[]) => void;\n /** 重新加载前清除缓存 */\n clearBeforeReInit: () => void;\n}\n\nexport type IMark = IMarkRaw<ICommonSpec>;\n\nexport interface ICompileMarkConfig extends IMarkConfig {\n /** morph 配置开关 */\n morph?: boolean;\n\n /** morph元素的唯一key */\n morphElementKey?: string;\n /**\n * 是否支持 3d\n */\n support3d?: boolean;\n /**\n * 裁剪配置\n * @since 1.10.0\n */\n clip?: boolean;\n /** skip theme of vgrammar or not */\n skipTheme?: boolean;\n}\n\nexport interface IMarkOption extends ICompilableMarkOption {\n model: IModel;\n map: Map<StringOrNumber, IModel | IMark>;\n\n globalScale: IGlobalScale;\n seriesId?: number;\n\n /** 组件 mark 的具体类型 */\n componentType?: string;\n attributeContext?: IModelMarkAttributeContext;\n\n /** 父级 mark */\n parent?: IGroupMark | false;\n}\nexport interface IMarkConstructor {\n type: MarkType;\n constructorType?: MarkType;\n new (name: string, options: IMarkOption): IMark;\n}\n\nexport interface IComponentMarkConstructor {\n type: MarkType;\n constructorType?: MarkType;\n new (componentType: string, name: string, options: IMarkOption): IMark;\n}\n\nexport type MarkConstructor = IMarkConstructor | IComponentMarkConstructor;\n\nexport interface IMarkDataInitOption extends IMarkOption {\n mark: IMark;\n}\n\nexport type ISamplingMethod = 'lttb' | 'min' | 'max' | 'sum' | 'average';\n\nexport interface IDataSamping {\n /**\n * 是否使用额外的 activePoint 显示交互点,可以在点隐藏时显示被交互的点\n * @default false\n * @since 1.3.0\n */\n activePoint?: boolean;\n /**\n * 数据采样 - 采样方法\n * @since 1.6.0\n */\n sampling?: ISamplingMethod;\n /**\n * 数据采样 - 采样系数\n * @since 1.6.0\n * @default 1\n */\n samplingFactor?: number;\n}\n\nexport interface IMarkOverlap {\n /**\n * 标记点之间的距离,px\n * @since 1.6.0\n */\n pointDis?: number;\n /**\n * 标记点之间的距离, pointSize 的倍数\n * @since 1.6.0\n * @default 1\n */\n pointDisMul?: number;\n /**\n * 是否允许标记图形相互覆盖\n * @since 1.6.0\n * @default false\n */\n markOverlap?: boolean;\n}\n\nexport type GroupedData<T> = {\n // iterating over array is faster than set\n keys: string[];\n // operation on map is faster than object\n data: Map<string, T[]>;\n};\n\nexport interface IProgressiveTransformResult<Output = any> {\n /** is progressive finished */\n unfinished: () => boolean;\n /** return all the result */\n output: () => Output;\n /** the output result of current progressive run */\n progressiveOutput: () => Output;\n /** run in progressive mode */\n progressiveRun: () => void;\n /** release the progressive context */\n release: () => void;\n /**\n * can animate after progressive\n */\n canAnimate?: () => boolean;\n}\n\nexport type IMarkDataTransform<Options = any, Input = any, Output = any> = (\n options: Options,\n data: Input\n) => Output | IProgressiveTransformResult<Output>;\n\nexport interface ProgressiveContext {\n currentIndex: number;\n totalStep: number;\n step: number;\n data: any[];\n groupKeys?: string[];\n groupedData?: Map<string, any[]>;\n}\n"]}
|
|
@@ -6,6 +6,8 @@ import type { MarkType } from './type';
|
|
|
6
6
|
export interface IComponentMark extends IMarkRaw<ICommonSpec> {
|
|
7
7
|
getComponent: () => IGraphic;
|
|
8
8
|
clearComponent: () => void;
|
|
9
|
+
releaseWithExitAnimation: () => boolean;
|
|
10
|
+
forceReleaseExitAnimation: () => void;
|
|
9
11
|
setAttributeTransform: (t: (attrs: any) => any) => any;
|
|
10
12
|
}
|
|
11
13
|
export interface IGlyphMark<T extends ICommonSpec = ICommonSpec, C = any> extends IMarkRaw<T> {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/interface/mark.ts"],"names":[],"mappings":"","file":"mark.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IMarkSpec } from '../../typings';\nimport type {\n IArcMarkSpec,\n IAreaMarkSpec,\n IBoxPlotMarkSpec,\n ICellMarkSpec,\n ICommonSpec,\n IComposedTextMarkSpec,\n IGroupMarkSpec,\n IImageMarkSpec,\n ILineMarkSpec,\n ILinkPathMarkSpec,\n IPathMarkSpec,\n IPolygonMarkSpec,\n IRectMarkSpec,\n IRippleMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec\n} from '../../typings/visual';\nimport type { IMark, IMarkRaw } from './common';\nimport type { MarkType } from './type';\n\nexport interface IComponentMark extends IMarkRaw<ICommonSpec> {\n getComponent: () => IGraphic;\n clearComponent: () => void;\n setAttributeTransform: (t: (attrs: any) => any) => any;\n}\n\nexport interface IGlyphMark<T extends ICommonSpec = ICommonSpec, C = any> extends IMarkRaw<T> {\n setGlyphConfig: (cfg: C) => void;\n getGlyphConfig: () => C;\n\n getSubMarks: () => Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getPositionChannels: () => string[];\n}\n\nexport interface ILabelMark extends ITextMark {\n skipEncode: boolean;\n\n getRule: () => string;\n setRule: (rule: string) => void;\n\n getTarget: () => IMark;\n setTarget: (target: IMark) => void;\n\n getComponent: () => IComponentMark;\n setComponent: (component: IComponentMark) => void;\n}\n\nexport type ITextMark = IMarkRaw<IComposedTextMarkSpec> & { getTextType: () => 'text' | 'rich' };\n\nexport type ITextSpec<T> = IMarkSpec<T> & { textType?: 'rich' | 'text' };\n\nexport type IPolygonMark = IMarkRaw<IPolygonMarkSpec>;\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\n\nexport type IAreaMark = IMarkRaw<IAreaMarkSpec>;\n\nexport type IBoxPlotMark = IMarkRaw<IBoxPlotMarkSpec>;\n\nexport type ICellMark = IMarkRaw<ICellMarkSpec>;\n\nexport type IImageMark = IMarkRaw<IImageMarkSpec>;\n\nexport type ILineMark = IMarkRaw<ILineMarkSpec>;\n\nexport type ILinkPathMark = IMarkRaw<ILinkPathMarkSpec>;\n\nexport type IPathMark = IMarkRaw<IPathMarkSpec>;\n\nexport type IRectMark = IMarkRaw<IRectMarkSpec>;\n\nexport type IRippleMark = IMarkRaw<IRippleMarkSpec>;\n\nexport type IRuleMark = IMarkRaw<IRuleMarkSpec>;\n\nexport type ISymbolMark = IMarkRaw<ISymbolMarkSpec>;\n\nexport interface IGroupMark extends IMarkRaw<IGroupMarkSpec> {\n // groupMark的zIndex只能配在外层,encode里不生效,且无法写成signal\n // {type:'group', zIndex: 100} ✅\n // {type:'group', encode:{enter:{zIndex:{value:100}}}} ❌\n // {type:'group', zIndex: {signal: }} ❌\n\n addMark: (m: IMark) => boolean;\n removeMark: (m: IMark) => boolean;\n // TODO: 这里可能会出现mark嵌套的问题\n getMarks: () => IMark[];\n getMarkInType: (type: MarkType) => IMark[];\n getMarkInId: (id: number) => IMark | undefined;\n getMarkInName: (name: string) => IMark[] | undefined;\n}\n\nexport interface ILinkPathConfig {\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/mark/interface/mark.ts"],"names":[],"mappings":"","file":"mark.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IMarkSpec } from '../../typings';\nimport type {\n IArcMarkSpec,\n IAreaMarkSpec,\n IBoxPlotMarkSpec,\n ICellMarkSpec,\n ICommonSpec,\n IComposedTextMarkSpec,\n IGroupMarkSpec,\n IImageMarkSpec,\n ILineMarkSpec,\n ILinkPathMarkSpec,\n IPathMarkSpec,\n IPolygonMarkSpec,\n IRectMarkSpec,\n IRippleMarkSpec,\n IRuleMarkSpec,\n ISymbolMarkSpec\n} from '../../typings/visual';\nimport type { IMark, IMarkRaw } from './common';\nimport type { MarkType } from './type';\n\nexport interface IComponentMark extends IMarkRaw<ICommonSpec> {\n getComponent: () => IGraphic;\n clearComponent: () => void;\n releaseWithExitAnimation: () => boolean;\n forceReleaseExitAnimation: () => void;\n setAttributeTransform: (t: (attrs: any) => any) => any;\n}\n\nexport interface IGlyphMark<T extends ICommonSpec = ICommonSpec, C = any> extends IMarkRaw<T> {\n setGlyphConfig: (cfg: C) => void;\n getGlyphConfig: () => C;\n\n getSubMarks: () => Record<\n string,\n {\n type: MarkType;\n defaultAttributes?: any;\n }\n >;\n\n getPositionChannels: () => string[];\n}\n\nexport interface ILabelMark extends ITextMark {\n skipEncode: boolean;\n\n getRule: () => string;\n setRule: (rule: string) => void;\n\n getTarget: () => IMark;\n setTarget: (target: IMark) => void;\n\n getComponent: () => IComponentMark;\n setComponent: (component: IComponentMark) => void;\n}\n\nexport type ITextMark = IMarkRaw<IComposedTextMarkSpec> & { getTextType: () => 'text' | 'rich' };\n\nexport type ITextSpec<T> = IMarkSpec<T> & { textType?: 'rich' | 'text' };\n\nexport type IPolygonMark = IMarkRaw<IPolygonMarkSpec>;\n\nexport type IArcMark = IMarkRaw<IArcMarkSpec>;\n\nexport type IAreaMark = IMarkRaw<IAreaMarkSpec>;\n\nexport type IBoxPlotMark = IMarkRaw<IBoxPlotMarkSpec>;\n\nexport type ICellMark = IMarkRaw<ICellMarkSpec>;\n\nexport type IImageMark = IMarkRaw<IImageMarkSpec>;\n\nexport type ILineMark = IMarkRaw<ILineMarkSpec>;\n\nexport type ILinkPathMark = IMarkRaw<ILinkPathMarkSpec>;\n\nexport type IPathMark = IMarkRaw<IPathMarkSpec>;\n\nexport type IRectMark = IMarkRaw<IRectMarkSpec>;\n\nexport type IRippleMark = IMarkRaw<IRippleMarkSpec>;\n\nexport type IRuleMark = IMarkRaw<IRuleMarkSpec>;\n\nexport type ISymbolMark = IMarkRaw<ISymbolMarkSpec>;\n\nexport interface IGroupMark extends IMarkRaw<IGroupMarkSpec> {\n // groupMark的zIndex只能配在外层,encode里不生效,且无法写成signal\n // {type:'group', zIndex: 100} ✅\n // {type:'group', encode:{enter:{zIndex:{value:100}}}} ❌\n // {type:'group', zIndex: {signal: }} ❌\n\n addMark: (m: IMark) => boolean;\n removeMark: (m: IMark) => boolean;\n // TODO: 这里可能会出现mark嵌套的问题\n getMarks: () => IMark[];\n getMarkInType: (type: MarkType) => IMark[];\n getMarkInId: (id: number) => IMark | undefined;\n getMarkInName: (name: string) => IMark[] | undefined;\n}\n\nexport interface ILinkPathConfig {\n direction?: 'horizontal' | 'vertical' | 'LR' | 'RL' | 'TB' | 'BL' | 'radial';\n}\n"]}
|
package/cjs/mark/line.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerLineMark = exports.LineMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), type_1 = require("../series/interface/type"), base_line_1 = require("./base/base-line"), config_1 = require("../animation/config"), vrender_core_1 = require("@visactor/vrender-core"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), type_1 = require("../series/interface/type"), base_line_1 = require("./base/base-line"), config_1 = require("../animation/config"), vrender_core_1 = require("@visactor/vrender-core"), register_line_1 = require("@visactor/vrender-kits/register/register-line"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), line_1 = require("@visactor/vrender-components/label/line"), symbol_1 = require("@visactor/vrender-components/label/symbol");
|
|
8
8
|
|
|
9
9
|
class LineMark extends base_line_1.BaseLineMark {
|
|
10
10
|
constructor() {
|
|
@@ -24,10 +24,9 @@ class LineMark extends base_line_1.BaseLineMark {
|
|
|
24
24
|
exports.LineMark = LineMark, LineMark.type = "line";
|
|
25
25
|
|
|
26
26
|
const registerLineMark = () => {
|
|
27
|
-
factory_1.Factory.registerMark(LineMark.type, LineMark), (0,
|
|
28
|
-
(0,
|
|
29
|
-
(0,
|
|
30
|
-
factory_1.Factory.registerGraphicComponent("line", vrender_core_1.createLine);
|
|
27
|
+
factory_1.Factory.registerMark(LineMark.type, LineMark), (0, register_shadowRoot_1.registerShadowRoot)(),
|
|
28
|
+
(0, register_line_1.registerLine)(), (0, line_1.registerLineDataLabel)(), (0, symbol_1.registerSymbolDataLabel)(),
|
|
29
|
+
(0, config_1.registerLineOrAreaAnimation)(), factory_1.Factory.registerGraphicComponent("line", vrender_core_1.createLine);
|
|
31
30
|
};
|
|
32
31
|
|
|
33
32
|
exports.registerLineMark = registerLineMark;
|
package/cjs/mark/line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/line.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,mDAA0D;AAE1D,gDAAgD;AAIhD,gDAAkE;AAElE,yDAAoD;AACpD,
|
|
1
|
+
{"version":3,"sources":["../src/mark/line.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,mDAA0D;AAE1D,gDAAgD;AAIhD,gDAAkE;AAElE,yDAAoD;AACpD,iFAA6E;AAC7E,6FAAyF;AACzF,kEAAgF;AAChF,sEAAoF;AAEpF,MAAa,QAAS,SAAQ,wBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAqBhC,CAAC;IAnBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAOS,oBAAoB;;QAC5B,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,IAAI,MAAK,qBAAc,CAAC,KAAK,IAAI,CAAA,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,MAAK,OAAO,EAAE;YACnF,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACjC,CAAC;;AAtBH,4BAuBC;AAtBiB,aAAI,UAAqB;AAwBpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAY,GAAE,CAAC;IACf,IAAA,4BAAqB,GAAE,CAAC;IACxB,IAAA,gCAAuB,GAAE,CAAC;IAC1B,IAAA,oCAA2B,GAAE,CAAC;IAE9B,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B","file":"line.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { SeriesTypeEnum } from '../series/interface/type';\nimport type { ILineMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { ILineMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerLineOrAreaAnimation } from '../animation/config';\nimport type { IGraphic, ILineGraphicAttribute } from '@visactor/vrender-core';\nimport { createLine } from '@visactor/vrender-core';\nimport { registerLine } from '@visactor/vrender-kits/register/register-line';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerLineDataLabel } from '@visactor/vrender-components/label/line';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\n\nexport class LineMark extends BaseLineMark<ILineMarkSpec> implements ILineMark {\n static readonly type = MarkTypeEnum.line;\n readonly type = LineMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ILineMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 1\n };\n return defaultStyle;\n }\n\n /**\n * TODO: SeriesTypeEnum 移到最外层\n * @override 线不支持填充\n * @returns\n */\n protected _getIgnoreAttributes(): string[] {\n if (this.model?.type === SeriesTypeEnum.radar && this.model?.coordinate === 'polar') {\n return [];\n }\n return ['fill', 'fillOpacity'];\n }\n}\n\nexport const registerLineMark = () => {\n Factory.registerMark(LineMark.type, LineMark);\n registerShadowRoot();\n registerLine();\n registerLineDataLabel();\n registerSymbolDataLabel();\n registerLineOrAreaAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.line, createLine);\n};\n"]}
|
package/cjs/mark/rect.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerRectMark = exports.RectMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), config_1 = require("../animation/config"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), config_1 = require("../animation/config"), register_rect_1 = require("@visactor/vrender-kits/register/register-rect"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), label_1 = require("@visactor/vrender-components/label"), vrender_core_1 = require("@visactor/vrender-core");
|
|
8
8
|
|
|
9
9
|
class RectMark extends base_mark_1.BaseMark {
|
|
10
10
|
constructor() {
|
|
@@ -22,8 +22,8 @@ class RectMark extends base_mark_1.BaseMark {
|
|
|
22
22
|
exports.RectMark = RectMark, RectMark.type = "rect";
|
|
23
23
|
|
|
24
24
|
const registerRectMark = () => {
|
|
25
|
-
(0,
|
|
26
|
-
|
|
25
|
+
(0, register_shadowRoot_1.registerShadowRoot)(), (0, register_rect_1.registerRect)(),
|
|
26
|
+
(0, label_1.registerRectDataLabel)(), factory_1.Factory.registerMark(RectMark.type, RectMark),
|
|
27
27
|
(0, config_1.registerRectAnimation)(), factory_1.Factory.registerGraphicComponent("rect", vrender_core_1.createRect);
|
|
28
28
|
};
|
|
29
29
|
|
package/cjs/mark/rect.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/rect.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,gDAA4D;AAC5D,
|
|
1
|
+
{"version":3,"sources":["../src/mark/rect.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAI5C,gDAA4D;AAC5D,iFAA6E;AAC7E,6FAAyF;AACzF,8DAA2E;AAC3E,yDAAoD;AAEpD,MAAa,QAAS,SAAQ,oBAAuB;IAArD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAWhC,CAAC;IATW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,EACjB,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;;AAZH,4BAaC;AAZiB,aAAI,UAAqB;AAcpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAY,GAAE,CAAC;IACf,IAAA,6BAAqB,GAAE,CAAC;IACxB,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,8BAAqB,GAAE,CAAC;IAExB,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;AAClE,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B","file":"rect.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IRectMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkStyle, IRectMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerRectAnimation } from '../animation/config';\nimport { registerRect } from '@visactor/vrender-kits/register/register-rect';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerRectDataLabel } from '@visactor/vrender-components/label';\nimport { createRect } from '@visactor/vrender-core';\n\nexport class RectMark extends BaseMark<IRectMarkSpec> implements IRectMark {\n static readonly type = MarkTypeEnum.rect;\n readonly type = RectMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IRectMarkSpec> = {\n ...super._getDefaultStyle(),\n width: undefined,\n height: undefined,\n lineWidth: 0\n };\n return defaultStyle;\n }\n}\n\nexport const registerRectMark = () => {\n registerShadowRoot();\n registerRect();\n registerRectDataLabel();\n Factory.registerMark(RectMark.type, RectMark);\n registerRectAnimation();\n\n Factory.registerGraphicComponent(MarkTypeEnum.rect, createRect);\n};\n"]}
|
package/cjs/mark/symbol.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerSymbolMark = exports.SymbolMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), vrender_core_1 = require("@visactor/vrender-core"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), vrender_core_1 = require("@visactor/vrender-core"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), register_symbol_1 = require("@visactor/vrender-kits/register/register-symbol"), symbol_1 = require("@visactor/vrender-components/label/symbol"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
class SymbolMark extends base_mark_1.BaseMark {
|
|
10
10
|
constructor() {
|
|
@@ -29,8 +29,8 @@ class SymbolMark extends base_mark_1.BaseMark {
|
|
|
29
29
|
exports.SymbolMark = SymbolMark, SymbolMark.type = "symbol";
|
|
30
30
|
|
|
31
31
|
const registerSymbolMark = () => {
|
|
32
|
-
factory_1.Factory.registerMark(SymbolMark.type, SymbolMark), (0,
|
|
33
|
-
(0,
|
|
32
|
+
factory_1.Factory.registerMark(SymbolMark.type, SymbolMark), (0, register_shadowRoot_1.registerShadowRoot)(),
|
|
33
|
+
(0, register_symbol_1.registerSymbol)(), (0, symbol_1.registerSymbolDataLabel)(),
|
|
34
34
|
factory_1.Factory.registerGraphicComponent("symbol", vrender_core_1.createSymbol);
|
|
35
35
|
};
|
|
36
36
|
|
package/cjs/mark/symbol.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAK5C,yDAAsD;AACtD,
|
|
1
|
+
{"version":3,"sources":["../src/mark/symbol.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAK5C,yDAAsD;AACtD,6FAAyF;AACzF,qFAAiF;AACjF,sEAAoF;AACpF,6CAAyC;AAEzC,MAAa,UAAW,SAAQ,oBAAyB;IAAzD;;QAEW,SAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAwBlC,CAAC;IAvBW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,IAAI,EAAE,CAAC,EACP,UAAU,EAAE,QAAQ,EACpB,IAAI,EAAE,SAAS,EACf,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAA2C,CAAC;IACrD,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;;QACjF,MAAM,WAAW,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,UAAU,GACd,MAAA,MAAA,WAAW,CAAC,KAAK,mCAAI,WAAW,CAAC,UAAU,mCAAI,MAAC,CAAC,CAAC,SAAqC,0CAAE,UAAU,CAAC;QAEtG,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,EAAE;YACrB,WAAW,CAAC,UAAU,GAAG,QAAQ,CAAC;SACnC;aAAM;YACL,WAAW,CAAC,UAAU,GAAG,UAAU,CAAC;SACrC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC;;AAzBH,gCA0BC;AAzBiB,eAAI,YAAuB;AA2BtC,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,iBAAO,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAClD,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,gCAAc,GAAE,CAAC;IACjB,IAAA,gCAAuB,GAAE,CAAC;IAE1B,iBAAO,CAAC,wBAAwB,WAAsB,2BAAY,CAAC,CAAC;AACtE,CAAC,CAAC;AAPW,QAAA,kBAAkB,sBAO7B","file":"symbol.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { ISymbolMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkStyle, ISymbolMark } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport type { ISymbolGraphicAttribute } from '@visactor/vrender-core';\nimport { createSymbol } from '@visactor/vrender-core';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerSymbol } from '@visactor/vrender-kits/register/register-symbol';\nimport { registerSymbolDataLabel } from '@visactor/vrender-components/label/symbol';\nimport { isNil } from '@visactor/vutils';\n\nexport class SymbolMark extends BaseMark<ISymbolMarkSpec> implements ISymbolMark {\n static readonly type = MarkTypeEnum.symbol;\n readonly type = SymbolMark.type;\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<ISymbolMarkSpec> = {\n ...super._getDefaultStyle(),\n size: 1,\n symbolType: 'circle',\n fill: undefined,\n lineWidth: 0\n };\n return defaultStyle as IMarkStyle<ISymbolMarkSpec>;\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const symbolAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n const symbolType =\n symbolAttrs.shape ?? symbolAttrs.symbolType ?? (g.attribute as ISymbolGraphicAttribute)?.symbolType;\n\n if (isNil(symbolType)) {\n symbolAttrs.symbolType = 'circle';\n } else {\n symbolAttrs.symbolType = symbolType;\n }\n return symbolAttrs;\n }\n}\n\nexport const registerSymbolMark = () => {\n Factory.registerMark(SymbolMark.type, SymbolMark);\n registerShadowRoot();\n registerSymbol();\n registerSymbolDataLabel();\n\n Factory.registerGraphicComponent(MarkTypeEnum.symbol, createSymbol);\n};\n"]}
|
package/cjs/mark/text.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerTextMark = exports.TextMark = void 0;
|
|
6
6
|
|
|
7
|
-
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"),
|
|
7
|
+
const factory_1 = require("./../core/factory"), base_mark_1 = require("./base/base-mark"), register_richtext_1 = require("@visactor/vrender-kits/register/register-richtext"), register_shadowRoot_1 = require("@visactor/vrender-kits/register/register-shadowRoot"), register_text_1 = require("@visactor/vrender-kits/register/register-text"), vrender_core_1 = require("@visactor/vrender-core"), vutils_1 = require("@visactor/vutils");
|
|
8
8
|
|
|
9
9
|
class TextMark extends base_mark_1.BaseMark {
|
|
10
10
|
getTextType() {
|
|
@@ -39,9 +39,9 @@ class TextMark extends base_mark_1.BaseMark {
|
|
|
39
39
|
exports.TextMark = TextMark, TextMark.type = "text";
|
|
40
40
|
|
|
41
41
|
const registerTextMark = () => {
|
|
42
|
-
factory_1.Factory.registerMark(TextMark.type, TextMark), (0,
|
|
43
|
-
(0,
|
|
44
|
-
factory_1.Factory.registerGraphicComponent("richtext", vrender_core_1.createRichText);
|
|
42
|
+
factory_1.Factory.registerMark(TextMark.type, TextMark), (0, register_shadowRoot_1.registerShadowRoot)(),
|
|
43
|
+
(0, register_text_1.registerText)(), (0, register_richtext_1.registerRichtext)(),
|
|
44
|
+
factory_1.Factory.registerGraphicComponent("text", vrender_core_1.createText), factory_1.Factory.registerGraphicComponent("richtext", vrender_core_1.createRichText);
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
exports.registerTextMark = registerTextMark;
|
package/cjs/mark/text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAK5C,
|
|
1
|
+
{"version":3,"sources":["../src/mark/text.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAA4C;AAK5C,yFAAqF;AACrF,6FAAyF;AACzF,iFAA6E;AAE7E,yDAAoE;AACpE,6CAAqD;AAErD,MAAa,QAAS,SAAQ,oBAA+B;IAK3D,WAAW;QACT,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QARb,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAEpB,cAAS,GAAoB,MAAM,CAAC;IAO9C,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAE3B,KAAK,EAAE,CAAC,EACR,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,CAAC,EACZ,UAAU,EAAE,EAAE,GACf,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,iBAAiB,CAAC,IAAsC;QACtD,KAAK,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC9B,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC;SAChC;IACH,CAAC;IAES,2BAA2B,CAAC,CAAe,EAAE,KAAU,EAAE,UAAgB;QACjF,MAAM,SAAS,GAAG,KAAK,CAAC,2BAA2B,CAAC,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAE1E,MAAM,EAAE,IAAI,EAAE,GAAG,SAAS,CAAC;QAE3B,IAAI,IAAA,iBAAQ,EAAC,IAAI,CAAC,IAAI,IAAA,gBAAO,EAAE,IAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,MAAM,IAAK,IAAY,CAAC,IAAI,KAAK,MAAM,CAAC,EAAE;YACjH,SAAS,CAAC,UAAU,GAAI,IAAY,CAAC,IAAI,CAAC;SAC3C;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAES,cAAc,CAAC,QAA2D,EAAE;QACpF,MAAM,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QAEvB,OAAO,IAAI,CAAC,SAAS,KAAK,MAAM,IAAI,CAAC,IAAY,aAAZ,IAAI,uBAAJ,IAAI,CAAU,IAAI,MAAK,MAAM;YAChE,CAAC,CAAC,IAAA,6BAAc,EAAC,KAAkC,CAAC;YACpD,CAAC,CAAC,IAAA,yBAAU,EAAC,KAA8B,CAAC,CAAC;IACjD,CAAC;;AAlDH,4BAmDC;AAlDiB,aAAI,UAAqB;AAoDpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,wCAAkB,GAAE,CAAC;IACrB,IAAA,4BAAY,GAAE,CAAC;IACf,IAAA,oCAAgB,GAAE,CAAC;IAEnB,iBAAO,CAAC,wBAAwB,SAAoB,yBAAU,CAAC,CAAC;IAChE,iBAAO,CAAC,wBAAwB,CAAC,UAAU,EAAE,6BAAc,CAAC,CAAC;AAC/D,CAAC,CAAC;AARW,QAAA,gBAAgB,oBAQ3B","file":"text.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IComposedTextMarkSpec } from '../typings/visual';\nimport { BaseMark } from './base/base-mark';\nimport type { IMarkGraphic, IMarkOption, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface';\nimport type { ITextMark, ITextSpec } from './interface/mark';\nimport { registerRichtext } from '@visactor/vrender-kits/register/register-richtext';\nimport { registerShadowRoot } from '@visactor/vrender-kits/register/register-shadowRoot';\nimport { registerText } from '@visactor/vrender-kits/register/register-text';\nimport type { IGraphic, IRichTextGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';\nimport { createRichText, createText } from '@visactor/vrender-core';\nimport { isObject, isValid } from '@visactor/vutils';\n\nexport class TextMark extends BaseMark<IComposedTextMarkSpec> implements ITextMark {\n static readonly type = MarkTypeEnum.text;\n readonly type = TextMark.type;\n\n protected _textType: 'text' | 'rich' = 'text';\n getTextType() {\n return this._textType;\n }\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IComposedTextMarkSpec> = {\n ...super._getDefaultStyle(),\n // TODO: 删除后会有显示问题,待排查\n angle: 0,\n textAlign: 'center',\n lineWidth: 0,\n textConfig: []\n };\n return defaultStyle;\n }\n\n initStyleWithSpec(spec: ITextSpec<IComposedTextMarkSpec>) {\n super.initStyleWithSpec(spec);\n if (spec.textType) {\n this._textType = spec.textType;\n }\n }\n\n protected _transformGraphicAttributes(g: IMarkGraphic, attrs: any, groupAttrs?: any) {\n const textAttrs = super._transformGraphicAttributes(g, attrs, groupAttrs);\n\n const { text } = textAttrs;\n\n if (isObject(text) && isValid((text as any).text) && (this._textType === 'rich' || (text as any).type === 'rich')) {\n textAttrs.textConfig = (text as any).text;\n }\n\n return textAttrs;\n }\n\n protected _createGraphic(attrs: ITextGraphicAttribute | IRichTextGraphicAttribute = {}): IGraphic {\n const { text } = attrs;\n\n return this._textType === 'rich' || (text as any)?.type === 'rich'\n ? createRichText(attrs as IRichTextGraphicAttribute)\n : createText(attrs as ITextGraphicAttribute);\n }\n}\n\nexport const registerTextMark = () => {\n Factory.registerMark(TextMark.type, TextMark);\n registerShadowRoot();\n registerText();\n registerRichtext();\n\n Factory.registerGraphicComponent(MarkTypeEnum.text, createText);\n Factory.registerGraphicComponent('richtext', createRichText);\n};\n"]}
|
package/cjs/mark/utils/glyph.js
CHANGED
|
@@ -4,9 +4,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.addRuntimeState = void 0;
|
|
6
6
|
|
|
7
|
-
const addRuntimeState = (g, stateName, attrs, keepCurrentStates = !0, hasAnimation) => {
|
|
7
|
+
const graphic_state_1 = require("../../util/graphic-state"), addRuntimeState = (g, stateName, attrs, keepCurrentStates = !0, hasAnimation) => {
|
|
8
8
|
g.runtimeStateCache || (g.runtimeStateCache = {}), g.runtimeStateCache[stateName] = attrs,
|
|
9
|
-
g.hasState(stateName) &&
|
|
9
|
+
g.hasState(stateName) && (0, graphic_state_1.removeGraphicState)(g, stateName),
|
|
10
|
+
(0, graphic_state_1.addGraphicState)(g, stateName, keepCurrentStates, hasAnimation);
|
|
10
11
|
};
|
|
11
12
|
|
|
12
13
|
exports.addRuntimeState = addRuntimeState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/utils/glyph.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/mark/utils/glyph.ts"],"names":[],"mappings":";;;AACA,4DAA+E;AAExE,MAAM,eAAe,GAAG,CAC7B,CAAe,EACf,SAAiB,EACjB,KAAU,EACV,oBAA6B,IAAI,EACjC,YAAsB,EACtB,EAAE;IACF,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE;QACxB,CAAC,CAAC,iBAAiB,GAAG,EAAE,CAAC;KAC1B;IAED,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC;IAEvC,IAAI,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACzB,IAAA,kCAAkB,EAAC,CAAC,EAAE,SAAS,CAAC,CAAC;KAClC;IACD,IAAA,+BAAe,EAAC,CAAC,EAAE,SAAS,EAAE,iBAAiB,EAAE,YAAY,CAAC,CAAC;AACjE,CAAC,CAAC;AAjBW,QAAA,eAAe,mBAiB1B","file":"glyph.js","sourcesContent":["import type { IMarkGraphic } from '../interface/common';\nimport { addGraphicState, removeGraphicState } from '../../util/graphic-state';\n\nexport const addRuntimeState = (\n g: IMarkGraphic,\n stateName: string,\n attrs: any,\n keepCurrentStates: boolean = true,\n hasAnimation?: boolean\n) => {\n if (!g.runtimeStateCache) {\n g.runtimeStateCache = {};\n }\n\n g.runtimeStateCache[stateName] = attrs;\n\n if (g.hasState(stateName)) {\n removeGraphicState(g, stateName);\n }\n addGraphicState(g, stateName, keepCurrentStates, hasAnimation);\n};\n"]}
|