@visactor/vchart 1.13.1 → 1.13.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.es.js +1376 -1225
- package/build/index.js +1379 -1224
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/utils.d.ts +2 -2
- package/cjs/chart/base/base-chart.d.ts +1 -2
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/common/interface.d.ts +5 -4
- package/cjs/chart/common/interface.js.map +1 -1
- package/cjs/chart/gauge/interface.d.ts +2 -2
- package/cjs/chart/gauge/interface.js.map +1 -1
- package/cjs/chart/index.js +2 -1
- package/cjs/chart/interface/common.d.ts +2 -2
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/polar/interface.d.ts +1 -1
- package/cjs/chart/polar/interface.js.map +1 -1
- package/cjs/chart/sequence/interface.d.ts +2 -1
- package/cjs/chart/sequence/interface.js.map +1 -1
- package/cjs/compile/compilable-base.d.ts +2 -3
- package/cjs/compile/compilable-base.js +1 -2
- package/cjs/compile/compilable-base.js.map +1 -1
- package/cjs/compile/compiler.d.ts +8 -8
- package/cjs/compile/compiler.js +23 -11
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +63 -5
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +4 -20
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.d.ts +4 -5
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +19 -7
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-data.d.ts +2 -2
- package/cjs/compile/mark/mark-data.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.d.ts +2 -2
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +1 -1
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +28 -59
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +2 -2
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/interface/spec.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +1 -1
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/axis/util.js.map +1 -1
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/crosshair/interface/cartesian.d.ts +1 -1
- package/cjs/component/crosshair/interface/cartesian.js.map +1 -1
- package/cjs/component/crosshair/interface/common.d.ts +1 -1
- package/cjs/component/crosshair/interface/common.js.map +1 -1
- package/cjs/component/crosshair/interface/polar.d.ts +1 -1
- package/cjs/component/crosshair/interface/polar.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/interface/theme.d.ts +1 -1
- package/cjs/component/crosshair/interface/theme.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +1 -2
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/interface.d.ts +1 -2
- package/cjs/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +13 -9
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/label/interface.d.ts +14 -2
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +2 -15
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +1 -2
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/interface.d.ts +5 -2
- package/cjs/component/legend/interface.js.map +1 -1
- package/cjs/component/legend/util.d.ts +2 -2
- package/cjs/component/marker/base-marker.d.ts +1 -1
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +3 -4
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +1 -1
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/theme.js.map +1 -1
- package/cjs/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/theme.d.ts +1 -1
- package/cjs/component/marker/mark-point/interface/theme.js.map +1 -1
- package/cjs/component/player/interface/theme.d.ts +1 -2
- package/cjs/component/player/interface/theme.js.map +1 -1
- package/cjs/component/poptip/interface.d.ts +1 -1
- package/cjs/component/poptip/interface.js.map +1 -1
- package/cjs/component/title/interface/theme.d.ts +1 -1
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +1 -1
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/core/factory.d.ts +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/instance-manager.js +1 -2
- package/cjs/core/interface.d.ts +6 -7
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/util.js +2 -1
- package/cjs/core/vchart.d.ts +3 -3
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js +1 -1
- package/cjs/data/register.js +1 -1
- package/cjs/data/transforms/aggregation.d.ts +2 -29
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.d.ts +1 -13
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
- package/cjs/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/interface.d.ts +47 -0
- package/cjs/data/transforms/interface.js +6 -0
- package/cjs/data/transforms/interface.js.map +1 -0
- package/cjs/data/transforms/regression.d.ts +1 -4
- package/cjs/data/transforms/regression.js.map +1 -1
- package/cjs/event/event.js +1 -1
- package/cjs/event/events/dimension/interface.d.ts +1 -1
- package/cjs/event/events/dimension/interface.js.map +1 -1
- package/cjs/event/index.js +1 -1
- package/cjs/event/interface.d.ts +1 -2
- package/cjs/event/interface.js.map +1 -1
- package/cjs/interaction/interface.d.ts +1 -5
- package/cjs/interaction/interface.js.map +1 -1
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/mark/arc-3d.d.ts +1 -2
- package/cjs/mark/arc-3d.js.map +1 -1
- package/cjs/mark/arc.d.ts +1 -2
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +1 -2
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/box-plot.d.ts +1 -2
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.d.ts +1 -2
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.d.ts +1 -2
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/group.d.ts +1 -9
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/image.d.ts +1 -2
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +1 -1
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/index.d.ts +1 -0
- package/cjs/mark/interface/index.js +2 -1
- package/cjs/mark/interface/index.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +44 -0
- package/cjs/mark/interface/mark.js +6 -0
- package/cjs/mark/interface/mark.js.map +1 -0
- package/cjs/mark/label.d.ts +2 -11
- package/cjs/mark/label.js.map +1 -1
- package/cjs/mark/line.d.ts +1 -2
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/link-path.d.ts +1 -2
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/path.d.ts +1 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.d.ts +1 -2
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/polygon/pyramid-3d.d.ts +1 -2
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
- package/cjs/mark/rect-3d.d.ts +1 -2
- package/cjs/mark/rect-3d.js.map +1 -1
- package/cjs/mark/rect.d.ts +1 -2
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/ripple.d.ts +1 -2
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.d.ts +1 -2
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +1 -2
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +2 -8
- package/cjs/mark/text.js.map +1 -1
- package/cjs/model/interface.d.ts +5 -5
- package/cjs/model/interface.js.map +1 -1
- package/cjs/plugin/chart/interface.d.ts +1 -2
- package/cjs/plugin/chart/interface.js.map +1 -1
- package/cjs/plugin/chart/media-query/interface/common.d.ts +2 -2
- package/cjs/plugin/chart/media-query/interface/common.js.map +1 -1
- package/cjs/plugin/chart/media-query/util/filter.js +1 -1
- package/cjs/plugin/chart/media-query/util/filter.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +3 -3
- package/cjs/plugin/components/tooltip-handler/base.js +18 -16
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
- package/cjs/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
- package/cjs/region/interface.d.ts +1 -2
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +1 -2
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/global-scale.d.ts +1 -1
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/scale/interface.d.ts +1 -1
- package/cjs/scale/interface.js.map +1 -1
- package/cjs/series/area/animation.d.ts +1 -5
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.d.ts +1 -2
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/interface.d.ts +7 -4
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/animation.d.ts +1 -8
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +1 -3
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +10 -4
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +2 -3
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +1 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +2 -2
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/cartesian/interface.d.ts +1 -1
- package/cjs/series/cartesian/interface.js.map +1 -1
- package/cjs/series/circle-packing/animation.d.ts +1 -2
- package/cjs/series/circle-packing/animation.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/interface.d.ts +2 -1
- package/cjs/series/circle-packing/interface.js.map +1 -1
- package/cjs/series/correlation/animation.d.ts +1 -5
- package/cjs/series/correlation/animation.js.map +1 -1
- package/cjs/series/correlation/correlation.d.ts +1 -2
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/correlation/interface.d.ts +7 -4
- package/cjs/series/correlation/interface.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +1 -1
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d.d.ts +1 -1
- package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +1 -5
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +1 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +2 -0
- package/cjs/series/gauge/gauge.js +14 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +1 -2
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/animation.d.ts +1 -1
- package/cjs/series/heatmap/animation.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +1 -3
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/heatmap/interface.d.ts +2 -2
- package/cjs/series/heatmap/interface.js.map +1 -1
- package/cjs/series/index.d.ts +7 -3
- package/cjs/series/index.js +30 -2
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/interface/common.d.ts +2 -3
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +6 -9
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +1 -1
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/line/animation.d.ts +1 -5
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/interface.d.ts +7 -4
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.d.ts +1 -1
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/liquid/animation.d.ts +1 -11
- package/cjs/series/liquid/animation.js.map +1 -1
- package/cjs/series/liquid/interface.d.ts +12 -2
- package/cjs/series/liquid/interface.js.map +1 -1
- package/cjs/series/liquid/liquid.js.map +1 -1
- package/cjs/series/map/interface.d.ts +1 -1
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.d.ts +1 -2
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/interface.d.ts +14 -0
- package/cjs/series/mixin/interface.js +6 -0
- package/cjs/series/mixin/interface.js.map +1 -0
- package/cjs/series/mixin/line-mixin.d.ts +3 -18
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/mosaic/interface.js.map +1 -1
- package/cjs/series/pictogram/interface.js.map +1 -1
- package/cjs/series/pictogram/pictogram.d.ts +8 -7
- package/cjs/series/pictogram/pictogram.js.map +1 -1
- package/cjs/series/pie/3d/pie-3d.d.ts +1 -1
- package/cjs/series/pie/3d/pie-3d.js.map +1 -1
- package/cjs/series/pie/animation/animation.d.ts +1 -5
- package/cjs/series/pie/animation/animation.js.map +1 -1
- package/cjs/series/pie/animation/centerOffset.d.ts +1 -4
- package/cjs/series/pie/animation/centerOffset.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +9 -2
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -4
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/animation.d.ts +1 -4
- package/cjs/series/polar/progress-like/animation.js.map +1 -1
- package/cjs/series/polar/progress-like/interface.d.ts +4 -0
- package/cjs/series/polar/progress-like/interface.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/interface.d.ts +1 -2
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/progress/linear/animation.d.ts +1 -5
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/interface.d.ts +4 -1
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/animation.d.ts +2 -8
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +11 -4
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/animation.d.ts +1 -5
- package/cjs/series/range-column/animation.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +6 -2
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/range-column.d.ts +1 -1
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/range-column/tooltip-helper.js.map +1 -1
- package/cjs/series/rose/animation.d.ts +1 -5
- package/cjs/series/rose/animation.js.map +1 -1
- package/cjs/series/rose/interface.d.ts +7 -3
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +1 -3
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.d.ts +1 -7
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +7 -2
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -3
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/animation.d.ts +1 -5
- package/cjs/series/scatter/animation.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +7 -3
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +1 -2
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/interface.d.ts +1 -1
- package/cjs/series/sunburst/interface.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/animation.d.ts +1 -2
- package/cjs/series/treemap/animation.js.map +1 -1
- package/cjs/series/treemap/interface.d.ts +3 -2
- package/cjs/series/treemap/interface.js.map +1 -1
- package/cjs/series/treemap/tooltip-helper.d.ts +1 -1
- package/cjs/series/treemap/tooltip-helper.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +2 -3
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/util/label-mark.d.ts +1 -1
- package/cjs/series/util/label-mark.js.map +1 -1
- package/cjs/series/util/utils.d.ts +1 -1
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/venn/animation.d.ts +1 -2
- package/cjs/series/venn/animation.js.map +1 -1
- package/cjs/series/venn/interface.d.ts +3 -2
- package/cjs/series/venn/interface.js.map +1 -1
- package/cjs/series/venn/venn.d.ts +3 -4
- package/cjs/series/venn/venn.js.map +1 -1
- package/cjs/series/waterfall/animation.d.ts +3 -3
- package/cjs/series/waterfall/animation.js.map +1 -1
- package/cjs/series/waterfall/interface.d.ts +3 -3
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -4
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.d.ts +1 -8
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +1 -3
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +9 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/interface.d.ts +1 -1
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/typings/layout.js.map +1 -1
- package/cjs/typings/params.d.ts +1 -1
- package/cjs/typings/params.js.map +1 -1
- package/cjs/typings/space.js.map +1 -1
- package/cjs/typings/spec/chart.d.ts +26 -26
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +10 -9
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/spec/index.d.ts +1 -1
- package/cjs/typings/spec/index.js.map +1 -1
- package/cjs/typings/spec/media-query.d.ts +3 -2
- package/cjs/typings/spec/media-query.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -3
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/data.d.ts +1 -1
- package/cjs/util/data.js.map +1 -1
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -2
- package/esm/chart/base/base-chart.d.ts +1 -2
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/common/interface.d.ts +5 -4
- package/esm/chart/common/interface.js.map +1 -1
- package/esm/chart/gauge/interface.d.ts +2 -2
- package/esm/chart/gauge/interface.js.map +1 -1
- package/esm/chart/index.js +2 -1
- package/esm/chart/interface/common.d.ts +2 -2
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/polar/interface.d.ts +1 -1
- package/esm/chart/polar/interface.js.map +1 -1
- package/esm/chart/sequence/interface.d.ts +2 -1
- package/esm/chart/sequence/interface.js.map +1 -1
- package/esm/compile/compilable-base.d.ts +2 -3
- package/esm/compile/compilable-base.js +1 -2
- package/esm/compile/compilable-base.js.map +1 -1
- package/esm/compile/compiler.d.ts +8 -8
- package/esm/compile/compiler.js +23 -9
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +63 -5
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +4 -20
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.d.ts +4 -5
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +19 -7
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-data.d.ts +2 -2
- package/esm/compile/mark/mark-data.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.d.ts +2 -2
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +1 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +28 -59
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +2 -2
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/interface/spec.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +1 -1
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/axis/util.js.map +1 -1
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/crosshair/interface/cartesian.d.ts +1 -1
- package/esm/component/crosshair/interface/cartesian.js.map +1 -1
- package/esm/component/crosshair/interface/common.d.ts +1 -1
- package/esm/component/crosshair/interface/common.js.map +1 -1
- package/esm/component/crosshair/interface/polar.d.ts +1 -1
- package/esm/component/crosshair/interface/polar.js.map +1 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/interface/theme.d.ts +1 -1
- package/esm/component/crosshair/interface/theme.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +1 -2
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/interface.d.ts +1 -2
- package/esm/component/data-zoom/scroll-bar/interface.js.map +1 -1
- package/esm/component/interface/theme.d.ts +13 -9
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/label/interface.d.ts +14 -2
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +2 -15
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +1 -2
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/interface.d.ts +5 -2
- package/esm/component/legend/interface.js.map +1 -1
- package/esm/component/legend/util.d.ts +2 -2
- package/esm/component/marker/base-marker.d.ts +1 -1
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +3 -4
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/cartesian-mark-area.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/polar-mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/cartesian-mark-line.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +1 -1
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/interface/theme.js.map +1 -1
- package/esm/component/marker/mark-line/polar-mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/cartesian-mark-point.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/interface/theme.d.ts +1 -1
- package/esm/component/marker/mark-point/interface/theme.js.map +1 -1
- package/esm/component/player/interface/theme.d.ts +1 -2
- package/esm/component/player/interface/theme.js.map +1 -1
- package/esm/component/poptip/interface.d.ts +1 -1
- package/esm/component/poptip/interface.js.map +1 -1
- package/esm/component/title/interface/theme.d.ts +1 -1
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +1 -1
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/core/factory.d.ts +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/instance-manager.js +1 -2
- package/esm/core/interface.d.ts +6 -7
- package/esm/core/interface.js.map +1 -1
- package/esm/core/util.js +2 -1
- package/esm/core/vchart.d.ts +3 -3
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js +1 -1
- package/esm/data/register.js +1 -1
- package/esm/data/transforms/aggregation.d.ts +2 -29
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.d.ts +1 -13
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/hierarchy-dimension-statistics.d.ts +1 -1
- package/esm/data/transforms/hierarchy-dimension-statistics.js.map +1 -1
- package/esm/data/transforms/interface.d.ts +47 -0
- package/esm/data/transforms/interface.js +2 -0
- package/esm/data/transforms/interface.js.map +1 -0
- package/esm/data/transforms/regression.d.ts +1 -4
- package/esm/data/transforms/regression.js.map +1 -1
- package/esm/event/event.js +1 -1
- package/esm/event/events/dimension/interface.d.ts +1 -1
- package/esm/event/events/dimension/interface.js.map +1 -1
- package/esm/event/index.js +1 -1
- package/esm/event/interface.d.ts +1 -2
- package/esm/event/interface.js.map +1 -1
- package/esm/interaction/interface.d.ts +1 -5
- package/esm/interaction/interface.js.map +1 -1
- package/esm/layout/interface.js.map +1 -1
- package/esm/mark/arc-3d.d.ts +1 -2
- package/esm/mark/arc-3d.js.map +1 -1
- package/esm/mark/arc.d.ts +1 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +1 -2
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/box-plot.d.ts +1 -2
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.d.ts +1 -2
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.d.ts +1 -2
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/group.d.ts +1 -9
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/image.d.ts +1 -2
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/interface/common.d.ts +1 -1
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/index.d.ts +1 -0
- package/esm/mark/interface/index.js +2 -0
- package/esm/mark/interface/index.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +44 -0
- package/esm/mark/interface/mark.js +2 -0
- package/esm/mark/interface/mark.js.map +1 -0
- package/esm/mark/label.d.ts +2 -11
- package/esm/mark/label.js.map +1 -1
- package/esm/mark/line.d.ts +1 -2
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/link-path.d.ts +1 -2
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/path.d.ts +1 -2
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.d.ts +1 -2
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/polygon/pyramid-3d.d.ts +1 -2
- package/esm/mark/polygon/pyramid-3d.js.map +1 -1
- package/esm/mark/rect-3d.d.ts +1 -2
- package/esm/mark/rect-3d.js.map +1 -1
- package/esm/mark/rect.d.ts +1 -2
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/ripple.d.ts +1 -2
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.d.ts +1 -2
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +1 -2
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +2 -8
- package/esm/mark/text.js.map +1 -1
- package/esm/model/interface.d.ts +5 -5
- package/esm/model/interface.js.map +1 -1
- package/esm/plugin/chart/interface.d.ts +1 -2
- package/esm/plugin/chart/interface.js.map +1 -1
- package/esm/plugin/chart/media-query/interface/common.d.ts +2 -2
- package/esm/plugin/chart/media-query/interface/common.js.map +1 -1
- package/esm/plugin/chart/media-query/util/filter.js +1 -1
- package/esm/plugin/chart/media-query/util/filter.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +3 -3
- package/esm/plugin/components/tooltip-handler/base.js +17 -15
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/canvas-tooltip-handler.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js +4 -6
- package/esm/plugin/components/tooltip-handler/dom-tooltip-handler.js.map +1 -1
- package/esm/region/interface.d.ts +1 -2
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +1 -2
- package/esm/region/region.js.map +1 -1
- package/esm/scale/global-scale.d.ts +1 -1
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/scale/interface.d.ts +1 -1
- package/esm/scale/interface.js.map +1 -1
- package/esm/series/area/animation.d.ts +1 -5
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.d.ts +1 -2
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/interface.d.ts +7 -4
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/animation.d.ts +1 -8
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar.d.ts +1 -3
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +10 -4
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +2 -3
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +1 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +2 -2
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/cartesian/interface.d.ts +1 -1
- package/esm/series/cartesian/interface.js.map +1 -1
- package/esm/series/circle-packing/animation.d.ts +1 -2
- package/esm/series/circle-packing/animation.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/interface.d.ts +2 -1
- package/esm/series/circle-packing/interface.js.map +1 -1
- package/esm/series/correlation/animation.d.ts +1 -5
- package/esm/series/correlation/animation.js.map +1 -1
- package/esm/series/correlation/correlation.d.ts +1 -2
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/correlation/interface.d.ts +7 -4
- package/esm/series/correlation/interface.js.map +1 -1
- package/esm/series/dot/dot.d.ts +1 -1
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d.d.ts +1 -1
- package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +1 -5
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +1 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +2 -0
- package/esm/series/gauge/gauge.js +15 -0
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +1 -2
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/animation.d.ts +1 -1
- package/esm/series/heatmap/animation.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +1 -3
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/heatmap/interface.d.ts +2 -2
- package/esm/series/heatmap/interface.js.map +1 -1
- package/esm/series/index.d.ts +7 -3
- package/esm/series/index.js +6 -2
- package/esm/series/index.js.map +1 -1
- package/esm/series/interface/common.d.ts +2 -3
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +6 -9
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/theme.d.ts +1 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/line/animation.d.ts +1 -5
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/interface.d.ts +7 -4
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.d.ts +1 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/liquid/animation.d.ts +1 -11
- package/esm/series/liquid/animation.js.map +1 -1
- package/esm/series/liquid/interface.d.ts +12 -2
- package/esm/series/liquid/interface.js.map +1 -1
- package/esm/series/liquid/liquid.js.map +1 -1
- package/esm/series/map/interface.d.ts +1 -1
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.d.ts +1 -2
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/interface.d.ts +14 -0
- package/esm/series/mixin/interface.js +2 -0
- package/esm/series/mixin/interface.js.map +1 -0
- package/esm/series/mixin/line-mixin.d.ts +3 -18
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/mosaic/interface.js.map +1 -1
- package/esm/series/pictogram/interface.js.map +1 -1
- package/esm/series/pictogram/pictogram.d.ts +8 -7
- package/esm/series/pictogram/pictogram.js.map +1 -1
- package/esm/series/pie/3d/pie-3d.d.ts +1 -1
- package/esm/series/pie/3d/pie-3d.js.map +1 -1
- package/esm/series/pie/animation/animation.d.ts +1 -5
- package/esm/series/pie/animation/animation.js.map +1 -1
- package/esm/series/pie/animation/centerOffset.d.ts +1 -4
- package/esm/series/pie/animation/centerOffset.js.map +1 -1
- package/esm/series/pie/interface.d.ts +9 -2
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -4
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/animation.d.ts +1 -4
- package/esm/series/polar/progress-like/animation.js.map +1 -1
- package/esm/series/polar/progress-like/interface.d.ts +4 -0
- package/esm/series/polar/progress-like/interface.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/interface.d.ts +1 -2
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/progress/linear/animation.d.ts +1 -5
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/interface.d.ts +4 -1
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/animation.d.ts +2 -8
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/interface.d.ts +11 -4
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/animation.d.ts +1 -5
- package/esm/series/range-column/animation.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +6 -2
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/range-column.d.ts +1 -1
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/range-column/tooltip-helper.js.map +1 -1
- package/esm/series/rose/animation.d.ts +1 -5
- package/esm/series/rose/animation.js.map +1 -1
- package/esm/series/rose/interface.d.ts +7 -3
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +1 -3
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.d.ts +1 -7
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +7 -2
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -3
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/animation.d.ts +1 -5
- package/esm/series/scatter/animation.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +7 -3
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +1 -2
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/interface.d.ts +1 -1
- package/esm/series/sunburst/interface.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/animation.d.ts +1 -2
- package/esm/series/treemap/animation.js.map +1 -1
- package/esm/series/treemap/interface.d.ts +3 -2
- package/esm/series/treemap/interface.js.map +1 -1
- package/esm/series/treemap/tooltip-helper.d.ts +1 -1
- package/esm/series/treemap/tooltip-helper.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +2 -3
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/util/label-mark.d.ts +1 -1
- package/esm/series/util/label-mark.js.map +1 -1
- package/esm/series/util/utils.d.ts +1 -1
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/venn/animation.d.ts +1 -2
- package/esm/series/venn/animation.js.map +1 -1
- package/esm/series/venn/interface.d.ts +3 -2
- package/esm/series/venn/interface.js.map +1 -1
- package/esm/series/venn/venn.d.ts +3 -4
- package/esm/series/venn/venn.js.map +1 -1
- package/esm/series/waterfall/animation.d.ts +3 -3
- package/esm/series/waterfall/animation.js.map +1 -1
- package/esm/series/waterfall/interface.d.ts +3 -3
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -4
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.d.ts +1 -8
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +1 -3
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +9 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/interface.d.ts +1 -1
- package/esm/theme/interface.js.map +1 -1
- package/esm/typings/layout.js.map +1 -1
- package/esm/typings/params.d.ts +1 -1
- package/esm/typings/params.js.map +1 -1
- package/esm/typings/space.js.map +1 -1
- package/esm/typings/spec/chart.d.ts +26 -26
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/spec/common.d.ts +10 -9
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/spec/index.d.ts +1 -1
- package/esm/typings/spec/index.js.map +1 -1
- package/esm/typings/spec/media-query.d.ts +3 -2
- package/esm/typings/spec/media-query.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -3
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/data.d.ts +1 -1
- package/esm/util/data.js.map +1 -1
- package/package.json +16 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/transforms/aggregation.ts"],"names":[],"mappings":"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","file":"aggregation.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type {\n IAggrType,\n ICoordinateOption,\n IDataPointSpec,\n IDataPos,\n IMarkerSupportSeries\n} from '../../component/marker/interface';\nimport type { CoordinateType, Datum, StringOrNumber } from '../../typings';\n\nimport { array, isArray, isFunction, isPlainObject, isString, isValid } from '@visactor/vutils';\nimport { variance, average, min, max, sum, standardDeviation, median } from '../../util/math';\nimport { isAggrSpec } from '../../component/marker/utils';\n\nexport type IOption = {\n field: string;\n};\n\nexport type IOptionAggrField = {\n field: string;\n aggrType: IAggrType;\n};\n\nexport type IOptionPos = IOptionAggrField | string | number | StringOrNumber[];\n\nexport type IOptionSeries = {\n getRelativeSeries: () => IMarkerSupportSeries;\n getStartRelativeSeries: () => IMarkerSupportSeries;\n getEndRelativeSeries: () => IMarkerSupportSeries;\n};\n\nexport type IOptionCallback = (\n relativeSeriesData: any,\n startRelativeSeriesData: any,\n endRelativeSeriesData: any,\n relativeSeries: IMarkerSupportSeries,\n startRelative: IMarkerSupportSeries,\n endRelative: IMarkerSupportSeries\n) => IOptionPos;\n\nexport type IOptionAggr = {\n x?: IOptionPos | IOptionCallback;\n y?: IOptionPos | IOptionCallback;\n angle?: IOptionPos | IOptionCallback;\n radius?: IOptionPos | IOptionCallback;\n areaName?: string | IOptionCallback;\n getRefRelativeSeries?: () => IMarkerSupportSeries;\n} & IOptionSeries;\n\nexport type IOptionWithCoordinates = {\n coordinates:\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => IDataPointSpec[] | IDataPointSpec)\n | IDataPointSpec\n | IDataPointSpec[];\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) => IMarkerSupportSeries;\n coordinateType: CoordinateType;\n} & IOptionSeries;\n\nexport const markerMin = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData as Datum[];\n\n return min(data, opt.field);\n};\nexport const markerMax = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData as Datum[];\n\n return max(data, opt.field);\n};\n\nexport function markerSum(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return sum(data, opt.field);\n}\nexport function markerAverage(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return average(data, opt.field);\n}\n\nexport function markerVariance(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return variance(data, opt.field);\n}\n\nexport function markerStandardDeviation(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return standardDeviation(data, opt.field);\n}\n\nexport function markerMedian(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return median(data, opt.field);\n}\n\nexport function markerAggregation(_data: Array<DataView>, options: IOptionWithCoordinates | IOptionAggr[]) {\n let markerSource: IOptionAggr[];\n if ((options as IOptionWithCoordinates).coordinates) {\n const {\n coordinates: coordinatesInOptions,\n coordinateType,\n getSeriesByIdOrIndex,\n ...rest\n } = options as IOptionWithCoordinates;\n let coordinates;\n if (isFunction(coordinatesInOptions)) {\n const relativeSeries = (options as IOptionWithCoordinates).getRelativeSeries();\n coordinates = coordinatesInOptions(relativeSeries.getData().getLatestData(), relativeSeries);\n } else {\n coordinates = coordinatesInOptions;\n }\n coordinates = array(coordinates);\n let option: IOptionAggr;\n\n markerSource = coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = getSeriesByIdOrIndex(coordinate.refRelativeSeriesId, coordinate.refRelativeSeriesIndex);\n\n if (coordinateType === 'cartesian') {\n const { xField, yField } = refRelativeSeries.getSpec();\n const { xFieldDim, xFieldIndex, yFieldDim, yFieldIndex } = coordinate;\n let bindXField = xField;\n if (isValid(xFieldIndex)) {\n bindXField = array(xField)[xFieldIndex];\n }\n if (xFieldDim && array(xField).includes(xFieldDim)) {\n bindXField = xFieldDim;\n }\n\n let bindYField = yField;\n if (isValid(yFieldIndex)) {\n bindYField = array(yField)[yFieldIndex];\n }\n if (yFieldDim && array(yField).includes(yFieldDim)) {\n bindYField = yFieldDim;\n }\n\n option = {\n x: undefined,\n y: undefined,\n ...rest\n };\n\n if (isString(coordinate[bindXField]) && isAggrSpec(coordinate[bindXField] as IDataPos)) {\n option.x = { field: bindXField, aggrType: coordinate[bindXField] as IAggrType };\n } else {\n option.x = array(bindXField).map(field => coordinate[field]) as StringOrNumber[];\n }\n\n if (isString(coordinate[bindYField]) && isAggrSpec(coordinate[bindYField] as IDataPos)) {\n option.y = { field: bindYField, aggrType: coordinate[bindYField] as IAggrType };\n } else {\n option.y = array(bindYField).map(field => coordinate[field]) as StringOrNumber[];\n }\n } else if (coordinateType === 'polar') {\n const { valueField: radiusField, categoryField: angleField } = refRelativeSeries.getSpec();\n const { angleFieldDim, angleFieldIndex } = coordinate;\n let bindAngleField = angleField;\n if (isValid(angleFieldIndex)) {\n bindAngleField = array(angleField)[angleFieldIndex];\n }\n if (angleFieldDim && array(angleField).includes(angleFieldDim)) {\n bindAngleField = angleFieldDim;\n }\n\n const bindRadiusField = radiusField;\n\n option = {\n angle: undefined,\n radius: undefined,\n ...rest\n };\n\n if (isString(coordinate[bindAngleField]) && isAggrSpec(coordinate[bindAngleField] as IDataPos)) {\n option.angle = { field: bindAngleField, aggrType: coordinate[bindAngleField] as IAggrType };\n } else {\n option.angle = array(bindAngleField).map(field => coordinate[field]) as StringOrNumber[];\n }\n\n if (isString(coordinate[bindRadiusField]) && isAggrSpec(coordinate[bindRadiusField] as IDataPos)) {\n option.radius = { field: bindRadiusField, aggrType: coordinate[bindRadiusField] as IAggrType };\n } else {\n option.radius = array(bindRadiusField).map(field => coordinate[field]) as StringOrNumber[];\n }\n }\n\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n } else {\n markerSource = options as IOptionAggr[];\n }\n\n const results: {\n x: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n y: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n angle: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n radius: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n areaName: string | IOptionCallback | null;\n }[] = [];\n markerSource.forEach(option => {\n const result: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n areaName: string | null;\n getRefRelativeSeries?: () => IMarkerSupportSeries;\n } = { x: null, y: null, angle: null, radius: null, areaName: null };\n\n if (isValid(option.x)) {\n const x = option.x;\n\n if (isArray(x)) {\n result.x = x.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.x = getFinalValue(x, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.y)) {\n const y = option.y;\n if (isArray(y)) {\n result.y = y.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.y = getFinalValue(y, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.angle)) {\n const angle = option.angle;\n if (isArray(angle)) {\n result.angle = angle.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.angle = getFinalValue(angle, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.radius)) {\n const radius = option.radius;\n if (isArray(radius)) {\n result.radius = radius.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.radius = getFinalValue(radius, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.areaName)) {\n const name = option.areaName;\n result.areaName = getFinalValue(name, _data, option) as string;\n }\n if (option.getRefRelativeSeries) {\n result.getRefRelativeSeries = option.getRefRelativeSeries;\n }\n results.push(result);\n });\n\n return results;\n}\n\nconst aggrMap = {\n min: markerMin,\n max: markerMax,\n sum: markerSum,\n average: markerAverage,\n variance: markerVariance,\n standardDeviation: markerStandardDeviation,\n median: markerMedian\n};\n\nfunction getFinalValue(source: IOptionPos | IOptionCallback, _data: Array<DataView>, option: IOptionAggr) {\n const relativeSeries = option.getRelativeSeries();\n const startSeries = option.getStartRelativeSeries();\n const endSeries = option.getEndRelativeSeries();\n const relativeSeriesData = relativeSeries.getData().getLatestData();\n const startRelativeSeriesData = startSeries.getData().getLatestData();\n const endRelativeSeriesData = endSeries.getData().getLatestData();\n\n if (isFunction(source)) {\n return source(\n relativeSeriesData,\n startRelativeSeriesData,\n endRelativeSeriesData,\n relativeSeries,\n startSeries,\n endSeries\n ) as StringOrNumber[] | StringOrNumber;\n }\n if (isPlainObject(source)) {\n const { aggrType, field } = source as IOptionAggrField;\n return aggrMap[aggrType](_data, { field: field });\n }\n\n return source;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/data/transforms/aggregation.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6CAAgG;AAChG,0CAA8F;AAC9F,wDAA0D;AAUnD,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAY,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAqB,CAAC;IAE5C,OAAO,IAAA,UAAG,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AACK,MAAM,SAAS,GAAG,CAAC,KAAsB,EAAE,GAAY,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAqB,CAAC;IAE5C,OAAO,IAAA,UAAG,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC,CAAC;AAJW,QAAA,SAAS,aAIpB;AAEF,SAAgB,SAAS,CAAC,KAAsB,EAAE,GAAY;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,UAAG,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC9B,CAAC;AAJD,8BAIC;AACD,SAAgB,aAAa,CAAC,KAAsB,EAAE,GAAY;IAChE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,cAAO,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAClC,CAAC;AAJD,sCAIC;AAED,SAAgB,cAAc,CAAC,KAAsB,EAAE,GAAY;IACjE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,eAAQ,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AACnC,CAAC;AAJD,wCAIC;AAED,SAAgB,uBAAuB,CAAC,KAAsB,EAAE,GAAY;IAC1E,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,wBAAiB,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AAC5C,CAAC;AAJD,0DAIC;AAED,SAAgB,YAAY,CAAC,KAAsB,EAAE,GAAY;IAC/D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,aAAM,EAAC,IAAI,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;AACjC,CAAC;AAJD,oCAIC;AAED,SAAgB,iBAAiB,CAAC,KAAsB,EAAE,OAA+C;IACvG,IAAI,YAA2B,CAAC;IAChC,IAAK,OAAkC,CAAC,WAAW,EAAE;QACnD,MAAM,KAKF,OAAiC,EAL/B,EACJ,WAAW,EAAE,oBAAoB,EACjC,cAAc,EACd,oBAAoB,OAEe,EADhC,IAAI,cAJH,yDAKL,CAAoC,CAAC;QACtC,IAAI,WAAW,CAAC;QAChB,IAAI,IAAA,mBAAU,EAAC,oBAAoB,CAAC,EAAE;YACpC,MAAM,cAAc,GAAI,OAAkC,CAAC,iBAAiB,EAAE,CAAC;YAC/E,WAAW,GAAG,oBAAoB,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,EAAE,cAAc,CAAC,CAAC;SAC9F;aAAM;YACL,WAAW,GAAG,oBAAoB,CAAC;SACpC;QACD,WAAW,GAAG,IAAA,cAAK,EAAC,WAAW,CAAC,CAAC;QACjC,IAAI,MAAmB,CAAC;QAExB,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,UAA0B,EAAE,EAAE;YAC5D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,UAAU,CAAC,mBAAmB,EAAE,UAAU,CAAC,sBAAsB,CAAC,CAAC;YAElH,IAAI,cAAc,KAAK,WAAW,EAAE;gBAClC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBACvD,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,UAAU,CAAC;gBACtE,IAAI,UAAU,GAAG,MAAM,CAAC;gBACxB,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,EAAE;oBACxB,UAAU,GAAG,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,IAAI,SAAS,IAAI,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBAClD,UAAU,GAAG,SAAS,CAAC;iBACxB;gBAED,IAAI,UAAU,GAAG,MAAM,CAAC;gBACxB,IAAI,IAAA,gBAAO,EAAC,WAAW,CAAC,EAAE;oBACxB,UAAU,GAAG,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,WAAW,CAAC,CAAC;iBACzC;gBACD,IAAI,SAAS,IAAI,IAAA,cAAK,EAAC,MAAM,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;oBAClD,UAAU,GAAG,SAAS,CAAC;iBACxB;gBAED,MAAM,mBACJ,CAAC,EAAE,SAAS,EACZ,CAAC,EAAE,SAAS,IACT,IAAI,CACR,CAAC;gBAEF,IAAI,IAAA,iBAAQ,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,UAAU,CAAa,CAAC,EAAE;oBACtF,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAc,EAAE,CAAC;iBACjF;qBAAM;oBACL,MAAM,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAqB,CAAC;iBAClF;gBAED,IAAI,IAAA,iBAAQ,EAAC,UAAU,CAAC,UAAU,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,UAAU,CAAa,CAAC,EAAE;oBACtF,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,CAAC,UAAU,CAAc,EAAE,CAAC;iBACjF;qBAAM;oBACL,MAAM,CAAC,CAAC,GAAG,IAAA,cAAK,EAAC,UAAU,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAqB,CAAC;iBAClF;aACF;iBAAM,IAAI,cAAc,KAAK,OAAO,EAAE;gBACrC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBAC3F,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,GAAG,UAAU,CAAC;gBACtD,IAAI,cAAc,GAAG,UAAU,CAAC;gBAChC,IAAI,IAAA,gBAAO,EAAC,eAAe,CAAC,EAAE;oBAC5B,cAAc,GAAG,IAAA,cAAK,EAAC,UAAU,CAAC,CAAC,eAAe,CAAC,CAAC;iBACrD;gBACD,IAAI,aAAa,IAAI,IAAA,cAAK,EAAC,UAAU,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;oBAC9D,cAAc,GAAG,aAAa,CAAC;iBAChC;gBAED,MAAM,eAAe,GAAG,WAAW,CAAC;gBAEpC,MAAM,mBACJ,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,SAAS,IACd,IAAI,CACR,CAAC;gBAEF,IAAI,IAAA,iBAAQ,EAAC,UAAU,CAAC,cAAc,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,cAAc,CAAa,CAAC,EAAE;oBAC9F,MAAM,CAAC,KAAK,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,UAAU,CAAC,cAAc,CAAc,EAAE,CAAC;iBAC7F;qBAAM;oBACL,MAAM,CAAC,KAAK,GAAG,IAAA,cAAK,EAAC,cAAc,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAqB,CAAC;iBAC1F;gBAED,IAAI,IAAA,iBAAQ,EAAC,UAAU,CAAC,eAAe,CAAC,CAAC,IAAI,IAAA,kBAAU,EAAC,UAAU,CAAC,eAAe,CAAa,CAAC,EAAE;oBAChG,MAAM,CAAC,MAAM,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,QAAQ,EAAE,UAAU,CAAC,eAAe,CAAc,EAAE,CAAC;iBAChG;qBAAM;oBACL,MAAM,CAAC,MAAM,GAAG,IAAA,cAAK,EAAC,eAAe,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAqB,CAAC;iBAC5F;aACF;YAED,MAAM,CAAC,oBAAoB,GAAG,GAAG,EAAE,CAAC,iBAAiB,CAAC;YACtD,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;KACJ;SAAM;QACL,YAAY,GAAG,OAAwB,CAAC;KACzC;IAED,MAAM,OAAO,GAMP,EAAE,CAAC;IACT,YAAY,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QAC5B,MAAM,MAAM,GAOR,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAEpE,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YAEnB,IAAI,IAAA,gBAAO,EAAC,CAAC,CAAC,EAAE;gBACd,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAqB,CAAC;aAClF;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAmB,CAAC;aAC9D;SACF;QACD,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,CAAC,CAAC,EAAE;YACrB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC;YACnB,IAAI,IAAA,gBAAO,EAAC,CAAC,CAAC,EAAE;gBACd,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAqB,CAAC;aAClF;iBAAM;gBACL,MAAM,CAAC,CAAC,GAAG,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAmB,CAAC;aAC9D;SACF;QACD,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,KAAK,CAAC,EAAE;YACzB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;YAC3B,IAAI,IAAA,gBAAO,EAAC,KAAK,CAAC,EAAE;gBAClB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAqB,CAAC;aAC1F;iBAAM;gBACL,MAAM,CAAC,KAAK,GAAG,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAmB,CAAC;aACtE;SACF;QACD,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,MAAM,CAAC,EAAE;YAC1B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;YAC7B,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,EAAE;gBACnB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,CAAqB,CAAC;aAC5F;iBAAM;gBACL,MAAM,CAAC,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAmB,CAAC;aACxE;SACF;QACD,IAAI,IAAA,gBAAO,EAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC;YAC7B,MAAM,CAAC,QAAQ,GAAG,aAAa,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAW,CAAC;SAChE;QACD,IAAI,MAAM,CAAC,oBAAoB,EAAE;YAC/B,MAAM,CAAC,oBAAoB,GAAG,MAAM,CAAC,oBAAoB,CAAC;SAC3D;QACD,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,OAAO,OAAO,CAAC;AACjB,CAAC;AA9JD,8CA8JC;AAED,MAAM,OAAO,GAAG;IACd,GAAG,EAAE,iBAAS;IACd,GAAG,EAAE,iBAAS;IACd,GAAG,EAAE,SAAS;IACd,OAAO,EAAE,aAAa;IACtB,QAAQ,EAAE,cAAc;IACxB,iBAAiB,EAAE,uBAAuB;IAC1C,MAAM,EAAE,YAAY;CACrB,CAAC;AAEF,SAAS,aAAa,CAAC,MAAoC,EAAE,KAAsB,EAAE,MAAmB;IACtG,MAAM,cAAc,GAAG,MAAM,CAAC,iBAAiB,EAAE,CAAC;IAClD,MAAM,WAAW,GAAG,MAAM,CAAC,sBAAsB,EAAE,CAAC;IACpD,MAAM,SAAS,GAAG,MAAM,CAAC,oBAAoB,EAAE,CAAC;IAChD,MAAM,kBAAkB,GAAG,cAAc,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;IACpE,MAAM,uBAAuB,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;IACtE,MAAM,qBAAqB,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,aAAa,EAAE,CAAC;IAElE,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,OAAO,MAAM,CACX,kBAAkB,EAClB,uBAAuB,EACvB,qBAAqB,EACrB,cAAc,EACd,WAAW,EACX,SAAS,CAC2B,CAAC;KACxC;IACD,IAAI,IAAA,sBAAa,EAAC,MAAM,CAAC,EAAE;QACzB,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,MAA0B,CAAC;QACvD,OAAO,OAAO,CAAC,QAAQ,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;KACnD;IAED,OAAO,MAAM,CAAC;AAChB,CAAC","file":"aggregation.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IAggrType, IDataPointSpec, IDataPos, IMarkerSupportSeries } from '../../component/marker/interface';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, isArray, isFunction, isPlainObject, isString, isValid } from '@visactor/vutils';\nimport { variance, average, min, max, sum, standardDeviation, median } from '../../util/math';\nimport { isAggrSpec } from '../../component/marker/utils';\nimport type {\n IOption,\n IOptionAggr,\n IOptionAggrField,\n IOptionCallback,\n IOptionPos,\n IOptionWithCoordinates\n} from './interface';\n\nexport const markerMin = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData as Datum[];\n\n return min(data, opt.field);\n};\nexport const markerMax = (_data: Array<DataView>, opt: IOption) => {\n const data = _data[0].latestData as Datum[];\n\n return max(data, opt.field);\n};\n\nexport function markerSum(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return sum(data, opt.field);\n}\nexport function markerAverage(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return average(data, opt.field);\n}\n\nexport function markerVariance(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return variance(data, opt.field);\n}\n\nexport function markerStandardDeviation(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return standardDeviation(data, opt.field);\n}\n\nexport function markerMedian(_data: Array<DataView>, opt: IOption) {\n const data = _data[0].latestData;\n\n return median(data, opt.field);\n}\n\nexport function markerAggregation(_data: Array<DataView>, options: IOptionWithCoordinates | IOptionAggr[]) {\n let markerSource: IOptionAggr[];\n if ((options as IOptionWithCoordinates).coordinates) {\n const {\n coordinates: coordinatesInOptions,\n coordinateType,\n getSeriesByIdOrIndex,\n ...rest\n } = options as IOptionWithCoordinates;\n let coordinates;\n if (isFunction(coordinatesInOptions)) {\n const relativeSeries = (options as IOptionWithCoordinates).getRelativeSeries();\n coordinates = coordinatesInOptions(relativeSeries.getData().getLatestData(), relativeSeries);\n } else {\n coordinates = coordinatesInOptions;\n }\n coordinates = array(coordinates);\n let option: IOptionAggr;\n\n markerSource = coordinates.map((coordinate: IDataPointSpec) => {\n const refRelativeSeries = getSeriesByIdOrIndex(coordinate.refRelativeSeriesId, coordinate.refRelativeSeriesIndex);\n\n if (coordinateType === 'cartesian') {\n const { xField, yField } = refRelativeSeries.getSpec();\n const { xFieldDim, xFieldIndex, yFieldDim, yFieldIndex } = coordinate;\n let bindXField = xField;\n if (isValid(xFieldIndex)) {\n bindXField = array(xField)[xFieldIndex];\n }\n if (xFieldDim && array(xField).includes(xFieldDim)) {\n bindXField = xFieldDim;\n }\n\n let bindYField = yField;\n if (isValid(yFieldIndex)) {\n bindYField = array(yField)[yFieldIndex];\n }\n if (yFieldDim && array(yField).includes(yFieldDim)) {\n bindYField = yFieldDim;\n }\n\n option = {\n x: undefined,\n y: undefined,\n ...rest\n };\n\n if (isString(coordinate[bindXField]) && isAggrSpec(coordinate[bindXField] as IDataPos)) {\n option.x = { field: bindXField, aggrType: coordinate[bindXField] as IAggrType };\n } else {\n option.x = array(bindXField).map(field => coordinate[field]) as StringOrNumber[];\n }\n\n if (isString(coordinate[bindYField]) && isAggrSpec(coordinate[bindYField] as IDataPos)) {\n option.y = { field: bindYField, aggrType: coordinate[bindYField] as IAggrType };\n } else {\n option.y = array(bindYField).map(field => coordinate[field]) as StringOrNumber[];\n }\n } else if (coordinateType === 'polar') {\n const { valueField: radiusField, categoryField: angleField } = refRelativeSeries.getSpec();\n const { angleFieldDim, angleFieldIndex } = coordinate;\n let bindAngleField = angleField;\n if (isValid(angleFieldIndex)) {\n bindAngleField = array(angleField)[angleFieldIndex];\n }\n if (angleFieldDim && array(angleField).includes(angleFieldDim)) {\n bindAngleField = angleFieldDim;\n }\n\n const bindRadiusField = radiusField;\n\n option = {\n angle: undefined,\n radius: undefined,\n ...rest\n };\n\n if (isString(coordinate[bindAngleField]) && isAggrSpec(coordinate[bindAngleField] as IDataPos)) {\n option.angle = { field: bindAngleField, aggrType: coordinate[bindAngleField] as IAggrType };\n } else {\n option.angle = array(bindAngleField).map(field => coordinate[field]) as StringOrNumber[];\n }\n\n if (isString(coordinate[bindRadiusField]) && isAggrSpec(coordinate[bindRadiusField] as IDataPos)) {\n option.radius = { field: bindRadiusField, aggrType: coordinate[bindRadiusField] as IAggrType };\n } else {\n option.radius = array(bindRadiusField).map(field => coordinate[field]) as StringOrNumber[];\n }\n }\n\n option.getRefRelativeSeries = () => refRelativeSeries;\n return option;\n });\n } else {\n markerSource = options as IOptionAggr[];\n }\n\n const results: {\n x: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n y: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n angle: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n radius: StringOrNumber[] | StringOrNumber | IOptionCallback | null;\n areaName: string | IOptionCallback | null;\n }[] = [];\n markerSource.forEach(option => {\n const result: {\n x: StringOrNumber[] | StringOrNumber | null;\n y: StringOrNumber[] | StringOrNumber | null;\n angle: StringOrNumber[] | StringOrNumber | null;\n radius: StringOrNumber[] | StringOrNumber | null;\n areaName: string | null;\n getRefRelativeSeries?: () => IMarkerSupportSeries;\n } = { x: null, y: null, angle: null, radius: null, areaName: null };\n\n if (isValid(option.x)) {\n const x = option.x;\n\n if (isArray(x)) {\n result.x = x.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.x = getFinalValue(x, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.y)) {\n const y = option.y;\n if (isArray(y)) {\n result.y = y.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.y = getFinalValue(y, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.angle)) {\n const angle = option.angle;\n if (isArray(angle)) {\n result.angle = angle.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.angle = getFinalValue(angle, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.radius)) {\n const radius = option.radius;\n if (isArray(radius)) {\n result.radius = radius.map(item => getFinalValue(item, _data, option)) as StringOrNumber[];\n } else {\n result.radius = getFinalValue(radius, _data, option) as StringOrNumber;\n }\n }\n if (isValid(option.areaName)) {\n const name = option.areaName;\n result.areaName = getFinalValue(name, _data, option) as string;\n }\n if (option.getRefRelativeSeries) {\n result.getRefRelativeSeries = option.getRefRelativeSeries;\n }\n results.push(result);\n });\n\n return results;\n}\n\nconst aggrMap = {\n min: markerMin,\n max: markerMax,\n sum: markerSum,\n average: markerAverage,\n variance: markerVariance,\n standardDeviation: markerStandardDeviation,\n median: markerMedian\n};\n\nfunction getFinalValue(source: IOptionPos | IOptionCallback, _data: Array<DataView>, option: IOptionAggr) {\n const relativeSeries = option.getRelativeSeries();\n const startSeries = option.getStartRelativeSeries();\n const endSeries = option.getEndRelativeSeries();\n const relativeSeriesData = relativeSeries.getData().getLatestData();\n const startRelativeSeriesData = startSeries.getData().getLatestData();\n const endRelativeSeriesData = endSeries.getData().getLatestData();\n\n if (isFunction(source)) {\n return source(\n relativeSeriesData,\n startRelativeSeriesData,\n endRelativeSeriesData,\n relativeSeries,\n startSeries,\n endSeries\n ) as StringOrNumber[] | StringOrNumber;\n }\n if (isPlainObject(source)) {\n const { aggrType, field } = source as IOptionAggrField;\n return aggrMap[aggrType](_data, { field: field });\n }\n\n return source;\n}\n"]}
|
|
@@ -1,19 +1,7 @@
|
|
|
1
1
|
import type { IFieldsMeta } from '../../typings/spec';
|
|
2
2
|
import type { DataView } from '@visactor/vdataset';
|
|
3
3
|
import type { Datum } from '../../typings';
|
|
4
|
-
|
|
5
|
-
export interface IStatisticsOption {
|
|
6
|
-
fields: {
|
|
7
|
-
key: string;
|
|
8
|
-
operations: StatisticOperations;
|
|
9
|
-
filter?: (fv: any) => boolean;
|
|
10
|
-
customize?: {
|
|
11
|
-
max: number;
|
|
12
|
-
min: number;
|
|
13
|
-
} | any[];
|
|
14
|
-
}[];
|
|
15
|
-
target?: 'parser' | 'latest';
|
|
16
|
-
}
|
|
4
|
+
import type { IStatisticsOption, StatisticOperations } from './interface';
|
|
17
5
|
export declare const dimensionStatistics: (data: Array<DataView>, op: IStatisticsOption) => {};
|
|
18
6
|
export declare const dimensionStatisticsOfSimpleData: (latestData: Datum[], fields: {
|
|
19
7
|
key: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/transforms/dimension-statistics.ts"],"names":[],"mappings":";;;AAAA,6CAA6E;AAE7E,0CAAqD;AACrD,0CAA8C;
|
|
1
|
+
{"version":3,"sources":["../src/data/transforms/dimension-statistics.ts"],"names":[],"mappings":"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","file":"dimension-statistics.js","sourcesContent":["import { isNil, isFunction, minInArray, maxInArray } from '@visactor/vutils';\nimport type { IFieldsMeta } from '../../typings/spec';\nimport { couldBeValidNumber } from '../../util/type';\nimport { mergeFields } from '../../util/data';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Datum } from '../../typings';\nimport type { IStatisticsOption, StatisticOperations } from './interface';\n\nconst methods = {\n min: (arr: any[]) => {\n return arr.length ? minInArray(arr.map(n => n * 1)) : 0;\n },\n max: (arr: any[]) => {\n return arr.length ? maxInArray(arr.map(n => n * 1)) : 0;\n },\n 'array-min': (arr: any[]) => {\n return arr.length ? minInArray(arr.map(n => n * 1)) : 0;\n },\n 'array-max': (arr: any[]) => {\n return arr.length ? maxInArray(arr.map(n => n * 1)) : 0;\n },\n values: (arr: any[]) => {\n const map = {};\n const res: any[] = [];\n\n for (const entry of arr) {\n if (!map[entry]) {\n res.push(entry);\n map[entry] = 1;\n }\n }\n\n return res;\n }\n};\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const dimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n // const operations = op.operations;\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return {};\n }\n\n // merge same key\n fields = mergeFields([], fields);\n\n const dataKey = op.target === 'parser' ? 'parserData' : 'latestData';\n const latestData = data[0][dataKey] ? data[0][dataKey] : data || [];\n const dataFields = data[0].getFields?.() as Record<\n /** 字段key */\n string,\n IFieldsMeta\n >;\n\n return dimensionStatisticsOfSimpleData(latestData, fields, dataFields);\n};\n\n/**\n * 聚合统计主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const dimensionStatisticsOfSimpleData = (\n latestData: Datum[],\n fields: {\n key: string;\n operations: StatisticOperations;\n filter?: (fv: any) => boolean;\n customize?: { max: number; min: number } | any[];\n }[],\n dataFields?: Record<\n /** 字段key */\n string,\n IFieldsMeta\n >\n) => {\n const result = {};\n\n let fValues: any[] = [];\n let nextFValues: any[] = [];\n fields.forEach(f => {\n const key = f.key;\n // NOTE: the same key in fields has been merge already\n result[key] = {};\n const dataFieldInKey = dataFields?.[key];\n const operations: StatisticOperations = f.operations;\n const isNumberField = operations.some(op => op === 'min' || op === 'max' || op === 'allValid');\n let allValid = true;\n fValues.length = 0;\n\n latestData &&\n latestData.forEach((d: Datum) => {\n if (d) {\n fValues.push(d[key]);\n }\n });\n const len = fValues.length;\n\n if (isNumberField) {\n nextFValues.length = 0;\n fValues.forEach((item, i) => {\n if (couldBeValidNumber(item)) {\n nextFValues.push(item);\n }\n });\n const t = fValues;\n fValues = nextFValues;\n nextFValues = t;\n // fValues = fValues.filter(couldBeValidNumber);\n allValid = fValues.length === len;\n } else if (operations.some(op => op === 'array-min' || op === 'array-max')) {\n fValues = fValues.reduce((res, entry) => {\n if (entry) {\n entry.forEach((d: any) => {\n if (couldBeValidNumber(d)) {\n res.push(d);\n }\n });\n }\n\n return res;\n }, []);\n } else {\n fValues = fValues.filter((entry: any) => entry !== undefined);\n }\n\n if (f.filter) {\n fValues = fValues.filter(f.filter);\n }\n\n operations.forEach(op => {\n // @chensij 如果指定了计算的domain结果,则忽略计算(目前该逻辑仅在dot series中维护,因为dot series期望在filter data之后x轴改变domain,y轴不改变domain)\n if (f.customize) {\n result[key][op] = f.customize;\n } else {\n if (dataFieldInKey && dataFieldInKey.lockStatisticsByDomain && !isNil(dataFieldInKey.domain)) {\n if (op === 'values') {\n result[key][op] = dataFieldInKey.domain.slice();\n return;\n }\n } else if (op === 'allValid') {\n return;\n }\n\n result[key][op] = methods[op](fValues);\n\n if (op === 'array-max') {\n result[key].max = result[key][op];\n }\n if (op === 'array-min') {\n result[key].min = result[key][op];\n }\n }\n });\n\n if (isNumberField) {\n result[key].allValid = allValid;\n }\n });\n\n return result;\n};\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { IStatisticsOption } from './dimension-statistics';
|
|
2
1
|
import type { DataView } from '@visactor/vdataset';
|
|
2
|
+
import type { IStatisticsOption } from './interface';
|
|
3
3
|
export declare const hierarchyDimensionStatistics: (data: Array<DataView>, op: IStatisticsOption) => {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/transforms/hierarchy-dimension-statistics.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,iEAA6D;
|
|
1
|
+
{"version":3,"sources":["../src/data/transforms/hierarchy-dimension-statistics.ts"],"names":[],"mappings":";;;AAAA,6CAA8C;AAC9C,iEAA6D;AAE7D,uCAAoC;AAU7B,MAAM,4BAA4B,GAAG,CAAC,IAAqB,EAAE,EAAqB,EAAE,EAAE;IAC3F,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;IACvB,IAAI,IAAA,mBAAU,EAAC,MAAM,CAAC,EAAE;QACtB,MAAM,GAAG,MAAM,EAAE,CAAC;KACnB;IACD,IAAI,CAAC,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,MAAM,CAAA,IAAI,CAAC,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,MAAM,CAAA,EAAE;QACpC,OAAO,MAAM,CAAC;KACf;IAED,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,EAAE;QACvB,OAAO,MAAM,CAAC;KACf;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,UAAqB,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAA,iBAAO,EAAC,aAAa,CAAC,CAAC;IACxC,MAAM,GAAG,IAAA,0CAAmB,EAAC,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAS,CAAC,EAAE,EAAE,CAAC,CAAC;IACpE,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAlBW,QAAA,4BAA4B,gCAkBvC","file":"hierarchy-dimension-statistics.js","sourcesContent":["import { isFunction } from '@visactor/vutils';\nimport { dimensionStatistics } from './dimension-statistics';\nimport type { DataView } from '@visactor/vdataset';\nimport { flatten } from './flatten';\nimport type { Datum } from '../../typings';\nimport type { IStatisticsOption } from './interface';\n\n/**\n * 层次聚合统计主要用于处理层次数据(诸如统计平均值,求和等),并返回计算后的数据结果\n * @param data\n * @param options\n * @returns\n */\nexport const hierarchyDimensionStatistics = (data: Array<DataView>, op: IStatisticsOption) => {\n let result = {};\n let fields = op.fields;\n if (isFunction(fields)) {\n fields = fields();\n }\n if (!fields?.length || !data?.length) {\n return result;\n }\n\n if (!data[0].latestData) {\n return result;\n }\n\n const hierarchyData = data[0].latestData as Datum[];\n const flatData = flatten(hierarchyData);\n result = dimensionStatistics([{ latestData: flatData } as any], op);\n return result;\n};\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { IAggrType, IDataPointSpec, IMarkerSupportSeries } from '../../component/marker/interface';
|
|
2
|
+
import type { Datum, StringOrNumber } from '../../typings/common';
|
|
3
|
+
import type { CoordinateType } from '../../typings/coordinate';
|
|
4
|
+
export type StatisticOperations = Array<'max' | 'min' | 'values' | 'array-max' | 'array-min' | 'allValid'>;
|
|
5
|
+
export interface IStatisticsOption {
|
|
6
|
+
fields: {
|
|
7
|
+
key: string;
|
|
8
|
+
operations: StatisticOperations;
|
|
9
|
+
filter?: (fv: any) => boolean;
|
|
10
|
+
customize?: {
|
|
11
|
+
max: number;
|
|
12
|
+
min: number;
|
|
13
|
+
} | any[];
|
|
14
|
+
}[];
|
|
15
|
+
target?: 'parser' | 'latest';
|
|
16
|
+
}
|
|
17
|
+
export type IOption = {
|
|
18
|
+
field: string;
|
|
19
|
+
};
|
|
20
|
+
export type IOptionAggrField = {
|
|
21
|
+
field: string;
|
|
22
|
+
aggrType: IAggrType;
|
|
23
|
+
};
|
|
24
|
+
export type IOptionPos = IOptionAggrField | string | number | StringOrNumber[];
|
|
25
|
+
export type IOptionSeries = {
|
|
26
|
+
getRelativeSeries: () => IMarkerSupportSeries;
|
|
27
|
+
getStartRelativeSeries: () => IMarkerSupportSeries;
|
|
28
|
+
getEndRelativeSeries: () => IMarkerSupportSeries;
|
|
29
|
+
};
|
|
30
|
+
export type IOptionCallback = (relativeSeriesData: any, startRelativeSeriesData: any, endRelativeSeriesData: any, relativeSeries: IMarkerSupportSeries, startRelative: IMarkerSupportSeries, endRelative: IMarkerSupportSeries) => IOptionPos;
|
|
31
|
+
export type IOptionAggr = {
|
|
32
|
+
x?: IOptionPos | IOptionCallback;
|
|
33
|
+
y?: IOptionPos | IOptionCallback;
|
|
34
|
+
angle?: IOptionPos | IOptionCallback;
|
|
35
|
+
radius?: IOptionPos | IOptionCallback;
|
|
36
|
+
areaName?: string | IOptionCallback;
|
|
37
|
+
getRefRelativeSeries?: () => IMarkerSupportSeries;
|
|
38
|
+
} & IOptionSeries;
|
|
39
|
+
export type IOptionWithCoordinates = {
|
|
40
|
+
coordinates: ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => IDataPointSpec[] | IDataPointSpec) | IDataPointSpec | IDataPointSpec[];
|
|
41
|
+
getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) => IMarkerSupportSeries;
|
|
42
|
+
coordinateType: CoordinateType;
|
|
43
|
+
} & IOptionSeries;
|
|
44
|
+
export type IOptionRegr = {
|
|
45
|
+
fieldX: string;
|
|
46
|
+
fieldY: string;
|
|
47
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/data/transforms/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IAggrType, IDataPointSpec, IMarkerSupportSeries } from '../../component/marker/interface';\nimport type { Datum, StringOrNumber } from '../../typings/common';\nimport type { CoordinateType } from '../../typings/coordinate';\n\nexport type StatisticOperations = Array<'max' | 'min' | 'values' | 'array-max' | 'array-min' | 'allValid'>;\n\nexport interface IStatisticsOption {\n fields: {\n key: string;\n operations: StatisticOperations;\n filter?: (fv: any) => boolean;\n customize?: { max: number; min: number } | any[];\n }[];\n // operations: Array<'max' | 'min' | 'values'>;\n target?: 'parser' | 'latest';\n}\n\nexport type IOption = {\n field: string;\n};\n\nexport type IOptionAggrField = {\n field: string;\n aggrType: IAggrType;\n};\n\nexport type IOptionPos = IOptionAggrField | string | number | StringOrNumber[];\n\nexport type IOptionSeries = {\n getRelativeSeries: () => IMarkerSupportSeries;\n getStartRelativeSeries: () => IMarkerSupportSeries;\n getEndRelativeSeries: () => IMarkerSupportSeries;\n};\n\nexport type IOptionCallback = (\n relativeSeriesData: any,\n startRelativeSeriesData: any,\n endRelativeSeriesData: any,\n relativeSeries: IMarkerSupportSeries,\n startRelative: IMarkerSupportSeries,\n endRelative: IMarkerSupportSeries\n) => IOptionPos;\n\nexport type IOptionAggr = {\n x?: IOptionPos | IOptionCallback;\n y?: IOptionPos | IOptionCallback;\n angle?: IOptionPos | IOptionCallback;\n radius?: IOptionPos | IOptionCallback;\n areaName?: string | IOptionCallback;\n getRefRelativeSeries?: () => IMarkerSupportSeries;\n} & IOptionSeries;\n\nexport type IOptionWithCoordinates = {\n coordinates:\n | ((seriesData: Datum[], relativeSeries: IMarkerSupportSeries) => IDataPointSpec[] | IDataPointSpec)\n | IDataPointSpec\n | IDataPointSpec[];\n getSeriesByIdOrIndex: (seriesUserId: StringOrNumber, seriesIndex: number) => IMarkerSupportSeries;\n coordinateType: CoordinateType;\n} & IOptionSeries;\n\nexport type IOptionRegr = {\n fieldX: string;\n fieldY: string;\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/data/transforms/regression.ts"],"names":[],"mappings":";;;AACA,0CAA6C;
|
|
1
|
+
{"version":3,"sources":["../src/data/transforms/regression.ts"],"names":[],"mappings":";;;AACA,0CAA6C;AAG7C,SAAgB,gBAAgB,CAAC,KAAsB,EAAE,GAAgB;IACvE,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;IAEjC,OAAO,IAAA,iBAAU,EAAC,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;AAClD,CAAC;AAJD,4CAIC","file":"regression.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport { regression } from '../../util/math';\nimport type { IOptionRegr } from './interface';\n\nexport function markerRegression(_data: Array<DataView>, opt: IOptionRegr) {\n const data = _data[0].latestData;\n\n return regression(data, opt.fieldX, opt.fieldY);\n}\n"]}
|
package/cjs/event/event.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { BaseEventParams } from '../../interface';
|
|
2
2
|
import type { ISeries } from '../../../series/interface';
|
|
3
3
|
import type { Datum } from '../../../typings';
|
|
4
|
-
import type { IAxis } from '../../../component/axis';
|
|
4
|
+
import type { IAxis } from '../../../component/axis/interface';
|
|
5
5
|
export declare enum DimensionEventEnum {
|
|
6
6
|
dimensionHover = "dimensionHover",
|
|
7
7
|
dimensionClick = "dimensionClick"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/events/dimension/interface.ts"],"names":[],"mappings":";;;AAKA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;AACnC,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B","file":"interface.js","sourcesContent":["import type { BaseEventParams } from '../../interface';\nimport type { ISeries } from '../../../series/interface';\nimport type { Datum } from '../../../typings';\nimport type { IAxis } from '../../../component/axis';\n\nexport enum DimensionEventEnum {\n dimensionHover = 'dimensionHover',\n dimensionClick = 'dimensionClick'\n}\n\nexport interface IDimensionInfo {\n /** 维度项索引,在连续轴上不存在 */\n index?: number;\n /** 维度项原始值,在离散轴上为维度标签,在连续轴上为数字 */\n value: string | number;\n /** 维度项所在坐标(scale 执行后的值) */\n position?: number;\n /** 维度项所在轴 */\n axis?: IAxis;\n /** 维度项对应数据 */\n data: IDimensionData[];\n /** 维度对应的类型 */\n dimType?: string;\n}\n\nexport interface IDimensionData {\n /** 图元上的原始数据(考虑到有多个图元的情况,实际为数组类型) */\n datum: Datum[];\n /** 图元所在的系列实例 */\n series: ISeries;\n /** 该数据项的 hash 值 */\n key?: string;\n}\n\nexport type DimensionEventParams = BaseEventParams & {\n action: 'enter' | 'leave' | 'move' | 'click';\n dimensionInfo: IDimensionInfo[];\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/event/events/dimension/interface.ts"],"names":[],"mappings":";;;AAKA,IAAY,kBAGX;AAHD,WAAY,kBAAkB;IAC5B,uDAAiC,CAAA;IACjC,uDAAiC,CAAA;AACnC,CAAC,EAHW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAG7B","file":"interface.js","sourcesContent":["import type { BaseEventParams } from '../../interface';\nimport type { ISeries } from '../../../series/interface';\nimport type { Datum } from '../../../typings';\nimport type { IAxis } from '../../../component/axis/interface';\n\nexport enum DimensionEventEnum {\n dimensionHover = 'dimensionHover',\n dimensionClick = 'dimensionClick'\n}\n\nexport interface IDimensionInfo {\n /** 维度项索引,在连续轴上不存在 */\n index?: number;\n /** 维度项原始值,在离散轴上为维度标签,在连续轴上为数字 */\n value: string | number;\n /** 维度项所在坐标(scale 执行后的值) */\n position?: number;\n /** 维度项所在轴 */\n axis?: IAxis;\n /** 维度项对应数据 */\n data: IDimensionData[];\n /** 维度对应的类型 */\n dimType?: string;\n}\n\nexport interface IDimensionData {\n /** 图元上的原始数据(考虑到有多个图元的情况,实际为数组类型) */\n datum: Datum[];\n /** 图元所在的系列实例 */\n series: ISeries;\n /** 该数据项的 hash 值 */\n key?: string;\n}\n\nexport type DimensionEventParams = BaseEventParams & {\n action: 'enter' | 'leave' | 'move' | 'click';\n dimensionInfo: IDimensionInfo[];\n};\n"]}
|
package/cjs/event/index.js
CHANGED
|
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
20
|
}), __exportStar(require("./event"), exports), __exportStar(require("./events"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
package/cjs/event/interface.d.ts
CHANGED
|
@@ -3,7 +3,6 @@ import type { IElement } from '@visactor/vgrammar-core';
|
|
|
3
3
|
import type { IChart } from '../chart/interface';
|
|
4
4
|
import type { IModel } from '../model/interface';
|
|
5
5
|
import type { IMark, MarkType } from '../mark/interface';
|
|
6
|
-
import type { VChart } from '../core/vchart';
|
|
7
6
|
import type { DimensionEventParams } from './events/dimension/interface';
|
|
8
7
|
import type { Datum, IPoint, StringOrNumber } from '../typings';
|
|
9
8
|
import type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant/event';
|
|
@@ -148,7 +147,7 @@ export type EventParamsDefinition = {
|
|
|
148
147
|
[key: string]: ExtendEventParam;
|
|
149
148
|
};
|
|
150
149
|
export interface IEventDispatcher {
|
|
151
|
-
globalInstance:
|
|
150
|
+
globalInstance: IVChart;
|
|
152
151
|
register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => this;
|
|
153
152
|
unregister: <Evt extends EventType>(eType: Evt, handler?: EventHandler<EventParamsDefinition[Evt]>) => this;
|
|
154
153
|
dispatch: <Evt extends EventType>(eType: Evt, params?: EventParamsDefinition[Evt], level?: EventBubbleLevel) => this;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { IChart } from '../chart/interface';\nimport type { IModel } from '../model/interface';\nimport type { IMark, MarkType } from '../mark/interface';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/event/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IGraphic } from '@visactor/vrender-core';\nimport type { IElement } from '@visactor/vgrammar-core';\nimport type { IChart } from '../chart/interface';\nimport type { IModel } from '../model/interface';\nimport type { IMark, MarkType } from '../mark/interface';\nimport type { DimensionEventParams } from './events/dimension/interface';\nimport type { Datum, IPoint, StringOrNumber } from '../typings';\nimport type { ChartEvent, Event_Bubble_Level, Event_Source_Type, VGRAMMAR_HOOK_EVENT } from '../constant/event';\nimport type { SeriesType } from '../series/interface';\nimport type { TooltipEventParams } from '../component/tooltip/interface/event';\nimport type { ILayoutItem } from '../layout/interface';\nimport type { IVChart } from '../core/interface';\n\nexport type EventType =\n | 'pointerdown'\n | 'pointerup'\n | 'pointerupoutside'\n | 'pointertap'\n | 'pointerover'\n | 'pointermove'\n | 'pointerenter'\n | 'pointerleave'\n | 'pointerout'\n | 'mousedown'\n | 'mouseup'\n | 'mouseupoutside'\n | 'rightdown'\n | 'rightup'\n | 'rightupoutside'\n | 'click'\n | 'dblclick'\n | 'mousemove'\n | 'mouseover'\n | 'mouseout'\n | 'mouseenter'\n | 'mouseleave'\n | 'wheel'\n | 'touchstart'\n | 'touchend'\n | 'touchendoutside'\n | 'touchmove'\n | 'touchcancel'\n | 'tap'\n | 'dragstart'\n | 'drag'\n | 'dragenter'\n | 'dragleave'\n | 'dragover'\n | 'dragend'\n | 'drop'\n | 'pan'\n | 'panstart'\n | 'panend'\n | 'press'\n | 'pressup'\n | 'pressend'\n | 'pinch'\n | 'pinchstart'\n | 'pinchend'\n | 'swipe'\n | keyof typeof ChartEvent\n | keyof typeof VGRAMMAR_HOOK_EVENT\n | string;\n\nexport type EventBubbleLevel = keyof typeof Event_Bubble_Level;\n\nexport type ComponentType =\n | 'axis'\n | 'dataZoom'\n | 'indicator'\n | 'legend'\n | 'mapLabel'\n | 'markLine'\n | 'markArea'\n | 'markPoint'\n | 'tooltip'\n | 'title'\n | 'label'\n | 'totalLabel'\n | 'customMark';\nexport type EventTargetType = MarkType | ComponentType | SeriesType;\n\nexport type EventSourceType = keyof typeof Event_Source_Type;\n\n/**\n * 事件 API 中的事件筛选配置\n */\nexport type EventQuery = {\n /**\n * 事件的冒泡层级配置,其中 model 指的是图表的内部模型,包括 region、series 以及 component\n */\n level?: EventBubbleLevel;\n /**\n * 事件来源配置。\n * - `window`: window 事件\n * - `chart`: 图表事件\n */\n source?: EventSourceType;\n\n /**\n * vrender 图形节点名称\n */\n nodeName?: string;\n /**\n * mark 图元名称\n */\n markName?: string;\n /**\n * 仅在 level 为 'mark' 或者 'model' 的场景下使用,用于筛选 mark 类型或者图表组成元素模型类型\n */\n type?: EventTargetType;\n /**\n * 用户在 spec 上配置的 id\n */\n id?: StringOrNumber;\n /**\n * 自定义过滤函数\n * @param params\n * @returns\n */\n filter?: (params: Partial<BaseEventParams>) => boolean;\n\n throttle?: number;\n debounce?: number;\n /**\n * 是否阻止冒泡\n */\n consume?: boolean;\n};\n\nexport type EventParams = {\n /**\n * 事件对象\n */\n event?: SuperEvent;\n /**\n * 供不同的事件用于存储期望携带的数据\n */\n value?: any;\n /**\n * 事件来源的 mark\n */\n mark?: IMark;\n /**\n * 事件来源的 model\n */\n model?: IModel;\n /**\n * 事件来源的 chart\n */\n chart?: IChart;\n /**\n * 事件拾取到的图元的数据\n */\n datum?: Datum;\n /**\n * 拾取到的图形节点\n */\n node?: IGraphic;\n /**\n * @since 1.10.4\n * 生命周期相关事件,包括:\n * - 'rendered'\n * - 'initialized'\n * - 'animationFinished'\n * - 'renderFinished'\n * - 'layoutStart'\n * - 'layoutEnd'\n * 会返回vchart实例\n */\n vchart?: IVChart;\n};\n\ntype SuperEvent = Event & {\n [key: string]: any;\n};\n\nexport type BaseEventParams = EventParams & {\n /**\n * 事件对象\n */\n event: SuperEvent;\n item: IElement;\n datum: Datum;\n source: EventSourceType;\n itemMap: Map<string, any>;\n};\n\nexport type EventCallback<Params extends EventParams> = (params: Params) => boolean | void;\n\n/**\n * 内部事件分发中所应用的事件筛选配置\n */\nexport type EventFilter = {\n source: EventSourceType;\n level: EventBubbleLevel;\n type: string | null;\n markName: string | null;\n nodeName: string | null;\n userId: StringOrNumber | null;\n filter: (params: Partial<BaseEventParams>) => boolean | null;\n};\n\nexport type EventHandler<Params extends EventParams> = {\n callback: EventCallback<Params>;\n query: EventQuery | null;\n // 如果有 debounce/throttle 配置则需要封装原始回调函数\n wrappedCallback?: EventCallback<Params>;\n // 转换后的事件筛选配置\n filter?: EventFilter;\n // handler 是否被禁止触发\n prevented?: boolean;\n};\n\nexport type ExtendEventParam = EventParams & {\n event?: Event;\n item?: any;\n datum?: Datum;\n source?: EventSourceType;\n itemMap?: Map<string, any>;\n};\n\nexport type LayoutEventParam = {\n elements: (ILayoutItem & { type: string })[];\n} & Partial<BaseEventParams>;\n\nexport type PanEventParam = ExtendEventParam & {\n // x/y方向上的偏移值\n delta: [number, number];\n};\n\nexport type ZoomEventParam = ExtendEventParam & {\n // 缩放值\n scale: number;\n // 缩放中心\n scaleCenter: IPoint;\n};\n\nexport type InteractionEventParam = {\n items?: IElement[];\n datums?: Datum[];\n} & Partial<BaseEventParams>;\n\nexport type EventParamsDefinition = {\n // 基础事件回调参数\n pointerdown: BaseEventParams;\n pointerup: BaseEventParams;\n pointerupoutside: BaseEventParams;\n pointertap: BaseEventParams;\n pointerover: BaseEventParams;\n pointermove: BaseEventParams;\n pointerenter: BaseEventParams;\n pointerleave: BaseEventParams;\n pointerout: BaseEventParams;\n mousedown: BaseEventParams;\n mouseup: BaseEventParams;\n mouseupoutside: BaseEventParams;\n rightdown: BaseEventParams;\n rightup: BaseEventParams;\n rightupoutside: BaseEventParams;\n click: BaseEventParams;\n dblclick: BaseEventParams;\n mousemove: BaseEventParams;\n mouseover: BaseEventParams;\n mouseout: BaseEventParams;\n mouseenter: BaseEventParams;\n mouseleave: BaseEventParams;\n wheel: BaseEventParams;\n touchstart: BaseEventParams;\n touchend: BaseEventParams;\n touchendoutside: BaseEventParams;\n touchmove: BaseEventParams;\n touchcancel: BaseEventParams;\n\n dragstart: BaseEventParams;\n drag: BaseEventParams;\n dragenter: BaseEventParams;\n dragleave: BaseEventParams;\n dragover: BaseEventParams;\n dragend: BaseEventParams;\n drop: BaseEventParams;\n\n tap: BaseEventParams;\n pan: BaseEventParams;\n panstart: BaseEventParams;\n panend: BaseEventParams;\n press: BaseEventParams;\n pressup: BaseEventParams;\n pressend: BaseEventParams;\n pinch: BaseEventParams;\n pinchstart: BaseEventParams;\n pinchend: BaseEventParams;\n swipe: BaseEventParams;\n\n // VChart 内置的扩展组合事件\n dimensionHover: DimensionEventParams;\n dimensionClick: DimensionEventParams;\n tooltipShow: TooltipEventParams;\n tooltipHide: TooltipEventParams;\n tooltipRelease: TooltipEventParams;\n afterLayout: LayoutEventParam;\n\n // 交互相关事件\n 'element-select:start': InteractionEventParam;\n 'element-select:reset': InteractionEventParam;\n 'element-highlight:start': InteractionEventParam;\n 'element-highlight:reset': InteractionEventParam;\n\n // 扩展事件参数\n [key: string]: ExtendEventParam;\n};\n\nexport interface IEventDispatcher {\n globalInstance: IVChart;\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => this;\n unregister: <Evt extends EventType>(eType: Evt, handler?: EventHandler<EventParamsDefinition[Evt]>) => this;\n dispatch: <Evt extends EventType>(eType: Evt, params?: EventParamsDefinition[Evt], level?: EventBubbleLevel) => this;\n clear: () => void;\n release: () => void;\n prevent: <Evt extends EventType>(eType: Evt, except: EventCallback<EventParamsDefinition[Evt]>) => void;\n allow: <Evt extends EventType>(eType: Evt) => void;\n}\n\nexport interface IEvent {\n on: (<Evt extends EventType>(eType: Evt, callback: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n off: (<Evt extends EventType>(eType: Evt, callback?: EventCallback<EventParamsDefinition[Evt]>) => this) &\n (<Evt extends EventType>(\n eType: Evt,\n query: EventQuery,\n callback: EventCallback<EventParamsDefinition[Evt]>\n ) => this);\n emit: <Evt extends EventType>(eType: Evt, params: EventParamsDefinition[Evt], level?: EventBubbleLevel) => void;\n release: () => void;\n\n getComposedEventMap: () => Map<EventCallback<EventParams>, { eventType: EventType; event: IComposedEvent }>;\n prevent: <Evt extends EventType>(eType: Evt, except: EventCallback<EventParamsDefinition[Evt]>) => void;\n allow: <Evt extends EventType>(eType: Evt) => void;\n}\n\nexport interface IComposedEvent {\n register: <Evt extends EventType>(eType: Evt, handler: EventHandler<EventParamsDefinition[Evt]>) => void;\n unregister: () => void;\n dispatch: (v: unknown, opt: unknown) => unknown;\n}\n"]}
|
|
@@ -3,7 +3,7 @@ import type { IMark } from '../mark/interface';
|
|
|
3
3
|
import type { RenderMode } from '../typings/spec/common';
|
|
4
4
|
import type { BaseEventParams, IEventDispatcher, EventType } from '../event/interface';
|
|
5
5
|
import type { IModel } from '../model/interface';
|
|
6
|
-
import type { StateValue } from '../compile/mark';
|
|
6
|
+
import type { StateValue } from '../compile/mark/interface';
|
|
7
7
|
import type { StringOrNumber } from '../typings/common';
|
|
8
8
|
export interface IInteraction {
|
|
9
9
|
registerMark: (state: StateValue, mark: IMark) => void;
|
|
@@ -53,10 +53,6 @@ export interface ISelectSpec extends IBaseInteractionSpec {
|
|
|
53
53
|
trigger?: Trigger;
|
|
54
54
|
triggerOff?: Trigger | number;
|
|
55
55
|
}
|
|
56
|
-
export interface ITriggerSpec {
|
|
57
|
-
hover?: IHoverSpec | boolean;
|
|
58
|
-
select?: ISelectSpec | boolean;
|
|
59
|
-
}
|
|
60
56
|
export type IElementActiveSpec = IBaseInteractionSpec & Pick<ElementActiveSpec, 'type' | 'trigger' | 'triggerOff' | 'state'>;
|
|
61
57
|
export type IElementSelectSpec = IBaseInteractionSpec & Pick<ElementSelectSpec, 'type' | 'trigger' | 'triggerOff' | 'state' | 'isMultiple' | 'reverseState'>;
|
|
62
58
|
export type IElementHighlightSpec = IBaseInteractionSpec & Pick<ElementHighlightSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/interaction/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n ElementActiveByLegendSpec,\n ElementActiveSpec,\n ElementHighlightByGroupSpec,\n ElementHighlightByKeySpec,\n ElementHighlightByLegendSpec,\n ElementHighlightByNameSpec,\n ElementHighlightSpec,\n ElementSelectSpec,\n IElement,\n IInteraction as IVGrammarInteraction\n} from '@visactor/vgrammar-core';\nimport type { IMark } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { BaseEventParams, IEventDispatcher, EventType } from '../event/interface';\nimport type { IModel } from '../model/interface';\nimport type { StateValue } from '../compile/mark';\nimport type { StringOrNumber } from '../typings/common';\n\nexport interface IInteraction {\n registerMark: (state: StateValue, mark: IMark) => void;\n filterEventMark: (params: BaseEventParams, state: StateValue) => boolean;\n getStateMark: (state: StateValue) => IMark[] | null;\n\n getEventElement: (stateValue: StateValue) => IElement[];\n getEventElementData: (stateValue: StateValue) => any[];\n addEventElement: (stateValue: StateValue, element: IElement) => void;\n removeEventElement: (stateValue: StateValue, elements: IElement) => void;\n exchangeEventElement: (stateValue: StateValue, elements: IElement) => void;\n clearEventElement: (stateValue: StateValue, clearReverse: boolean) => void;\n reverseEventElement: (stateValue: StateValue) => void;\n clearAllEventElement: () => void;\n\n setDisableActiveEffect: (disable: boolean) => void;\n addVgrammarInteraction: (state: StateValue, i: IVGrammarInteraction) => void;\n startInteraction: (state: StateValue, element: IElement) => void;\n resetInteraction: (state: StateValue, element: IElement) => void;\n resetAllInteraction: () => void;\n}\n\nexport interface ITrigger {\n init: () => void;\n setStateKeys: (fields: string[]) => void;\n registerMark: (mark: IMark) => void;\n release: () => void;\n hover?: IHoverSpec;\n select?: ISelectSpec;\n}\n\nexport interface ITriggerOption {\n mode: RenderMode;\n interaction: IInteraction;\n eventDispatcher: IEventDispatcher;\n model: IModel;\n}\n\nexport interface IBaseInteractionSpec {\n markIds?: StringOrNumber[];\n markNames?: StringOrNumber[];\n}\n\ntype Trigger = EventType | EventType[];\n\nexport interface IHoverSpec extends IBaseInteractionSpec {\n enable?: boolean;\n trigger?: Trigger;\n triggerOff?: Trigger;\n}\n\nexport interface ISelectSpec extends IBaseInteractionSpec {\n enable?: boolean;\n mode?: 'single' | 'multiple';\n trigger?: Trigger;\n triggerOff?: Trigger | number;\n}\n\
|
|
1
|
+
{"version":3,"sources":["../src/interaction/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type {\n ElementActiveByLegendSpec,\n ElementActiveSpec,\n ElementHighlightByGroupSpec,\n ElementHighlightByKeySpec,\n ElementHighlightByLegendSpec,\n ElementHighlightByNameSpec,\n ElementHighlightSpec,\n ElementSelectSpec,\n IElement,\n IInteraction as IVGrammarInteraction\n} from '@visactor/vgrammar-core';\nimport type { IMark } from '../mark/interface';\nimport type { RenderMode } from '../typings/spec/common';\nimport type { BaseEventParams, IEventDispatcher, EventType } from '../event/interface';\nimport type { IModel } from '../model/interface';\nimport type { StateValue } from '../compile/mark/interface';\nimport type { StringOrNumber } from '../typings/common';\n\nexport interface IInteraction {\n registerMark: (state: StateValue, mark: IMark) => void;\n filterEventMark: (params: BaseEventParams, state: StateValue) => boolean;\n getStateMark: (state: StateValue) => IMark[] | null;\n\n getEventElement: (stateValue: StateValue) => IElement[];\n getEventElementData: (stateValue: StateValue) => any[];\n addEventElement: (stateValue: StateValue, element: IElement) => void;\n removeEventElement: (stateValue: StateValue, elements: IElement) => void;\n exchangeEventElement: (stateValue: StateValue, elements: IElement) => void;\n clearEventElement: (stateValue: StateValue, clearReverse: boolean) => void;\n reverseEventElement: (stateValue: StateValue) => void;\n clearAllEventElement: () => void;\n\n setDisableActiveEffect: (disable: boolean) => void;\n addVgrammarInteraction: (state: StateValue, i: IVGrammarInteraction) => void;\n startInteraction: (state: StateValue, element: IElement) => void;\n resetInteraction: (state: StateValue, element: IElement) => void;\n resetAllInteraction: () => void;\n}\n\nexport interface ITrigger {\n init: () => void;\n setStateKeys: (fields: string[]) => void;\n registerMark: (mark: IMark) => void;\n release: () => void;\n hover?: IHoverSpec;\n select?: ISelectSpec;\n}\n\nexport interface ITriggerOption {\n mode: RenderMode;\n interaction: IInteraction;\n eventDispatcher: IEventDispatcher;\n model: IModel;\n}\n\nexport interface IBaseInteractionSpec {\n markIds?: StringOrNumber[];\n markNames?: StringOrNumber[];\n}\n\ntype Trigger = EventType | EventType[];\n\n/**\n * hover 交互详细配置内容\n */\nexport interface IHoverSpec extends IBaseInteractionSpec {\n /**\n * hover 交互开关,默认开启\n */\n enable?: boolean;\n /**\n * hover 交互的触发事件配置\n */\n trigger?: Trigger;\n /**\n * hover 交互的终止事件配置\n */\n triggerOff?: Trigger;\n}\n\n/**\n * select 交互详细配置内容\n */\nexport interface ISelectSpec extends IBaseInteractionSpec {\n /**\n * select 交互开关,默认开启。\n */\n enable?: boolean;\n /**\n * 选中模式配置,默认 single 单选\n */\n mode?: 'single' | 'multiple';\n /**\n * select 交互的触发事件配置\n */\n trigger?: Trigger;\n /**\n * select 交互的终止事件配置\n */\n triggerOff?: Trigger | number;\n}\n\n/**\n * 将触发元素的状态设置为激活状态,当开启这个交互的时候,可以在系列图元通过 `state.active` 设置激活状态下的视觉编码\n */\nexport type IElementActiveSpec = IBaseInteractionSpec &\n Pick<ElementActiveSpec, 'type' | 'trigger' | 'triggerOff' | 'state'>;\n\n/**\n * 图元选中相关交互,当开启这个交互的时候,\n * 可以在系列图元通过 `state.selected` 设置激活状态下的视觉编码\n * 可以在系列图元通过 `state.selected_reverse` 设置非激活状态下的视觉编码\n */\nexport type IElementSelectSpec = IBaseInteractionSpec &\n Pick<ElementSelectSpec, 'type' | 'trigger' | 'triggerOff' | 'state' | 'isMultiple' | 'reverseState'>;\n/**\n * 图元高亮交互配置,当开启这个交互的时候,\n * 可以在系列图元通过 `state.highlight` 设置激活状态下的视觉编码\n * 可以在系列图元通过 `state.blur` 设置非激活状态下的视觉编码\n */\nexport type IElementHighlightSpec = IBaseInteractionSpec &\n Pick<ElementHighlightSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n/**\n * 将触发元素以及和触发元素具有相同key的元素状态设置为高亮状态,其他元素的状态设置为失焦状态;一般需要配合系列的dataKey 配置使用\n */\nexport type IElementHighlightByKeySpec = IBaseInteractionSpec &\n Pick<ElementHighlightByKeySpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n/**\n * 将触发元素以及和触发元素具有相同分组值(groupKey)的元素状态设置为高亮状态,其他元素的状态设置为失焦状态\n */\nexport type IElementHighlightByGroup = IBaseInteractionSpec &\n Pick<ElementHighlightByGroupSpec, 'type' | 'blurState' | 'highlightState' | 'triggerOff' | 'trigger'>;\n/**\n * 根据图例激活图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件\n */\nexport type IElementActiveByLegend = IBaseInteractionSpec &\n Pick<ElementActiveByLegendSpec, 'type' | 'filterType' | 'state'>;\n/**\n * 根据图例高亮图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件\n */\nexport type IElementHighlightByLegend = IBaseInteractionSpec &\n Pick<ElementHighlightByLegendSpec, 'type' | 'filterType' | 'blurState' | 'highlightState'>;\n/**\n * 根据图例高亮图元,默认触发事件为图例的 `legendItemHover`和`legendItemUnHover`事件\n */\nexport type IElementHighlightByName = IBaseInteractionSpec &\n Pick<ElementHighlightByNameSpec, 'type' | 'blurState' | 'highlightState' | 'graphicName' | 'parseData'>;\n\n/**\n * 元素选中交互,将所有相同名称的元素的状态设置为选中状态;注意该交互不建议和默认的select交互同时使用(象形图除外)\n */\nexport interface ICustomInteraction extends IBaseInteractionSpec {\n type: string;\n}\n\n/**\n * 交互相关配置,目前支持的交互类型包括:\n * - 元素激活\n * - 元素选中\n * - 元素高亮\n * - 根据key值高亮元素\n * - 根据group值高亮元素\n * - 根据legend值激活元素\n * - 根据legend值高亮元素\n * - 根据图元名称高亮元素\n */\nexport type IInteractionItemSpec =\n | IElementActiveSpec\n | IElementSelectSpec\n | IElementHighlightSpec\n | IElementHighlightByKeySpec\n | IElementHighlightByGroup\n | IElementActiveByLegend\n | IElementHighlightByLegend\n | IElementHighlightByName;\n\n/**\n * 申明图表交互相关配置\n */\nexport interface IInteractionSpec {\n /**\n * 图表hover相关交互配置,当值为boolean类型时,表示开启或者关闭该交互\n * 也支持更详细的交互配置\n */\n hover?: IHoverSpec | boolean;\n /**\n * 图表选中相关交互配置,当值为boolean类型时,表示开启或者关闭该交互\n * 也支持更详细的交互配置\n */\n select?: ISelectSpec | boolean;\n /**\n * 其他需要按需注册的类型交互\n */\n interactions?: IInteractionItemSpec[];\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/layout/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { StringOrNumber } from '../typings/common';\nimport type { IOrientType, IRect } from '../typings/space';\nimport type { IPoint } from '../typings/coordinate';\nimport type {
|
|
1
|
+
{"version":3,"sources":["../src/layout/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IBoundsLike } from '@visactor/vutils';\nimport type { StringOrNumber } from '../typings/common';\nimport type { IOrientType, IRect } from '../typings/space';\nimport type { IPoint } from '../typings/coordinate';\nimport type { ILayoutNumber, ILayoutPaddingSpec, ILayoutPoint, ILayoutRect, ILayoutType } from '../typings/layout';\nimport type { ILayoutModel } from '../model/interface';\n\nexport interface IBaseLayout {\n /**\n * 对一组布局元素布局\n * 布局策略随意\n * @param item 布局元素数组\n * @param chartLayoutRect 排除图表 padding 后的图表的布局矩形,原点是图表绘制区域左上角。\n * @param chartViewBox 图表在画布中的可用空间,包含图表padding,原点是画布左上角\n * @returns\n */\n layoutItems: LayoutCallBack;\n}\n\nexport type LayoutCallBack = (\n chart: any,\n item: ILayoutItem[],\n chartLayoutRect: IRect,\n chartViewBox: IBoundsLike\n) => void;\n\nexport interface ILayoutSpecBase {\n type: string;\n}\n\nexport type ElementSpec = (\n | {\n modelKey: string; // spec key\n modelIndex: number;\n }\n | {\n modelId: string;\n }\n) & {\n col: number;\n colSpan?: number;\n row: number;\n rowSpan?: number;\n};\n\nexport interface IGridLayoutSpec extends ILayoutSpecBase {\n type: 'grid';\n col: number;\n row: number;\n colWidth?: {\n index: number;\n size: number | ((maxSize: number) => number);\n }[];\n rowHeight?: {\n index: number;\n size: number | ((maxSize: number) => number);\n }[];\n elements: ElementSpec[];\n}\n\nexport interface IBaseLayoutSpec extends ILayoutSpecBase {\n type: 'base';\n}\n\nexport type ILayoutSpec = IBaseLayoutSpec | IGridLayoutSpec;\n\nexport interface ILayoutConstructor {\n type: string;\n // TODO: spec 类型生命\n new (spec: ILayoutSpec | any, ctx?: any): IBaseLayout;\n}\n\n/**\n * 因为这些元素都会继承到各个模块,所以这里统一有前缀避免语意冲突\n */\nexport interface ILayoutItem {\n readonly type: string;\n /**\n * 标记这个布局Item的方向(left->right, right->left, top->bottom, bottom->top)\n */\n directionStr?: 'l2r' | 'r2l' | 't2b' | 'b2t';\n layoutClip: boolean;\n layoutType: ILayoutType;\n layoutBindRegionID: number | number[];\n layoutOrient: IOrientType;\n /** 是否自动缩进 */\n autoIndent: boolean;\n\n /**\n * inline元素和其他同行元素的对齐方式\n * 顶部的inline元素,'start' - 顶部对齐;'end' - '底部对齐'; 'middle' - 居中对齐\n * 底部的inline元素,'start' - 底部对齐;'end' - '顶部对齐'; 'middle' - 居中对齐\n * 左侧的inline元素,'start' - 左侧对齐;'end' - '右侧对齐'; 'middle' - 居中对齐\n * 右侧的inline元素,'start' - 右侧对齐;'end' - '左侧对齐'; 'middle' - 居中对齐\n */\n alignSelf?: 'start' | 'end' | 'middle';\n\n layoutPaddingLeft: number;\n layoutPaddingTop: number;\n layoutPaddingRight: number;\n layoutPaddingBottom: number;\n\n layoutOffsetX: number;\n layoutOffsetY: number;\n\n // 越大越先处理\n layoutLevel: number;\n\n chartLayoutRect: ILayoutRect;\n\n readonly layoutRectLevelMap: ILayoutRect;\n minWidth: number;\n maxWidth: number;\n minHeight: number;\n maxHeight: number;\n\n readonly model: ILayoutModel;\n\n getModelId: () => StringOrNumber;\n getModelVisible: () => boolean;\n\n getSpec?: () => any;\n setAttrFromSpec: (spec: ILayoutItemSpec, chartViewRect: ILayoutRect) => void;\n\n setRectInSpec: (rect: ILayoutRect) => ILayoutRect;\n\n getLayoutStartPoint: () => ILayoutPoint;\n getLayoutRect: () => ILayoutRect;\n getLayout: () => IRect;\n getLastComputeOutBounds: () => IBoundsLike;\n\n /** 生命周期 */\n onLayoutStart: (layoutRect: IRect, viewRect: ILayoutRect, ctx: any) => void;\n onLayoutEnd: (option: any) => void;\n\n /**\n * 更新元素布局的 layoutRect 大小,用来更新指定布局空间\n */\n setLayoutRect: (rect: Partial<ILayoutRect>, levelMap?: Partial<ILayoutRect>) => void;\n /**\n * 基于元素内部逻辑计算占位空间,rect表示可用空间\n */\n computeBoundsInRect: (rect: ILayoutRect) => ILayoutRect;\n /**\n * 更新元素布局的起始点位置\n */\n setLayoutStartPosition: (pos: Partial<IPoint>) => void;\n /**\n * 更新绝对布局元素的位置信息\n */\n absoluteLayoutInRect: (rect: IRect) => void;\n}\n\nexport interface ILayoutItemSpec {\n /** 当前模块的布局类型,配置为 absolute 的话,当前元素会以图表左上角为原点进行绝对布局 */\n layoutType?: ILayoutType;\n /**\n * 布局顺序等级,等级越大的,越优先布局\n * 比如顶部同时有标题和图例的场景,期望标题先放在顶部,然后放置图例。\n */\n layoutLevel?: number;\n\n /**\n * inline元素和其他同行元素的对齐方式\n * 顶部的inline元素,'start' - 顶部对齐;'end' - '底部对齐'; 'middle' - 居中对齐\n * 底部的inline元素,'start' - 底部对齐;'end' - '顶部对齐'; 'middle' - 居中对齐\n * 左侧的inline元素,'start' - 左侧对齐;'end' - '右侧对齐'; 'middle' - 居中对齐\n * 右侧的inline元素,'start' - 右侧对齐;'end' - '左侧对齐'; 'middle' - 居中对齐\n */\n alignSelf?: 'start' | 'end' | 'middle';\n\n // 基础的布局配置\n /** 模块布局位置 */\n orient?: IOrientType;\n /** 模块的布局间距 */\n padding?: ILayoutPaddingSpec;\n /** 是否按照 orient 自动修改 padding,隐藏位于外侧的 padding。目前只在组件上生效 */\n noOuterPadding?: boolean;\n /** 模块的布局大小:宽度 */\n width?: ILayoutNumber;\n /** 模块的布局最大宽度 */\n maxWidth?: ILayoutNumber;\n /** 模块的布局最小宽度 */\n minWidth?: ILayoutNumber;\n /** 模块的布局大小:高度 */\n height?: ILayoutNumber;\n /** 模块的布局最大高度 */\n maxHeight?: ILayoutNumber;\n /** 模块的布局最小高度 */\n minHeight?: ILayoutNumber;\n /** 模块的布局位置偏移:X */\n offsetX?: ILayoutNumber;\n /** 模块的布局位置偏移:Y */\n offsetY?: ILayoutNumber;\n\n /** 模块的展示层级,当2个模块重叠时,层级较大的展示在上方 */\n zIndex?: number;\n /** 模块是否裁剪超出布局区域外的绘图内容 */\n clip?: boolean;\n\n // 绝对布局下的对齐设置\n\n /** 模块绝对布局下,与图表左侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n left?: ILayoutNumber;\n /** 模块绝对布局下,与图表右侧的距离。注意仅在 layoutType === 'absolute' 时生效 */\n right?: ILayoutNumber;\n /** 模块绝对布局下,与图表顶部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n top?: ILayoutNumber;\n /** 模块绝对布局下,与图表底部的距离。注意仅在 layoutType === 'absolute' 时生效 */\n bottom?: ILayoutNumber;\n /** 模块绝对布局下,元素将放置在图表的正中间。注意仅在 layoutType === 'absolute' 时生效,同时将忽略 padding 属性 */\n center?: boolean;\n}\n\nexport interface ILayoutItemInitOption {\n layoutType: ILayoutType;\n layoutLevel: number;\n layoutOrient?: IOrientType;\n transformLayoutRect?: (rect: ILayoutRect) => ILayoutRect;\n transformLayoutPosition?: (pos: Partial<IPoint>) => Partial<IPoint>;\n}\n"]}
|
package/cjs/mark/arc-3d.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { IArc3dMarkSpec } from '../typings';
|
|
2
2
|
import { BaseArcMark } from './arc';
|
|
3
|
-
import type {
|
|
3
|
+
import type { IArc3dMark } from './interface';
|
|
4
4
|
import { MarkTypeEnum } from './interface/type';
|
|
5
|
-
export type IArc3dMark = IMarkRaw<IArc3dMarkSpec>;
|
|
6
5
|
export declare class Arc3dMark extends BaseArcMark<IArc3dMarkSpec> implements IArc3dMark {
|
|
7
6
|
static readonly type = MarkTypeEnum.arc3d;
|
|
8
7
|
readonly type: MarkTypeEnum;
|
package/cjs/mark/arc-3d.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/arc-3d.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,+BAAoC;AAGpC,2DAA+D;AAC/D,gDAAmE;
|
|
1
|
+
{"version":3,"sources":["../src/mark/arc-3d.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,+BAAoC;AAGpC,2DAA+D;AAC/D,gDAAmE;AAEnE,MAAa,SAAU,SAAQ,iBAA2B;IAA1D;;QAEW,SAAI,GAAiB,SAAS,CAAC,IAAI,CAAC;QACnC,eAAU,GAAa,IAAI,CAAC;IACxC,CAAC;;AAJD,8BAIC;AAHiB,cAAI,WAAsB;AAKrC,MAAM,iBAAiB,GAAG,GAAG,EAAE;IACpC,IAAA,qCAA4B,GAAE,CAAC;IAC/B,IAAA,oCAAoB,GAAE,CAAC;IACvB,iBAAO,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;AAClD,CAAC,CAAC;AAJW,QAAA,iBAAiB,qBAI5B","file":"arc-3d.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IArc3dMarkSpec } from '../typings';\nimport { BaseArcMark } from './arc';\nimport type { IArc3dMark } from './interface';\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArc3dGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\n\nexport class Arc3dMark extends BaseArcMark<IArc3dMarkSpec> implements IArc3dMark {\n static readonly type = MarkTypeEnum.arc3d;\n readonly type: MarkTypeEnum = Arc3dMark.type;\n protected _support3d?: boolean = true;\n}\n\nexport const registerArc3dMark = () => {\n registerVGrammarArcAnimation();\n registerArc3dGraphic();\n Factory.registerMark(Arc3dMark.type, Arc3dMark);\n};\n"]}
|
package/cjs/mark/arc.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { IArcMarkSpec, Datum, StateValueType } from '../typings';
|
|
2
2
|
import { BaseMark } from './base/base-mark';
|
|
3
|
-
import type { IMarkOption, IMarkRaw, IMarkStyle } from './interface';
|
|
3
|
+
import type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';
|
|
4
4
|
import { MarkTypeEnum } from './interface/type';
|
|
5
|
-
export type IArcMark = IMarkRaw<IArcMarkSpec>;
|
|
6
5
|
export declare class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {
|
|
7
6
|
readonly type: MarkTypeEnum;
|
|
8
7
|
_unCompileChannel: {
|
package/cjs/mark/arc.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,6CAAqD;AAIrD,gDAA4C;AAI5C,2DAA6D;AAC7D,gDAAmE;AACnE,6CAAoD;
|
|
1
|
+
{"version":3,"sources":["../src/mark/arc.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAC5C,6CAAqD;AAIrD,gDAA4C;AAI5C,2DAA6D;AAC7D,gDAAmE;AACnE,6CAAoD;AAEpD,MAAa,WAAoC,SAAQ,oBAAW;IAKlE,YAAY,IAAY,EAAE,MAAmB;QAC3C,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QALb,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;QAE3C,sBAAiB,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QA6BrD,uBAAkB,GAAG,CAC7B,GAAW,EACX,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,UAAkB,EACV,EAAE;;YACV,MAAM,MAAM,GAAG,MAAC,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAY,mCAAI,CAAC,CAAC;YACtF,OAAO,UAAU,GAAG,MAAM,CAAC;QAC7B,CAAC,CAAC;QAEQ,kBAAa,GAAG,CACxB,GAAc,EACd,KAAY,EACZ,SAAyB,QAAQ,EACjC,GAAQ,EACR,MAAc,EACd,EAAE;YACF,OAAO,CACL,IAAA,yBAAgB,EACd,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EACd,IAAI,CAAC,YAAY,CAAC,cAAc,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAW,EAC/D,KAAK,CAAC,wBAAgB,CAAC,CACxB,CAAC,GAAG,CAAC,GAAG,MAAM,CAChB,CAAC;QACJ,CAAC,CAAC;QAhDA,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,CAAC,GAAG,IAAI,CAAC,aAA8B,CAAC;QAC/D,IAAI,CAAC,iBAAiB,CAAC,WAAW,GAAG,IAAI,CAAC,kBAAmC,CAAC;QAE9E,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACjD,IAAI,CAAC,iBAAiB,CAAC,YAAY,GAAG,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC;IAES,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,UAAU,EAAE,CAAC,EACb,QAAQ,EAAE,CAAC,EACX,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,CAAC,EACd,YAAY,EAAE,CAAC,EACf,SAAS,EAAE,CAAC,EACZ,YAAY,EAAE,CAAC,EACf,YAAY,EAAE,CAAC,GAChB,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;CA4BF;AA1DD,kCA0DC;AAED,MAAa,OAAQ,SAAQ,WAAyB;IAAtD;;QAEW,SAAI,GAAiB,OAAO,CAAC,IAAI,CAAC;IAC7C,CAAC;;AAHD,0BAGC;AAFiB,YAAI,SAAoB;AAInC,MAAM,eAAe,GAAG,GAAG,EAAE;IAClC,IAAA,kCAAkB,GAAE,CAAC;IACrB,IAAA,qCAA4B,GAAE,CAAC;IAC/B,iBAAO,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;AAC9C,CAAC,CAAC;AAJW,QAAA,eAAe,mBAI1B","file":"arc.js","sourcesContent":["import { Factory } from './../core/factory';\nimport { ARC_MIDDLE_ANGLE } from '../constant/polar';\nimport type { IArcMarkSpec, Datum, StateValueType } from '../typings';\nimport type { ExChannelCall } from './base/base-mark';\n// eslint-disable-next-line no-duplicate-imports\nimport { BaseMark } from './base/base-mark';\nimport type { IArcMark, IMarkOption, IMarkRaw, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerArcGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarArcAnimation } from '../animation/config';\nimport { polarToCartesian } from '@visactor/vutils';\n\nexport class BaseArcMark<T extends IArcMarkSpec> extends BaseMark<T> implements IMarkRaw<T> {\n readonly type: MarkTypeEnum = ArcMark.type;\n\n _unCompileChannel = { centerOffset: true, radiusOffset: true };\n\n constructor(name: string, option: IMarkOption) {\n super(name, option);\n\n // because of set object.function, this setting should be write after object init\n this._computeExChannel.x = this.computeCenter as ExChannelCall;\n this._computeExChannel.y = this.computeCenter as ExChannelCall;\n this._computeExChannel.outerRadius = this.computeOuterRadius as ExChannelCall;\n\n this._extensionChannel.centerOffset = ['x', 'y'];\n this._extensionChannel.radiusOffset = ['outerRadius'];\n }\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<T> = {\n ...super._getDefaultStyle(),\n startAngle: 0,\n endAngle: 0,\n outerRadius: 0,\n innerRadius: 0,\n cornerRadius: 0,\n lineWidth: 0,\n innerPadding: 0,\n outerPadding: 0\n };\n return defaultStyle;\n }\n\n protected computeOuterRadius = (\n key: string,\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n superValue: number\n ): number => {\n const offset = (this.getAttribute('radiusOffset', datum, states, opt) as number) ?? 0;\n return superValue + offset;\n };\n\n protected computeCenter = (\n key: 'x' | 'y',\n datum: Datum,\n states: StateValueType = 'normal',\n opt: any,\n center: number\n ) => {\n return (\n polarToCartesian(\n { x: 0, y: 0 },\n this.getAttribute('centerOffset', datum, states, opt) as number,\n datum[ARC_MIDDLE_ANGLE]\n )[key] + center\n );\n };\n}\n\nexport class ArcMark extends BaseArcMark<IArcMarkSpec> implements IArcMark {\n static readonly type = MarkTypeEnum.arc;\n readonly type: MarkTypeEnum = ArcMark.type;\n}\n\nexport const registerArcMark = () => {\n registerArcGraphic();\n registerVGrammarArcAnimation();\n Factory.registerMark(ArcMark.type, ArcMark);\n};\n"]}
|
package/cjs/mark/area.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import type { IAreaMarkSpec } from '../typings/visual';
|
|
2
2
|
import { BaseLineMark } from './base/base-line';
|
|
3
|
-
import type {
|
|
3
|
+
import type { IAreaMark, IMarkStyle } from './interface';
|
|
4
4
|
import { MarkTypeEnum } from './interface/type';
|
|
5
|
-
export type IAreaMark = IMarkRaw<IAreaMarkSpec>;
|
|
6
5
|
export declare class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {
|
|
7
6
|
static readonly type = MarkTypeEnum.area;
|
|
8
7
|
readonly type = MarkTypeEnum.area;
|
package/cjs/mark/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAAgD;AAIhD,2DAA8D;AAC9D,gDAA0E;
|
|
1
|
+
{"version":3,"sources":["../src/mark/area.ts"],"names":[],"mappings":";;;AAAA,+CAA4C;AAE5C,gDAAgD;AAIhD,2DAA8D;AAC9D,gDAA0E;AAE1E,MAAa,QAAS,SAAQ,wBAA2B;IAAzD;;QAEW,SAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;IAahC,CAAC;IAXW,gBAAgB;QACxB,MAAM,YAAY,mCACb,KAAK,CAAC,gBAAgB,EAAE,KAC3B,SAAS,EAAE,CAAC,GACb,CAAC;QACF,OAAO,YAAY,CAAC;IACtB,CAAC;IAES,oBAAoB;QAC5B,OAAO,EAAE,CAAC;IACZ,CAAC;;AAdH,4BAeC;AAdiB,aAAI,UAAqB;AAgBpC,MAAM,gBAAgB,GAAG,GAAG,EAAE;IACnC,iBAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC9C,IAAA,mCAAmB,GAAE,CAAC;IACtB,IAAA,4CAAmC,GAAE,CAAC;AACxC,CAAC,CAAC;AAJW,QAAA,gBAAgB,oBAI3B","file":"area.js","sourcesContent":["import { Factory } from './../core/factory';\nimport type { IAreaMarkSpec } from '../typings/visual';\nimport { BaseLineMark } from './base/base-line';\nimport type { IAreaMark, IMarkStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { MarkTypeEnum } from './interface/type';\nimport { registerAreaGraphic } from '@visactor/vgrammar-core';\nimport { registerVGrammarLineOrAreaAnimation } from '../animation/config';\n\nexport class AreaMark extends BaseLineMark<IAreaMarkSpec> implements IAreaMark {\n static readonly type = MarkTypeEnum.area;\n readonly type = AreaMark.type;\n\n protected _getDefaultStyle() {\n const defaultStyle: IMarkStyle<IAreaMarkSpec> = {\n ...super._getDefaultStyle(),\n lineWidth: 0\n };\n return defaultStyle;\n }\n\n protected _getIgnoreAttributes(): string[] {\n return [];\n }\n}\n\nexport const registerAreaMark = () => {\n Factory.registerMark(AreaMark.type, AreaMark);\n registerAreaGraphic();\n registerVGrammarLineOrAreaAnimation();\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AAGpD,
|
|
1
|
+
{"version":3,"sources":["../src/mark/base/base-line.ts"],"names":[],"mappings":";;;AAAA,6CAAoD;AAGpD,6CAAqD;AACrD,2CAAuC;AAGvC,MAAsB,YAA8D,SAAQ,oBAAW;IAWrG,QAAQ,CACN,KAAkE,EAClE,QAAwB,QAAQ,EAChC,QAAgB,CAAC,EACjB,UAAU,GAAG,IAAI,CAAC,UAAU;QAE5B,IAAI,IAAA,cAAK,EAAC,KAAK,CAAC,EAAE;YAChB,OAAO;SACR;QAED,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE;YACnC,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;SACxB;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACrD,MAAM,iBAAiB,GAAG;YACxB,aAAa;YACb,WAAW;YACX,UAAU;YACV,YAAY;YACZ,UAAU;YACV,QAAQ;YACR,eAAe;YACf,SAAS;YACT,MAAM;YACN,aAAa;YACb,SAAS;YACT,gBAAgB;YAChB,aAAa;YACb,cAAc;SACf,CAAC;QACF,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,cAAc,GAAG,KAAK,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YAChC,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACvD,OAAO;aACR;YACD,IACE,WAAW;gBACX,iBAAiB,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAChC,CAAC,IAAA,yBAAgB,EAAC,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,IAAI,CAAC,KAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,KAAK,CAAA,IAAI,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC,EAChF;gBACA,cAAc,GAAG,IAAI,CAAC;aACvB;YAED,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAW,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAE5G,IAAI,CAAC,YAAY,CAAC,IAAW,EAAE,cAAc,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QACH,IAAI,cAAc,EAAE;YAClB,IAAI,CAAC,aAAa,CAAC;gBACjB,cAAc,EAAE,IAAI;aACrB,CAAC,CAAC;SACJ;IACH,CAAC;CACF;AAnED,oCAmEC","file":"base-line.js","sourcesContent":["import { isValidScaleType } from '@visactor/vscale';\nimport type { StateValueType } from '../../compile/mark';\nimport type { ConvertToMarkStyleSpec, ILineLikeMarkSpec } from '../../typings/visual';\nimport { isFunction, isNil } from '@visactor/vutils';\nimport { BaseMark } from './base-mark';\nimport type { IMarkStyle } from '../interface';\n\nexport abstract class BaseLineMark<T extends ILineLikeMarkSpec = ILineLikeMarkSpec> extends BaseMark<T> {\n protected abstract _getIgnoreAttributes(): string[];\n\n /**\n * @override\n * 之所以覆写是因为 vgrammar 侧默认都会处理 lineSegments,非常耗性能,所以需要 VChart 给一个标志位用于是否执行。\n * 由外部series调用,设置markStyle的接口。\n * @param style\n * @param level\n * @param state\n */\n setStyle<T>(\n style: Partial<ConvertToMarkStyleSpec<T>> | Partial<IMarkStyle<T>>,\n state: StateValueType = 'normal',\n level: number = 0,\n stateStyle = this.stateStyle\n ): void {\n if (isNil(style)) {\n return;\n }\n\n if (stateStyle[state] === undefined) {\n stateStyle[state] = {};\n }\n\n const ignoreAttributes = this._getIgnoreAttributes();\n const segmentAttributes = [\n 'strokeWidth',\n 'lineWidth',\n 'lineDash',\n 'strokeDash',\n 'lineJoin',\n 'stroke',\n 'strokeOpacity',\n 'opacity',\n 'fill',\n 'fillOpacity',\n 'texture',\n 'texturePadding',\n 'textureSize',\n 'textureColor'\n ];\n const isUserLevel = this.isUserLevel(level);\n let enableSegments = false;\n Object.keys(style).forEach(attr => {\n const attrStyle = style[attr];\n if (isNil(attrStyle) || ignoreAttributes.includes(attr)) {\n return;\n }\n if (\n isUserLevel &&\n segmentAttributes.includes(attr) &&\n (isValidScaleType(attrStyle?.type) || attrStyle?.scale || isFunction(attrStyle))\n ) {\n enableSegments = true;\n }\n\n const styleConverter = this._filterAttribute(attr as any, attrStyle, state, level, isUserLevel, stateStyle);\n\n this.setAttribute(attr as any, styleConverter, state, level, stateStyle);\n });\n if (enableSegments) {\n this.setMarkConfig({\n enableSegments: true\n });\n }\n }\n}\n"]}
|
package/cjs/mark/box-plot.d.ts
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import type { IBoxPlotMarkSpec } from '../typings/visual';
|
|
2
2
|
import { BaseMark } from './base/base-mark';
|
|
3
3
|
import type { IGroupMark } from '@visactor/vgrammar-core';
|
|
4
|
-
import type {
|
|
4
|
+
import type { IBoxPlotMark, IMarkStyle } from './interface';
|
|
5
5
|
import { MarkTypeEnum } from './interface/type';
|
|
6
|
-
export type IBoxPlotMark = IMarkRaw<IBoxPlotMarkSpec>;
|
|
7
6
|
export declare class BoxPlotMark extends BaseMark<IBoxPlotMarkSpec> implements IBoxPlotMark {
|
|
8
7
|
static readonly type = MarkTypeEnum.boxPlot;
|
|
9
8
|
readonly type = MarkTypeEnum.boxPlot;
|