@visactor/vchart 1.7.1 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +17050 -13892
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +1 -0
- package/cjs/animation/utils.js +16 -8
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/bar/bar-3d.d.ts +2 -2
- package/cjs/chart/bar/bar-3d.js +2 -2
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +2 -5
- package/cjs/chart/base-chart.js +8 -46
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/interface.d.ts +1 -1
- package/cjs/chart/cartesian/interface.js.map +1 -1
- package/cjs/chart/index.js +1 -2
- package/cjs/chart/interface/chart.d.ts +3 -3
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +1 -0
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/compile/compiler.js +2 -1
- package/cjs/compile/mark/compilable-mark.js +6 -9
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -1
- package/cjs/component/axis/base-axis.js +5 -1
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/axis.js +5 -3
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js +2 -2
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.d.ts +0 -2
- package/cjs/component/axis/cartesian/util/common.js +2 -14
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +1 -0
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +3 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +2 -3
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +2 -7
- package/cjs/component/base/base-component.js +5 -5
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +1 -1
- package/cjs/component/brush/brush.js +1 -1
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +4 -5
- package/cjs/component/crosshair/base.js +38 -25
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +12 -35
- package/cjs/component/crosshair/cartesian.js +119 -110
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +6 -0
- package/cjs/component/crosshair/config.js +8 -2
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +7 -3
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +13 -55
- package/cjs/component/crosshair/polar.js +110 -83
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
- package/cjs/component/custom-mark/custom-mark.js +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -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 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +1 -1
- package/cjs/component/geo/geo-coordinate.js +1 -1
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -1
- package/cjs/component/indicator/indicator.js +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +1 -1
- package/cjs/component/label/base-label.js +1 -1
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/label.d.ts +1 -0
- package/cjs/component/label/label.js +7 -0
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.d.ts +1 -0
- package/cjs/component/label/totalLabel.js +7 -0
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/base-legend.js +1 -1
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -0
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +5 -3
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/map-label/component.d.ts +1 -1
- package/cjs/component/map-label/component.js +2 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +23 -25
- package/cjs/component/marker/base-marker.js +40 -51
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +19 -9
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +3 -2
- package/cjs/component/marker/mark-area/mark-area.js +12 -22
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +4 -2
- package/cjs/component/marker/mark-line/mark-line.js +60 -60
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +3 -2
- package/cjs/component/marker/mark-point/mark-point.js +15 -19
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +13 -2
- package/cjs/component/marker/utils.js +108 -39
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +1 -1
- package/cjs/component/player/player.js +1 -1
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -1
- package/cjs/component/title/title.js +1 -1
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +4 -3
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +5 -4
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +3 -3
- package/cjs/data/transforms/aggregation.js +5 -7
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +2 -2
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/layout/layout3d/index.js +1 -1
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -5
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/model/base-model.d.ts +1 -1
- package/cjs/model/base-model.js +6 -38
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +2 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/region/region.js +4 -2
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/bar/bar.js +6 -11
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.js +12 -9
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +4 -12
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +2 -1
- package/cjs/series/gauge/gauge-pointer.js +16 -9
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +13 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +2 -0
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +4 -9
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/pie/pie.js +1 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/range-column/range-column.js +7 -15
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/util/utils.d.ts +5 -0
- package/cjs/series/util/utils.js +18 -2
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +7 -11
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/theme/builtin/common/component/crosshair.js +0 -8
- package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -2
- package/cjs/typings/visual.js.map +1 -1
- package/esm/animation/utils.d.ts +1 -0
- package/esm/animation/utils.js +12 -7
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/bar/bar-3d.d.ts +2 -2
- package/esm/chart/bar/bar-3d.js +3 -3
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/base-chart.d.ts +2 -5
- package/esm/chart/base-chart.js +8 -46
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/cartesian/interface.d.ts +1 -1
- package/esm/chart/cartesian/interface.js.map +1 -1
- package/esm/chart/index.js +1 -2
- package/esm/chart/interface/chart.d.ts +3 -3
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/sequence/sequence.js +1 -0
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/compile/compiler.js +2 -1
- package/esm/compile/mark/compilable-mark.js +6 -10
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -1
- package/esm/component/axis/base-axis.js +5 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -1
- package/esm/component/axis/cartesian/axis.js +5 -3
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js +1 -3
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.d.ts +0 -2
- package/esm/component/axis/cartesian/util/common.js +0 -11
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +1 -0
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js +3 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +2 -3
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/base/base-component.d.ts +2 -7
- package/esm/component/base/base-component.js +5 -5
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +1 -1
- package/esm/component/brush/brush.js +1 -1
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +4 -5
- package/esm/component/crosshair/base.js +37 -25
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +12 -35
- package/esm/component/crosshair/cartesian.js +112 -103
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +6 -0
- package/esm/component/crosshair/config.js +7 -0
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +7 -3
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +13 -55
- package/esm/component/crosshair/polar.js +110 -79
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -1
- package/esm/component/custom-mark/custom-mark.js +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.d.ts +1 -1
- package/esm/component/label/base-label.js +1 -1
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/label.d.ts +1 -0
- package/esm/component/label/label.js +7 -0
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.d.ts +1 -0
- package/esm/component/label/totalLabel.js +7 -0
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/base-legend.js +1 -1
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -0
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +5 -3
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/map-label/component.d.ts +1 -1
- package/esm/component/map-label/component.js +2 -2
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +23 -25
- package/esm/component/marker/base-marker.js +42 -53
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +19 -9
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +3 -2
- package/esm/component/marker/mark-area/mark-area.js +10 -22
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +4 -2
- package/esm/component/marker/mark-line/mark-line.js +58 -54
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +3 -2
- package/esm/component/marker/mark-point/mark-point.js +12 -20
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +13 -2
- package/esm/component/marker/utils.js +103 -35
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +1 -1
- package/esm/component/player/player.js +1 -1
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -1
- package/esm/component/title/title.js +1 -1
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +4 -2
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +5 -4
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +3 -3
- package/esm/data/transforms/aggregation.js +6 -8
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +2 -2
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/layout/layout3d/index.js +1 -1
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/mark/base/base-mark.js +1 -4
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/model/base-model.d.ts +1 -1
- package/esm/model/base-model.js +6 -39
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +2 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/bar/bar.js +5 -9
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.js +10 -7
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +5 -11
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +2 -1
- package/esm/series/gauge/gauge-pointer.js +16 -9
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +13 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +2 -0
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +4 -8
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/pie/pie.js +1 -1
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/range-column/range-column.js +6 -12
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/util/utils.d.ts +5 -0
- package/esm/series/util/utils.js +15 -0
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +6 -9
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/theme/builtin/common/component/crosshair.js +0 -8
- package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -2
- package/esm/typings/visual.js.map +1 -1
- package/package.json +15 -15
package/cjs/animation/utils.d.ts
CHANGED
|
@@ -8,6 +8,7 @@ import type { ISeriesMarkAttributeContext } from '../compile/mark';
|
|
|
8
8
|
export declare const AnimationStates: string[];
|
|
9
9
|
export declare function animationConfig<Preset extends string>(defaultConfig?: MarkAnimationSpec, userConfig?: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>, params?: {
|
|
10
10
|
dataIndex: (datum: any) => number;
|
|
11
|
+
dataCount: () => number;
|
|
11
12
|
}): MarkAnimationSpec;
|
|
12
13
|
export declare function userAnimationConfig<M extends string, Preset extends string>(markName: SeriesMarkNameEnum | string, spec: IAnimationSpec<M, Preset>, ctx: ISeriesMarkAttributeContext): Partial<Record<"none" | "normal" | "state" | "update" | "appear" | "enter" | "exit" | "disappear", boolean | IAnimationConfig | IAnimationConfig[] | IStateAnimateSpec<string>>>;
|
|
13
14
|
export declare function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string): boolean;
|
package/cjs/animation/utils.js
CHANGED
|
@@ -24,7 +24,7 @@ function animationConfig(defaultConfig = {}, userConfig, params) {
|
|
|
24
24
|
})), null == userConfig ? void 0 : userConfig[state]) ? (stateConfig = (0, vutils_1.isArray)(userConfig[state]) ? userConfig[state] : defaultStateConfig.map(((stateConfig, i) => {
|
|
25
25
|
var _a;
|
|
26
26
|
let singleConfig = (0, merge_spec_1.mergeSpec)({}, defaultStateConfig[i], userConfig[state]);
|
|
27
|
-
return isChannelAnimation(singleConfig) && delete singleConfig.type, singleConfig.oneByOne && (singleConfig = produceOneByOne(singleConfig, null !== (_a = null == params ? void 0 : params.dataIndex) && void 0 !== _a ? _a : defaultDataIndex)),
|
|
27
|
+
return isChannelAnimation(singleConfig) && delete singleConfig.type, singleConfig.oneByOne && (singleConfig = produceOneByOne(singleConfig, null !== (_a = null == params ? void 0 : params.dataIndex) && void 0 !== _a ? _a : defaultDataIndex, null == params ? void 0 : params.dataCount)),
|
|
28
28
|
singleConfig;
|
|
29
29
|
})), config[state] = stateConfig) : config[state] = defaultStateConfig;
|
|
30
30
|
}
|
|
@@ -43,14 +43,22 @@ function userAnimationConfig(markName, spec, ctx) {
|
|
|
43
43
|
}, ctx);
|
|
44
44
|
}
|
|
45
45
|
|
|
46
|
-
function produceOneByOne(stateConfig, dataIndex) {
|
|
47
|
-
const {oneByOne: oneByOne, duration: duration} = stateConfig;
|
|
46
|
+
function produceOneByOne(stateConfig, dataIndex, dataCount) {
|
|
47
|
+
const {oneByOne: oneByOne, duration: duration, delay: delay, delayAfter: delayAfter} = stateConfig;
|
|
48
48
|
return stateConfig.delay = (datum, element, params) => {
|
|
49
|
-
const
|
|
50
|
-
type_1.isValidNumber)(duration) ? duration : 0
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
49
|
+
const index = dataIndex(datum), durationTime = (0, type_1.isFunction)(duration) ? duration(datum, element, params) : (0,
|
|
50
|
+
type_1.isValidNumber)(duration) ? duration : 0, userDelay = (0, type_1.isFunction)(delay) ? delay(datum, element, params) : (0,
|
|
51
|
+
type_1.isValidNumber)(delay) ? delay : 0;
|
|
52
|
+
let oneByOneTime = (0, type_1.isFunction)(oneByOne) ? oneByOne(datum, element, params) : oneByOne;
|
|
53
|
+
return !1 === oneByOneTime ? userDelay : (oneByOneTime = !0 === oneByOneTime ? 0 : oneByOneTime,
|
|
54
|
+
userDelay + index * (durationTime + oneByOneTime));
|
|
55
|
+
}, stateConfig.delayAfter = (datum, element, params) => {
|
|
56
|
+
const index = dataIndex(datum), durationTime = (0, type_1.isFunction)(duration) ? duration(datum, element, params) : (0,
|
|
57
|
+
type_1.isValidNumber)(duration) ? duration : 0, userDelayAfter = (0, type_1.isFunction)(delayAfter) ? delayAfter(datum, element, params) : (0,
|
|
58
|
+
type_1.isValidNumber)(delayAfter) ? delayAfter : 0;
|
|
59
|
+
let oneByOneTime = (0, type_1.isFunction)(oneByOne) ? oneByOne(datum, element, params) : oneByOne;
|
|
60
|
+
if (!1 === oneByOneTime) return userDelayAfter;
|
|
61
|
+
return oneByOneTime = !0 === oneByOneTime ? 0 : oneByOneTime, userDelayAfter + ((dataCount ? dataCount() : element.mark.elements.length) - index) * (durationTime + oneByOneTime);
|
|
54
62
|
}, delete stateConfig.oneByOne, stateConfig;
|
|
55
63
|
}
|
|
56
64
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IElement,\n IAnimationTypeConfig,\n IStateAnimationConfig,\n IAnimationTimeline\n} from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '../util/spec/merge-spec';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { ISeriesMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = ['appear', 'enter', 'update', 'exit', 'disappear', 'normal'];\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any) => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n\n if (userConfig?.[state] === false) {\n continue;\n }\n\n if (state === 'normal') {\n userConfig.normal && (config.normal = userConfig.normal as IAnimationTypeConfig);\n continue;\n }\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userConfig?.[state]) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userConfig[state])) {\n stateConfig = userConfig[state];\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec(\n {},\n defaultStateConfig[i],\n userConfig[state]\n ) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(singleConfig as IAnimationTypeConfig, params?.dataIndex ?? defaultDataIndex);\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n\n // 将 update copy 到 state 保证 useState 效果与 update 对齐\n config.state = config.update as IStateAnimationConfig;\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: ISeriesMarkAttributeContext\n) {\n const userConfig = {\n appear: spec.animationAppear?.[markName] ?? spec.animationAppear,\n disappear: spec.animationDisappear?.[markName] ?? spec.animationDisappear,\n enter: spec.animationEnter?.[markName] ?? spec.animationEnter,\n exit: spec.animationExit?.[markName] ?? spec.animationExit,\n update: spec.animationUpdate?.[markName] ?? spec.animationUpdate,\n normal: spec.animationNormal?.[markName]\n };\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(stateConfig: IAnimationTypeConfig, dataIndex: (datum: any) => number) {\n const { oneByOne, duration } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const _index = dataIndex(datum);\n const _durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n let _oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (_oneByOneTime === false) {\n return 0;\n }\n _oneByOneTime = _oneByOneTime === true ? 0 : _oneByOneTime;\n return _index * (_durationTime + _oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any) {\n return datum?.[DEFAULT_DATA_INDEX];\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: ISeriesMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n return series.getSpec().animation !== false && isValid(series.getRegion().animate);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/animation/utils.ts"],"names":[],"mappings":"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","file":"utils.js","sourcesContent":["import type { IAnimationConfig } from '@visactor/vgrammar-core';\n// eslint-disable-next-line no-duplicate-imports\nimport type {\n IElement,\n IAnimationTypeConfig,\n IStateAnimationConfig,\n IAnimationTimeline\n} from '@visactor/vgrammar-core';\nimport type { MarkAnimationSpec, IAnimationState } from './interface';\nimport type { IStateAnimateSpec, IAnimationSpec } from './spec';\nimport { isFunction, isValidNumber } from '../util/type';\nimport { DEFAULT_DATA_INDEX } from '../constant';\nimport { DEFAULT_ANIMATION_CONFIG } from './config';\nimport { cloneDeep, isArray, isObject, isValid } from '@visactor/vutils';\nimport type { SeriesMarkNameEnum } from '../series/interface/type';\nimport { mergeSpec } from '../util/spec/merge-spec';\nimport type { ISeries } from '../series';\nimport type { ISeriesSpec } from '../typings';\nimport type { ISeriesMarkAttributeContext } from '../compile/mark';\n\nexport const AnimationStates = ['appear', 'enter', 'update', 'exit', 'disappear', 'normal'];\n\nexport function animationConfig<Preset extends string>(\n defaultConfig: MarkAnimationSpec = {},\n userConfig?: Partial<\n Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>\n >,\n params?: {\n dataIndex: (datum: any) => number;\n dataCount: () => number;\n }\n) {\n const config = {} as MarkAnimationSpec;\n for (let i = 0; i < AnimationStates.length; i++) {\n const state = AnimationStates[i];\n\n if (userConfig?.[state] === false) {\n continue;\n }\n\n if (state === 'normal') {\n userConfig.normal && (config.normal = userConfig.normal as IAnimationTypeConfig);\n continue;\n }\n // 开始处理默认动画逻辑\n let defaultStateConfig: IAnimationConfig[];\n if (isArray(defaultConfig[state])) {\n defaultStateConfig = defaultConfig[state] as IAnimationConfig[];\n } else {\n defaultStateConfig = [{ ...DEFAULT_ANIMATION_CONFIG[state], ...defaultConfig[state] } as any];\n }\n // FIXME: 用来控制当动画状态发生变更时是否清除正在执行的动画。\n // 现在 vrender 对于同一个视觉通道的 tween 不会做覆盖的处理。若不做动画清空同时 exit 动画比 update 动画时间长的情况下,效果会不正确\n if (state === 'exit') {\n defaultStateConfig.forEach(exitConfig => {\n exitConfig.controlOptions = { stopWhenStateChange: true };\n });\n }\n\n if (!userConfig?.[state]) {\n config[state] = defaultStateConfig;\n continue;\n }\n\n // 开始处理用户配置的动画逻辑\n let stateConfig: IAnimationConfig[];\n if (isArray(userConfig[state])) {\n stateConfig = userConfig[state];\n } else {\n stateConfig = defaultStateConfig.map((stateConfig, i) => {\n let singleConfig: IAnimationConfig = mergeSpec(\n {},\n defaultStateConfig[i],\n userConfig[state]\n ) as IAnimationConfig;\n if (isChannelAnimation(singleConfig)) {\n // `type` and `channel` is conflict, and `type` has a higher priority.\n // here if user configured `channel`, we should remove `type` which will come from default animation config\n delete (singleConfig as IAnimationTypeConfig).type;\n }\n\n if (singleConfig.oneByOne) {\n singleConfig = produceOneByOne(\n singleConfig as IAnimationTypeConfig,\n params?.dataIndex ?? defaultDataIndex,\n params?.dataCount\n );\n }\n return singleConfig;\n });\n }\n\n config[state] = stateConfig;\n }\n\n // 将 update copy 到 state 保证 useState 效果与 update 对齐\n config.state = config.update as IStateAnimationConfig;\n return config;\n}\n\nexport function userAnimationConfig<M extends string, Preset extends string>(\n markName: SeriesMarkNameEnum | string,\n spec: IAnimationSpec<M, Preset>,\n ctx: ISeriesMarkAttributeContext\n) {\n const userConfig = {\n appear: spec.animationAppear?.[markName] ?? spec.animationAppear,\n disappear: spec.animationDisappear?.[markName] ?? spec.animationDisappear,\n enter: spec.animationEnter?.[markName] ?? spec.animationEnter,\n exit: spec.animationExit?.[markName] ?? spec.animationExit,\n update: spec.animationUpdate?.[markName] ?? spec.animationUpdate,\n normal: spec.animationNormal?.[markName]\n };\n return uniformAnimationConfig(userConfig, ctx);\n}\n\n/**\n * oneByOne\n */\nfunction produceOneByOne(\n stateConfig: IAnimationTypeConfig,\n dataIndex: (datum: any) => number,\n dataCount?: () => number\n) {\n const { oneByOne, duration, delay, delayAfter } = stateConfig;\n stateConfig.delay = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelay = isFunction(delay) ? delay(datum, element, params) : isValidNumber(delay) ? delay : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelay;\n }\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelay + index * (durationTime + oneByOneTime);\n };\n stateConfig.delayAfter = (datum: any, element: IElement, params: any) => {\n const index = dataIndex(datum);\n const durationTime = isFunction(duration)\n ? duration(datum, element, params)\n : isValidNumber(duration)\n ? duration\n : 0;\n const userDelayAfter = isFunction(delayAfter)\n ? delayAfter(datum, element, params)\n : isValidNumber(delayAfter)\n ? delayAfter\n : 0;\n let oneByOneTime = isFunction(oneByOne) ? oneByOne(datum, element, params) : oneByOne;\n if (oneByOneTime === false) {\n return userDelayAfter;\n }\n const indexCount = dataCount ? dataCount() : element.mark.elements.length;\n oneByOneTime = oneByOneTime === true ? 0 : oneByOneTime;\n return userDelayAfter + (indexCount - index) * (durationTime + oneByOneTime);\n };\n delete stateConfig.oneByOne;\n return stateConfig;\n}\n\nfunction defaultDataIndex(datum: any) {\n return datum?.[DEFAULT_DATA_INDEX];\n}\n\nexport function shouldMarkDoMorph(spec: ISeriesSpec & IAnimationSpec<string, string>, markName: string) {\n if (spec.animation === false) {\n return false;\n }\n\n if (spec.morph?.enable === false) {\n return false;\n }\n\n const appearAnimationEnabled = (spec.animationAppear?.[markName] ?? spec.animationAppear) !== false;\n const updateAnimationEnabled = (spec.animationUpdate?.[markName] ?? spec.animationUpdate) !== false;\n\n if (!appearAnimationEnabled || !updateAnimationEnabled) {\n return false;\n }\n\n return true;\n}\n\nexport function isTimeLineAnimation(animationConfig: IAnimationConfig) {\n return isValid((animationConfig as IAnimationTimeline).timeSlices);\n}\n\nexport function isChannelAnimation(animationConfig: IAnimationConfig) {\n return !isTimeLineAnimation(animationConfig) && isValid((animationConfig as IAnimationTypeConfig).channel);\n}\n\nexport function uniformAnimationConfig<Preset extends string>(\n config: Partial<Record<IAnimationState, boolean | IStateAnimateSpec<Preset> | IAnimationConfig | IAnimationConfig[]>>,\n ctx: ISeriesMarkAttributeContext\n) {\n if (!config) {\n return config;\n }\n config = cloneDeep(config);\n traverseSpec(config, (node: any) => {\n // 将函数转换为 vchart 代理的函数\n // 这里可能会传自定义动画的构造函数,不能被代理\n if (isFunction(node) && node.prototype?.constructor !== node) {\n const name = (...args: any) => {\n return node(...args, ctx);\n };\n return name;\n }\n return node;\n });\n\n return config;\n}\n\nfunction traverseSpec(spec: any, transform: (node: any, key: string | number) => any) {\n if (isArray(spec)) {\n spec.forEach((i: any, index: number) => {\n spec[index] = transform(spec[index], index);\n traverseSpec(spec[index], transform);\n });\n } else if (isObject(spec)) {\n for (const key in spec) {\n spec[key] = transform(spec[key], key);\n traverseSpec(spec[key], transform);\n }\n }\n}\n\nexport function isAnimationEnabledForSeries(series: ISeries) {\n return series.getSpec().animation !== false && isValid(series.getRegion().animate);\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare class Bar3dChart extends
|
|
1
|
+
import { BarChart } from './bar';
|
|
2
|
+
export declare class Bar3dChart extends BarChart {
|
|
3
3
|
static readonly type: string;
|
|
4
4
|
static readonly view: string;
|
|
5
5
|
readonly type: string;
|
package/cjs/chart/bar/bar-3d.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerBar3dChart = exports.Bar3dChart = void 0;
|
|
6
6
|
|
|
7
|
-
const bar_3d_1 = require("../../series/bar/bar-3d"), type_1 = require("../../series/interface/type"),
|
|
7
|
+
const bar_3d_1 = require("../../series/bar/bar-3d"), type_1 = require("../../series/interface/type"), type_2 = require("../interface/type"), factory_1 = require("../../core/factory"), bar_1 = require("./bar");
|
|
8
8
|
|
|
9
|
-
class Bar3dChart extends
|
|
9
|
+
class Bar3dChart extends bar_1.BarChart {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.type = type_2.ChartTypeEnum.bar3d, this.seriesType = type_1.SeriesTypeEnum.bar3d;
|
|
12
12
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/chart/bar/bar-3d.ts"],"names":[],"mappings":";;;AAAA,oDAA8D;AAC9D,sDAA6D;
|
|
1
|
+
{"version":3,"sources":["../src/chart/bar/bar-3d.ts"],"names":[],"mappings":";;;AAAA,oDAA8D;AAC9D,sDAA6D;AAE7D,4CAAkD;AAElD,gDAA6C;AAC7C,+BAAiC;AAEjC,MAAa,UAAW,SAAQ,cAAQ;IAAxC;;QAGW,SAAI,GAAW,oBAAa,CAAC,KAAK,CAAC;QACnC,eAAU,GAAW,qBAAc,CAAC,KAAK,CAAC;IAWrD,CAAC;IATW,qBAAqB,CAAC,IAAS;QACvC,uCACK,KAAK,CAAC,qBAAqB,CAAC,IAAI,CAAC,KACpC,QAAQ,EAAoB,IAAK,CAAC,QAAQ,EAC1C,WAAW,EAAoB,IAAK,CAAC,WAAW,EAChD,WAAW,EAAoB,IAAK,CAAC,WAAW,EAChD,aAAa,EAAoB,IAAK,CAAC,aAAa,IACpD;IACJ,CAAC;;AAdH,gCAeC;AAdiB,eAAI,GAAW,oBAAa,CAAC,KAAK,CAAC;AACnC,eAAI,GAAW,eAAe,CAAC;AAe1C,MAAM,kBAAkB,GAAG,GAAG,EAAE;IACrC,IAAA,4BAAmB,GAAE,CAAC;IACtB,iBAAO,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC,CAAC;AAHW,QAAA,kBAAkB,sBAG7B","file":"bar-3d.js","sourcesContent":["import { registerBar3dSeries } from '../../series/bar/bar-3d';\nimport { SeriesTypeEnum } from '../../series/interface/type';\nimport { CartesianChart } from '../cartesian/cartesian';\nimport { ChartTypeEnum } from '../interface/type';\nimport type { IBar3dChartSpec } from './interface';\nimport { Factory } from '../../core/factory';\nimport { BarChart } from './bar';\n\nexport class Bar3dChart extends BarChart {\n static readonly type: string = ChartTypeEnum.bar3d;\n static readonly view: string = 'singleDefault';\n readonly type: string = ChartTypeEnum.bar3d;\n readonly seriesType: string = SeriesTypeEnum.bar3d;\n\n protected _getDefaultSeriesSpec(spec: any): any {\n return {\n ...super._getDefaultSeriesSpec(spec),\n barWidth: (<IBar3dChartSpec>spec).barWidth,\n barMaxWidth: (<IBar3dChartSpec>spec).barMaxWidth,\n barMinWidth: (<IBar3dChartSpec>spec).barMinWidth,\n barGapInGroup: (<IBar3dChartSpec>spec).barGapInGroup\n };\n }\n}\n\nexport const registerBar3dChart = () => {\n registerBar3dSeries();\n Factory.registerChart(Bar3dChart.type, Bar3dChart);\n};\n"]}
|
|
@@ -109,7 +109,7 @@ export declare class BaseChart extends CompilableBase implements IChart {
|
|
|
109
109
|
updateGlobalScaleDomain(): void;
|
|
110
110
|
updateGlobalScale(result: IUpdateSpecResult): void;
|
|
111
111
|
updateGlobalScaleTheme(): void;
|
|
112
|
-
updateSpec(spec: any
|
|
112
|
+
updateSpec(spec: any): {
|
|
113
113
|
change: boolean;
|
|
114
114
|
reMake: boolean;
|
|
115
115
|
reRender: boolean;
|
|
@@ -125,10 +125,7 @@ export declare class BaseChart extends CompilableBase implements IChart {
|
|
|
125
125
|
protected isValidSeries(seriesType: string): boolean;
|
|
126
126
|
protected _getDefaultSeriesSpec(spec: any): any;
|
|
127
127
|
private _updateLayoutRect;
|
|
128
|
-
setCurrentTheme(
|
|
129
|
-
protected setRegionTheme(reInit?: boolean): void;
|
|
130
|
-
protected setComponentTheme(reInit?: boolean): void;
|
|
131
|
-
protected setSeriesTheme(reInit?: boolean): void;
|
|
128
|
+
setCurrentTheme(): void;
|
|
132
129
|
clear(): void;
|
|
133
130
|
compile(): void;
|
|
134
131
|
afterCompile(): void;
|
package/cjs/chart/base-chart.js
CHANGED
|
@@ -1,31 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
|
|
4
|
-
return new (P || (P = Promise))((function(resolve, reject) {
|
|
5
|
-
function fulfilled(value) {
|
|
6
|
-
try {
|
|
7
|
-
step(generator.next(value));
|
|
8
|
-
} catch (e) {
|
|
9
|
-
reject(e);
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
function rejected(value) {
|
|
13
|
-
try {
|
|
14
|
-
step(generator.throw(value));
|
|
15
|
-
} catch (e) {
|
|
16
|
-
reject(e);
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function step(result) {
|
|
20
|
-
var value;
|
|
21
|
-
result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
|
|
22
|
-
resolve(value);
|
|
23
|
-
}))).then(fulfilled, rejected);
|
|
24
|
-
}
|
|
25
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
26
|
-
}));
|
|
27
|
-
};
|
|
28
|
-
|
|
29
3
|
Object.defineProperty(exports, "__esModule", {
|
|
30
4
|
value: !0
|
|
31
5
|
}), exports.BaseChart = void 0;
|
|
@@ -188,6 +162,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
|
|
|
188
162
|
util_1.isValid)(spec.regionIndex) && (region = this.getRegionsInIndex([ spec.regionIndex ])[0]),
|
|
189
163
|
region || (region = this._regions[0]), !region) return;
|
|
190
164
|
const series = factory_1.Factory.createSeries(spec.type, spec, Object.assign(Object.assign({}, this._modelOption), {
|
|
165
|
+
type: spec.type,
|
|
191
166
|
region: region,
|
|
192
167
|
specIndex: index,
|
|
193
168
|
globalScale: this._globalScale,
|
|
@@ -201,6 +176,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
|
|
|
201
176
|
}
|
|
202
177
|
_createComponent(Component, spec) {
|
|
203
178
|
const component = Component.createComponent(spec, Object.assign(Object.assign({}, this._modelOption), {
|
|
179
|
+
type: Component.type,
|
|
204
180
|
getAllRegions: this.getAllRegions,
|
|
205
181
|
getRegionsInIndex: this.getRegionsInIndex,
|
|
206
182
|
getRegionsInIds: this.getRegionsInIds,
|
|
@@ -393,7 +369,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
|
|
|
393
369
|
colorSpec.rangeTheme && (colorSpec.range = (0, util_2.getDataScheme)(colorScheme),
|
|
394
370
|
this._globalScale.getScale("color").range(colorSpec.range));
|
|
395
371
|
}
|
|
396
|
-
updateSpec(spec
|
|
372
|
+
updateSpec(spec) {
|
|
397
373
|
const result = {
|
|
398
374
|
change: !1,
|
|
399
375
|
reMake: !1,
|
|
@@ -401,7 +377,7 @@ class BaseChart extends compilable_base_1.CompilableBase {
|
|
|
401
377
|
reSize: !1,
|
|
402
378
|
reCompile: !1
|
|
403
379
|
};
|
|
404
|
-
if (this.setLayoutTag(!0,
|
|
380
|
+
if (this.setLayoutTag(!0, null, !1), spec.type !== this.type) return result.reMake = !0,
|
|
405
381
|
result;
|
|
406
382
|
this.transformSpec(spec);
|
|
407
383
|
const currentKeys = Object.keys(this._spec).sort(), nextKeys = Object.keys(spec).sort();
|
|
@@ -502,27 +478,13 @@ class BaseChart extends compilable_base_1.CompilableBase {
|
|
|
502
478
|
this._layoutRect.height = viewRect.height - this.padding.top - this.padding.bottom,
|
|
503
479
|
this._layoutRect.x = this.padding.left, this._layoutRect.y = this.padding.top, this._event.emit(constant_1.ChartEvent.layoutRectUpdate, {});
|
|
504
480
|
}
|
|
505
|
-
setCurrentTheme(
|
|
481
|
+
setCurrentTheme() {
|
|
506
482
|
this.updateChartConfig({
|
|
507
483
|
change: !0,
|
|
508
484
|
reMake: !1
|
|
509
|
-
}, this._spec), this.setLayoutTag(!0), this.transformSpec(this._spec),
|
|
510
|
-
this.
|
|
511
|
-
|
|
512
|
-
setRegionTheme(reInit = !0) {
|
|
513
|
-
this._regions.forEach((r => __awaiter(this, void 0, void 0, (function*() {
|
|
514
|
-
yield r.setCurrentTheme(reInit);
|
|
515
|
-
}))));
|
|
516
|
-
}
|
|
517
|
-
setComponentTheme(reInit = !0) {
|
|
518
|
-
this._components.forEach((c => __awaiter(this, void 0, void 0, (function*() {
|
|
519
|
-
yield c.setCurrentTheme(reInit);
|
|
520
|
-
}))));
|
|
521
|
-
}
|
|
522
|
-
setSeriesTheme(reInit = !0) {
|
|
523
|
-
this._series.forEach((s => __awaiter(this, void 0, void 0, (function*() {
|
|
524
|
-
yield s.setCurrentTheme(reInit);
|
|
525
|
-
}))));
|
|
485
|
+
}, this._spec), this.setLayoutTag(!0, null, !1), this.transformSpec(this._spec),
|
|
486
|
+
this.updateGlobalScaleTheme(), this._regions.forEach((r => r.setCurrentTheme())),
|
|
487
|
+
this._components.forEach((c => c.setCurrentTheme())), this._series.forEach((s => s.setCurrentTheme()));
|
|
526
488
|
}
|
|
527
489
|
clear() {
|
|
528
490
|
this.getAllModels().forEach((i => {
|