@visactor/vchart 0.0.1-alpha.2 → 1.0.0-alpha.0
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/README.md +82 -1
- package/build/index.js +2680 -2068
- package/build/index.min.js +2 -2
- package/cjs/animation/utils.d.ts +2 -1
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base-chart.js +2 -2
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
- package/cjs/chart/box-plot/box-plot.js.map +1 -0
- package/{esm/chart/boxplot → cjs/chart/box-plot}/index.d.ts +1 -1
- package/cjs/chart/{boxplot → box-plot}/index.js +1 -1
- package/cjs/chart/box-plot/index.js.map +1 -0
- package/cjs/chart/box-plot/interface.js.map +1 -0
- package/cjs/chart/index.d.ts +3 -1
- package/cjs/chart/index.js +2 -1
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/compile/compilable-base.js +1 -1
- package/cjs/compile/compiler.d.ts +2 -2
- package/cjs/compile/compiler.js +24 -25
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/grammar-item.js +1 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/util.js +1 -1
- package/cjs/component/axis/base-axis.d.ts +70 -1
- package/cjs/component/axis/base-axis.js +93 -4
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +0 -1
- package/cjs/component/axis/cartesian/axis.js +3 -6
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +0 -1
- package/cjs/component/axis/polar/axis.js +3 -6
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/utils.d.ts +13 -70
- package/cjs/component/axis/utils.js +23 -109
- package/cjs/component/axis/utils.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +0 -5
- package/cjs/component/base/base-component.js +8 -19
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.d.ts +1 -1
- package/cjs/component/base/util.js +20 -9
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +0 -1
- package/cjs/component/crosshair/base.js +1 -4
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js +4 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +2 -2
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/index.js +1 -1
- package/cjs/component/interface/index.d.ts +1 -0
- package/cjs/component/interface/index.js +1 -1
- package/cjs/component/interface/index.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +38 -0
- package/cjs/component/interface/theme.js +6 -0
- package/cjs/component/interface/theme.js.map +1 -0
- package/cjs/component/label/label.d.ts +0 -1
- package/cjs/component/label/label.js +12 -6
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/legend/base-legend.js +5 -2
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.d.ts +1 -1
- package/cjs/component/legend/continuous/legend.js +2 -2
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -1
- package/cjs/component/legend/discrete/legend.js +2 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +4 -4
- package/cjs/component/map-label/component.js +2 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/map-label/interface.d.ts +6 -4
- package/cjs/component/map-label/interface.js.map +1 -1
- package/cjs/component/marker/utils.js +14 -9
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/interface/theme.d.ts +2 -1
- package/cjs/component/player/interface/theme.js.map +1 -1
- package/cjs/component/player/player.d.ts +0 -1
- package/cjs/component/player/player.js +0 -3
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/title/interface/theme.d.ts +4 -2
- package/cjs/component/title/interface/theme.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -1
- package/cjs/component/title/title.js +4 -6
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -3
- package/cjs/component/tooltip/handler/base.js +9 -8
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +4 -4
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -2
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +1 -1
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/box-plot.js +1 -2
- package/cjs/constant/label.js +2 -1
- package/cjs/core/factory.d.ts +1 -0
- package/cjs/core/factory.js +3 -0
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/instance-manager.d.ts +9 -0
- package/cjs/core/instance-manager.js +26 -0
- package/cjs/core/instance-manager.js.map +1 -0
- package/cjs/core/interface.js +1 -2
- package/cjs/core/vchart.d.ts +2 -6
- package/cjs/core/vchart.js +10 -23
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/event.js +2 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/mark/arc.d.ts +1 -1
- package/cjs/mark/arc.js +4 -3
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +3 -2
- package/cjs/mark/area.js +8 -4
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -1
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/base/index.d.ts +1 -2
- package/cjs/mark/base/index.js +1 -10
- package/cjs/mark/base/index.js.map +1 -1
- package/{esm/mark/boxPlot.d.ts → cjs/mark/box-plot.d.ts} +1 -1
- package/cjs/mark/{boxPlot.js → box-plot.js} +3 -3
- package/{esm/mark/boxPlot.js.map → cjs/mark/box-plot.js.map} +1 -1
- package/cjs/mark/component.d.ts +1 -1
- package/cjs/mark/component.js +2 -2
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/line.d.ts +1 -1
- package/cjs/mark/line.js +2 -2
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/linkPath.d.ts +1 -1
- package/cjs/mark/linkPath.js +4 -3
- package/cjs/mark/linkPath.js.map +1 -1
- package/cjs/mark/mark-set/index.d.ts +6 -5
- package/cjs/mark/mark-set/index.js +15 -12
- package/cjs/mark/mark-set/index.js.map +1 -1
- package/cjs/mark/path.d.ts +1 -1
- package/cjs/mark/path.js +2 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon.d.ts +1 -1
- package/cjs/mark/polygon.js +3 -3
- package/cjs/mark/polygon.js.map +1 -1
- package/cjs/mark/progress-arc.js +1 -1
- package/cjs/mark/rect.d.ts +1 -1
- package/cjs/mark/rect.js +6 -5
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/rule.d.ts +1 -1
- package/cjs/mark/rule.js +3 -3
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +1 -1
- package/cjs/mark/symbol.js +5 -4
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +1 -1
- package/cjs/mark/text.js +5 -4
- package/cjs/mark/text.js.map +1 -1
- package/cjs/model/base-model.d.ts +12 -5
- package/cjs/model/base-model.js +52 -29
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +8 -2
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.js +20 -18
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/region/region.d.ts +1 -4
- package/cjs/region/region.js +16 -13
- package/cjs/region/region.js.map +1 -1
- package/cjs/scale/color-ordinal-scale.d.ts +8 -0
- package/cjs/scale/color-ordinal-scale.js +24 -0
- package/cjs/scale/color-ordinal-scale.js.map +1 -0
- package/cjs/scale/global-scale.js +2 -1
- package/cjs/scale/global-scale.js.map +1 -1
- package/cjs/series/area/area.d.ts +2 -0
- package/cjs/series/area/area.js +15 -9
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/interface.d.ts +5 -5
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +6 -0
- package/cjs/series/bar/bar.js +24 -8
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +5 -4
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +10 -11
- package/cjs/series/base/base-series.js +53 -31
- package/cjs/series/base/base-series.js.map +1 -1
- package/{esm/series/box-plot/boxPlot.d.ts → cjs/series/box-plot/box-plot.d.ts} +2 -0
- package/cjs/series/box-plot/{boxPlot.js → box-plot.js} +16 -6
- package/cjs/series/box-plot/box-plot.js.map +1 -0
- package/cjs/series/box-plot/interface.d.ts +3 -2
- package/cjs/series/box-plot/interface.js.map +1 -1
- package/cjs/series/box-plot/tooltip-helper.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +2 -0
- package/cjs/series/circle-packing/circle-packing.js +13 -8
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/interface.d.ts +5 -4
- package/cjs/series/circle-packing/interface.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +6 -8
- package/cjs/series/dot/dot.js +43 -17
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/interface.d.ts +10 -10
- package/cjs/series/dot/interface.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +12 -2
- package/cjs/series/funnel/funnel.js +84 -23
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +16 -15
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +2 -0
- package/cjs/series/gauge/gauge-pointer.js +22 -6
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +3 -2
- package/cjs/series/gauge/gauge.js +26 -17
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +12 -11
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +3 -1
- package/cjs/series/heatmap/heatmap.js +18 -9
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/heatmap/interface.d.ts +6 -5
- package/cjs/series/heatmap/interface.js.map +1 -1
- package/cjs/series/interface/common.d.ts +56 -1
- package/cjs/series/interface/common.js +24 -1
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +2 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/line.d.ts +2 -0
- package/cjs/series/line/line.js +7 -5
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/interface.d.ts +4 -4
- package/cjs/series/link/interface.js.map +1 -1
- package/cjs/series/link/link.d.ts +4 -7
- package/cjs/series/link/link.js +20 -14
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/map.d.ts +2 -0
- package/cjs/series/map/map.js +13 -6
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +4 -3
- package/cjs/series/mixin/line-mixin.js +15 -7
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +7 -6
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +8 -3
- package/cjs/series/pie/pie.js +61 -33
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +2 -0
- package/cjs/series/progress/circular/circular.js +16 -9
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/interface.d.ts +5 -4
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/progress/linear/interface.d.ts +6 -5
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +2 -0
- package/cjs/series/progress/linear/linear.js +31 -21
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +5 -4
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +2 -0
- package/cjs/series/radar/radar.js +9 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +2 -0
- package/cjs/series/range-area/range-area.js +4 -3
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +9 -8
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/rangeColumn.d.ts +2 -0
- package/cjs/series/range-column/rangeColumn.js +28 -19
- package/cjs/series/range-column/rangeColumn.js.map +1 -1
- package/cjs/series/rose/interface.d.ts +3 -2
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +2 -0
- package/cjs/series/rose/rose.js +14 -13
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +7 -6
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -0
- package/cjs/series/sankey/sankey.js +25 -22
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +6 -5
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -0
- package/cjs/series/scatter/scatter.js +15 -10
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/interface.d.ts +5 -4
- package/cjs/series/sunburst/interface.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +3 -1
- package/cjs/series/sunburst/sunburst.js +9 -4
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/interface.d.ts +9 -8
- package/cjs/series/treemap/interface.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +2 -0
- package/cjs/series/treemap/treemap.js +19 -6
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/interface.d.ts +6 -5
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -0
- package/cjs/series/waterfall/waterfall.js +15 -5
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +7 -6
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.d.ts +4 -3
- package/cjs/series/word-cloud/word-cloud.js +22 -11
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/buildin-theme/config.d.ts +1 -4
- package/cjs/theme/buildin-theme/config.js +2 -18
- package/cjs/theme/buildin-theme/config.js.map +1 -1
- package/cjs/theme/buildin-theme/dark.js.map +1 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js +14 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.js +22 -0
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
- package/cjs/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
- package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
- package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js +22 -0
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
- package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js +25 -0
- package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/crosshair.js +9 -5
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/index.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/index.js +32 -0
- package/cjs/theme/buildin-theme/light/component/index.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +3 -3
- package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.js +60 -0
- package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +17 -6
- package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +3 -3
- package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/map-label.d.ts +2 -0
- package/cjs/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +8 -8
- package/cjs/theme/buildin-theme/light/component/map-label.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/player.js +20 -11
- package/cjs/theme/buildin-theme/light/component/player.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/title.js +19 -3
- package/cjs/theme/buildin-theme/light/component/title.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/tooltip.js +7 -3
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/cjs/theme/buildin-theme/light/constants.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/constants.js +16 -0
- package/cjs/theme/buildin-theme/light/constants.js.map +1 -0
- package/cjs/theme/buildin-theme/light/index.js +5 -20
- package/cjs/theme/buildin-theme/light/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/mark.d.ts +3 -0
- package/cjs/theme/buildin-theme/light/mark.js +72 -0
- package/cjs/theme/buildin-theme/light/mark.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/area.js +2 -12
- package/cjs/theme/buildin-theme/light/series/area.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar.js +2 -2
- package/cjs/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/bar3d.js +2 -2
- package/cjs/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/box-plot.js +12 -0
- package/cjs/theme/buildin-theme/light/series/box-plot.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/circular-progress.js +11 -1
- package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel.js +8 -5
- package/cjs/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/funnel3d.js +9 -6
- package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js +6 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/index.js +5 -2
- package/cjs/theme/buildin-theme/light/series/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/line.js +2 -7
- package/cjs/theme/buildin-theme/light/series/line.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/linear-progress.js +5 -0
- package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/map.js +8 -4
- package/cjs/theme/buildin-theme/light/series/map.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie.js +9 -2
- package/cjs/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/pie3d.js +4 -3
- package/cjs/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/radar.js +2 -12
- package/cjs/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js +2 -2
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/rose.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/rose.js +20 -0
- package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/sankey.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/series/sankey.js +14 -0
- package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/scatter.js +10 -4
- package/cjs/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/treemap.js +4 -4
- package/cjs/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/waterfall.js +3 -3
- package/cjs/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/cjs/theme/color-scheme/interface.d.ts +16 -8
- package/cjs/theme/color-scheme/interface.js.map +1 -1
- package/cjs/theme/color-scheme/util.d.ts +6 -3
- package/cjs/theme/color-scheme/util.js +39 -10
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/interface.d.ts +22 -38
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.d.ts +1 -0
- package/cjs/theme/theme-manager.js +5 -2
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/spec/chart.d.ts +1 -1
- package/cjs/typings/spec/chart.js.map +1 -1
- package/cjs/typings/visual.d.ts +13 -12
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/color.d.ts +0 -3
- package/cjs/util/color.js +2 -12
- package/cjs/util/color.js.map +1 -1
- package/cjs/util/scale.d.ts +12 -1
- package/cjs/util/scale.js +4 -2
- package/cjs/util/scale.js.map +1 -1
- package/cjs/vchart-all.js +4 -4
- package/cjs/vchart-all.js.map +1 -1
- package/esm/animation/utils.d.ts +2 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base-chart.js +3 -3
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/{boxplot/boxPlot.js → box-plot/box-plot.js} +1 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -0
- package/{cjs/chart/boxplot → esm/chart/box-plot}/index.d.ts +1 -1
- package/esm/chart/{boxplot → box-plot}/index.js +1 -1
- package/esm/chart/box-plot/index.js.map +1 -0
- package/esm/chart/box-plot/interface.js.map +1 -0
- package/esm/chart/index.d.ts +3 -1
- package/esm/chart/index.js +5 -1
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/compile/compilable-base.js +1 -1
- package/esm/compile/compiler.d.ts +2 -2
- package/esm/compile/compiler.js +24 -25
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/grammar-item.js +1 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/util.js +1 -1
- package/esm/component/axis/base-axis.d.ts +70 -1
- package/esm/component/axis/base-axis.js +98 -4
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +0 -1
- package/esm/component/axis/cartesian/axis.js +4 -7
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +0 -1
- package/esm/component/axis/polar/axis.js +4 -7
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/utils.d.ts +13 -70
- package/esm/component/axis/utils.js +12 -99
- package/esm/component/axis/utils.js.map +1 -1
- package/esm/component/base/base-component.d.ts +0 -5
- package/esm/component/base/base-component.js +7 -20
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.d.ts +1 -1
- package/esm/component/base/util.js +18 -9
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +0 -1
- package/esm/component/crosshair/base.js +1 -4
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js +4 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +2 -2
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/index.js +1 -1
- package/esm/component/interface/index.d.ts +1 -0
- package/esm/component/interface/index.js +2 -0
- package/esm/component/interface/index.js.map +1 -1
- package/esm/component/interface/theme.d.ts +38 -0
- package/esm/component/interface/theme.js +2 -0
- package/esm/component/interface/theme.js.map +1 -0
- package/esm/component/label/label.d.ts +0 -1
- package/esm/component/label/label.js +12 -6
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/legend/base-legend.js +5 -2
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.d.ts +1 -1
- package/esm/component/legend/continuous/legend.js +2 -2
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -1
- package/esm/component/legend/discrete/legend.js +2 -2
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +4 -4
- package/esm/component/map-label/component.js +1 -5
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/map-label/interface.d.ts +6 -4
- package/esm/component/map-label/interface.js.map +1 -1
- package/esm/component/marker/utils.js +14 -9
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/interface/theme.d.ts +2 -1
- package/esm/component/player/interface/theme.js.map +1 -1
- package/esm/component/player/player.d.ts +0 -1
- package/esm/component/player/player.js +0 -3
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/title/interface/theme.d.ts +4 -2
- package/esm/component/title/interface/theme.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -1
- package/esm/component/title/title.js +3 -6
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -3
- package/esm/component/tooltip/handler/base.js +9 -8
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +4 -5
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +6 -6
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +2 -4
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +2 -3
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +1 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/box-plot.js +1 -2
- package/esm/constant/label.js +2 -1
- package/esm/core/factory.d.ts +1 -0
- package/esm/core/factory.js +3 -0
- package/esm/core/factory.js.map +1 -1
- package/esm/core/instance-manager.d.ts +9 -0
- package/esm/core/instance-manager.js +20 -0
- package/esm/core/instance-manager.js.map +1 -0
- package/esm/core/interface.js +1 -2
- package/esm/core/vchart.d.ts +2 -6
- package/esm/core/vchart.js +10 -22
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/event.js +2 -1
- package/esm/index.d.ts +1 -1
- package/esm/index.js +1 -1
- package/esm/index.js.map +1 -1
- package/esm/mark/arc.d.ts +1 -1
- package/esm/mark/arc.js +3 -2
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +3 -2
- package/esm/mark/area.js +7 -3
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-mark.js +4 -3
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/base/index.d.ts +1 -2
- package/esm/mark/base/index.js +1 -3
- package/esm/mark/base/index.js.map +1 -1
- package/{cjs/mark/boxPlot.d.ts → esm/mark/box-plot.d.ts} +1 -1
- package/esm/mark/{boxPlot.js → box-plot.js} +2 -2
- package/esm/mark/box-plot.js.map +1 -0
- package/esm/mark/component.d.ts +1 -1
- package/esm/mark/component.js +1 -1
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/line.d.ts +1 -1
- package/esm/mark/line.js +1 -1
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/linkPath.d.ts +1 -1
- package/esm/mark/linkPath.js +3 -2
- package/esm/mark/linkPath.js.map +1 -1
- package/esm/mark/mark-set/index.d.ts +6 -5
- package/esm/mark/mark-set/index.js +16 -13
- package/esm/mark/mark-set/index.js.map +1 -1
- package/esm/mark/path.d.ts +1 -1
- package/esm/mark/path.js +1 -1
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon.d.ts +1 -1
- package/esm/mark/polygon.js +2 -2
- package/esm/mark/polygon.js.map +1 -1
- package/esm/mark/progress-arc.js +1 -1
- package/esm/mark/rect.d.ts +1 -1
- package/esm/mark/rect.js +4 -3
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/rule.d.ts +1 -1
- package/esm/mark/rule.js +2 -2
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +1 -1
- package/esm/mark/symbol.js +4 -3
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +1 -1
- package/esm/mark/text.js +4 -3
- package/esm/mark/text.js.map +1 -1
- package/esm/model/base-model.d.ts +12 -5
- package/esm/model/base-model.js +50 -29
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +8 -2
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.js +19 -17
- package/esm/model/layout-item.js.map +1 -1
- package/esm/region/region.d.ts +1 -4
- package/esm/region/region.js +15 -13
- package/esm/region/region.js.map +1 -1
- package/esm/scale/color-ordinal-scale.d.ts +8 -0
- package/esm/scale/color-ordinal-scale.js +18 -0
- package/esm/scale/color-ordinal-scale.js.map +1 -0
- package/esm/scale/global-scale.js +3 -2
- package/esm/scale/global-scale.js.map +1 -1
- package/esm/series/area/area.d.ts +2 -0
- package/esm/series/area/area.js +15 -6
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/interface.d.ts +5 -5
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/bar.d.ts +6 -0
- package/esm/series/bar/bar.js +25 -7
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/interface.d.ts +5 -4
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +10 -11
- package/esm/series/base/base-series.js +59 -30
- package/esm/series/base/base-series.js.map +1 -1
- package/{cjs/series/box-plot/boxPlot.d.ts → esm/series/box-plot/box-plot.d.ts} +2 -0
- package/esm/series/box-plot/{boxPlot.js → box-plot.js} +17 -6
- package/esm/series/box-plot/box-plot.js.map +1 -0
- package/esm/series/box-plot/interface.d.ts +3 -2
- package/esm/series/box-plot/interface.js.map +1 -1
- package/esm/series/box-plot/tooltip-helper.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +2 -0
- package/esm/series/circle-packing/circle-packing.js +12 -3
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/interface.d.ts +5 -4
- package/esm/series/circle-packing/interface.js.map +1 -1
- package/esm/series/dot/dot.d.ts +6 -8
- package/esm/series/dot/dot.js +47 -16
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/interface.d.ts +10 -10
- package/esm/series/dot/interface.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +12 -2
- package/esm/series/funnel/funnel.js +81 -22
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +16 -15
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +2 -0
- package/esm/series/gauge/gauge-pointer.js +23 -6
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +3 -2
- package/esm/series/gauge/gauge.js +32 -18
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +12 -11
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +3 -1
- package/esm/series/heatmap/heatmap.js +19 -9
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/heatmap/interface.d.ts +6 -5
- package/esm/series/heatmap/interface.js.map +1 -1
- package/esm/series/interface/common.d.ts +56 -1
- package/esm/series/interface/common.js +24 -1
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +2 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/line.d.ts +2 -0
- package/esm/series/line/line.js +9 -4
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/interface.d.ts +4 -4
- package/esm/series/link/interface.js.map +1 -1
- package/esm/series/link/link.d.ts +4 -7
- package/esm/series/link/link.js +22 -15
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/map.d.ts +2 -0
- package/esm/series/map/map.js +13 -6
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +4 -3
- package/esm/series/mixin/line-mixin.js +16 -4
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/interface.d.ts +7 -6
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +8 -3
- package/esm/series/pie/pie.js +60 -28
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +2 -0
- package/esm/series/progress/circular/circular.js +16 -6
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/interface.d.ts +5 -4
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/progress/linear/interface.d.ts +6 -5
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +2 -0
- package/esm/series/progress/linear/linear.js +31 -20
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/interface.d.ts +5 -4
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.d.ts +2 -0
- package/esm/series/radar/radar.js +12 -5
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +2 -0
- package/esm/series/range-area/range-area.js +2 -4
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +9 -8
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/rangeColumn.d.ts +2 -0
- package/esm/series/range-column/rangeColumn.js +28 -20
- package/esm/series/range-column/rangeColumn.js.map +1 -1
- package/esm/series/rose/interface.d.ts +3 -2
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +2 -0
- package/esm/series/rose/rose.js +16 -14
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +7 -6
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -0
- package/esm/series/sankey/sankey.js +26 -23
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +6 -5
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -0
- package/esm/series/scatter/scatter.js +15 -9
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/interface.d.ts +5 -4
- package/esm/series/sunburst/interface.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +3 -1
- package/esm/series/sunburst/sunburst.js +11 -4
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/interface.d.ts +9 -8
- package/esm/series/treemap/interface.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +2 -0
- package/esm/series/treemap/treemap.js +21 -6
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/interface.d.ts +6 -5
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -0
- package/esm/series/waterfall/waterfall.js +15 -6
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +7 -6
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.d.ts +4 -3
- package/esm/series/word-cloud/word-cloud.js +24 -11
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/buildin-theme/config.d.ts +1 -4
- package/esm/theme/buildin-theme/config.js +1 -21
- package/esm/theme/buildin-theme/config.js.map +1 -1
- package/esm/theme/buildin-theme/dark.js.map +1 -1
- package/esm/theme/buildin-theme/light/color-scheme.js +14 -1
- package/esm/theme/buildin-theme/light/color-scheme.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/axis/band-axis.js +18 -0
- package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/{cartesian-axis.d.ts → axis/cartesian-axis.d.ts} +1 -1
- package/esm/theme/buildin-theme/light/component/{cartesian-axis.js → axis/cartesian-axis.js} +7 -9
- package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/axis/common-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{common-axis.js → axis/common-axis.js} +32 -14
- package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.js +18 -0
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/{polar-axis.d.ts → axis/polar-axis.d.ts} +1 -1
- package/esm/theme/buildin-theme/light/component/{polar-axis.js → axis/polar-axis.js} +11 -3
- package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/crosshair.js +8 -4
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/index.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/index.js +62 -0
- package/esm/theme/buildin-theme/light/component/index.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/color-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{color-legend.js → legend/color-legend.js} +1 -1
- package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.js +54 -0
- package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/discrete-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{discrete-legend.js → legend/discrete-legend.js} +14 -5
- package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/legend/size-legend.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/{size-legend.js → legend/size-legend.js} +1 -1
- package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/map-label.d.ts +2 -0
- package/esm/{component/map-label/config.js → theme/buildin-theme/light/component/map-label.js} +5 -3
- package/esm/theme/buildin-theme/light/component/map-label.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/player.js +20 -11
- package/esm/theme/buildin-theme/light/component/player.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/title.js +16 -2
- package/esm/theme/buildin-theme/light/component/title.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/tooltip.js +6 -2
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/esm/theme/buildin-theme/light/constants.d.ts +2 -0
- package/esm/theme/buildin-theme/light/constants.js +10 -0
- package/esm/theme/buildin-theme/light/constants.js.map +1 -0
- package/esm/theme/buildin-theme/light/index.js +7 -50
- package/esm/theme/buildin-theme/light/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/mark.d.ts +3 -0
- package/esm/theme/buildin-theme/light/mark.js +68 -0
- package/esm/theme/buildin-theme/light/mark.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/area.js +2 -12
- package/esm/theme/buildin-theme/light/series/area.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar.js +2 -2
- package/esm/theme/buildin-theme/light/series/bar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/bar3d.js +2 -2
- package/esm/theme/buildin-theme/light/series/bar3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/box-plot.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/box-plot.js +8 -0
- package/esm/theme/buildin-theme/light/series/box-plot.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/circular-progress.js +11 -1
- package/esm/theme/buildin-theme/light/series/circular-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel.js +7 -2
- package/esm/theme/buildin-theme/light/series/funnel.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/funnel3d.js +8 -3
- package/esm/theme/buildin-theme/light/series/funnel3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/gauge.js +6 -1
- package/esm/theme/buildin-theme/light/series/gauge.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/index.js +10 -1
- package/esm/theme/buildin-theme/light/series/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/line.js +2 -7
- package/esm/theme/buildin-theme/light/series/line.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/linear-progress.js +5 -0
- package/esm/theme/buildin-theme/light/series/linear-progress.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/map.js +8 -4
- package/esm/theme/buildin-theme/light/series/map.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie.js +9 -2
- package/esm/theme/buildin-theme/light/series/pie.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/pie3d.js +4 -3
- package/esm/theme/buildin-theme/light/series/pie3d.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/radar.js +2 -12
- package/esm/theme/buildin-theme/light/series/radar.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/rangeColumn.js +2 -2
- package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/rose.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/rose.js +16 -0
- package/esm/theme/buildin-theme/light/series/rose.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/sankey.d.ts +2 -0
- package/esm/theme/buildin-theme/light/series/sankey.js +10 -0
- package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/scatter.js +10 -4
- package/esm/theme/buildin-theme/light/series/scatter.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/treemap.js +3 -1
- package/esm/theme/buildin-theme/light/series/treemap.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js +3 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js +1 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +1 -1
- package/esm/theme/color-scheme/interface.d.ts +16 -8
- package/esm/theme/color-scheme/interface.js.map +1 -1
- package/esm/theme/color-scheme/util.d.ts +6 -3
- package/esm/theme/color-scheme/util.js +31 -7
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/interface.d.ts +22 -38
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.d.ts +1 -0
- package/esm/theme/theme-manager.js +6 -1
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/spec/chart.d.ts +1 -1
- package/esm/typings/spec/chart.js.map +1 -1
- package/esm/typings/visual.d.ts +13 -12
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/color.d.ts +0 -3
- package/esm/util/color.js +0 -10
- package/esm/util/color.js.map +1 -1
- package/esm/util/scale.d.ts +12 -1
- package/esm/util/scale.js +6 -2
- package/esm/util/scale.js.map +1 -1
- package/esm/vchart-all.js +5 -5
- package/esm/vchart-all.js.map +1 -1
- package/package.json +1 -1
- package/cjs/chart/boxplot/boxPlot.js.map +0 -1
- package/cjs/chart/boxplot/index.js.map +0 -1
- package/cjs/chart/boxplot/interface.js.map +0 -1
- package/cjs/component/map-label/config.d.ts +0 -2
- package/cjs/component/map-label/config.js.map +0 -1
- package/cjs/mark/boxPlot.js.map +0 -1
- package/cjs/series/box-plot/boxPlot.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/color-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/common-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/polar-axis.js +0 -19
- package/cjs/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/size-legend.js.map +0 -1
- package/esm/chart/boxplot/boxPlot.js.map +0 -1
- package/esm/chart/boxplot/index.js.map +0 -1
- package/esm/chart/boxplot/interface.js.map +0 -1
- package/esm/component/map-label/config.d.ts +0 -2
- package/esm/component/map-label/config.js.map +0 -1
- package/esm/series/box-plot/boxPlot.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/cartesian-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/color-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/color-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/common-axis.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/common-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/discrete-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/discrete-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/polar-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/size-legend.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/size-legend.js.map +0 -1
- /package/cjs/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
- /package/cjs/chart/{boxplot → box-plot}/interface.d.ts +0 -0
- /package/cjs/chart/{boxplot → box-plot}/interface.js +0 -0
- /package/esm/chart/{boxplot/boxPlot.d.ts → box-plot/box-plot.d.ts} +0 -0
- /package/esm/chart/{boxplot → box-plot}/interface.d.ts +0 -0
- /package/esm/chart/{boxplot → box-plot}/interface.js +0 -0
|
@@ -2,16 +2,20 @@ import { MarkTypeEnum } from "../../mark/interface";
|
|
|
2
2
|
|
|
3
3
|
import { isValid, radians } from "../../util";
|
|
4
4
|
|
|
5
|
-
import { SeriesTypeEnum } from "../interface";
|
|
5
|
+
import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
|
|
6
6
|
|
|
7
7
|
import { ProgressLikeSeries } from "../polar/progress-like/progress-like";
|
|
8
8
|
|
|
9
|
-
import {
|
|
10
|
-
|
|
11
|
-
import { registerDataSetInstanceParser, registerDataSetInstanceTransform } from "../../data/register";
|
|
9
|
+
import { registerDataSetInstanceTransform } from "../../data/register";
|
|
12
10
|
|
|
13
11
|
import { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from "../../constant";
|
|
14
12
|
|
|
13
|
+
import { animationConfig, userAnimationConfig } from "../../animation/utils";
|
|
14
|
+
|
|
15
|
+
import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
|
|
16
|
+
|
|
17
|
+
import { BaseSeries } from "../base/base-series";
|
|
18
|
+
|
|
15
19
|
export class GaugeSeries extends ProgressLikeSeries {
|
|
16
20
|
constructor() {
|
|
17
21
|
super(...arguments), this.type = SeriesTypeEnum.gauge, this._segmentMark = null,
|
|
@@ -22,26 +26,21 @@ export class GaugeSeries extends ProgressLikeSeries {
|
|
|
22
26
|
super.setAttrFromSpec(), this._padAngle = radians(null !== (_a = this._spec.padAngle) && void 0 !== _a ? _a : 0);
|
|
23
27
|
}
|
|
24
28
|
initData() {
|
|
29
|
+
var _a;
|
|
25
30
|
super.initData();
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
const dataCollect = [ ...data[0].latestData ];
|
|
31
|
+
registerDataSetInstanceTransform(this._option.dataSet, "spiltSegment", ((data, op) => {
|
|
32
|
+
const dataCollect = [ ...data ];
|
|
29
33
|
return dataCollect.sort(((a, b) => a[this._angleField[0]] - b[this._angleField[0]])),
|
|
30
34
|
dataCollect.forEach(((datum, i) => {
|
|
31
35
|
datum[SEGMENT_FIELD_END] = datum[this._angleField[0]], datum[SEGMENT_FIELD_START] = i > 0 ? dataCollect[i - 1][SEGMENT_FIELD_END] : void 0;
|
|
32
36
|
})), dataCollect;
|
|
33
|
-
}))
|
|
34
|
-
const segmentDataView = new DataView(dataSet);
|
|
35
|
-
segmentDataView.parse([ this.getViewData() ], {
|
|
36
|
-
type: "dataview"
|
|
37
|
-
}), segmentDataView.transform({
|
|
37
|
+
})), null === (_a = this.getViewDataFilter()) || void 0 === _a || _a.transform({
|
|
38
38
|
type: "spiltSegment"
|
|
39
|
-
}, !1)
|
|
39
|
+
}, !1);
|
|
40
40
|
}
|
|
41
41
|
initMark() {
|
|
42
|
-
this._trackMark = this._createMark(
|
|
43
|
-
isSeriesMark: !0
|
|
44
|
-
dataView: this._segmentData
|
|
42
|
+
this._trackMark = this._createMark(GaugeSeries.mark.track), this._segmentMark = this._createMark(GaugeSeries.mark.segment, {
|
|
43
|
+
isSeriesMark: !0
|
|
45
44
|
});
|
|
46
45
|
}
|
|
47
46
|
initMarkStyle() {
|
|
@@ -67,7 +66,6 @@ export class GaugeSeries extends ProgressLikeSeries {
|
|
|
67
66
|
boundsMode: "imprecise",
|
|
68
67
|
cornerRadius: this._spec.cornerRadius,
|
|
69
68
|
fill: this.getColorAttribute(),
|
|
70
|
-
fillOpacity: 1,
|
|
71
69
|
zIndex: 200,
|
|
72
70
|
forceShowCap: !0
|
|
73
71
|
}), this._trigger.registerMark(segmentMark), null === (_b = this._tooltipHelper) || void 0 === _b || _b.activeTriggerSet.mark.add(segmentMark));
|
|
@@ -91,7 +89,23 @@ export class GaugeSeries extends ProgressLikeSeries {
|
|
|
91
89
|
var _a;
|
|
92
90
|
return this.angleAxisHelper.dataToPosition([ datum[SEGMENT_FIELD_END] ]) - (null !== (_a = this._spec.padAngle) && void 0 !== _a ? _a : 0) / 2;
|
|
93
91
|
}
|
|
92
|
+
initAnimation() {
|
|
93
|
+
var _a, _b;
|
|
94
|
+
const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
|
|
95
|
+
this._segmentMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.circularProgress({
|
|
96
|
+
startAngle: this._startAngle
|
|
97
|
+
}, appearPreset), userAnimationConfig(SeriesMarkNameEnum.segment, this._spec)));
|
|
98
|
+
}
|
|
94
99
|
}
|
|
95
100
|
|
|
96
|
-
GaugeSeries.type = SeriesTypeEnum.gauge
|
|
101
|
+
GaugeSeries.type = SeriesTypeEnum.gauge, GaugeSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
|
|
102
|
+
[SeriesMarkNameEnum.segment]: {
|
|
103
|
+
name: SeriesMarkNameEnum.segment,
|
|
104
|
+
type: MarkTypeEnum.progressArc
|
|
105
|
+
},
|
|
106
|
+
[SeriesMarkNameEnum.track]: {
|
|
107
|
+
name: SeriesMarkNameEnum.track,
|
|
108
|
+
type: MarkTypeEnum.progressArc
|
|
109
|
+
}
|
|
110
|
+
});
|
|
97
111
|
//# sourceMappingURL=gauge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, radians } from '../../util';\nimport { SeriesTypeEnum } from '../interface';\nimport type { IGaugeSeriesSpec, IGaugeSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport type { IProgressArcMark } from '../../mark/progress-arc';\nimport { DataSet, DataView, dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant';\nimport type { Datum } from '@visactor/vgrammar';\nimport type { Maybe } from '../../typings';\n\nexport class GaugeSeries extends ProgressLikeSeries<IGaugeSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n protected declare _theme: Maybe<IGaugeSeriesTheme>;\n\n private _segmentMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n protected _stack: boolean = false;\n protected _padAngle: number = 0;\n\n protected _segmentData: DataView;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this._padAngle = radians(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Array<DataView>, op: string) => {\n // 数据处理\n const dataCollect = [...data[0].latestData];\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n // data to dataview\n const dataSet = new DataSet();\n registerDataSetInstanceParser(dataSet, 'dataview', dataViewParser);\n registerDataSetInstanceTransform(dataSet, 'spiltSegment', spiltSegment);\n const segmentDataView = new DataView(dataSet);\n segmentDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n segmentDataView.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n\n this._segmentData = segmentDataView;\n }\n\n initMark(): void {\n this._trackMark = this._createMark(MarkTypeEnum.progressArc, 'track') as IProgressArcMark;\n this._segmentMark = this._createMark(MarkTypeEnum.progressArc, 'segment', {\n isSeriesMark: true,\n dataView: this._segmentData\n }) as IProgressArcMark;\n }\n\n initMarkStyle(): void {\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n // 需要优先兼容this._spec.radius\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1),\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n fillOpacity: 1,\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(segmentMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(segmentMark);\n }\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getAngleValueStart(datum: Datum) {\n const angle = isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n return angle + (this._spec.padAngle ?? 0) / 2;\n }\n\n protected _getAngleValueEnd(datum: Datum) {\n const angle = this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n return angle - (this._spec.padAngle ?? 0) / 2;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isValid, radians } from '../../util';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IGaugeSeriesSpec, IGaugeSeriesTheme } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport type { IProgressArcMark } from '../../mark/progress-arc';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant';\nimport type { Datum } from '@visactor/vgrammar';\nimport type { Maybe } from '../../typings';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { BaseSeries } from '../base/base-series';\n\nexport class GaugeSeries extends ProgressLikeSeries<IGaugeSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.segment]: { name: SeriesMarkNameEnum.segment, type: MarkTypeEnum.progressArc },\n [SeriesMarkNameEnum.track]: { name: SeriesMarkNameEnum.track, type: MarkTypeEnum.progressArc }\n };\n\n protected declare _theme: Maybe<IGaugeSeriesTheme>;\n\n private _segmentMark: IProgressArcMark | null = null;\n private _trackMark: IProgressArcMark | null = null;\n\n protected _stack: boolean = false;\n protected _padAngle: number = 0;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n\n this._padAngle = radians(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Datum[], op: string) => {\n // 数据处理\n const dataCollect = [...data];\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'spiltSegment', spiltSegment);\n this.getViewDataFilter()?.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n }\n\n initMark(): void {\n this._trackMark = this._createMark(GaugeSeries.mark.track) as IProgressArcMark;\n this._segmentMark = this._createMark(GaugeSeries.mark.segment, {\n isSeriesMark: true\n }) as IProgressArcMark;\n }\n\n initMarkStyle(): void {\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n // 需要优先兼容this._spec.radius\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1),\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n this._trigger.registerMark(segmentMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(segmentMark);\n }\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n this._trigger.registerMark(trackMark);\n }\n }\n\n protected _getAngleValueStart(datum: Datum) {\n const angle = isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n return angle + (this._spec.padAngle ?? 0) / 2;\n }\n\n protected _getAngleValueEnd(datum: Datum) {\n const angle = this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n return angle - (this._spec.padAngle ?? 0) / 2;\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._segmentMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.circularProgress(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.segment, this._spec)\n )\n );\n }\n}\n"]}
|
|
@@ -3,14 +3,15 @@ import type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec }
|
|
|
3
3
|
import type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';
|
|
4
4
|
import type { IAnimationSpec } from '../../animation/spec';
|
|
5
5
|
import type { ProgressLikeAppearPreset } from '../polar/progress-like';
|
|
6
|
+
import type { SeriesMarkNameEnum } from '../interface';
|
|
6
7
|
export type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';
|
|
7
8
|
export interface IGaugePointerSeriesSpec extends IProgressLikeSeriesSpec, IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {
|
|
8
9
|
type: 'gaugePointer';
|
|
9
10
|
valueField: string | string[];
|
|
10
11
|
radiusField: string;
|
|
11
|
-
pin?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
|
|
12
|
-
pinBackground?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
|
|
13
|
-
pointer?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;
|
|
12
|
+
[SeriesMarkNameEnum.pin]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
|
|
13
|
+
[SeriesMarkNameEnum.pinBackground]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;
|
|
14
|
+
[SeriesMarkNameEnum.pointer]?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;
|
|
14
15
|
}
|
|
15
16
|
export type PointerMarkSpec = {
|
|
16
17
|
type: 'path' | 'rect';
|
|
@@ -25,19 +26,19 @@ export type PinMarkSpec = {
|
|
|
25
26
|
height?: number;
|
|
26
27
|
};
|
|
27
28
|
export interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {
|
|
28
|
-
pin?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
|
|
29
|
-
pinBackground?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
|
|
30
|
-
pointer?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;
|
|
29
|
+
[SeriesMarkNameEnum.pin]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
|
|
30
|
+
[SeriesMarkNameEnum.pinBackground]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;
|
|
31
|
+
[SeriesMarkNameEnum.pointer]?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;
|
|
31
32
|
}
|
|
32
33
|
export type GaugeMarks = 'segment' | 'track';
|
|
33
|
-
export interface IGaugeSeriesSpec extends IProgressLikeSeriesSpec {
|
|
34
|
+
export interface IGaugeSeriesSpec extends IProgressLikeSeriesSpec, IAnimationSpec<GaugeMarks, ProgressLikeAppearPreset> {
|
|
34
35
|
type: 'gauge';
|
|
35
36
|
padAngle?: number;
|
|
36
|
-
segment?: IMarkSpec<IProgressArcMarkSpec>;
|
|
37
|
-
track?: IMarkSpec<IArcMarkSpec>;
|
|
37
|
+
[SeriesMarkNameEnum.segment]?: IMarkSpec<IProgressArcMarkSpec>;
|
|
38
|
+
[SeriesMarkNameEnum.track]?: IMarkSpec<IArcMarkSpec>;
|
|
38
39
|
}
|
|
39
40
|
export interface IGaugeSeriesTheme extends IProgressLikeSeriesTheme {
|
|
40
41
|
padAngle?: number;
|
|
41
|
-
segment?: Partial<IMarkTheme<IProgressArcMarkSpec>>;
|
|
42
|
-
track?: Partial<IMarkTheme<IArcMarkSpec>>;
|
|
42
|
+
[SeriesMarkNameEnum.segment]?: Partial<IMarkTheme<IProgressArcMarkSpec>>;
|
|
43
|
+
[SeriesMarkNameEnum.track]?: Partial<IMarkTheme<IArcMarkSpec>>;
|
|
43
44
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/gauge/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec, IMarkTheme } from '../../typings/spec';\nimport type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ProgressLikeAppearPreset } from '../polar/progress-like';\n\nexport type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';\n\nexport interface IGaugePointerSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {\n type: 'gaugePointer';\n\n /** 数值字段(可影响指针角度) */\n valueField: string | string[];\n\n /** 半径字段(可影响指针长度,GaugePointerSeries 没有 categoryField) */\n radiusField: string;\n\n /** 图钉前景样式 */\n pin?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 图钉背景样式 */\n pinBackground?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 指针样式 */\n pointer?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;\n}\n\nexport type PointerMarkSpec = {\n type: 'path' | 'rect';\n\n /** 指针宽度比例(0~1) */\n width?: number;\n /** 指针长度比例(0~1)(为空则挂载 radius) */\n height?: number;\n /** 指针靠近圆心的一端离圆心的距离 */\n innerPadding?: number;\n /** 指针靠近边缘的一端离边缘的距离 */\n outerPadding?: number;\n\n /** 中心点坐标(0~1) */\n center?: [number, number];\n};\n\nexport type PinMarkSpec = {\n /** 宽度 */\n width?: number;\n /** 高度 */\n height?: number;\n};\n\nexport interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {\n /** 图钉前景样式 */\n pin?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 图钉背景样式 */\n pinBackground?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 指针样式 */\n pointer?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;\n}\n\nexport type GaugeMarks = 'segment' | 'track';\n\nexport interface IGaugeSeriesSpec
|
|
1
|
+
{"version":3,"sources":["../src/series/gauge/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IMarkSpec, IMarkTheme } from '../../typings/spec';\nimport type { IArcMarkSpec, IPathMarkSpec, IProgressArcMarkSpec, IRectMarkSpec } from '../../typings/visual';\nimport type { IProgressLikeSeriesSpec, IProgressLikeSeriesTheme } from '../polar/progress-like/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { ProgressLikeAppearPreset } from '../polar/progress-like';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport type GaugePointerMarks = 'pointer' | 'pin' | 'pinBackground';\n\nexport interface IGaugePointerSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugePointerMarks, ProgressLikeAppearPreset> {\n type: 'gaugePointer';\n\n /** 数值字段(可影响指针角度) */\n valueField: string | string[];\n\n /** 半径字段(可影响指针长度,GaugePointerSeries 没有 categoryField) */\n radiusField: string;\n\n /** 图钉前景样式 */\n [SeriesMarkNameEnum.pin]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 图钉背景样式 */\n [SeriesMarkNameEnum.pinBackground]?: IMarkSpec<IPathMarkSpec> & PinMarkSpec;\n /** 指针样式 */\n [SeriesMarkNameEnum.pointer]?: IMarkSpec<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec;\n}\n\nexport type PointerMarkSpec = {\n type: 'path' | 'rect';\n\n /** 指针宽度比例(0~1) */\n width?: number;\n /** 指针长度比例(0~1)(为空则挂载 radius) */\n height?: number;\n /** 指针靠近圆心的一端离圆心的距离 */\n innerPadding?: number;\n /** 指针靠近边缘的一端离边缘的距离 */\n outerPadding?: number;\n\n /** 中心点坐标(0~1) */\n center?: [number, number];\n};\n\nexport type PinMarkSpec = {\n /** 宽度 */\n width?: number;\n /** 高度 */\n height?: number;\n};\n\nexport interface IGaugePointerSeriesTheme extends IProgressLikeSeriesTheme {\n /** 图钉前景样式 */\n [SeriesMarkNameEnum.pin]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 图钉背景样式 */\n [SeriesMarkNameEnum.pinBackground]?: Partial<IMarkTheme<IPathMarkSpec> & PinMarkSpec>;\n /** 指针样式 */\n [SeriesMarkNameEnum.pointer]?: Partial<IMarkTheme<IPathMarkSpec | IRectMarkSpec> & PointerMarkSpec>;\n}\n\nexport type GaugeMarks = 'segment' | 'track';\n\nexport interface IGaugeSeriesSpec\n extends IProgressLikeSeriesSpec,\n IAnimationSpec<GaugeMarks, ProgressLikeAppearPreset> {\n type: 'gauge';\n\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.segment]?: IMarkSpec<IProgressArcMarkSpec>;\n /** 背景样式 */\n [SeriesMarkNameEnum.track]?: IMarkSpec<IArcMarkSpec>;\n}\n\nexport interface IGaugeSeriesTheme extends IProgressLikeSeriesTheme {\n /** 扇区间隔角度 */\n padAngle?: number;\n\n /** 扇区样式 */\n [SeriesMarkNameEnum.segment]?: Partial<IMarkTheme<IProgressArcMarkSpec>>;\n /** 背景样式 */\n [SeriesMarkNameEnum.track]?: Partial<IMarkTheme<IArcMarkSpec>>;\n}\n"]}
|
|
@@ -3,12 +3,14 @@ import type { Maybe } from '../../typings';
|
|
|
3
3
|
import type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';
|
|
4
4
|
import type { IAxisHelper } from '../../component/axis/cartesian/interface';
|
|
5
5
|
import type { ITextMark } from '../../mark/text';
|
|
6
|
+
import type { SeriesMarkMap } from '../interface';
|
|
6
7
|
import { SeriesTypeEnum } from '../interface';
|
|
7
8
|
import type { ICellMark } from '../../mark/cell';
|
|
8
9
|
export declare const DefaultBandWidth = 6;
|
|
9
10
|
export declare class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {
|
|
10
11
|
static readonly type: string;
|
|
11
12
|
type: SeriesTypeEnum;
|
|
13
|
+
static readonly mark: SeriesMarkMap;
|
|
12
14
|
protected _theme: Maybe<IHeatmapSeriesTheme>;
|
|
13
15
|
protected _cellMark: ICellMark;
|
|
14
16
|
protected _backgroundMark: ICellMark;
|
|
@@ -22,7 +24,7 @@ export declare class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {
|
|
|
22
24
|
initCellMarkStyle(): void;
|
|
23
25
|
initCellBackgroundMarkStyle(): void;
|
|
24
26
|
getColorAttribute(): {
|
|
25
|
-
scale:
|
|
27
|
+
scale: any;
|
|
26
28
|
field: any;
|
|
27
29
|
};
|
|
28
30
|
initAnimation(): void;
|
|
@@ -8,7 +8,7 @@ import { array, merge } from "../../util";
|
|
|
8
8
|
|
|
9
9
|
import { animationConfig, shouldDoMorph, userAnimationConfig } from "../../animation/utils";
|
|
10
10
|
|
|
11
|
-
import { SeriesTypeEnum } from "../interface";
|
|
11
|
+
import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
|
|
12
12
|
|
|
13
13
|
import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
|
|
14
14
|
|
|
@@ -16,6 +16,8 @@ import { normalizePadding } from "@visactor/vutils";
|
|
|
16
16
|
|
|
17
17
|
import { HeatmapSeriesTooltipHelper } from "./tooltip-helper";
|
|
18
18
|
|
|
19
|
+
import { BaseSeries } from "../base/base-series";
|
|
20
|
+
|
|
19
21
|
export const DefaultBandWidth = 6;
|
|
20
22
|
|
|
21
23
|
export class HeatmapSeries extends CartesianSeries {
|
|
@@ -38,7 +40,7 @@ export class HeatmapSeries extends CartesianSeries {
|
|
|
38
40
|
large: this._spec.large,
|
|
39
41
|
largeThreshold: this._spec.largeThreshold
|
|
40
42
|
};
|
|
41
|
-
this._cellMark = this._createMark(
|
|
43
|
+
this._cellMark = this._createMark(HeatmapSeries.mark.cell, {
|
|
42
44
|
morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig("cell", this._spec)),
|
|
43
45
|
defaultMorphElementKey: this.getDimensionField()[0],
|
|
44
46
|
isSeriesMark: !0,
|
|
@@ -46,7 +48,7 @@ export class HeatmapSeries extends CartesianSeries {
|
|
|
46
48
|
animation: this._spec.animation
|
|
47
49
|
}, this._spec.label),
|
|
48
50
|
progressive: progressive
|
|
49
|
-
}), this._backgroundMark = this._createMark(
|
|
51
|
+
}), this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {
|
|
50
52
|
progressive: progressive
|
|
51
53
|
});
|
|
52
54
|
}
|
|
@@ -60,15 +62,14 @@ export class HeatmapSeries extends CartesianSeries {
|
|
|
60
62
|
});
|
|
61
63
|
}
|
|
62
64
|
initCellMarkStyle() {
|
|
63
|
-
var _a
|
|
65
|
+
var _a;
|
|
64
66
|
this.setMarkStyle(this._cellMark, {
|
|
65
67
|
x: datum => this.dataToPositionX(datum),
|
|
66
68
|
y: datum => this.dataToPositionY(datum),
|
|
67
69
|
size: () => [ this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper) ],
|
|
68
|
-
fill: this.getColorAttribute()
|
|
69
|
-
fillOpacity: null !== (_c = null === (_b = null === (_a = this._theme.cell) || void 0 === _a ? void 0 : _a.style) || void 0 === _b ? void 0 : _b.fillOpacity) && void 0 !== _c ? _c : 1
|
|
70
|
+
fill: this.getColorAttribute()
|
|
70
71
|
}, "normal", AttributeLevel.Series), this._trigger.registerMark(this._cellMark),
|
|
71
|
-
null === (
|
|
72
|
+
null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(this._cellMark);
|
|
72
73
|
}
|
|
73
74
|
initCellBackgroundMarkStyle() {
|
|
74
75
|
var _a, _b, _c;
|
|
@@ -96,7 +97,7 @@ export class HeatmapSeries extends CartesianSeries {
|
|
|
96
97
|
initAnimation() {
|
|
97
98
|
var _a, _b;
|
|
98
99
|
const appearPreset = null === (_b = null === (_a = this._spec) || void 0 === _a ? void 0 : _a.animationAppear) || void 0 === _b ? void 0 : _b.preset;
|
|
99
|
-
this._cellMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig(
|
|
100
|
+
this._cellMark.setAnimationConfig(animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig(SeriesMarkNameEnum.cell, this._spec), {
|
|
100
101
|
dataIndex: datum => {
|
|
101
102
|
var _a, _b, _c;
|
|
102
103
|
const xValue = null == datum ? void 0 : datum[this._fieldX[0]];
|
|
@@ -127,5 +128,14 @@ export class HeatmapSeries extends CartesianSeries {
|
|
|
127
128
|
}
|
|
128
129
|
}
|
|
129
130
|
|
|
130
|
-
HeatmapSeries.type = SeriesTypeEnum.heatmap
|
|
131
|
+
HeatmapSeries.type = SeriesTypeEnum.heatmap, HeatmapSeries.mark = Object.assign(Object.assign({}, BaseSeries.mark), {
|
|
132
|
+
[SeriesMarkNameEnum.cell]: {
|
|
133
|
+
name: SeriesMarkNameEnum.cell,
|
|
134
|
+
type: MarkTypeEnum.cell
|
|
135
|
+
},
|
|
136
|
+
[SeriesMarkNameEnum.cellBackground]: {
|
|
137
|
+
name: SeriesMarkNameEnum.cellBackground,
|
|
138
|
+
type: MarkTypeEnum.cell
|
|
139
|
+
}
|
|
140
|
+
});
|
|
131
141
|
//# sourceMappingURL=heatmap.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAI5F,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAE9D,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,eAAmC;IAAtE;;QAEE,SAAI,GAAG,cAAc,CAAC,OAAO,CAAC;IA6KhC,CAAC;IArKC,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAoB;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE;YAC3D,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,WAAW;SACZ,CAAc,CAAC;QAEhB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,IAAI,EAAE,gBAAgB,EAAE;YAC3E,WAAW;SACZ,CAAc,CAAC;IAClB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,QAAmB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;;QACf,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,WAAW,EAAE,MAAA,MAAA,MAAA,IAAI,CAAC,MAAM,CAAC,IAAI,0CAAE,KAAK,0CAAE,WAAW,mCAAI,CAAC;SACvD,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B;;QACzB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,0CAAE,KAAK,0CAAE,OAAO,mCAAI,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAGD,iBAAiB;;QACf,OAAO;YAEL,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC,oBAAoB,EAAE;YAChF,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,aAAa;;QACX,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAA0D,0CAAE,MAAM,CAAC;QAErG,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;;YAC/B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnG,OAAO,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,eAAe,CAAC,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,EAAE;YACrG,SAAS;SACV,CAAC,CACH,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,UAAuB;;QAC3C,OAAO,MAAA,MAAA,UAAU,CAAC,YAAY,2DAAG,CAAC,CAAC,mCAAI,gBAAgB,CAAC;IAC1D,CAAC;IAOD,UAAU,CAAC,IAAwB;QAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;;AA7Ke,kBAAI,GAAW,cAAc,CAAC,OAAO,CAAC","file":"heatmap.js","sourcesContent":["import { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { array, merge } from '../../util';\nimport type { HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport { SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(MarkTypeEnum.cell, 'cell', {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('cell', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(MarkTypeEnum.cell, 'cellBackground', {\n progressive\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute(),\n fillOpacity: this._theme.cell?.style?.fillOpacity ?? 1\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._cellMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.heatmap(appearPreset), userAnimationConfig('cell', this._spec), {\n dataIndex\n })\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IHeatmapSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAE1C,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAM5F,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAGhE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC;AAElC,MAAM,OAAO,aAAc,SAAQ,eAAmC;IAAtE;;QAEE,SAAI,GAAG,cAAc,CAAC,OAAO,CAAC;IAsLhC,CAAC;IAxKC,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAoB;QAChC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,QAAQ;QACN,MAAM,WAAW,GAAG;YAClB,eAAe,EAAE,IAAI,CAAC,KAAK,CAAC,eAAe;YAC3C,oBAAoB,EAAE,IAAI,CAAC,KAAK,CAAC,oBAAoB;YACrD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,cAAc,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc;SAC1C,CAAC;QAEF,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE;YACzD,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;YACrG,sBAAsB,EAAE,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YACnD,YAAY,EAAE,IAAI;YAClB,KAAK,EAAE,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;YACnE,WAAW;SACZ,CAAc,CAAC;QAEhB,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,cAAc,EAAE;YACzE,WAAW;SACZ,CAAc,CAAC;IAClB,CAAC;IAED,aAAa;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,2BAA2B,EAAE,CAAC;IACrC,CAAC;IAED,kBAAkB,CAAC,QAAmB;QACpC,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE;YAC1B,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;YAC9B,IAAI,EAAE,CAAC,KAAY,EAAE,EAAE;gBACrB,OAAO,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1C,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iBAAiB;;QACf,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,CAAC;YACb,CAAC;YACD,IAAI,EAAE,GAAG,EAAE;gBACT,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACpF,CAAC;YACD,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC3C,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,2BAA2B;;QACzB,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAA,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,0CAAE,KAAK,0CAAE,OAAO,mCAAI,CAAC,CAAC,CAAC;QACjF,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,eAAe,EACpB;YACE,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAClD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,KAAK,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACtC,CAAC;YACD,CAAC,EAAE,CAAC,KAAY,EAAE,EAAE;gBAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACnD,MAAM,GAAG,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBACxC,OAAO,GAAG,GAAG,MAAM,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvC,CAAC;YACD,KAAK,EAAE,GAAG,EAAE;gBACV,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,MAAM,EAAE,GAAG,EAAE;gBACX,OAAO,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACvE,CAAC;SACF,EACD,QAAQ,EACR,cAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAGD,iBAAiB;;QACf,OAAO;YAEL,KAAK,EAAE,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,OAAO,CAAC,mCAAI,IAAI,CAAC,oBAAoB,EAAE;YAChF,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,aAAa;;QACX,MAAM,YAAY,GAAG,MAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,eAA0D,0CAAE,MAAM,CAAC;QAErG,MAAM,SAAS,GAAG,CAAC,KAAU,EAAE,EAAE;;YAC/B,MAAM,MAAM,GAAG,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;YACxC,MAAM,MAAM,GAAG,MAAA,MAAA,MAAA,IAAI,CAAC,qBAAqB,EAAE,0CAAE,UAAU,0CAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,0CAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAEnG,OAAO,MAAM,IAAI,CAAC,CAAC;QACrB,CAAC,CAAC;QAEF,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAC/B,eAAe,CACb,sBAAsB,CAAC,OAAO,CAAC,YAAY,CAAC,EAC5C,mBAAmB,CAAC,kBAAkB,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,EACxD;YACE,SAAS;SACV,CACF,CACF,CAAC;IACJ,CAAC;IAES,WAAW,CAAC,UAAuB;;QAC3C,OAAO,MAAA,MAAA,UAAU,CAAC,YAAY,2DAAG,CAAC,CAAC,mCAAI,gBAAgB,CAAC;IAC1D,CAAC;IAOD,UAAU,CAAC,IAAwB;QAEjC,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACjC,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;YACvB,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;SACtB;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iBAAiB;QACf,OAAO,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,eAAe;QACb,OAAO,IAAI,CAAC,aAAa,EAAE,CAAC;IAC9B,CAAC;;AAtLe,kBAAI,GAAW,cAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,mCACf,UAAU,CAAC,IAAI,KAClB,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACrF,CAAC,kBAAkB,CAAC,cAAc,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,cAAc,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,IACzG","file":"heatmap.js","sourcesContent":["import { CartesianSeries } from '../cartesian/cartesian';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { AttributeLevel } from '../../constant';\nimport type { Maybe, Datum } from '../../typings';\nimport { array, merge } from '../../util';\nimport type { HeatmapAppearPreset } from './animation';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { IHeatmapSeriesSpec, IHeatmapSeriesTheme } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ICellMark } from '../../mark/cell';\nimport { normalizePadding } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { BaseSeries } from '../base/base-series';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries extends CartesianSeries<IHeatmapSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.cell]: { name: SeriesMarkNameEnum.cell, type: MarkTypeEnum.cell },\n [SeriesMarkNameEnum.cellBackground]: { name: SeriesMarkNameEnum.cellBackground, type: MarkTypeEnum.cell }\n };\n\n protected declare _theme: Maybe<IHeatmapSeriesTheme>;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(HeatmapSeries.mark.cell, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('cell', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n isSeriesMark: true,\n label: merge({ animation: this._spec.animation }, this._spec.label),\n progressive\n }) as ICellMark;\n\n this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground, {\n progressive\n }) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n\n this._trigger.registerMark(this._cellMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(this._cellMark);\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.heatmap(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec),\n {\n dataIndex\n }\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n /**\n * spec 更新\n * @param spec\n * @returns\n */\n updateSpec(spec: IHeatmapSeriesSpec) {\n // super updateSpec 会执行 setAttrFromSpec 所以先缓存比对值\n const { direction } = this._spec;\n const result = super.updateSpec(spec);\n if (spec.direction !== direction) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n}\n"]}
|
|
@@ -5,18 +5,19 @@ import type { IAnimationSpec } from '../../animation/spec';
|
|
|
5
5
|
import type { HeatmapAppearPreset } from './animation';
|
|
6
6
|
import type { ILabelSpec } from '../../component/label';
|
|
7
7
|
import type { IMarkProgressiveConfig } from '../../mark/interface';
|
|
8
|
+
import type { SeriesMarkNameEnum } from '../interface';
|
|
8
9
|
type HeatmapMarks = 'cell' | 'background' | 'label';
|
|
9
10
|
export interface IHeatmapSeriesSpec extends ICartesianSeriesSpec, IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>, IMarkProgressiveConfig {
|
|
10
11
|
type: 'heatmap';
|
|
11
12
|
valueField?: string;
|
|
12
|
-
cell?: IMarkSpec<IRectMarkSpec>;
|
|
13
|
-
cellBackground?: IMarkSpec<IRectMarkSpec>;
|
|
14
|
-
label?: ILabelSpec & {
|
|
13
|
+
[SeriesMarkNameEnum.cell]?: IMarkSpec<IRectMarkSpec>;
|
|
14
|
+
[SeriesMarkNameEnum.cellBackground]?: IMarkSpec<IRectMarkSpec>;
|
|
15
|
+
[SeriesMarkNameEnum.label]?: ILabelSpec & {
|
|
15
16
|
position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';
|
|
16
17
|
};
|
|
17
18
|
}
|
|
18
19
|
export interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {
|
|
19
|
-
cell?: Partial<IMarkTheme<IRectMarkSpec>>;
|
|
20
|
-
cellBackground?: Partial<IMarkTheme<IRectMarkSpec>>;
|
|
20
|
+
[SeriesMarkNameEnum.cell]?: Partial<IMarkTheme<IRectMarkSpec>>;
|
|
21
|
+
[SeriesMarkNameEnum.cellBackground]?: Partial<IMarkTheme<IRectMarkSpec>>;
|
|
21
22
|
}
|
|
22
23
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/heatmap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { HeatmapAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\n\ntype HeatmapMarks = 'cell' | 'background' | 'label';\n\nexport interface IHeatmapSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'heatmap';\n\n /** 值 field */\n valueField?: string;\n\n /** 图元配置 */\n cell?: IMarkSpec<IRectMarkSpec>;\n\n /** 图元背景配置 */\n cellBackground?: IMarkSpec<IRectMarkSpec>;\n\n /** 标签配置*/\n label?: ILabelSpec & {\n /** 标签位置 */\n position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';\n };\n}\n\nexport interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {\n cell?: Partial<IMarkTheme<IRectMarkSpec>>;\n cellBackground?: Partial<IMarkTheme<IRectMarkSpec>>;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/heatmap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { ICartesianSeriesSpec, ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IMarkSpec, IMarkTheme } from '../../typings/spec/common';\nimport type { IRectMarkSpec } from '../../typings/visual';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { HeatmapAppearPreset } from './animation';\nimport type { ILabelSpec } from '../../component/label';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { SeriesMarkNameEnum } from '../interface';\n\ntype HeatmapMarks = 'cell' | 'background' | 'label';\n\nexport interface IHeatmapSeriesSpec\n extends ICartesianSeriesSpec,\n IAnimationSpec<HeatmapMarks, HeatmapAppearPreset>,\n IMarkProgressiveConfig {\n /**\n * 系列类型\n */\n type: 'heatmap';\n\n /** 值 field */\n valueField?: string;\n\n /** 图元配置 */\n [SeriesMarkNameEnum.cell]?: IMarkSpec<IRectMarkSpec>;\n\n /** 图元背景配置 */\n [SeriesMarkNameEnum.cellBackground]?: IMarkSpec<IRectMarkSpec>;\n\n /** 标签配置*/\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 标签位置 */\n position?: 'inside' | 'inside-top' | 'inside-bottom' | 'inside-right' | 'inside-left';\n };\n}\n\nexport interface IHeatmapSeriesTheme extends ICartesianSeriesTheme {\n [SeriesMarkNameEnum.cell]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.cellBackground]?: Partial<IMarkTheme<IRectMarkSpec>>;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { DataView } from '@visactor/vdataset';
|
|
2
2
|
import type { IGrammarItem } from '../../compile/interface';
|
|
3
3
|
import type { IGroupMark } from '../../mark/group';
|
|
4
|
-
import type { IModelOption } from '../../model/interface';
|
|
4
|
+
import type { IModelMarkInfo, IModelOption } from '../../model/interface';
|
|
5
5
|
import type { IRegion } from '../../region/interface';
|
|
6
6
|
import type { RenderMode } from '../../typings/spec/common';
|
|
7
7
|
import type { ISeries } from './series';
|
|
@@ -21,6 +21,7 @@ export interface ISeriesOption extends IModelOption {
|
|
|
21
21
|
}
|
|
22
22
|
export interface ISeriesConstructor {
|
|
23
23
|
type: string;
|
|
24
|
+
mark?: SeriesMarkMap;
|
|
24
25
|
new (spec: any, options: ISeriesOption): ISeries;
|
|
25
26
|
}
|
|
26
27
|
export interface ISeriesInitOption {
|
|
@@ -63,3 +64,57 @@ export interface ISeriesMarkInitOption {
|
|
|
63
64
|
label?: ILabelSpec;
|
|
64
65
|
support3d?: boolean;
|
|
65
66
|
}
|
|
67
|
+
export interface ISeriesMarkInfo extends IModelMarkInfo {
|
|
68
|
+
name: SeriesMarkNameEnum | string;
|
|
69
|
+
}
|
|
70
|
+
export declare enum SeriesMarkNameEnum {
|
|
71
|
+
label = "label",
|
|
72
|
+
point = "point",
|
|
73
|
+
line = "line",
|
|
74
|
+
area = "area",
|
|
75
|
+
bar = "bar",
|
|
76
|
+
bar3d = "bar3d",
|
|
77
|
+
boxPlot = "boxPlot",
|
|
78
|
+
outlier = "outlier",
|
|
79
|
+
circlePacking = "circlePacking",
|
|
80
|
+
group = "group",
|
|
81
|
+
gridBackground = "gridBackground",
|
|
82
|
+
grid = "grid",
|
|
83
|
+
dot = "dot",
|
|
84
|
+
title = "title",
|
|
85
|
+
subTitle = "subTitle",
|
|
86
|
+
symbol = "symbol",
|
|
87
|
+
funnel = "funnel",
|
|
88
|
+
funnel3d = "funnel3d",
|
|
89
|
+
transform = "transform",
|
|
90
|
+
transform3d = "transform3d",
|
|
91
|
+
transformLabel = "transformLabel",
|
|
92
|
+
outerLabel = "outerLabel",
|
|
93
|
+
outerLabelLine = "outerLabelLine",
|
|
94
|
+
pin = "pin",
|
|
95
|
+
pinBackground = "pinBackground",
|
|
96
|
+
pointer = "pointer",
|
|
97
|
+
segment = "segment",
|
|
98
|
+
track = "track",
|
|
99
|
+
cell = "cell",
|
|
100
|
+
cellBackground = "cellBackground",
|
|
101
|
+
link = "link",
|
|
102
|
+
arrow = "arrow",
|
|
103
|
+
pie = "pie",
|
|
104
|
+
pie3d = "pie3d",
|
|
105
|
+
labelLine = "labelLine",
|
|
106
|
+
progress = "progress",
|
|
107
|
+
minLabel = "minLabel",
|
|
108
|
+
maxLabel = "maxLabel",
|
|
109
|
+
rose = "rose",
|
|
110
|
+
node = "node",
|
|
111
|
+
sunburst = "sunburst",
|
|
112
|
+
nonLeaf = "nonLeaf",
|
|
113
|
+
leaf = "leaf",
|
|
114
|
+
nonLeafLabel = "nonLeafLabel",
|
|
115
|
+
leaderLine = "leaderLine",
|
|
116
|
+
stackLabel = "stackLabel",
|
|
117
|
+
word = "word",
|
|
118
|
+
fillingWord = "fillingWord"
|
|
119
|
+
}
|
|
120
|
+
export type SeriesMarkMap = Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
export
|
|
1
|
+
export var SeriesMarkNameEnum;
|
|
2
|
+
|
|
3
|
+
!function(SeriesMarkNameEnum) {
|
|
4
|
+
SeriesMarkNameEnum.label = "label", SeriesMarkNameEnum.point = "point", SeriesMarkNameEnum.line = "line",
|
|
5
|
+
SeriesMarkNameEnum.area = "area", SeriesMarkNameEnum.bar = "bar", SeriesMarkNameEnum.bar3d = "bar3d",
|
|
6
|
+
SeriesMarkNameEnum.boxPlot = "boxPlot", SeriesMarkNameEnum.outlier = "outlier",
|
|
7
|
+
SeriesMarkNameEnum.circlePacking = "circlePacking", SeriesMarkNameEnum.group = "group",
|
|
8
|
+
SeriesMarkNameEnum.gridBackground = "gridBackground", SeriesMarkNameEnum.grid = "grid",
|
|
9
|
+
SeriesMarkNameEnum.dot = "dot", SeriesMarkNameEnum.title = "title", SeriesMarkNameEnum.subTitle = "subTitle",
|
|
10
|
+
SeriesMarkNameEnum.symbol = "symbol", SeriesMarkNameEnum.funnel = "funnel", SeriesMarkNameEnum.funnel3d = "funnel3d",
|
|
11
|
+
SeriesMarkNameEnum.transform = "transform", SeriesMarkNameEnum.transform3d = "transform3d",
|
|
12
|
+
SeriesMarkNameEnum.transformLabel = "transformLabel", SeriesMarkNameEnum.outerLabel = "outerLabel",
|
|
13
|
+
SeriesMarkNameEnum.outerLabelLine = "outerLabelLine", SeriesMarkNameEnum.pin = "pin",
|
|
14
|
+
SeriesMarkNameEnum.pinBackground = "pinBackground", SeriesMarkNameEnum.pointer = "pointer",
|
|
15
|
+
SeriesMarkNameEnum.segment = "segment", SeriesMarkNameEnum.track = "track", SeriesMarkNameEnum.cell = "cell",
|
|
16
|
+
SeriesMarkNameEnum.cellBackground = "cellBackground", SeriesMarkNameEnum.link = "link",
|
|
17
|
+
SeriesMarkNameEnum.arrow = "arrow", SeriesMarkNameEnum.pie = "pie", SeriesMarkNameEnum.pie3d = "pie3d",
|
|
18
|
+
SeriesMarkNameEnum.labelLine = "labelLine", SeriesMarkNameEnum.progress = "progress",
|
|
19
|
+
SeriesMarkNameEnum.minLabel = "minLabel", SeriesMarkNameEnum.maxLabel = "maxLabel",
|
|
20
|
+
SeriesMarkNameEnum.rose = "rose", SeriesMarkNameEnum.node = "node", SeriesMarkNameEnum.sunburst = "sunburst",
|
|
21
|
+
SeriesMarkNameEnum.nonLeaf = "nonLeaf", SeriesMarkNameEnum.leaf = "leaf", SeriesMarkNameEnum.nonLeafLabel = "nonLeafLabel",
|
|
22
|
+
SeriesMarkNameEnum.leaderLine = "leaderLine", SeriesMarkNameEnum.stackLabel = "stackLabel",
|
|
23
|
+
SeriesMarkNameEnum.word = "word", SeriesMarkNameEnum.fillingWord = "fillingWord";
|
|
24
|
+
}(SeriesMarkNameEnum || (SeriesMarkNameEnum = {}));
|
|
2
25
|
//# sourceMappingURL=common.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { StringOrNumber } from '../../typings';\nimport type { ILabelSpec } from '../../component/label';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor {\n type: string;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n values: any[];\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\nexport type ISeriesStyle = ISeriesStyleItem[];\nexport type ISeriesStyleItem = {\n name: string;\n} & {\n [markName: string]: {\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /** 父级 mark(如果是 undefined 则默认是系列的 root mark,如果是 false 则不配置父级 mark) */\n parent?: IGroupMark | false;\n\n /** 是否是 series field 所作用的 mark(用于 tooltip shape 取色等) */\n isSeriesMark?: boolean;\n\n /** 该 mark 依赖于哪些语法元素 */\n depend?: IGrammarItem | IGrammarItem[];\n\n /** 数据 key 值 */\n key?: string;\n\n /** 分组 key 值 */\n groupKey?: string;\n\n /** morph 配置开关 */\n morph?: boolean;\n\n /** morph元素的唯一key */\n defaultMorphElementKey?: string;\n\n /** 绑定系列数据(如果是 undefined 则默认是系列的 data,如果是 false 则不配置数据) */\n dataView?: DataView | false;\n /** 系列数据编译产物的名称 */\n dataProductId?: string;\n /** mark scale 如果需要使用统计信息设置domain的话,使用的统计数据 */\n dataStatistics?: DataView;\n\n /** 渐进渲染相关配置 */\n progressive?: IMarkProgressiveConfig;\n\n /** 标签spec */\n label?: ILabelSpec;\n\n /** 是否支持 3d */\n support3d?: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"AAiHA,MAAM,CAAN,IAAY,kBAiDX;AAjDD,WAAY,kBAAkB;IAC5B,qCAAe,CAAA;IACf,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qDAA+B,CAAA;IAC/B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,2CAAqB,CAAA;IACrB,uCAAiB,CAAA;IACjB,uCAAiB,CAAA;IACjB,2CAAqB,CAAA;IACrB,6CAAuB,CAAA;IACvB,iDAA2B,CAAA;IAC3B,uDAAiC,CAAA;IACjC,+CAAyB,CAAA;IACzB,uDAAiC,CAAA;IACjC,iCAAW,CAAA;IACX,qDAA+B,CAAA;IAC/B,yCAAmB,CAAA;IACnB,yCAAmB,CAAA;IACnB,qCAAe,CAAA;IACf,mCAAa,CAAA;IACb,uDAAiC,CAAA;IACjC,mCAAa,CAAA;IACb,qCAAe,CAAA;IACf,iCAAW,CAAA;IACX,qCAAe,CAAA;IACf,6CAAuB,CAAA;IACvB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,2CAAqB,CAAA;IACrB,mCAAa,CAAA;IACb,mCAAa,CAAA;IACb,2CAAqB,CAAA;IACrB,yCAAmB,CAAA;IACnB,mCAAa,CAAA;IACb,mDAA6B,CAAA;IAC7B,+CAAyB,CAAA;IACzB,+CAAyB,CAAA;IACzB,mCAAa,CAAA;IACb,iDAA2B,CAAA;AAC7B,CAAC,EAjDW,kBAAkB,KAAlB,kBAAkB,QAiD7B","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelMarkInfo, IModelOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IMarkProgressiveConfig } from '../../mark/interface';\nimport type { StringOrNumber } from '../../typings';\nimport type { ILabelSpec } from '../../component/label';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor {\n type: string;\n mark?: SeriesMarkMap;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n values: any[];\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\nexport type ISeriesStyle = ISeriesStyleItem[];\nexport type ISeriesStyleItem = {\n name: string;\n} & {\n [markName: string]: {\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /** 父级 mark(如果是 undefined 则默认是系列的 root mark,如果是 false 则不配置父级 mark) */\n parent?: IGroupMark | false;\n\n /** 是否是 series field 所作用的 mark(用于 tooltip shape 取色等) */\n isSeriesMark?: boolean;\n\n /** 该 mark 依赖于哪些语法元素 */\n depend?: IGrammarItem | IGrammarItem[];\n\n /** 数据 key 值 */\n key?: string;\n\n /** 分组 key 值 */\n groupKey?: string;\n\n /** morph 配置开关 */\n morph?: boolean;\n\n /** morph元素的唯一key */\n defaultMorphElementKey?: string;\n\n /** 绑定系列数据(如果是 undefined 则默认是系列的 data,如果是 false 则不配置数据) */\n dataView?: DataView | false;\n /** 系列数据编译产物的名称 */\n dataProductId?: string;\n /** mark scale 如果需要使用统计信息设置domain的话,使用的统计数据 */\n dataStatistics?: DataView;\n\n /** 渐进渲染相关配置 */\n progressive?: IMarkProgressiveConfig;\n\n /** 标签spec */\n label?: ILabelSpec;\n\n /** 是否支持 3d */\n support3d?: boolean;\n}\n\nexport interface ISeriesMarkInfo extends IModelMarkInfo {\n /** mark 名称 */\n name: SeriesMarkNameEnum | string;\n}\n\nexport enum SeriesMarkNameEnum {\n label = 'label',\n point = 'point',\n line = 'line',\n area = 'area',\n bar = 'bar',\n bar3d = 'bar3d',\n boxPlot = 'boxPlot',\n outlier = 'outlier',\n circlePacking = 'circlePacking',\n group = 'group',\n gridBackground = 'gridBackground',\n grid = 'grid',\n dot = 'dot',\n title = 'title',\n subTitle = 'subTitle',\n symbol = 'symbol',\n funnel = 'funnel',\n funnel3d = 'funnel3d',\n transform = 'transform',\n transform3d = 'transform3d',\n transformLabel = 'transformLabel',\n outerLabel = 'outerLabel',\n outerLabelLine = 'outerLabelLine',\n pin = 'pin',\n pinBackground = 'pinBackground',\n pointer = 'pointer',\n segment = 'segment',\n track = 'track',\n cell = 'cell',\n cellBackground = 'cellBackground',\n link = 'link',\n arrow = 'arrow',\n pie = 'pie',\n pie3d = 'pie3d',\n labelLine = 'labelLine',\n progress = 'progress',\n minLabel = 'minLabel',\n maxLabel = 'maxLabel',\n rose = 'rose',\n node = 'node',\n sunburst = 'sunburst',\n nonLeaf = 'nonLeaf',\n leaf = 'leaf',\n nonLeafLabel = 'nonLeafLabel',\n leaderLine = 'leaderLine',\n stackLabel = 'stackLabel',\n word = 'word',\n fillingWord = 'fillingWord'\n}\n\nexport type SeriesMarkMap = Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;\n"]}
|
|
@@ -44,7 +44,7 @@ export interface ISeries extends IModel, ILayoutItem {
|
|
|
44
44
|
initMark: () => void;
|
|
45
45
|
getMarks: () => IMark[];
|
|
46
46
|
getMarksWithoutRoot: () => IMark[];
|
|
47
|
-
|
|
47
|
+
getMarkNameMap: () => Record<string, IMark>;
|
|
48
48
|
getMarksInType: (type: string | string[]) => IMark[];
|
|
49
49
|
getMarkInName: (name: string) => IMark | undefined;
|
|
50
50
|
getMarkInId: (id: number) => IMark | undefined;
|
|
@@ -79,6 +79,7 @@ export interface ISeries extends IModel, ILayoutItem {
|
|
|
79
79
|
scale: IBaseScale;
|
|
80
80
|
field: string;
|
|
81
81
|
};
|
|
82
|
+
getDefaultColorDomain: () => any[];
|
|
82
83
|
getInvalidType: () => IInvalidType;
|
|
83
84
|
getTrigger: () => ITrigger;
|
|
84
85
|
getDefaultShapeType: () => string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { ITrigger } from '../../interaction/interface';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel, ILayoutItem } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { Group } from '../base/group';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesStackData, ISeriesUpdateDataOption } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType } from '../../typings';\nimport type { StateValueType } from '../../compile/mark';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { IGroupMark } from '../../mark/group';\nimport type { ITextMark } from '../../mark/text';\nimport type { IArcLabelSpec } from '../pie/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel, ILayoutItem {\n readonly type: string;\n readonly name?: string;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatistics?: () => DataView | undefined;\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any, opt: ISeriesUpdateDataOption) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => Group | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: any) => IPoint | null;\n dataToPositionX: (xValue: any) => number | null;\n dataToPositionY: (yValue: any) => number | null;\n dataToPositionZ?: (yValue: any) => number | null;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n getTrigger: () => ITrigger;\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (textMark: ITextMark) => void;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n\n dataToPosition: (datum: any) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n center: (() => IPoint) | IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n getLabelConfig: () => IArcLabelSpec;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries {\n getPoints: (datum: any) => IPoint[];\n}\n"]}
|