@visactor/vchart 1.2.0-beta.6 → 1.2.0-beta.7
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/animation/animate-manager.d.ts +12 -0
- package/build/es5/animation/config.d.ts +25 -0
- package/build/es5/animation/interface.d.ts +29 -0
- package/build/es5/animation/spec.d.ts +24 -0
- package/build/es5/animation/utils.d.ts +19 -0
- package/build/es5/chart/area/area.d.ts +10 -0
- package/build/es5/chart/area/index.d.ts +2 -0
- package/build/es5/chart/area/interface.d.ts +7 -0
- package/build/es5/chart/bar/bar-3d.d.ts +8 -0
- package/build/es5/chart/bar/bar.d.ts +9 -0
- package/build/es5/chart/bar/index.d.ts +3 -0
- package/build/es5/chart/bar/interface.d.ts +11 -0
- package/build/es5/chart/base-chart.d.ts +146 -0
- package/build/es5/chart/box-plot/box-plot.d.ts +10 -0
- package/build/es5/chart/box-plot/index.d.ts +2 -0
- package/build/es5/chart/box-plot/interface.d.ts +7 -0
- package/build/es5/chart/cartesian/cartesian.d.ts +8 -0
- package/build/es5/chart/cartesian/index.d.ts +2 -0
- package/build/es5/chart/cartesian/interface.d.ts +15 -0
- package/build/es5/chart/circle-packing/circle-packing.d.ts +11 -0
- package/build/es5/chart/circle-packing/index.d.ts +2 -0
- package/build/es5/chart/circle-packing/interface.d.ts +6 -0
- package/build/es5/chart/common/common.d.ts +6 -0
- package/build/es5/chart/common/index.d.ts +2 -0
- package/build/es5/chart/common/interface.d.ts +40 -0
- package/build/es5/chart/funnel/base.d.ts +9 -0
- package/build/es5/chart/funnel/funnel-3d.d.ts +7 -0
- package/build/es5/chart/funnel/funnel.d.ts +7 -0
- package/build/es5/chart/funnel/index.d.ts +3 -0
- package/build/es5/chart/funnel/interface.d.ts +9 -0
- package/build/es5/chart/gauge/gauge.d.ts +11 -0
- package/build/es5/chart/gauge/index.d.ts +2 -0
- package/build/es5/chart/gauge/interface.d.ts +10 -0
- package/build/es5/chart/heatmap/heatmap.d.ts +8 -0
- package/build/es5/chart/heatmap/index.d.ts +2 -0
- package/build/es5/chart/heatmap/interface.d.ts +7 -0
- package/build/es5/chart/histogram/base.d.ts +5 -0
- package/build/es5/chart/histogram/histogram-3d.d.ts +7 -0
- package/build/es5/chart/histogram/histogram.d.ts +8 -0
- package/build/es5/chart/histogram/index.d.ts +3 -0
- package/build/es5/chart/histogram/interface.d.ts +9 -0
- package/build/es5/chart/index.d.ts +57 -0
- package/build/es5/chart/interface/chart.d.ts +81 -0
- package/build/es5/chart/interface/common.d.ts +32 -0
- package/build/es5/chart/interface/index.d.ts +3 -0
- package/build/es5/chart/interface/type.d.ts +34 -0
- package/build/es5/chart/line/index.d.ts +2 -0
- package/build/es5/chart/line/interface.d.ts +7 -0
- package/build/es5/chart/line/line.d.ts +10 -0
- package/build/es5/chart/map/index.d.ts +2 -0
- package/build/es5/chart/map/interface.d.ts +6 -0
- package/build/es5/chart/map/map.d.ts +12 -0
- package/build/es5/chart/pie/base.d.ts +5 -0
- package/build/es5/chart/pie/index.d.ts +3 -0
- package/build/es5/chart/pie/interface.d.ts +11 -0
- package/build/es5/chart/pie/pie-3d.d.ts +8 -0
- package/build/es5/chart/pie/pie.d.ts +7 -0
- package/build/es5/chart/polar/index.d.ts +4 -0
- package/build/es5/chart/polar/interface.d.ts +7 -0
- package/build/es5/chart/polar/polar.d.ts +9 -0
- package/build/es5/chart/polar/progress-like.d.ts +7 -0
- package/build/es5/chart/polar/rose-like.d.ts +6 -0
- package/build/es5/chart/progress/circular/circular.d.ts +9 -0
- package/build/es5/chart/progress/circular/index.d.ts +2 -0
- package/build/es5/chart/progress/circular/interface.d.ts +7 -0
- package/build/es5/chart/progress/interface.d.ts +8 -0
- package/build/es5/chart/progress/linear/index.d.ts +2 -0
- package/build/es5/chart/progress/linear/interface.d.ts +9 -0
- package/build/es5/chart/progress/linear/linear.d.ts +11 -0
- package/build/es5/chart/radar/index.d.ts +2 -0
- package/build/es5/chart/radar/interface.d.ts +7 -0
- package/build/es5/chart/radar/radar.d.ts +9 -0
- package/build/es5/chart/range-area/index.d.ts +2 -0
- package/build/es5/chart/range-area/interface.d.ts +7 -0
- package/build/es5/chart/range-area/range-area.d.ts +9 -0
- package/build/es5/chart/range-column/index.d.ts +3 -0
- package/build/es5/chart/range-column/interface.d.ts +11 -0
- package/build/es5/chart/range-column/range-column-3d.d.ts +8 -0
- package/build/es5/chart/range-column/range-column.d.ts +9 -0
- package/build/es5/chart/rose/index.d.ts +2 -0
- package/build/es5/chart/rose/interface.d.ts +7 -0
- package/build/es5/chart/rose/rose.d.ts +9 -0
- package/build/es5/chart/sankey/index.d.ts +2 -0
- package/build/es5/chart/sankey/interface.d.ts +6 -0
- package/build/es5/chart/sankey/sankey.d.ts +10 -0
- package/build/es5/chart/scatter/index.d.ts +2 -0
- package/build/es5/chart/scatter/interface.d.ts +7 -0
- package/build/es5/chart/scatter/scatter.d.ts +9 -0
- package/build/es5/chart/sequence/index.d.ts +2 -0
- package/build/es5/chart/sequence/interface.d.ts +24 -0
- package/build/es5/chart/sequence/sequence.d.ts +9 -0
- package/build/es5/chart/stack.d.ts +14 -0
- package/build/es5/chart/sunburst/index.d.ts +2 -0
- package/build/es5/chart/sunburst/interface.d.ts +6 -0
- package/build/es5/chart/sunburst/sunburst.d.ts +11 -0
- package/build/es5/chart/treemap/index.d.ts +2 -0
- package/build/es5/chart/treemap/interface.d.ts +6 -0
- package/build/es5/chart/treemap/treemap.d.ts +10 -0
- package/build/es5/chart/util.d.ts +2 -0
- package/build/es5/chart/waterfall/index.d.ts +2 -0
- package/build/es5/chart/waterfall/interface.d.ts +7 -0
- package/build/es5/chart/waterfall/waterfall.d.ts +10 -0
- package/build/es5/chart/word-cloud/base.d.ts +6 -0
- package/build/es5/chart/word-cloud/index.d.ts +3 -0
- package/build/es5/chart/word-cloud/interface.d.ts +10 -0
- package/build/es5/chart/word-cloud/word-cloud-3d.d.ts +9 -0
- package/build/es5/chart/word-cloud/word-cloud.d.ts +9 -0
- package/build/es5/compile/compilable-base.d.ts +11 -0
- package/build/es5/compile/compiler.d.ts +56 -0
- package/build/es5/compile/data/compilable-data.d.ts +23 -0
- package/build/es5/compile/data/index.d.ts +2 -0
- package/build/es5/compile/data/interface.d.ts +8 -0
- package/build/es5/compile/grammar-item.d.ts +24 -0
- package/build/es5/compile/interface/compilable-item.d.ts +35 -0
- package/build/es5/compile/interface/compiler.d.ts +49 -0
- package/build/es5/compile/interface/index.d.ts +2 -0
- package/build/es5/compile/mark/compilable-mark.d.ts +104 -0
- package/build/es5/compile/mark/index.d.ts +3 -0
- package/build/es5/compile/mark/interface.d.ts +149 -0
- package/build/es5/compile/mark/mark-data.d.ts +9 -0
- package/build/es5/compile/mark/mark-state-manager.d.ts +26 -0
- package/build/es5/compile/mark/util.d.ts +6 -0
- package/build/es5/compile/signal/compilable-signal.d.ts +21 -0
- package/build/es5/compile/signal/index.d.ts +4 -0
- package/build/es5/compile/signal/interface.d.ts +12 -0
- package/build/es5/compile/signal/signal-manager.d.ts +11 -0
- package/build/es5/compile/signal/state-manager.d.ts +12 -0
- package/build/es5/compile/util.d.ts +2 -0
- package/build/es5/component/axis/base-axis.d.ts +155 -0
- package/build/es5/component/axis/cartesian/axis.d.ts +96 -0
- package/build/es5/component/axis/cartesian/band-axis.d.ts +39 -0
- package/build/es5/component/axis/cartesian/config.d.ts +2 -0
- package/build/es5/component/axis/cartesian/index.d.ts +6 -0
- package/build/es5/component/axis/cartesian/interface/common.d.ts +50 -0
- package/build/es5/component/axis/cartesian/interface/index.d.ts +3 -0
- package/build/es5/component/axis/cartesian/interface/spec.d.ts +36 -0
- package/build/es5/component/axis/cartesian/interface/theme.d.ts +21 -0
- package/build/es5/component/axis/cartesian/linear-axis.d.ts +27 -0
- package/build/es5/component/axis/cartesian/log-axis.d.ts +15 -0
- package/build/es5/component/axis/cartesian/time-axis.d.ts +20 -0
- package/build/es5/component/axis/cartesian/util/common.d.ts +10 -0
- package/build/es5/component/axis/cartesian/util/index.d.ts +2 -0
- package/build/es5/component/axis/cartesian/util/time.d.ts +80 -0
- package/build/es5/component/axis/index.d.ts +3 -0
- package/build/es5/component/axis/interface.d.ts +126 -0
- package/build/es5/component/axis/mixin/band-axis-mixin.d.ts +37 -0
- package/build/es5/component/axis/mixin/linear-axis-mixin.d.ts +59 -0
- package/build/es5/component/axis/polar/axis.d.ts +80 -0
- package/build/es5/component/axis/polar/band-axis.d.ts +31 -0
- package/build/es5/component/axis/polar/config.d.ts +2 -0
- package/build/es5/component/axis/polar/index.d.ts +4 -0
- package/build/es5/component/axis/polar/interface/common.d.ts +31 -0
- package/build/es5/component/axis/polar/interface/index.d.ts +4 -0
- package/build/es5/component/axis/polar/interface/spec.d.ts +16 -0
- package/build/es5/component/axis/polar/interface/theme.d.ts +11 -0
- package/build/es5/component/axis/polar/linear-axis.d.ts +23 -0
- package/build/es5/component/axis/utils.d.ts +28 -0
- package/build/es5/component/base/base-component.d.ts +34 -0
- package/build/es5/component/base/index.d.ts +1 -0
- package/build/es5/component/base/util.d.ts +3 -0
- package/build/es5/component/brush/brush.d.ts +66 -0
- package/build/es5/component/brush/index.d.ts +2 -0
- package/build/es5/component/brush/interface.d.ts +47 -0
- package/build/es5/component/common/trigger/config.d.ts +52 -0
- package/build/es5/component/common/trigger/desktop.d.ts +9 -0
- package/build/es5/component/common/trigger/interface.d.ts +8 -0
- package/build/es5/component/common/trigger/mobile.d.ts +10 -0
- package/build/es5/component/crosshair/base.d.ts +77 -0
- package/build/es5/component/crosshair/cartesian.d.ts +65 -0
- package/build/es5/component/crosshair/config.d.ts +32 -0
- package/build/es5/component/crosshair/index.d.ts +3 -0
- package/build/es5/component/crosshair/interface/index.d.ts +2 -0
- package/build/es5/component/crosshair/interface/spec.d.ts +70 -0
- package/build/es5/component/crosshair/interface/theme.d.ts +7 -0
- package/build/es5/component/crosshair/polar.d.ts +76 -0
- package/build/es5/component/crosshair/util.d.ts +5 -0
- package/build/es5/component/custom-mark/custom-mark.d.ts +30 -0
- package/build/es5/component/custom-mark/index.d.ts +1 -0
- package/build/es5/component/data-zoom/data-filter-base-component.d.ts +89 -0
- package/build/es5/component/data-zoom/data-zoom/data-zoom.d.ts +62 -0
- package/build/es5/component/data-zoom/data-zoom/index.d.ts +2 -0
- package/build/es5/component/data-zoom/data-zoom/interface.d.ts +55 -0
- package/build/es5/component/data-zoom/index.d.ts +2 -0
- package/build/es5/component/data-zoom/interface.d.ts +25 -0
- package/build/es5/component/data-zoom/scroll-bar/index.d.ts +2 -0
- package/build/es5/component/data-zoom/scroll-bar/interface.d.ts +20 -0
- package/build/es5/component/data-zoom/scroll-bar/scroll-bar.d.ts +23 -0
- package/build/es5/component/data-zoom/util.d.ts +19 -0
- package/build/es5/component/geo/geo-coordinate.d.ts +53 -0
- package/build/es5/component/geo/index.d.ts +2 -0
- package/build/es5/component/geo/interface.d.ts +27 -0
- package/build/es5/component/geo/projection.d.ts +16 -0
- package/build/es5/component/index.d.ts +39 -0
- package/build/es5/component/indicator/index.d.ts +2 -0
- package/build/es5/component/indicator/indicator.d.ts +38 -0
- package/build/es5/component/indicator/interface.d.ts +31 -0
- package/build/es5/component/indicator/util.d.ts +13 -0
- package/build/es5/component/interface/common.d.ts +34 -0
- package/build/es5/component/interface/index.d.ts +4 -0
- package/build/es5/component/interface/theme.d.ts +40 -0
- package/build/es5/component/interface/tooltip-helper.d.ts +5 -0
- package/build/es5/component/interface/type.d.ts +33 -0
- package/build/es5/component/label/bar.d.ts +9 -0
- package/build/es5/component/label/index.d.ts +2 -0
- package/build/es5/component/label/interface.d.ts +21 -0
- package/build/es5/component/label/label.d.ts +62 -0
- package/build/es5/component/label/symbol.d.ts +9 -0
- package/build/es5/component/label/util.d.ts +9 -0
- package/build/es5/component/legend/base-legend.d.ts +59 -0
- package/build/es5/component/legend/continuous/index.d.ts +2 -0
- package/build/es5/component/legend/continuous/interface.d.ts +58 -0
- package/build/es5/component/legend/continuous/legend.d.ts +27 -0
- package/build/es5/component/legend/continuous/util.d.ts +8 -0
- package/build/es5/component/legend/discrete/index.d.ts +2 -0
- package/build/es5/component/legend/discrete/interface.d.ts +59 -0
- package/build/es5/component/legend/discrete/legend.d.ts +26 -0
- package/build/es5/component/legend/discrete/util.d.ts +3 -0
- package/build/es5/component/legend/index.d.ts +3 -0
- package/build/es5/component/legend/interface.d.ts +39 -0
- package/build/es5/component/legend/util.d.ts +26 -0
- package/build/es5/component/map-label/component.d.ts +52 -0
- package/build/es5/component/map-label/index.d.ts +2 -0
- package/build/es5/component/map-label/interface.d.ts +40 -0
- package/build/es5/component/map-label/layout.d.ts +23 -0
- package/build/es5/component/marker/base-marker.d.ts +46 -0
- package/build/es5/component/marker/interface.d.ts +59 -0
- package/build/es5/component/marker/mark-area/index.d.ts +2 -0
- package/build/es5/component/marker/mark-area/interface/index.d.ts +2 -0
- package/build/es5/component/marker/mark-area/interface/spec.d.ts +26 -0
- package/build/es5/component/marker/mark-area/interface/theme.d.ts +11 -0
- package/build/es5/component/marker/mark-area/mark-area.d.ts +20 -0
- package/build/es5/component/marker/mark-line/index.d.ts +2 -0
- package/build/es5/component/marker/mark-line/interface/index.d.ts +2 -0
- package/build/es5/component/marker/mark-line/interface/spec.d.ts +29 -0
- package/build/es5/component/marker/mark-line/interface/theme.d.ts +13 -0
- package/build/es5/component/marker/mark-line/mark-line.d.ts +20 -0
- package/build/es5/component/marker/mark-point/index.d.ts +2 -0
- package/build/es5/component/marker/mark-point/interface/index.d.ts +2 -0
- package/build/es5/component/marker/mark-point/interface/spec.d.ts +14 -0
- package/build/es5/component/marker/mark-point/interface/theme.d.ts +37 -0
- package/build/es5/component/marker/mark-point/mark-point.d.ts +20 -0
- package/build/es5/component/marker/utils.d.ts +6 -0
- package/build/es5/component/player/index.d.ts +2 -0
- package/build/es5/component/player/interface/index.d.ts +2 -0
- package/build/es5/component/player/interface/spec.d.ts +18 -0
- package/build/es5/component/player/interface/theme.d.ts +32 -0
- package/build/es5/component/player/player.d.ts +53 -0
- package/build/es5/component/player/utils/index.d.ts +1 -0
- package/build/es5/component/player/utils/orient.d.ts +3 -0
- package/build/es5/component/player/utils/transform.d.ts +4 -0
- package/build/es5/component/title/index.d.ts +2 -0
- package/build/es5/component/title/interface/index.d.ts +2 -0
- package/build/es5/component/title/interface/spec.d.ts +45 -0
- package/build/es5/component/title/interface/theme.d.ts +19 -0
- package/build/es5/component/title/title.d.ts +47 -0
- package/build/es5/component/title/utils.d.ts +2 -0
- package/build/es5/component/tooltip/handler/base.d.ts +52 -0
- package/build/es5/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +19 -0
- package/build/es5/component/tooltip/handler/canvas/index.d.ts +1 -0
- package/build/es5/component/tooltip/handler/constants.d.ts +17 -0
- package/build/es5/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +25 -0
- package/build/es5/component/tooltip/handler/dom/index.d.ts +1 -0
- package/build/es5/component/tooltip/handler/dom/interface.d.ts +61 -0
- package/build/es5/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +25 -0
- package/build/es5/component/tooltip/handler/dom/model/content-column-model.d.ts +25 -0
- package/build/es5/component/tooltip/handler/dom/model/content-model.d.ts +15 -0
- package/build/es5/component/tooltip/handler/dom/model/interface.d.ts +9 -0
- package/build/es5/component/tooltip/handler/dom/model/shape-model.d.ts +20 -0
- package/build/es5/component/tooltip/handler/dom/model/style-constants.d.ts +8 -0
- package/build/es5/component/tooltip/handler/dom/model/text-model.d.ts +5 -0
- package/build/es5/component/tooltip/handler/dom/model/title-model.d.ts +15 -0
- package/build/es5/component/tooltip/handler/dom/model/tooltip-model.d.ts +21 -0
- package/build/es5/component/tooltip/handler/dom/util.d.ts +6 -0
- package/build/es5/component/tooltip/handler/index.d.ts +2 -0
- package/build/es5/component/tooltip/handler/interface/index.d.ts +1 -0
- package/build/es5/component/tooltip/handler/interface/style.d.ts +27 -0
- package/build/es5/component/tooltip/handler/utils/attribute.d.ts +11 -0
- package/build/es5/component/tooltip/handler/utils/common.d.ts +10 -0
- package/build/es5/component/tooltip/handler/utils/compose.d.ts +5 -0
- package/build/es5/component/tooltip/handler/utils/get-spec.d.ts +5 -0
- package/build/es5/component/tooltip/handler/utils/index.d.ts +7 -0
- package/build/es5/component/tooltip/handler/utils/pattern.d.ts +4 -0
- package/build/es5/component/tooltip/handler/utils/position.d.ts +1 -0
- package/build/es5/component/tooltip/handler/utils/style.d.ts +4 -0
- package/build/es5/component/tooltip/index.d.ts +2 -0
- package/build/es5/component/tooltip/interface/common.d.ts +24 -0
- package/build/es5/component/tooltip/interface/event.d.ts +8 -0
- package/build/es5/component/tooltip/interface/index.d.ts +3 -0
- package/build/es5/component/tooltip/interface/spec.d.ts +28 -0
- package/build/es5/component/tooltip/interface/theme.d.ts +45 -0
- package/build/es5/component/tooltip/processor/base.d.ts +18 -0
- package/build/es5/component/tooltip/processor/dimension-tooltip.d.ts +10 -0
- package/build/es5/component/tooltip/processor/index.d.ts +5 -0
- package/build/es5/component/tooltip/processor/interface.d.ts +16 -0
- package/build/es5/component/tooltip/processor/mark-tooltip.d.ts +10 -0
- package/build/es5/component/tooltip/processor/util.d.ts +4 -0
- package/build/es5/component/tooltip/tooltip.d.ts +57 -0
- package/build/es5/component/tooltip/utils/common.d.ts +5 -0
- package/build/es5/component/tooltip/utils/index.d.ts +2 -0
- package/build/es5/component/tooltip/utils/show-tooltip.d.ts +3 -0
- package/build/es5/constant/base.d.ts +3 -0
- package/build/es5/constant/box-plot.d.ts +10 -0
- package/build/es5/constant/event.d.ts +53 -0
- package/build/es5/constant/funnel.d.ts +14 -0
- package/build/es5/constant/hierarchy.d.ts +3 -0
- package/build/es5/constant/index.d.ts +106 -0
- package/build/es5/constant/label.d.ts +6 -0
- package/build/es5/constant/layout.d.ts +2 -0
- package/build/es5/constant/marker.d.ts +4 -0
- package/build/es5/constant/polar.d.ts +22 -0
- package/build/es5/constant/scatter.d.ts +7 -0
- package/build/es5/constant/scroll-bar.d.ts +1 -0
- package/build/es5/constant/sunburst.d.ts +1 -0
- package/build/es5/constant/waterfall.d.ts +1 -0
- package/build/es5/constant/word-cloud.d.ts +7 -0
- package/build/es5/core/factory.d.ts +39 -0
- package/build/es5/core/index.d.ts +9 -0
- package/build/es5/core/instance-manager.d.ts +10 -0
- package/build/es5/core/interface.d.ts +74 -0
- package/build/es5/core/vchart.d.ts +125 -0
- package/build/es5/data/initialize.d.ts +10 -0
- package/build/es5/data/parser/array.d.ts +2 -0
- package/build/es5/data/parser/scale.d.ts +2 -0
- package/build/es5/data/register.d.ts +3 -0
- package/build/es5/data/transforms/add-property.d.ts +8 -0
- package/build/es5/data/transforms/aggregation.d.ts +28 -0
- package/build/es5/data/transforms/box-plot.d.ts +5 -0
- package/build/es5/data/transforms/circle-packing.d.ts +7 -0
- package/build/es5/data/transforms/copy-data-view.d.ts +5 -0
- package/build/es5/data/transforms/data-key.d.ts +10 -0
- package/build/es5/data/transforms/dimension-data.d.ts +10 -0
- package/build/es5/data/transforms/dimension-statistics.d.ts +41 -0
- package/build/es5/data/transforms/drill.d.ts +14 -0
- package/build/es5/data/transforms/flatten.d.ts +9 -0
- package/build/es5/data/transforms/funnel.d.ts +51 -0
- package/build/es5/data/transforms/hierarchy-dimension-statistics.d.ts +3 -0
- package/build/es5/data/transforms/invalid-travel.d.ts +8 -0
- package/build/es5/data/transforms/legend-data/continuous/continuous.d.ts +4 -0
- package/build/es5/data/transforms/legend-data/continuous/index.d.ts +2 -0
- package/build/es5/data/transforms/legend-data/continuous/interface.d.ts +13 -0
- package/build/es5/data/transforms/legend-data/discrete/discrete.d.ts +4 -0
- package/build/es5/data/transforms/legend-data/discrete/index.d.ts +2 -0
- package/build/es5/data/transforms/legend-data/discrete/interface.d.ts +15 -0
- package/build/es5/data/transforms/lookup.d.ts +12 -0
- package/build/es5/data/transforms/map.d.ts +7 -0
- package/build/es5/data/transforms/obj-flat.d.ts +2 -0
- package/build/es5/data/transforms/pie.d.ts +16 -0
- package/build/es5/data/transforms/regression.d.ts +6 -0
- package/build/es5/data/transforms/sankey-links.d.ts +2 -0
- package/build/es5/data/transforms/sankey-nodes.d.ts +2 -0
- package/build/es5/data/transforms/sankey.d.ts +21 -0
- package/build/es5/data/transforms/stack-split.d.ts +6 -0
- package/build/es5/data/transforms/sunburst.d.ts +7 -0
- package/build/es5/data/transforms/tick-data/config.d.ts +1 -0
- package/build/es5/data/transforms/tick-data/continuous.d.ts +3 -0
- package/build/es5/data/transforms/tick-data/discrete/linear.d.ts +3 -0
- package/build/es5/data/transforms/tick-data/discrete/polar-angle.d.ts +3 -0
- package/build/es5/data/transforms/tick-data/index.d.ts +4 -0
- package/build/es5/data/transforms/tick-data/interface.d.ts +28 -0
- package/build/es5/data/transforms/tick-data/util.d.ts +15 -0
- package/build/es5/data/transforms/treemap.d.ts +11 -0
- package/build/es5/data/transforms/waterfall.d.ts +25 -0
- package/build/es5/event/bubble.d.ts +15 -0
- package/build/es5/event/event-dispatcher.d.ts +25 -0
- package/build/es5/event/event.d.ts +18 -0
- package/build/es5/event/events/dimension/base.d.ts +19 -0
- package/build/es5/event/events/dimension/dimension-click.d.ts +9 -0
- package/build/es5/event/events/dimension/dimension-hover.d.ts +10 -0
- package/build/es5/event/events/dimension/index.d.ts +3 -0
- package/build/es5/event/events/dimension/interface.d.ts +22 -0
- package/build/es5/event/events/dimension/util/cartesian.d.ts +8 -0
- package/build/es5/event/events/dimension/util/common.d.ts +8 -0
- package/build/es5/event/events/dimension/util/index.d.ts +3 -0
- package/build/es5/event/events/dimension/util/polar.d.ts +4 -0
- package/build/es5/event/events/index.d.ts +5 -0
- package/build/es5/event/interface.d.ts +153 -0
- package/build/es5/index.d.ts +10 -0
- package/build/es5/index.js +17 -0
- package/build/es5/interaction/config.d.ts +57 -0
- package/build/es5/interaction/dimension-trigger.d.ts +32 -0
- package/build/es5/interaction/drill/drillable.d.ts +28 -0
- package/build/es5/interaction/drill/index.d.ts +1 -0
- package/build/es5/interaction/interaction.d.ts +20 -0
- package/build/es5/interaction/interface.d.ts +49 -0
- package/build/es5/interaction/trigger.d.ts +38 -0
- package/build/es5/interaction/zoom/index.d.ts +1 -0
- package/build/es5/interaction/zoom/zoomable.d.ts +72 -0
- package/build/es5/layout/base-layout.d.ts +28 -0
- package/build/es5/layout/grid-layout/grid-layout.d.ts +50 -0
- package/build/es5/layout/index.d.ts +6 -0
- package/build/es5/layout/interface.d.ts +45 -0
- package/build/es5/layout/label/arc-label.d.ts +42 -0
- package/build/es5/layout/layout3d/index.d.ts +23 -0
- package/build/es5/mark/arc-3d.d.ts +9 -0
- package/build/es5/mark/arc.d.ts +20 -0
- package/build/es5/mark/area.d.ts +11 -0
- package/build/es5/mark/base/base-line.d.ts +8 -0
- package/build/es5/mark/base/base-mark.d.ts +38 -0
- package/build/es5/mark/base/index.d.ts +2 -0
- package/build/es5/mark/box-plot.d.ts +12 -0
- package/build/es5/mark/cell.d.ts +10 -0
- package/build/es5/mark/component.d.ts +14 -0
- package/build/es5/mark/group.d.ts +31 -0
- package/build/es5/mark/image.d.ts +10 -0
- package/build/es5/mark/index.d.ts +21 -0
- package/build/es5/mark/interface/common.d.ts +67 -0
- package/build/es5/mark/interface/index.d.ts +2 -0
- package/build/es5/mark/interface/type.d.ts +22 -0
- package/build/es5/mark/line.d.ts +11 -0
- package/build/es5/mark/link-path.d.ts +12 -0
- package/build/es5/mark/mark-set/index.d.ts +21 -0
- package/build/es5/mark/path.d.ts +10 -0
- package/build/es5/mark/polygon/base-polygon.d.ts +6 -0
- package/build/es5/mark/polygon/polygon.d.ts +10 -0
- package/build/es5/mark/polygon/pyramid-3d.d.ts +9 -0
- package/build/es5/mark/progress-arc.d.ts +13 -0
- package/build/es5/mark/rect-3d.d.ts +10 -0
- package/build/es5/mark/rect.d.ts +10 -0
- package/build/es5/mark/rule.d.ts +10 -0
- package/build/es5/mark/symbol.d.ts +12 -0
- package/build/es5/mark/text.d.ts +10 -0
- package/build/es5/mark/utils/common.d.ts +3 -0
- package/build/es5/mark/utils/index.d.ts +1 -0
- package/build/es5/model/base-model.d.ts +85 -0
- package/build/es5/model/interface.d.ts +176 -0
- package/build/es5/model/layout-item.d.ts +54 -0
- package/build/es5/model/model-state-manager.d.ts +9 -0
- package/build/es5/model/tooltip-helper.d.ts +27 -0
- package/build/es5/plugin/chart/interface.d.ts +6 -0
- package/build/es5/plugin/components/axis-label-overlap-plugin.d.ts +10 -0
- package/build/es5/plugin/components/axis-sync-plugin/axis-sync.d.ts +11 -0
- package/build/es5/plugin/components/axis-sync-plugin/index.d.ts +1 -0
- package/build/es5/plugin/components/axis-sync-plugin/tick-align-transform.d.ts +7 -0
- package/build/es5/plugin/components/axis-sync-plugin/zero-align-transform.d.ts +15 -0
- package/build/es5/plugin/components/basic-plugin.d.ts +9 -0
- package/build/es5/plugin/components/index.d.ts +7 -0
- package/build/es5/plugin/components/interface.d.ts +33 -0
- package/build/es5/plugin/components/plugin-service.d.ts +15 -0
- package/build/es5/plugin/interface.d.ts +4 -0
- package/build/es5/plugin/series/interface.d.ts +9 -0
- package/build/es5/region/interface.d.ts +53 -0
- package/build/es5/region/region.d.ts +70 -0
- package/build/es5/scale/color-ordinal-scale.d.ts +8 -0
- package/build/es5/scale/global-scale.d.ts +37 -0
- package/build/es5/scale/interface.d.ts +19 -0
- package/build/es5/series/area/animation.d.ts +7 -0
- package/build/es5/series/area/area.d.ts +21 -0
- package/build/es5/series/area/interface.d.ts +18 -0
- package/build/es5/series/bar/animation.d.ts +12 -0
- package/build/es5/series/bar/bar-3d.d.ts +11 -0
- package/build/es5/series/bar/bar.d.ts +40 -0
- package/build/es5/series/bar/interface.d.ts +34 -0
- package/build/es5/series/base/base-series.d.ts +177 -0
- package/build/es5/series/base/group.d.ts +11 -0
- package/build/es5/series/base/series-data.d.ts +5 -0
- package/build/es5/series/base/tooltip-helper.d.ts +30 -0
- package/build/es5/series/box-plot/box-plot.d.ts +61 -0
- package/build/es5/series/box-plot/interface.d.ts +23 -0
- package/build/es5/series/box-plot/tooltip-helper.d.ts +12 -0
- package/build/es5/series/cartesian/cartesian.d.ts +90 -0
- package/build/es5/series/cartesian/index.d.ts +2 -0
- package/build/es5/series/cartesian/interface.d.ts +14 -0
- package/build/es5/series/circle-packing/animation.d.ts +7 -0
- package/build/es5/series/circle-packing/circle-packing.d.ts +43 -0
- package/build/es5/series/circle-packing/interface.d.ts +21 -0
- package/build/es5/series/circle-packing/tooltip-helper.d.ts +5 -0
- package/build/es5/series/dot/config.d.ts +4 -0
- package/build/es5/series/dot/dot.d.ts +68 -0
- package/build/es5/series/dot/interface.d.ts +40 -0
- package/build/es5/series/dot/tooltip-helper.d.ts +7 -0
- package/build/es5/series/funnel/funnel-3d.d.ts +18 -0
- package/build/es5/series/funnel/funnel.d.ts +100 -0
- package/build/es5/series/funnel/interface.d.ts +61 -0
- package/build/es5/series/funnel/tooltip-helper.d.ts +9 -0
- package/build/es5/series/gauge/gauge-pointer.d.ts +32 -0
- package/build/es5/series/gauge/gauge.d.ts +25 -0
- package/build/es5/series/gauge/index.d.ts +3 -0
- package/build/es5/series/gauge/interface.d.ts +44 -0
- package/build/es5/series/geo/geo.d.ts +52 -0
- package/build/es5/series/geo/interface.d.ts +4 -0
- package/build/es5/series/heatmap/animation.d.ts +3 -0
- package/build/es5/series/heatmap/heatmap.d.ts +43 -0
- package/build/es5/series/heatmap/interface.d.ts +23 -0
- package/build/es5/series/heatmap/tooltip-helper.d.ts +6 -0
- package/build/es5/series/index.d.ts +66 -0
- package/build/es5/series/interface/common.d.ts +120 -0
- package/build/es5/series/interface/index.d.ts +5 -0
- package/build/es5/series/interface/series.d.ts +168 -0
- package/build/es5/series/interface/theme.d.ts +55 -0
- package/build/es5/series/interface/tooltip-helper.d.ts +13 -0
- package/build/es5/series/interface/type.d.ts +34 -0
- package/build/es5/series/line/animation.d.ts +7 -0
- package/build/es5/series/line/interface.d.ts +25 -0
- package/build/es5/series/line/line.d.ts +19 -0
- package/build/es5/series/link/interface.d.ts +25 -0
- package/build/es5/series/link/link.d.ts +50 -0
- package/build/es5/series/link/tooltip-helper.d.ts +6 -0
- package/build/es5/series/map/geo-source.d.ts +20 -0
- package/build/es5/series/map/interface.d.ts +29 -0
- package/build/es5/series/map/map.d.ts +52 -0
- package/build/es5/series/map/tooltip-helper.d.ts +5 -0
- package/build/es5/series/mixin/line-mixin.d.ts +35 -0
- package/build/es5/series/pie/animation/animation.d.ts +23 -0
- package/build/es5/series/pie/animation/centerOffset.d.ts +6 -0
- package/build/es5/series/pie/interface.d.ts +64 -0
- package/build/es5/series/pie/pie-3d.d.ts +16 -0
- package/build/es5/series/pie/pie.d.ts +79 -0
- package/build/es5/series/polar/animation.d.ts +41 -0
- package/build/es5/series/polar/interface.d.ts +21 -0
- package/build/es5/series/polar/polar.d.ts +62 -0
- package/build/es5/series/polar/progress-like/animation.d.ts +6 -0
- package/build/es5/series/polar/progress-like/index.d.ts +3 -0
- package/build/es5/series/polar/progress-like/interface.d.ts +9 -0
- package/build/es5/series/polar/progress-like/progress-like.d.ts +22 -0
- package/build/es5/series/polar/rose-like/index.d.ts +2 -0
- package/build/es5/series/polar/rose-like/interface.d.ts +8 -0
- package/build/es5/series/polar/rose-like/rose-like.d.ts +14 -0
- package/build/es5/series/progress/circular/circular.d.ts +22 -0
- package/build/es5/series/progress/circular/index.d.ts +1 -0
- package/build/es5/series/progress/circular/interface.d.ts +20 -0
- package/build/es5/series/progress/interface.d.ts +7 -0
- package/build/es5/series/progress/linear/animation.d.ts +9 -0
- package/build/es5/series/progress/linear/index.d.ts +1 -0
- package/build/es5/series/progress/linear/interface.d.ts +26 -0
- package/build/es5/series/progress/linear/linear.d.ts +24 -0
- package/build/es5/series/progress/linear/tooltip-helper.d.ts +7 -0
- package/build/es5/series/radar/animation.d.ts +72 -0
- package/build/es5/series/radar/interface.d.ts +20 -0
- package/build/es5/series/radar/radar.d.ts +22 -0
- package/build/es5/series/range-area/interface.d.ts +6 -0
- package/build/es5/series/range-area/range-area.d.ts +11 -0
- package/build/es5/series/range-area/tooltip-helper.d.ts +7 -0
- package/build/es5/series/range-column/animation.d.ts +9 -0
- package/build/es5/series/range-column/interface.d.ts +56 -0
- package/build/es5/series/range-column/range-column-3d.d.ts +10 -0
- package/build/es5/series/range-column/range-column.d.ts +24 -0
- package/build/es5/series/range-column/tooltip-helper.d.ts +6 -0
- package/build/es5/series/rose/animation.d.ts +12 -0
- package/build/es5/series/rose/interface.d.ts +16 -0
- package/build/es5/series/rose/rose.d.ts +24 -0
- package/build/es5/series/sankey/animation.d.ts +12 -0
- package/build/es5/series/sankey/interface.d.ts +106 -0
- package/build/es5/series/sankey/sankey.d.ts +52 -0
- package/build/es5/series/sankey/tooltip-helper.d.ts +7 -0
- package/build/es5/series/scatter/animation.d.ts +7 -0
- package/build/es5/series/scatter/interface.d.ts +25 -0
- package/build/es5/series/scatter/scatter.d.ts +31 -0
- package/build/es5/series/sunburst/animation/enter.d.ts +3 -0
- package/build/es5/series/sunburst/animation/exit.d.ts +3 -0
- package/build/es5/series/sunburst/animation/index.d.ts +5 -0
- package/build/es5/series/sunburst/animation/interface.d.ts +12 -0
- package/build/es5/series/sunburst/animation/preset.d.ts +3 -0
- package/build/es5/series/sunburst/animation/utils.d.ts +3 -0
- package/build/es5/series/sunburst/interface.d.ts +41 -0
- package/build/es5/series/sunburst/sunburst.d.ts +59 -0
- package/build/es5/series/sunburst/tooltip-helper.d.ts +5 -0
- package/build/es5/series/treemap/animation.d.ts +4 -0
- package/build/es5/series/treemap/interface.d.ts +41 -0
- package/build/es5/series/treemap/tooltip-helper.d.ts +5 -0
- package/build/es5/series/treemap/treemap.d.ts +55 -0
- package/build/es5/series/util/label-mark.d.ts +4 -0
- package/build/es5/series/util/utils.d.ts +2 -0
- package/build/es5/series/waterfall/animation.d.ts +4 -0
- package/build/es5/series/waterfall/interface.d.ts +60 -0
- package/build/es5/series/waterfall/waterfall.d.ts +35 -0
- package/build/es5/series/word-cloud/animation.d.ts +6 -0
- package/build/es5/series/word-cloud/base.d.ts +69 -0
- package/build/es5/series/word-cloud/config.d.ts +16 -0
- package/build/es5/series/word-cloud/interface.d.ts +115 -0
- package/build/es5/series/word-cloud/word-cloud-3d.d.ts +11 -0
- package/build/es5/series/word-cloud/word-cloud.d.ts +7 -0
- package/build/es5/theme/buildin-theme/config.d.ts +2 -0
- package/build/es5/theme/buildin-theme/index.d.ts +5 -0
- package/build/es5/theme/buildin-theme/light/color-scheme.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/axis/cartesian-axis.d.ts +3 -0
- package/build/es5/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/axis/log-axis.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/axis/polar-axis.d.ts +3 -0
- package/build/es5/theme/buildin-theme/light/component/brush.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/crosshair.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/data-zoom.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/index.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/indicator.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/map-label.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/mark-area.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/mark-line.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/mark-point.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/player.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/poptip.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/title.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/component/tooltip.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/constants.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/index.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/mark.d.ts +3 -0
- package/build/es5/theme/buildin-theme/light/series/area.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/bar.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/bar3d.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/circle-packing.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/circular-progress.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/dot.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/funnel.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/funnel3d.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/gauge-pointer.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/gauge.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/heatmap.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/index.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/line.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/linear-progress.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/link.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/map.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/pie.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/pie3d.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/radar.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/rangeColumn.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/rose.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/sankey.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/scatter.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/sunburst.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/treemap.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/waterfall.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/word-cloud.d.ts +2 -0
- package/build/es5/theme/buildin-theme/light/series/word-cloud3d.d.ts +2 -0
- package/build/es5/theme/color-scheme/interface.d.ts +29 -0
- package/build/es5/theme/color-scheme/util.d.ts +8 -0
- package/build/es5/theme/index.d.ts +3 -0
- package/build/es5/theme/interface.d.ts +44 -0
- package/build/es5/theme/theme-manager.d.ts +13 -0
- package/build/es5/typings/common.d.ts +7 -0
- package/build/es5/typings/coordinate.d.ts +9 -0
- package/build/es5/typings/cursor.d.ts +1 -0
- package/build/es5/typings/data.d.ts +1 -0
- package/build/es5/typings/geo.d.ts +3 -0
- package/build/es5/typings/index.d.ts +13 -0
- package/build/es5/typings/interpolate.d.ts +5 -0
- package/build/es5/typings/line-stroke.d.ts +3 -0
- package/build/es5/typings/params.d.ts +17 -0
- package/build/es5/typings/scale.d.ts +33 -0
- package/build/es5/typings/shape.d.ts +27 -0
- package/build/es5/typings/space.d.ts +19 -0
- package/build/es5/typings/spec/chart.d.ts +59 -0
- package/build/es5/typings/spec/common.d.ts +250 -0
- package/build/es5/typings/spec/index.d.ts +4 -0
- package/build/es5/typings/tooltip/common.d.ts +8 -0
- package/build/es5/typings/tooltip/handler.d.ts +8 -0
- package/build/es5/typings/tooltip/index.d.ts +6 -0
- package/build/es5/typings/tooltip/line.d.ts +15 -0
- package/build/es5/typings/tooltip/position.d.ts +19 -0
- package/build/es5/typings/tooltip/shape.d.ts +14 -0
- package/build/es5/typings/tooltip/tooltip.d.ts +24 -0
- package/build/es5/typings/visual.d.ts +293 -0
- package/build/es5/util/array.d.ts +3 -0
- package/build/es5/util/color.d.ts +3 -0
- package/build/es5/util/data.d.ts +21 -0
- package/build/es5/util/debug.d.ts +9 -0
- package/build/es5/util/env.d.ts +7 -0
- package/build/es5/util/hierarchy.d.ts +3 -0
- package/build/es5/util/id.d.ts +2 -0
- package/build/es5/util/image.d.ts +4 -0
- package/build/es5/util/index.d.ts +22 -0
- package/build/es5/util/math.d.ts +41 -0
- package/build/es5/util/model.d.ts +4 -0
- package/build/es5/util/object.d.ts +5 -0
- package/build/es5/util/scale.d.ts +25 -0
- package/build/es5/util/space.d.ts +19 -0
- package/build/es5/util/spec.d.ts +10 -0
- package/build/es5/util/style.d.ts +4 -0
- package/build/es5/util/text.d.ts +9 -0
- package/build/es5/util/type.d.ts +7 -0
- package/build/es5/vchart-all.d.ts +2 -0
- package/build/es5/vchart-simple.d.ts +2 -0
- package/build/index.js +167 -98
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -0
- package/cjs/component/axis/base-axis.d.ts +2 -0
- package/cjs/component/axis/base-axis.js +4 -2
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +6 -3
- package/cjs/component/brush/brush.js +56 -37
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/brush/interface.d.ts +11 -8
- package/cjs/component/brush/interface.js +1 -7
- package/cjs/component/brush/interface.js.map +1 -1
- package/cjs/component/index.js +2 -1
- package/cjs/constant/hierarchy.js +1 -2
- package/cjs/core/factory.js +2 -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/data/initialize.js +1 -2
- package/cjs/event/events/dimension/util/cartesian.js +18 -11
- package/cjs/event/events/dimension/util/cartesian.js.map +1 -1
- package/cjs/interaction/interaction.js +1 -2
- package/cjs/layout/base-layout.js +2 -1
- package/cjs/mark/arc-3d.js +1 -1
- package/cjs/mark/arc.js +1 -1
- package/cjs/mark/area.js +1 -1
- package/cjs/mark/box-plot.js +1 -1
- package/cjs/mark/cell.js +1 -1
- package/cjs/plugin/interface.js +1 -1
- package/cjs/region/interface.js +1 -1
- package/cjs/region/region.js +1 -1
- package/cjs/scale/color-ordinal-scale.js +1 -1
- package/cjs/scale/global-scale.js +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -0
- package/esm/component/axis/base-axis.js +4 -2
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/brush/brush.d.ts +6 -3
- package/esm/component/brush/brush.js +56 -37
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/brush/interface.d.ts +11 -8
- package/esm/component/brush/interface.js +1 -7
- package/esm/component/brush/interface.js.map +1 -1
- package/esm/component/index.js +2 -1
- package/esm/constant/hierarchy.js +1 -2
- package/esm/core/factory.js +2 -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/data/initialize.js +1 -2
- package/esm/event/events/dimension/util/cartesian.js +19 -8
- package/esm/event/events/dimension/util/cartesian.js.map +1 -1
- package/esm/interaction/interaction.js +1 -2
- package/esm/layout/base-layout.js +2 -1
- package/esm/mark/arc-3d.js +1 -1
- package/esm/mark/arc.js +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/box-plot.js +1 -1
- package/esm/mark/cell.js +1 -1
- package/esm/plugin/interface.js +1 -1
- package/esm/region/interface.js +1 -1
- package/esm/region/region.js +1 -1
- package/esm/scale/color-ordinal-scale.js +1 -1
- package/esm/scale/global-scale.js +1 -1
- package/package.json +6 -4
package/cjs/core/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { VChart } from './vchart';
|
|
2
2
|
import { Factory } from './factory';
|
|
3
3
|
export { VChart, Factory };
|
|
4
|
-
export declare const version = "1.2.0-beta.
|
|
4
|
+
export declare const version = "1.2.0-beta.7";
|
|
5
5
|
export type { IVChart } from './interface';
|
|
6
6
|
export * from '../event/interface';
|
|
7
7
|
export * from '../typings/spec/common';
|
package/cjs/core/index.js
CHANGED
|
@@ -41,7 +41,7 @@ const region_1 = require("../region/region"), base_layout_1 = require("../layout
|
|
|
41
41
|
|
|
42
42
|
vchart_1.VChart.useMark([ component_1.ComponentMark, group_1.GroupMark, image_1.ImageMark ]),
|
|
43
43
|
factory_1.Factory.registerRegion("region", region_1.Region), factory_1.Factory.registerLayout("base", base_layout_1.Layout),
|
|
44
|
-
exports.version = "1.2.0-beta.
|
|
44
|
+
exports.version = "1.2.0-beta.7", __exportStar(require("../event/interface"), exports),
|
|
45
45
|
__exportStar(require("../typings/spec/common"), exports), __exportStar(require("../theme/interface"), exports),
|
|
46
46
|
vutils_1.Logger.getInstance(vutils_1.LoggerLevel.Error);
|
|
47
47
|
//# sourceMappingURL=index.js.map
|
package/cjs/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;AAiBzB,uFAjBA,eAAM,OAiBA;AAhBf,uCAAoC;AAgBnB,wFAhBR,iBAAO,OAgBQ;AAfxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAClD,2CAA4C;AAG5C,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC,CAAC;AAGtD,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,cAAc,CAAC;AAKtC,qDAAmC;AACnC,yDAAuC;AAEvC,qDAAmC;AAGnC,eAAM,CAAC,WAAW,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.2.0-beta.
|
|
1
|
+
{"version":3,"sources":["../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAAuD;AAKvD,qCAAkC;AAiBzB,uFAjBA,eAAM,OAiBA;AAhBf,uCAAoC;AAgBnB,wFAhBR,iBAAO,OAgBQ;AAfxB,6CAA0C;AAC1C,uDAA+C;AAC/C,yCAA0C;AAC1C,iDAAkD;AAClD,2CAA4C;AAG5C,eAAM,CAAC,OAAO,CAAC,CAAC,yBAAa,EAAE,iBAAS,EAAE,iBAAS,CAAC,CAAC,CAAC;AAGtD,iBAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,eAAa,CAAC,CAAC;AAGhD,iBAAO,CAAC,cAAc,CAAC,MAAM,EAAE,oBAAa,CAAC,CAAC;AAKjC,QAAA,OAAO,GAAG,cAAc,CAAC;AAKtC,qDAAmC;AACnC,yDAAuC;AAEvC,qDAAmC;AAGnC,eAAM,CAAC,WAAW,CAAC,oBAAW,CAAC,KAAK,CAAC,CAAC","file":"index.js","sourcesContent":["import { Logger, LoggerLevel } from '@visactor/vutils';\n/**\n * @description The core module of VChart, containing the necessary interfaces for using VChart.\n */\n\nimport { VChart } from './vchart';\nimport { Factory } from './factory';\nimport { Region } from '../region/region';\nimport { Layout } from '../layout/base-layout';\nimport { GroupMark } from '../mark/group';\nimport { ComponentMark } from '../mark/component';\nimport { ImageMark } from './../mark/image';\n\n// register groupMark and componentMark\nVChart.useMark([ComponentMark, GroupMark, ImageMark]);\n\n// install region module\nFactory.registerRegion('region', Region as any);\n\n// install layout module\nFactory.registerLayout('base', Layout as any);\n\nexport { VChart, Factory };\n\n// export the version\nexport const version = \"1.2.0-beta.7\";\n\n// export necessary types\nexport type { IVChart } from './interface';\n// the event types\nexport * from '../event/interface';\nexport * from '../typings/spec/common';\nexport type { IStateSpec, StateValueType } from '../compile/mark';\nexport * from '../theme/interface';\n\n// set default logger level to Level.error\nLogger.getInstance(LoggerLevel.Error);\n"]}
|
package/cjs/data/initialize.js
CHANGED
|
@@ -67,5 +67,4 @@ function dataToDataView(data, dataSet, sourceDataViews = [], ctx = {}) {
|
|
|
67
67
|
|
|
68
68
|
exports.initializeData = initializeData, exports.initCSVData = initCSVData, exports.initData = initData,
|
|
69
69
|
exports.initFoldData = initFoldData, exports.dataViewFromDataView = dataViewFromDataView,
|
|
70
|
-
exports.dataToDataView = dataToDataView;
|
|
71
|
-
//# sourceMappingURL=initialize.js.map
|
|
70
|
+
exports.dataToDataView = dataToDataView;
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.getDimensionInfoByValue = exports.getDimensionInfoByPosition = exports.getCartesianDimensionInfo = void 0;
|
|
6
6
|
|
|
7
|
-
const vscale_1 = require("@visactor/vscale"), common_1 = require("./common"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../../../component/axis/cartesian/util"), getAxis = (chart, type, pos) => {
|
|
7
|
+
const vscale_1 = require("@visactor/vscale"), common_1 = require("./common"), vutils_1 = require("@visactor/vutils"), util_1 = require("../../../../component/axis/cartesian/util"), typings_1 = require("../../../../typings"), getAxis = (chart, type, pos) => {
|
|
8
8
|
const axesComponents = chart.getAllComponents().filter((c => "axes" === c.specKey && ("x" === type ? "bottom" === c.orient || "top" === c.orient : "left" === c.orient || "right" === c.orient) && (0,
|
|
9
9
|
common_1.isInRegionBound)(chart, c, pos)));
|
|
10
10
|
return axesComponents.length ? axesComponents : null;
|
|
@@ -19,18 +19,25 @@ const vscale_1 = require("@visactor/vscale"), common_1 = require("./common"), vu
|
|
|
19
19
|
}
|
|
20
20
|
return null;
|
|
21
21
|
}, discreteXAxisGetDimensionField = series => series.fieldX[0], discreteYAxisGetDimensionField = series => series.fieldY[0], continuousXAxisGetDimensionField = series => [ series.fieldX[0], series.fieldX2 ], continuousYAxisGetDimensionField = series => [ series.fieldY[0], series.fieldY2 ], getCartesianDimensionInfo = (chart, pos) => {
|
|
22
|
+
var _a, _b;
|
|
22
23
|
if (!chart) return null;
|
|
23
24
|
if (!getFirstSeries(chart)) return null;
|
|
24
|
-
const {x: x, y: y} = pos, xAxisList = getAxis(chart, "x", pos), yAxisList = getAxis(chart, "y", pos),
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
25
|
+
const {x: x, y: y} = pos, xAxisList = null !== (_a = getAxis(chart, "x", pos)) && void 0 !== _a ? _a : [], yAxisList = null !== (_b = getAxis(chart, "y", pos)) && void 0 !== _b ? _b : [], bandAxisSet = new Set, linearAxisSet = new Set;
|
|
26
|
+
[ xAxisList, yAxisList ].forEach((axisList => axisList.forEach((axis => {
|
|
27
|
+
(0, vscale_1.isDiscrete)(axis.getScale().type) ? bandAxisSet.add(axis) : linearAxisSet.add(axis);
|
|
28
|
+
}))));
|
|
29
|
+
const targetAxisInfo = [], addAxisDimensionInfo = (orient, isDiscrete) => {
|
|
30
|
+
("x" === orient ? xAxisList : yAxisList).forEach((axis => {
|
|
31
|
+
if ((isDiscrete ? bandAxisSet : linearAxisSet).has(axis)) {
|
|
32
|
+
const info = (0, exports.getDimensionInfoByPosition)(axis, "x" === orient ? x : y, orient, "x" === orient ? isDiscrete ? discreteXAxisGetDimensionField : continuousXAxisGetDimensionField : isDiscrete ? discreteYAxisGetDimensionField : continuousYAxisGetDimensionField);
|
|
33
|
+
info && targetAxisInfo.push(info);
|
|
34
|
+
}
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
return chart.getSpec().direction === typings_1.Direction.horizontal ? (addAxisDimensionInfo("y", bandAxisSet.size > 0),
|
|
38
|
+
0 === targetAxisInfo.length && addAxisDimensionInfo("x", bandAxisSet.size > 0)) : (addAxisDimensionInfo("x", bandAxisSet.size > 0),
|
|
39
|
+
0 === targetAxisInfo.length && addAxisDimensionInfo("y", bandAxisSet.size > 0)),
|
|
40
|
+
targetAxisInfo.length ? targetAxisInfo : null;
|
|
34
41
|
};
|
|
35
42
|
|
|
36
43
|
exports.getCartesianDimensionInfo = getCartesianDimensionInfo;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/events/dimension/util/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IChart } from '../../../../chart/interface';\nimport type { ILayoutPoint } from '../../../../model/interface';\nimport type { IDimensionInfo } from '../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport { getDimensionData, isInRegionBound } from './common';\nimport type { CartesianAxis } from '../../../../component/axis/cartesian';\nimport type { ICartesianSeries } from '../../../../series/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { AxisComponent } from '../../../../component/axis/base-axis';\nimport { isXAxis } from '../../../../component/axis/cartesian/util';\n\nconst getAxis = (chart: IChart, type: 'x' | 'y', pos: ILayoutPoint): CartesianAxis[] | null => {\n const axesComponents = chart\n .getAllComponents()\n .filter(\n c =>\n c.specKey === 'axes' &&\n (type === 'x'\n ? (c as AxisComponent).orient === 'bottom' || (c as AxisComponent).orient === 'top'\n : (c as AxisComponent).orient === 'left' || (c as AxisComponent).orient === 'right') &&\n isInRegionBound(chart, c as AxisComponent, pos)\n ) as CartesianAxis[];\n if (!axesComponents.length) {\n return null;\n }\n return axesComponents;\n};\n\nconst getFirstSeries = (chart: IChart) => {\n const regions = chart.getRegionsInIndex();\n for (let i = 0; i < regions.length; i++) {\n const r = regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s.coordinate === 'cartesian') {\n return s as ICartesianSeries;\n }\n }\n }\n return null;\n};\n\nconst discreteXAxisGetDimensionField = (series: ICartesianSeries) => series.fieldX[0];\nconst discreteYAxisGetDimensionField = (series: ICartesianSeries) => series.fieldY[0];\nconst continuousXAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldX[0], series.fieldX2];\nconst continuousYAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldY[0], series.fieldY2];\n\nexport const getCartesianDimensionInfo = (chart: IChart | undefined, pos: ILayoutPoint): IDimensionInfo[] | null => {\n if (!chart) {\n return null;\n }\n const series = getFirstSeries(chart);\n if (!series) {\n return null;\n }\n\n const { x, y } = pos;\n const xAxisList = getAxis(chart, 'x', pos);\n const yAxisList = getAxis(chart, 'y', pos);\n const targetAxisInfo: IDimensionInfo[] = [];\n\n if (xAxisList) {\n xAxisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n const info = getDimensionInfoByPosition(\n axis,\n x,\n 'x',\n isDiscreteAxis ? discreteXAxisGetDimensionField : continuousXAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n });\n }\n if (yAxisList) {\n yAxisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n const info = getDimensionInfoByPosition(\n axis,\n y,\n 'y',\n isDiscreteAxis ? discreteYAxisGetDimensionField : continuousYAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n });\n }\n if (!targetAxisInfo.length) {\n return null;\n }\n return targetAxisInfo;\n};\n\nexport const getDimensionInfoByPosition = (\n axis: CartesianAxis,\n posValue: number,\n posKey: 'x' | 'y',\n getDimensionField: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n const scalePos = posValue - axis.getLayoutStartPoint()[posKey];\n // 判断是否在 range 范围内\n if ((scalePos - scale.range()[0]) * (scalePos - scale.range()[1]) > 0) {\n return null;\n }\n\n const value = scale.invert(scalePos);\n return getDimensionInfoByValue(axis, value, getDimensionField);\n};\n\nexport const getDimensionInfoByValue = (\n axis: CartesianAxis,\n value: any,\n getDimensionField?: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n\n if (isNil(value)) {\n return null;\n }\n const domain = scale.domain();\n let index: number | undefined = domain.findIndex((v: any) => v?.toString() === value.toString());\n if (index < 0) {\n index = undefined;\n }\n\n const data = getDimensionData(\n value,\n axis,\n 'cartesian',\n getDimensionField ?? (isXAxis(axis.orient) ? discreteXAxisGetDimensionField : discreteYAxisGetDimensionField)\n );\n return { index, value, axis, data };\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/events/dimension/util/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { IChart } from '../../../../chart/interface';\nimport type { ILayoutPoint } from '../../../../model/interface';\nimport type { IDimensionInfo } from '../interface';\nimport { isDiscrete } from '@visactor/vscale';\nimport { getDimensionData, isInRegionBound } from './common';\nimport type { CartesianAxis } from '../../../../component/axis/cartesian';\nimport type { ICartesianSeries } from '../../../../series/interface';\nimport { isNil } from '@visactor/vutils';\nimport type { AxisComponent } from '../../../../component/axis/base-axis';\nimport { isXAxis } from '../../../../component/axis/cartesian/util';\nimport { Direction } from '../../../../typings';\n\nconst getAxis = (chart: IChart, type: 'x' | 'y', pos: ILayoutPoint): CartesianAxis[] | null => {\n const axesComponents = chart\n .getAllComponents()\n .filter(\n c =>\n c.specKey === 'axes' &&\n (type === 'x'\n ? (c as AxisComponent).orient === 'bottom' || (c as AxisComponent).orient === 'top'\n : (c as AxisComponent).orient === 'left' || (c as AxisComponent).orient === 'right') &&\n isInRegionBound(chart, c as AxisComponent, pos)\n ) as CartesianAxis[];\n if (!axesComponents.length) {\n return null;\n }\n return axesComponents;\n};\n\nconst getFirstSeries = (chart: IChart) => {\n const regions = chart.getRegionsInIndex();\n for (let i = 0; i < regions.length; i++) {\n const r = regions[i];\n const series = r.getSeries();\n for (let j = 0; j < series.length; j++) {\n const s = series[j];\n if (s.coordinate === 'cartesian') {\n return s as ICartesianSeries;\n }\n }\n }\n return null;\n};\n\nconst discreteXAxisGetDimensionField = (series: ICartesianSeries) => series.fieldX[0];\nconst discreteYAxisGetDimensionField = (series: ICartesianSeries) => series.fieldY[0];\nconst continuousXAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldX[0], series.fieldX2];\nconst continuousYAxisGetDimensionField = (series: ICartesianSeries) => [series.fieldY[0], series.fieldY2];\n\nexport const getCartesianDimensionInfo = (chart: IChart | undefined, pos: ILayoutPoint): IDimensionInfo[] | null => {\n if (!chart) {\n return null;\n }\n const series = getFirstSeries(chart);\n if (!series) {\n return null;\n }\n\n const { x, y } = pos;\n const xAxisList = getAxis(chart, 'x', pos) ?? [];\n const yAxisList = getAxis(chart, 'y', pos) ?? [];\n\n const bandAxisSet: Set<CartesianAxis> = new Set();\n const linearAxisSet: Set<CartesianAxis> = new Set();\n [xAxisList, yAxisList].forEach(axisList =>\n axisList.forEach(axis => {\n const isDiscreteAxis = isDiscrete(axis.getScale().type);\n if (isDiscreteAxis) {\n bandAxisSet.add(axis);\n } else {\n linearAxisSet.add(axis);\n }\n })\n );\n\n const targetAxisInfo: IDimensionInfo[] = [];\n\n const addAxisDimensionInfo = (orient: 'x' | 'y', isDiscrete: boolean) => {\n (orient === 'x' ? xAxisList : yAxisList).forEach(axis => {\n if ((isDiscrete ? bandAxisSet : linearAxisSet).has(axis)) {\n const info = getDimensionInfoByPosition(\n axis,\n orient === 'x' ? x : y,\n orient,\n orient === 'x'\n ? isDiscrete\n ? discreteXAxisGetDimensionField\n : continuousXAxisGetDimensionField\n : isDiscrete\n ? discreteYAxisGetDimensionField\n : continuousYAxisGetDimensionField\n );\n info && targetAxisInfo.push(info);\n }\n });\n };\n\n // 优先筛选 band 轴,其次按照 direction 判断\n if (chart.getSpec().direction === Direction.horizontal) {\n addAxisDimensionInfo('y', bandAxisSet.size > 0);\n if (targetAxisInfo.length === 0) {\n addAxisDimensionInfo('x', bandAxisSet.size > 0);\n }\n } else {\n addAxisDimensionInfo('x', bandAxisSet.size > 0);\n if (targetAxisInfo.length === 0) {\n addAxisDimensionInfo('y', bandAxisSet.size > 0);\n }\n }\n\n if (!targetAxisInfo.length) {\n return null;\n }\n return targetAxisInfo;\n};\n\nexport const getDimensionInfoByPosition = (\n axis: CartesianAxis,\n posValue: number,\n posKey: 'x' | 'y',\n getDimensionField: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n const scalePos = posValue - axis.getLayoutStartPoint()[posKey];\n // 判断是否在 range 范围内\n if ((scalePos - scale.range()[0]) * (scalePos - scale.range()[1]) > 0) {\n return null;\n }\n\n const value = scale.invert(scalePos);\n return getDimensionInfoByValue(axis, value, getDimensionField);\n};\n\nexport const getDimensionInfoByValue = (\n axis: CartesianAxis,\n value: any,\n getDimensionField?: (series: ICartesianSeries) => string | string[]\n): IDimensionInfo | null => {\n const scale = axis.getScale();\n\n if (isNil(value)) {\n return null;\n }\n const domain = scale.domain();\n let index: number | undefined = domain.findIndex((v: any) => v?.toString() === value.toString());\n if (index < 0) {\n index = undefined;\n }\n\n const data = getDimensionData(\n value,\n axis,\n 'cartesian',\n getDimensionField ?? (isXAxis(axis.orient) ? discreteXAxisGetDimensionField : discreteYAxisGetDimensionField)\n );\n return { index, value, axis, data };\n};\n"]}
|
package/cjs/mark/arc-3d.js
CHANGED
package/cjs/mark/arc.js
CHANGED
package/cjs/mark/area.js
CHANGED
package/cjs/mark/box-plot.js
CHANGED
package/cjs/mark/cell.js
CHANGED
package/cjs/plugin/interface.js
CHANGED
package/cjs/region/interface.js
CHANGED
package/cjs/region/region.js
CHANGED
|
@@ -90,6 +90,7 @@ export declare abstract class AxisComponent extends BaseComponent implements IAx
|
|
|
90
90
|
autoHideSeparation: any;
|
|
91
91
|
limitEllipsis: any;
|
|
92
92
|
layoutFunc: any;
|
|
93
|
+
dataFilter: any;
|
|
93
94
|
};
|
|
94
95
|
tick: {
|
|
95
96
|
visible: any;
|
|
@@ -98,6 +99,7 @@ export declare abstract class AxisComponent extends BaseComponent implements IAx
|
|
|
98
99
|
alignWithLabel: any;
|
|
99
100
|
style: any;
|
|
100
101
|
state: {};
|
|
102
|
+
dataFilter: any;
|
|
101
103
|
};
|
|
102
104
|
subTick: {
|
|
103
105
|
visible: any;
|
|
@@ -193,7 +193,8 @@ export class AxisComponent extends BaseComponent {
|
|
|
193
193
|
autoHideMethod: spec.label.autoHideMethod,
|
|
194
194
|
autoHideSeparation: spec.label.autoHideSeparation,
|
|
195
195
|
limitEllipsis: spec.label.limitEllipsis,
|
|
196
|
-
layoutFunc: spec.label.layoutFunc
|
|
196
|
+
layoutFunc: spec.label.layoutFunc,
|
|
197
|
+
dataFilter: spec.label.dataFilter
|
|
197
198
|
},
|
|
198
199
|
tick: {
|
|
199
200
|
visible: spec.tick.visible,
|
|
@@ -205,7 +206,8 @@ export class AxisComponent extends BaseComponent {
|
|
|
205
206
|
const style = this._preprocessSpec(spec.tick.style(value, index, datum, data));
|
|
206
207
|
return transformToGraphic(this._preprocessSpec(merge({}, null === (_a = this._theme.tick) || void 0 === _a ? void 0 : _a.style, style)));
|
|
207
208
|
} : transformToGraphic(spec.tick.style),
|
|
208
|
-
state: transformStateStyle(spec.tick.state)
|
|
209
|
+
state: transformStateStyle(spec.tick.state),
|
|
210
|
+
dataFilter: spec.tick.dataFilter
|
|
209
211
|
},
|
|
210
212
|
subTick: {
|
|
211
213
|
visible: spec.subTick.visible,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { INode, IGroup } from '@visactor/vrender';\nimport { AXIS_ELEMENT_NAME } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { array, eachSeries, get, getSeries, isArray, isBoolean, isFunction, isNil, isValid, merge } from '../../util';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent } from '../../constant';\nimport type { Group } from '../../series/base/group';\nimport { animationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { degreeToRadian, type LooseFunction } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './utils';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\n\nexport abstract class AxisComponent extends BaseComponent implements IAxis {\n static specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n get orient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: any): number;\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._visible = spec.visible ?? true;\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.orient}` },\n {\n componentType: this.orient === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._marks.addMark(axisMark);\n\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n // interactive\n if (isBoolean(this._spec.interactive)) {\n axisMark.setInteractive(this._spec.interactive);\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(DEFAULT_MARK_ANIMATION.axis(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n axisMark.setAnimationConfig(axisAnimateConfig);\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(): void {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: Group[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n result.reRender = true;\n if (originalSpec.type !== spec.type) {\n result.reMake = true;\n return result;\n }\n result.reMake =\n ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n JSON.stringify(originalSpec[k]) !== JSON.stringify(spec[k]);\n }) || result.reMake;\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n const axisMainContainer = component?.find((node: INode) => node.name === AXIS_ELEMENT_NAME.axisContainer, true);\n if (axisMainContainer) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n axisMainContainer.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as INode, event, type)) as LooseFunction);\n }\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n return {\n orient: this.orient,\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n visible: spec.label.visible,\n space: spec.label.space,\n inside: spec.label.inside,\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._preprocessSpec(spec.label.style(datum.rawValue, index, datum, data, layer));\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.label?.style, style)));\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n autoRotate: !!spec.label.autoRotate,\n autoHide: !!spec.label.autoHide,\n autoLimit: !!spec.label.autoLimit,\n autoRotateAngle: spec.label.autoRotateAngle,\n autoHideMethod: spec.label.autoHideMethod,\n autoHideSeparation: spec.label.autoHideSeparation,\n limitEllipsis: spec.label.limitEllipsis,\n layoutFunc: spec.label.layoutFunc\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._preprocessSpec(spec.tick.style(value, index, datum, data));\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.tick?.style, style)));\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state)\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = spec.subTick.style(value, index, datum, data);\n return transformToGraphic(merge({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n grid: {\n type: 'line',\n visible: spec.grid.visible,\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.grid?.style, style)));\n }\n : transformToGraphic(spec.grid.style)\n },\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: merge({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n }\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/base-axis.ts"],"names":[],"mappings":"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","file":"base-axis.js","sourcesContent":["import type { IBaseScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { INode, IGroup } from '@visactor/vrender';\nimport { AXIS_ELEMENT_NAME } from '@visactor/vrender-components';\n// eslint-disable-next-line no-duplicate-imports\nimport type { AxisItem } from '@visactor/vrender-components';\nimport type { IOrientType, IPolarOrientType, Datum, StringOrNumber } from '../../typings';\nimport { BaseComponent } from '../base';\nimport type { IPolarAxisCommonTheme } from './polar/interface';\nimport type { ICartesianAxisCommonTheme } from './cartesian/interface';\nimport type { CompilableData } from '../../compile/data';\nimport type { IAxis, ITick, StatisticsDomain } from './interface';\nimport type { IComponentOption } from '../interface';\nimport { array, eachSeries, get, getSeries, isArray, isBoolean, isFunction, isNil, isValid, merge } from '../../util';\nimport type { ISeries } from '../../series/interface';\nimport { ChartEvent } from '../../constant';\nimport type { Group } from '../../series/base/group';\nimport { animationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { degreeToRadian, type LooseFunction } from '@visactor/vutils';\nimport { DEFAULT_TITLE_STYLE, transformAxisLineStyle } from './utils';\nimport { transformAxisLabelStateStyle, transformStateStyle, transformToGraphic } from '../../util/style';\nimport type { ITransformOptions } from '@visactor/vdataset';\n\nexport abstract class AxisComponent extends BaseComponent implements IAxis {\n static specKey = 'axes';\n\n protected _orient: IPolarOrientType | IOrientType;\n get orient() {\n return this._orient;\n }\n\n protected _scale!: IBaseScale;\n getScale() {\n return this._scale;\n }\n\n protected _scales: IBaseScale[] = [];\n getScales() {\n return this._scales;\n }\n\n protected declare _theme: ICartesianAxisCommonTheme | IPolarAxisCommonTheme;\n\n protected _tickData!: CompilableData;\n getTickData() {\n return this._tickData;\n }\n\n protected _statisticsDomain: StatisticsDomain = { domain: [], index: {} };\n getStatisticsDomain() {\n return this._statisticsDomain;\n }\n\n // 与系列的关联关系\n // 优先级:id > index\n // 最终结果:series & region取交集\n protected _seriesUserId?: StringOrNumber[];\n protected _seriesIndex?: number[];\n protected _regionUserId?: StringOrNumber[];\n protected _regionIndex?: number[];\n\n /**\n * if axis will be shown\n */\n protected _visible: boolean = true;\n get visible() {\n return this._visible;\n }\n\n protected _tick: ITick | undefined = undefined;\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n abstract dataToPosition(values: any[], cfg?: any): number;\n abstract valueToPosition(value: any): number;\n protected abstract axisHelper(): any;\n protected abstract getSeriesStatisticsField(s: ISeries): string[];\n protected abstract updateSeriesScale(): void;\n protected abstract collectData(depth: number): { min: number; max: number; values: any[] }[];\n protected abstract _initData(): void;\n abstract transformScaleDomain(): void;\n\n protected _dataFieldText: string;\n\n constructor(spec: any, options: IComponentOption) {\n super(spec, {\n ...options\n });\n this._visible = spec.visible ?? true;\n }\n\n created() {\n super.created();\n //series and regions\n this.setSeriesAndRegionsFromSpec();\n // event\n this.initEvent();\n // scales\n this.initScales();\n this.updateSeriesScale();\n // data\n this._initData();\n\n if (this._visible) {\n // 创建语法元素\n\n const axisMark = this._createMark(\n { type: 'component', name: `axis-${this.orient}` },\n {\n componentType: this.orient === 'angle' ? 'circleAxis' : 'axis',\n mode: this._spec.mode\n }\n );\n this._marks.addMark(axisMark);\n\n axisMark.setZIndex(this.layoutZIndex);\n if (isValid(this._spec.id)) {\n axisMark.setUserId(this._spec.id);\n }\n // interactive\n if (isBoolean(this._spec.interactive)) {\n axisMark.setInteractive(this._spec.interactive);\n }\n\n // Tip: 支持 spec.animationAppear.axis,并且坐标轴默认关闭动画\n if (\n this._option.animation !== false &&\n get(this._option.getChart().getSpec(), 'animation') !== false &&\n this._spec.animation === true\n ) {\n const axisAnimateConfig = animationConfig(DEFAULT_MARK_ANIMATION.axis(), {\n appear:\n this._spec.animationAppear ??\n get(this._option.getChart().getSpec(), 'animationAppear.axis') ??\n get(this._option.getChart().getSpec(), 'animationAppear'),\n disappear:\n this._spec.animationDisappear ??\n get(this._option.getChart().getSpec(), 'animationDisappear.axis') ??\n get(this._option.getChart().getSpec(), 'animationDisappear'),\n enter:\n this._spec.animationEnter ??\n get(this._option.getChart().getSpec(), 'animationEnter.axis') ??\n get(this._option.getChart().getSpec(), 'animationEnter'),\n exit:\n this._spec.animationExit ??\n get(this._option.getChart().getSpec(), 'animationExit.axis') ??\n get(this._option.getChart().getSpec(), 'animationExit'),\n update:\n this._spec.animationUpdate ??\n get(this._option.getChart().getSpec(), 'animationUpdate.axis') ??\n get(this._option.getChart().getSpec(), 'animationUpdate')\n });\n // 因为坐标轴的更新动画中处理了 enter,所以需要将 enter 的参数传入\n axisAnimateConfig.update[0].customParameters = {\n enter: axisAnimateConfig.enter[0]\n };\n axisMark.setAnimationConfig(axisAnimateConfig);\n }\n }\n }\n\n protected isSeriesDataEnable() {\n let enable = true;\n eachSeries(\n this._regions,\n s => {\n if (isArray(s.getViewDataStatistics()?.latestData)) {\n enable = false;\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return enable;\n }\n\n protected setSeriesAndRegionsFromSpec() {\n const { seriesId, seriesIndex, regionId, regionIndex } = this._spec;\n isValid(seriesId) && (this._seriesUserId = array(seriesId));\n isValid(regionId) && (this._regionUserId = array(regionId));\n isValid(seriesIndex) && (this._seriesIndex = array(seriesIndex));\n isValid(regionIndex) && (this._regionIndex = array(regionIndex));\n this._regions = this._option.getRegionsInUserIdOrIndex(this._regionUserId as string[], this._regionIndex);\n // _regions 被更新了,layoutBindRegionID 也要更新\n this.layoutBindRegionID = this._regions.map(x => x.id);\n }\n\n getBindSeriesFilter() {\n return {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n };\n }\n\n protected computeStatisticsDomain = () => {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n const vd = s.getViewDataStatistics?.();\n vd &&\n this.getSeriesStatisticsField(s as ISeries).forEach(f => {\n vd.latestData?.[f] && data.push(vd.latestData[f]);\n });\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n\n this._statisticsDomain.domain = this.computeDomain(data);\n if (!isContinuous(this._scale.type)) {\n this._statisticsDomain.index = {};\n for (let i = 0; i < this._statisticsDomain.domain.length; i++) {\n this._statisticsDomain.index[this._statisticsDomain.domain[i]] = i;\n }\n }\n };\n\n protected initEvent() {\n this.event.on(\n ChartEvent.scaleUpdate,\n { filter: ({ model }) => model?.id === this.id },\n this.effect.scaleUpdate.bind(this)\n );\n const viewStatistics = getSeries(this._regions, {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n })\n .map(s => s.getViewDataStatistics())\n .filter(v => !!v);\n this._option.dataSet.multipleDataViewAddListener(viewStatistics, 'change', () => {\n this.updateScaleDomain();\n });\n }\n\n protected updateScaleDomain() {\n // 留给各个类型的 axis 来 override\n }\n\n protected computeData(): void {\n this._tickData.getDataView().reRunAllTransform();\n this._tickData.updateData();\n }\n\n protected initScales() {\n this._scales = [this._scale];\n const groups: Group[] = [];\n eachSeries(\n this._regions,\n s => {\n const g = s.getGroups();\n g && groups.push(g);\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n if (groups.length !== 0) {\n const depth = Math.max(...groups.map(g => g.fields.length));\n for (let i = 1; i < depth; i++) {\n const scale = this._scale.clone();\n this._scales.push(scale);\n }\n }\n // this.updateScaleDomain();\n }\n\n /** Update API **/\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n result.reRender = true;\n if (originalSpec.type !== spec.type) {\n result.reMake = true;\n return result;\n }\n result.reMake =\n ['seriesId', 'seriesIndex', 'regionId', 'regionIndex'].some(k => {\n JSON.stringify(originalSpec[k]) !== JSON.stringify(spec[k]);\n }) || result.reMake;\n return result;\n }\n\n protected getLabelFormatMethod() {\n return this._spec.label.formatMethod\n ? (value: any, datum: any, index: number) => this._spec.label.formatMethod(datum.rawValue, datum)\n : null;\n }\n\n protected getLabelItems(length: number) {\n return isArray(this._tickData.getLatestData())\n ? [\n this._tickData\n .getLatestData()\n .map((obj: Datum) => {\n return {\n id: obj.value,\n label: obj.value,\n value: length === 0 ? 0 : this.dataToPosition([obj.value]) / length,\n rawValue: obj.value\n };\n })\n .filter((entry: AxisItem) => entry.value >= 0 && entry.value <= 1)\n ]\n : [];\n }\n\n protected _delegateAxisContainerEvent(component: IGroup) {\n const axisMainContainer = component?.find((node: INode) => node.name === AXIS_ELEMENT_NAME.axisContainer, true);\n if (axisMainContainer) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n axisMainContainer.addEventListener('*', ((event: any, type: string) =>\n this._delegateEvent(component as unknown as INode, event, type)) as LooseFunction);\n }\n }\n\n protected _getAxisAttributes() {\n const spec = this._spec;\n let titleAngle = spec.title.angle;\n let titleTextStyle;\n if (spec.orient === 'left' || spec.orient === 'right') {\n // 处理纵轴的标题样式\n if (spec.title?.autoRotate && isNil(spec.title.angle)) {\n titleAngle = spec.orient === 'left' ? -90 : 90;\n titleTextStyle = DEFAULT_TITLE_STYLE[spec.orient];\n }\n }\n\n return {\n orient: this.orient,\n select: spec.select,\n hover: spec.hover,\n line: transformAxisLineStyle(spec.domainLine),\n label: {\n visible: spec.label.visible,\n space: spec.label.space,\n inside: spec.label.inside,\n style: isFunction(spec.label.style)\n ? (datum: Datum, index: number, data: Datum[], layer?: number) => {\n const style = this._preprocessSpec(spec.label.style(datum.rawValue, index, datum, data, layer));\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.label?.style, style)));\n }\n : transformToGraphic(spec.label.style),\n formatMethod: spec.label.formatMethod\n ? (value: any, datum: any, index: number) => {\n return spec.label.formatMethod(datum.rawValue, datum);\n }\n : null,\n state: transformAxisLabelStateStyle(spec.label.state),\n autoRotate: !!spec.label.autoRotate,\n autoHide: !!spec.label.autoHide,\n autoLimit: !!spec.label.autoLimit,\n autoRotateAngle: spec.label.autoRotateAngle,\n autoHideMethod: spec.label.autoHideMethod,\n autoHideSeparation: spec.label.autoHideSeparation,\n limitEllipsis: spec.label.limitEllipsis,\n layoutFunc: spec.label.layoutFunc,\n dataFilter: spec.label.dataFilter\n },\n tick: {\n visible: spec.tick.visible,\n length: spec.tick.tickSize,\n inside: spec.tick.inside,\n alignWithLabel: spec.tick.alignWithLabel,\n style: isFunction(spec.tick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = this._preprocessSpec(spec.tick.style(value, index, datum, data));\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.tick?.style, style)));\n }\n : transformToGraphic(spec.tick.style),\n state: transformStateStyle(spec.tick.state),\n dataFilter: spec.tick.dataFilter\n },\n subTick: {\n visible: spec.subTick.visible,\n length: spec.subTick.tickSize,\n inside: spec.subTick.inside,\n count: spec.subTick.tickCount,\n style: isFunction(spec.subTick.style)\n ? (value: number, index: number, datum: Datum, data: Datum[]) => {\n const style = spec.subTick.style(value, index, datum, data);\n return transformToGraphic(merge({}, this._theme.subTick?.style, style));\n }\n : transformToGraphic(spec.subTick.style),\n state: transformStateStyle(spec.subTick.state)\n },\n grid: {\n type: 'line',\n visible: spec.grid.visible,\n alternateColor: spec.grid.alternateColor,\n alignWithLabel: spec.grid.alignWithLabel,\n style: isFunction(spec.grid.style)\n ? (datum: Datum, index: number) => {\n const style = spec.grid.style(datum.datum?.rawValue, index, datum.datum);\n return transformToGraphic(this._preprocessSpec(merge({}, this._theme.grid?.style, style)));\n }\n : transformToGraphic(spec.grid.style)\n },\n subGrid: {\n type: 'line',\n visible: spec.subGrid.visible,\n alternateColor: spec.subGrid.alternateColor,\n style: transformToGraphic(spec.subGrid.style)\n },\n title: {\n visible: spec.title.visible,\n position: spec.title.position,\n space: spec.title.space,\n autoRotate: false, // 默认不对外提供该配置\n angle: titleAngle ? degreeToRadian(titleAngle) : null,\n textStyle: merge({}, titleTextStyle, transformToGraphic(spec.title.style)),\n padding: spec.title.padding,\n shape: {\n visible: spec.title.shape?.visible,\n space: spec.title.shape?.space,\n style: transformToGraphic(spec.title.shape?.style)\n },\n background: {\n visible: spec.title.background?.visible,\n style: transformToGraphic(spec.title.background?.style)\n },\n state: {\n text: transformStateStyle(spec.title.state),\n shape: transformStateStyle(spec.title.shape?.state),\n background: transformStateStyle(spec.title.background?.state)\n }\n },\n panel: {\n visible: spec.background?.visible,\n style: transformToGraphic(spec.background?.style),\n state: transformStateStyle(spec.background?.state)\n }\n };\n }\n\n addTransformToTickData(options: ITransformOptions, execute?: boolean) {\n this._tickData?.getDataView()?.transform(options, execute);\n }\n}\n"]}
|
|
@@ -7,7 +7,7 @@ import type { IModelRenderOption } from '../../model/interface';
|
|
|
7
7
|
import type { IRegion } from '../../region/interface';
|
|
8
8
|
import type { ISeries } from '../../series/interface';
|
|
9
9
|
import type { IElement } from '@visactor/vgrammar';
|
|
10
|
-
import type { IBrush } from './interface';
|
|
10
|
+
import type { BrushInteractiveRangeAttr, IBrush } from './interface';
|
|
11
11
|
export declare class Brush extends BaseComponent implements IBrush {
|
|
12
12
|
layoutType: LayoutItem['layoutType'];
|
|
13
13
|
static type: ComponentTypeEnum;
|
|
@@ -36,7 +36,9 @@ export declare class Brush extends BaseComponent implements IBrush {
|
|
|
36
36
|
protected _linkedOutOfBrushElementsMap: {
|
|
37
37
|
[elementKey: string]: IElement;
|
|
38
38
|
};
|
|
39
|
+
private _needInitOutState;
|
|
39
40
|
private _isFristState;
|
|
41
|
+
private _cacheInteractiveRangeAttrs;
|
|
40
42
|
static createComponent(spec: any, options: IComponentOption): Brush[];
|
|
41
43
|
created(): void;
|
|
42
44
|
protected _extendDataInBrush(elementsMap: {
|
|
@@ -47,7 +49,8 @@ export declare class Brush extends BaseComponent implements IBrush {
|
|
|
47
49
|
protected _extendDatumOutOfBrush(elementsMap: {
|
|
48
50
|
[elementKey: string]: IElement;
|
|
49
51
|
}): any[];
|
|
50
|
-
protected
|
|
52
|
+
protected _getBrushInteractiveAttr(region: IRegion): BrushInteractiveRangeAttr;
|
|
53
|
+
protected _createOrUpdateBrushComponent(region: IRegion, componentIndex: number): void;
|
|
51
54
|
private _transformBrushedMarkAttr;
|
|
52
55
|
private _reconfigItem;
|
|
53
56
|
private _reconfigLinkedItem;
|
|
@@ -55,7 +58,7 @@ export declare class Brush extends BaseComponent implements IBrush {
|
|
|
55
58
|
protected _bindRegions(): void;
|
|
56
59
|
protected _bindLinkedSeries(): void;
|
|
57
60
|
private _initNeedOperatedItem;
|
|
58
|
-
protected _initMarkBrushState(componentIndex: number): void;
|
|
61
|
+
protected _initMarkBrushState(componentIndex: number, stateName: string): void;
|
|
59
62
|
protected initEvent(): void;
|
|
60
63
|
onRender(ctx: IModelRenderOption): void;
|
|
61
64
|
changeRegions(regions: IRegion[]): void;
|
|
@@ -4,19 +4,21 @@ import { BaseComponent } from "../base";
|
|
|
4
4
|
|
|
5
5
|
import { ComponentTypeEnum } from "../interface";
|
|
6
6
|
|
|
7
|
-
import { Brush as BrushComponent } from "@visactor/vrender-components";
|
|
7
|
+
import { Brush as BrushComponent, IOperateType } from "@visactor/vrender-components";
|
|
8
8
|
|
|
9
9
|
import { array, polygonContainPoint, isNil, polygonIntersectPolygon, isValid } from "@visactor/vutils";
|
|
10
10
|
|
|
11
11
|
import { transformToGraphic } from "../../util/style";
|
|
12
12
|
|
|
13
|
+
import { isEqual } from "@visactor/vutils";
|
|
14
|
+
|
|
13
15
|
export class Brush extends BaseComponent {
|
|
14
16
|
constructor() {
|
|
15
17
|
super(...arguments), this.layoutType = "absolute", this.type = ComponentTypeEnum.brush,
|
|
16
18
|
this.name = ComponentTypeEnum.brush, this.layoutZIndex = LayoutZIndex.Brush, this._brushComponents = [],
|
|
17
19
|
this._linkedSeries = [], this._itemMap = {}, this._linkedItemMap = {}, this._inBrushElementsMap = {},
|
|
18
20
|
this._outOfBrushElementsMap = {}, this._linkedInBrushElementsMap = {}, this._linkedOutOfBrushElementsMap = {},
|
|
19
|
-
this._isFristState = !0;
|
|
21
|
+
this._needInitOutState = !0, this._isFristState = !0, this._cacheInteractiveRangeAttrs = [];
|
|
20
22
|
}
|
|
21
23
|
static createComponent(spec, options) {
|
|
22
24
|
const brushSpec = spec.brush || options.defaultSpec;
|
|
@@ -38,11 +40,9 @@ export class Brush extends BaseComponent {
|
|
|
38
40
|
for (const elementKey in elementsMap) data.push(elementsMap[elementKey].data[0]);
|
|
39
41
|
return data;
|
|
40
42
|
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
zIndex: this.layoutZIndex,
|
|
45
|
-
brushStyle: transformToGraphic(null === (_a = this._spec) || void 0 === _a ? void 0 : _a.style),
|
|
43
|
+
_getBrushInteractiveAttr(region) {
|
|
44
|
+
const seriesRegionStartX = region.getLayoutStartPoint().x, seriesRegionEndX = seriesRegionStartX + region.getLayoutRect().width, seriesRegionStartY = region.getLayoutStartPoint().y, seriesRegionEndY = seriesRegionStartY + region.getLayoutRect().height;
|
|
45
|
+
return {
|
|
46
46
|
interactiveRange: {
|
|
47
47
|
minY: seriesRegionStartY,
|
|
48
48
|
maxY: seriesRegionEndY,
|
|
@@ -51,32 +51,51 @@ export class Brush extends BaseComponent {
|
|
|
51
51
|
},
|
|
52
52
|
xRange: [ seriesRegionStartX, seriesRegionEndX ],
|
|
53
53
|
yRange: [ seriesRegionStartY, seriesRegionEndY ]
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
(this.
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
_createOrUpdateBrushComponent(region, componentIndex) {
|
|
57
|
+
var _a, _b;
|
|
58
|
+
const interactiveAttr = this._getBrushInteractiveAttr(region);
|
|
59
|
+
if (this._brushComponents.length === this._relativeRegions.length) {
|
|
60
|
+
if (!isEqual(this._cacheInteractiveRangeAttrs[componentIndex], interactiveAttr)) {
|
|
61
|
+
const brushComponent = this._brushComponents[componentIndex];
|
|
62
|
+
brushComponent.setAttributes(interactiveAttr), this._initMarkBrushState(componentIndex, ""),
|
|
63
|
+
brushComponent.children[0].removeAllChild(), this._needInitOutState = !0;
|
|
64
|
+
}
|
|
65
|
+
} else {
|
|
66
|
+
const brush = new BrushComponent(Object.assign(Object.assign({
|
|
67
|
+
zIndex: this.layoutZIndex,
|
|
68
|
+
brushStyle: transformToGraphic(null === (_a = this._spec) || void 0 === _a ? void 0 : _a.style)
|
|
69
|
+
}, interactiveAttr), this._spec));
|
|
70
|
+
brush.id = null !== (_b = this._spec.id) && void 0 !== _b ? _b : `brush-${this.id}`,
|
|
71
|
+
this.getContainer().add(brush);
|
|
72
|
+
const {brushMode: brushMode = "single"} = this._spec;
|
|
73
|
+
this._brushComponents.push(brush), this._cacheInteractiveRangeAttrs.push(interactiveAttr),
|
|
74
|
+
brush.setUpdateDragMaskCallback((operateParams => {
|
|
75
|
+
const {operateType: operateType, operateMask: operateMask} = operateParams;
|
|
76
|
+
(this._isFristState || this._needInitOutState && "single" === brushMode && operateType === IOperateType.drawing) && this._initMarkBrushState(componentIndex, "outOfBrush"),
|
|
77
|
+
operateType === IOperateType.drawing && (this._needInitOutState = !1), operateType === IOperateType.drawEnd && (this._needInitOutState = !0),
|
|
78
|
+
operateType === IOperateType.brushClear && (this._initMarkBrushState(componentIndex, ""),
|
|
79
|
+
this._needInitOutState = !0), this._reconfigItem(operateMask, region), this._reconfigLinkedItem(operateMask, region);
|
|
80
|
+
let eventType = ChartEvent.brushChange;
|
|
81
|
+
eventType = operateType === IOperateType.drawStart || operateType === IOperateType.moveStart ? ChartEvent.brushStart : operateType === IOperateType.drawEnd || operateType === IOperateType.moveEnd ? ChartEvent.brushEnd : ChartEvent.brushChange,
|
|
82
|
+
this.event.emit(eventType, {
|
|
83
|
+
model: this,
|
|
84
|
+
value: {
|
|
85
|
+
operateType: operateType,
|
|
86
|
+
operateRegion: region,
|
|
87
|
+
inBrushData: this._extendDataInBrush(this._inBrushElementsMap),
|
|
88
|
+
outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),
|
|
89
|
+
linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),
|
|
90
|
+
linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),
|
|
91
|
+
inBrushElementsMap: this._inBrushElementsMap,
|
|
92
|
+
outOfBrushElementsMap: this._outOfBrushElementsMap,
|
|
93
|
+
linkedInBrushElementsMap: this._linkedInBrushElementsMap,
|
|
94
|
+
linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
80
99
|
}
|
|
81
100
|
_transformBrushedMarkAttr(brushedStyle) {
|
|
82
101
|
const styleResult = {};
|
|
@@ -171,7 +190,7 @@ export class Brush extends BaseComponent {
|
|
|
171
190
|
this._linkedItemMap[s.id] = s.getMarksWithoutRoot();
|
|
172
191
|
}));
|
|
173
192
|
}
|
|
174
|
-
_initMarkBrushState(componentIndex) {
|
|
193
|
+
_initMarkBrushState(componentIndex, stateName) {
|
|
175
194
|
var _a, _b;
|
|
176
195
|
this._brushComponents.forEach(((brush, index) => {
|
|
177
196
|
index !== componentIndex && brush.children[0].removeAllChild();
|
|
@@ -185,7 +204,7 @@ export class Brush extends BaseComponent {
|
|
|
185
204
|
grammarMark.elements.forEach((el => {
|
|
186
205
|
const graphicItem = el.getGraphicItem();
|
|
187
206
|
graphicItem.stateProxy = stateName => "inBrush" === stateName ? inBrushMarkAttr : "outOfBrush" === stateName ? outOfBrushMarkAttr : void 0,
|
|
188
|
-
graphicItem.addState(
|
|
207
|
+
graphicItem.addState(stateName), this._outOfBrushElementsMap[el.key] = el, this._linkedOutOfBrushElementsMap[el.key] = el;
|
|
189
208
|
}));
|
|
190
209
|
}));
|
|
191
210
|
})), this._isFristState = !1;
|
|
@@ -196,8 +215,8 @@ export class Brush extends BaseComponent {
|
|
|
196
215
|
onLayoutEnd(ctx) {
|
|
197
216
|
var _a;
|
|
198
217
|
super.onLayoutEnd(ctx);
|
|
199
|
-
(null === (_a = this._spec.visible) || void 0 === _a || _a) &&
|
|
200
|
-
this.
|
|
218
|
+
(null === (_a = this._spec.visible) || void 0 === _a || _a) && this._relativeRegions.forEach(((region, index) => {
|
|
219
|
+
this._createOrUpdateBrushComponent(region, index);
|
|
201
220
|
}));
|
|
202
221
|
}
|
|
203
222
|
}
|