@visactor/vchart 1.3.0-beta.7 → 1.3.0-beta.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +3 -3
- package/build/index.js +36794 -36453
- package/build/index.min.js +2 -2
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/chart/index.d.ts +2 -2
- package/cjs/chart/index.js +3 -3
- package/cjs/chart/index.js.map +1 -1
- package/cjs/chart/treemap/treemap.d.ts +1 -1
- package/cjs/chart/treemap/treemap.js +5 -5
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +15 -14
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +2 -2
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +2 -3
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.d.ts +3 -3
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/log-axis.d.ts +3 -2
- package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.d.ts +3 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface.d.ts +6 -1
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +2 -2
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +3 -2
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/spec.d.ts +7 -2
- package/cjs/component/axis/polar/interface/spec.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.d.ts +2 -3
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +4 -2
- package/cjs/component/base/base-component.js +11 -4
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +2 -2
- package/cjs/component/brush/brush.js +1 -1
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/brush/interface.d.ts +1 -0
- package/cjs/component/brush/interface.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +2 -2
- package/cjs/component/crosshair/base.js +1 -1
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +3 -3
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +3 -3
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +4 -4
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/interface.d.ts +3 -1
- package/cjs/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/interface.d.ts +4 -1
- package/cjs/component/data-zoom/interface.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +1 -2
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +2 -2
- package/cjs/component/indicator/indicator.js +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/indicator/interface.d.ts +2 -0
- package/cjs/component/indicator/interface.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +2 -2
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +3 -0
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +4 -3
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +2 -2
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/legend.d.ts +3 -4
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.d.ts +1 -2
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/map-label/component.d.ts +1 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +2 -2
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +1 -2
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +1 -2
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +1 -2
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/player/player.d.ts +1 -2
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -2
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/handler/base.js +3 -3
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +6 -5
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +3 -2
- package/cjs/component/tooltip/tooltip.js +4 -1
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +8 -3
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/data-key.d.ts +2 -2
- package/cjs/data/transforms/data-key.js.map +1 -1
- package/cjs/model/base-model.d.ts +4 -4
- package/cjs/model/base-model.js +13 -15
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +1 -0
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.d.ts +3 -3
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/model/tooltip-helper.d.ts +0 -2
- package/cjs/model/tooltip-helper.js +0 -3
- package/cjs/model/tooltip-helper.js.map +1 -1
- package/cjs/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
- package/cjs/region/region.d.ts +2 -3
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/area.d.ts +3 -2
- package/cjs/series/area/area.js +10 -12
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/constant.d.ts +2 -0
- package/cjs/series/area/constant.js +15 -0
- package/cjs/series/area/constant.js.map +1 -0
- package/cjs/series/area/interface.d.ts +2 -0
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/bar-3d.d.ts +3 -1
- package/cjs/series/bar/bar-3d.js +2 -7
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar.js +2 -7
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/constant.d.ts +3 -0
- package/cjs/series/bar/constant.js +20 -0
- package/cjs/series/bar/constant.js.map +1 -0
- package/cjs/series/bar/interface.d.ts +3 -2
- package/cjs/series/bar/interface.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +3 -6
- package/cjs/series/base/base-series.js +3 -19
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/constant.d.ts +2 -0
- package/cjs/series/base/constant.js +15 -0
- package/cjs/series/base/constant.js.map +1 -0
- package/cjs/series/base/tooltip-helper.d.ts +0 -1
- package/cjs/series/base/tooltip-helper.js +1 -4
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +1 -2
- package/cjs/series/box-plot/box-plot.js +5 -14
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/constant.d.ts +2 -0
- package/cjs/series/box-plot/constant.js +19 -0
- package/cjs/series/box-plot/constant.js.map +1 -0
- package/cjs/series/cartesian/interface.d.ts +2 -2
- package/cjs/series/cartesian/interface.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +1 -2
- package/cjs/series/circle-packing/circle-packing.js +6 -11
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/circle-packing/constant.d.ts +2 -0
- package/cjs/series/circle-packing/constant.js +15 -0
- package/cjs/series/circle-packing/constant.js.map +1 -0
- package/cjs/series/dot/constant.d.ts +2 -0
- package/cjs/series/dot/constant.js +39 -0
- package/cjs/series/dot/constant.js.map +1 -0
- package/cjs/series/dot/dot.d.ts +1 -1
- package/cjs/series/dot/dot.js +2 -31
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/constant.d.ts +3 -0
- package/cjs/series/funnel/constant.js +52 -0
- package/cjs/series/funnel/constant.js.map +1 -0
- package/cjs/series/funnel/funnel-3d.d.ts +3 -2
- package/cjs/series/funnel/funnel-3d.js +2 -23
- package/cjs/series/funnel/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +1 -1
- package/cjs/series/funnel/funnel.js +2 -23
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/gauge/constant.d.ts +3 -0
- package/cjs/series/gauge/constant.js +32 -0
- package/cjs/series/gauge/constant.js.map +1 -0
- package/cjs/series/gauge/gauge-pointer.d.ts +2 -2
- package/cjs/series/gauge/gauge-pointer.js +5 -15
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +2 -1
- package/cjs/series/gauge/gauge.js +8 -14
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/heatmap/constant.d.ts +2 -0
- package/cjs/series/heatmap/constant.js +19 -0
- package/cjs/series/heatmap/constant.js.map +1 -0
- package/cjs/series/heatmap/heatmap.d.ts +1 -1
- package/cjs/series/heatmap/heatmap.js +5 -14
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/index.d.ts +2 -2
- package/cjs/series/index.js +3 -3
- package/cjs/series/index.js.map +1 -1
- package/cjs/series/interface/theme.d.ts +3 -2
- package/cjs/series/interface/theme.js +34 -1
- package/cjs/series/interface/theme.js.map +1 -1
- package/cjs/series/line/constant.d.ts +2 -0
- package/cjs/series/line/constant.js +10 -0
- package/cjs/series/line/constant.js.map +1 -0
- package/cjs/series/line/interface.d.ts +4 -0
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.d.ts +3 -2
- package/cjs/series/line/line.js +5 -3
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/constant.d.ts +2 -0
- package/cjs/series/link/constant.js +23 -0
- package/cjs/series/link/constant.js.map +1 -0
- package/cjs/series/link/link.d.ts +1 -1
- package/cjs/series/link/link.js +2 -15
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/constant.d.ts +2 -0
- package/cjs/series/map/constant.js +15 -0
- package/cjs/series/map/constant.js.map +1 -0
- package/cjs/series/map/map.d.ts +1 -1
- package/cjs/series/map/map.js +2 -7
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +1 -1
- package/cjs/series/mixin/line-mixin.js +4 -4
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/constant.d.ts +3 -0
- package/cjs/series/pie/constant.js +28 -0
- package/cjs/series/pie/constant.js.map +1 -0
- package/cjs/series/pie/pie-3d.d.ts +1 -1
- package/cjs/series/pie/pie-3d.js +2 -11
- package/cjs/series/pie/pie-3d.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -1
- package/cjs/series/pie/pie.js +3 -12
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +1 -1
- package/cjs/series/progress/circular/circular.js +6 -15
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/constant.d.ts +2 -0
- package/cjs/series/progress/circular/constant.js +19 -0
- package/cjs/series/progress/circular/constant.js.map +1 -0
- package/cjs/series/progress/linear/constant.d.ts +2 -0
- package/cjs/series/progress/linear/constant.js +23 -0
- package/cjs/series/progress/linear/constant.js.map +1 -0
- package/cjs/series/progress/linear/linear.d.ts +1 -1
- package/cjs/series/progress/linear/linear.js +2 -15
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/constant.d.ts +2 -0
- package/cjs/series/radar/constant.js +15 -0
- package/cjs/series/radar/constant.js.map +1 -0
- package/cjs/series/radar/radar.d.ts +3 -2
- package/cjs/series/radar/radar.js +8 -10
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/constant.d.ts +2 -0
- package/cjs/series/range-area/constant.js +10 -0
- package/cjs/series/range-area/constant.js.map +1 -0
- package/cjs/series/range-area/range-area.d.ts +2 -1
- package/cjs/series/range-area/range-area.js +2 -2
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/constant.d.ts +3 -0
- package/cjs/series/range-column/constant.js +28 -0
- package/cjs/series/range-column/constant.js.map +1 -0
- package/cjs/series/range-column/range-column-3d.d.ts +5 -1
- package/cjs/series/range-column/range-column-3d.js +3 -2
- package/cjs/series/range-column/range-column-3d.js.map +1 -1
- package/cjs/series/range-column/range-column.d.ts +2 -2
- package/cjs/series/range-column/range-column.js +2 -11
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/constant.d.ts +2 -0
- package/cjs/series/rose/constant.js +15 -0
- package/cjs/series/rose/constant.js.map +1 -0
- package/cjs/series/rose/rose.d.ts +2 -1
- package/cjs/series/rose/rose.js +8 -10
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/constant.d.ts +2 -0
- package/cjs/series/sankey/constant.js +19 -0
- package/cjs/series/sankey/constant.js.map +1 -0
- package/cjs/series/sankey/sankey.d.ts +1 -2
- package/cjs/series/sankey/sankey.js +2 -11
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/constant.d.ts +2 -0
- package/cjs/series/scatter/constant.js +15 -0
- package/cjs/series/scatter/constant.js.map +1 -0
- package/cjs/series/scatter/interface.d.ts +2 -0
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -1
- package/cjs/series/scatter/scatter.js +8 -10
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/constant.d.ts +2 -0
- package/cjs/series/sunburst/constant.js +15 -0
- package/cjs/series/sunburst/constant.js.map +1 -0
- package/cjs/series/sunburst/sunburst.js +2 -7
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/constant.d.ts +2 -0
- package/cjs/series/treemap/constant.js +23 -0
- package/cjs/series/treemap/constant.js.map +1 -0
- package/cjs/series/treemap/treemap.d.ts +1 -1
- package/cjs/series/treemap/treemap.js +10 -22
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/waterfall/constant.d.ts +2 -0
- package/cjs/series/waterfall/constant.js +19 -0
- package/cjs/series/waterfall/constant.js.map +1 -0
- package/cjs/series/waterfall/waterfall.d.ts +2 -2
- package/cjs/series/waterfall/waterfall.js +2 -11
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/base.js +3 -12
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/constant.d.ts +2 -0
- package/cjs/series/word-cloud/constant.js +19 -0
- package/cjs/series/word-cloud/constant.js.map +1 -0
- package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.d.ts +1 -1
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
- package/cjs/theme/builtin/common/component/axis/band-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/axis/common-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/axis/log-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
- package/cjs/theme/builtin/common/component/brush.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
- package/cjs/theme/builtin/common/component/crosshair.js.map +1 -0
- package/cjs/theme/builtin/common/component/data-zoom.js +160 -0
- package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -0
- package/cjs/theme/builtin/common/component/index.js.map +1 -0
- package/cjs/theme/builtin/common/component/indicator.js.map +1 -0
- package/cjs/theme/builtin/common/component/legend/color-legend.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
- package/cjs/theme/builtin/common/component/legend/continuous.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
- package/cjs/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
- package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -0
- package/cjs/theme/builtin/common/component/map-label.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
- package/cjs/theme/builtin/common/component/mark-area.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
- package/cjs/theme/builtin/common/component/mark-line.js.map +1 -0
- package/cjs/theme/builtin/common/component/mark-point.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
- package/cjs/theme/builtin/common/component/player.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
- package/cjs/theme/builtin/common/component/poptip.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
- package/cjs/theme/builtin/common/component/title.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
- package/cjs/theme/builtin/common/component/tooltip.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
- package/cjs/theme/builtin/common/component/total-label.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/constants.js +3 -3
- package/cjs/theme/builtin/common/constants.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
- package/cjs/theme/builtin/common/mark.js.map +1 -0
- package/cjs/theme/builtin/common/series/area.js.map +1 -0
- package/cjs/theme/builtin/common/series/bar.js.map +1 -0
- package/cjs/theme/builtin/common/series/bar3d.js.map +1 -0
- package/cjs/theme/builtin/common/series/box-plot.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
- package/cjs/theme/builtin/common/series/circle-packing.js.map +1 -0
- package/cjs/theme/builtin/common/series/circular-progress.js.map +1 -0
- package/cjs/theme/builtin/common/series/dot.js.map +1 -0
- package/cjs/theme/builtin/common/series/funnel.js.map +1 -0
- package/cjs/theme/builtin/common/series/funnel3d.js.map +1 -0
- package/cjs/theme/builtin/common/series/gauge-pointer.js.map +1 -0
- package/cjs/theme/builtin/common/series/gauge.js.map +1 -0
- package/cjs/theme/builtin/common/series/heatmap.js.map +1 -0
- package/cjs/theme/builtin/common/series/index.js.map +1 -0
- package/cjs/theme/builtin/common/series/line.js.map +1 -0
- package/cjs/theme/builtin/common/series/linear-progress.js.map +1 -0
- package/cjs/theme/builtin/common/series/link.js.map +1 -0
- package/cjs/theme/builtin/common/series/map.js.map +1 -0
- package/cjs/theme/builtin/common/series/pie.js.map +1 -0
- package/cjs/theme/builtin/common/series/pie3d.js.map +1 -0
- package/cjs/theme/builtin/common/series/radar.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
- package/cjs/theme/builtin/common/series/rangeColumn.js.map +1 -0
- package/cjs/theme/builtin/common/series/rose.js.map +1 -0
- package/cjs/theme/builtin/common/series/sankey.js.map +1 -0
- package/cjs/theme/builtin/common/series/scatter.js.map +1 -0
- package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
- package/cjs/theme/builtin/common/series/sunburst.js.map +1 -0
- package/cjs/theme/builtin/common/series/treemap.js.map +1 -0
- package/cjs/theme/builtin/common/series/waterfall.js.map +1 -0
- package/cjs/theme/builtin/common/series/word-cloud.js.map +1 -0
- package/cjs/theme/builtin/common/series/word-cloud3d.js.map +1 -0
- package/cjs/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
- package/cjs/theme/builtin/constant.js.map +1 -0
- package/cjs/theme/builtin/dark/color-scheme.js +33 -0
- package/cjs/theme/builtin/dark/color-scheme.js.map +1 -0
- package/cjs/theme/builtin/dark/index.d.ts +2 -0
- package/cjs/theme/builtin/dark/index.js +13 -0
- package/cjs/theme/builtin/dark/index.js.map +1 -0
- package/{esm/theme/buildin-theme → cjs/theme/builtin}/index.d.ts +2 -2
- package/cjs/theme/{buildin-theme → builtin}/index.js +3 -3
- package/cjs/theme/builtin/index.js.map +1 -0
- package/cjs/theme/builtin/light/color-scheme.js +33 -0
- package/cjs/theme/builtin/light/color-scheme.js.map +1 -0
- package/cjs/theme/{buildin-theme → builtin}/light/index.js +5 -1
- package/cjs/theme/builtin/light/index.js.map +1 -0
- package/cjs/theme/color-scheme/builtin/default.d.ts +2 -0
- package/cjs/theme/color-scheme/builtin/default.js +11 -0
- package/cjs/theme/color-scheme/builtin/default.js.map +1 -0
- package/cjs/theme/color-scheme/util.d.ts +2 -1
- package/cjs/theme/color-scheme/util.js +9 -2
- package/cjs/theme/color-scheme/util.js.map +1 -1
- package/cjs/theme/index.d.ts +1 -1
- package/cjs/theme/index.js +1 -1
- package/cjs/theme/index.js.map +1 -1
- package/cjs/theme/interface.d.ts +2 -2
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.js +7 -7
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +5 -0
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/util/spec.d.ts +7 -0
- package/cjs/util/spec.js +55 -6
- package/cjs/util/spec.js.map +1 -1
- package/cjs/util/text.d.ts +0 -4
- package/cjs/util/text.js +6 -14
- package/cjs/util/text.js.map +1 -1
- package/cjs/vchart-all.js +1 -1
- package/cjs/vchart-all.js.map +1 -1
- package/esm/chart/index.d.ts +2 -2
- package/esm/chart/index.js +2 -2
- package/esm/chart/index.js.map +1 -1
- package/esm/chart/treemap/treemap.d.ts +1 -1
- package/esm/chart/treemap/treemap.js +4 -4
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +15 -14
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +2 -2
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +2 -3
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.d.ts +3 -3
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/log-axis.d.ts +3 -2
- package/esm/component/axis/cartesian/log-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.d.ts +3 -2
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface.d.ts +6 -1
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +2 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +3 -2
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/interface/spec.d.ts +7 -2
- package/esm/component/axis/polar/interface/spec.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.d.ts +2 -3
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +4 -2
- package/esm/component/base/base-component.js +11 -1
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +2 -2
- package/esm/component/brush/brush.js +1 -1
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/brush/interface.d.ts +1 -0
- package/esm/component/brush/interface.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +2 -2
- package/esm/component/crosshair/base.js +1 -1
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +3 -3
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +3 -3
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +4 -4
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +5 -4
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/interface.d.ts +3 -1
- package/esm/component/data-zoom/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/interface.d.ts +4 -1
- package/esm/component/data-zoom/interface.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +3 -2
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +1 -2
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +2 -2
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/indicator/interface.d.ts +2 -0
- package/esm/component/indicator/interface.js.map +1 -1
- package/esm/component/label/base-label.d.ts +2 -2
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +3 -0
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +4 -3
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +2 -2
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/legend.d.ts +3 -4
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.d.ts +1 -2
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/map-label/component.d.ts +1 -2
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +2 -2
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +1 -2
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +1 -2
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +1 -2
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/player/player.d.ts +1 -2
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -2
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/handler/base.js +3 -3
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +2 -2
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +6 -5
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +3 -2
- package/esm/component/tooltip/tooltip.js +4 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +8 -3
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/data-key.d.ts +2 -2
- package/esm/data/transforms/data-key.js.map +1 -1
- package/esm/model/base-model.d.ts +4 -4
- package/esm/model/base-model.js +14 -16
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +1 -0
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.d.ts +3 -3
- package/esm/model/layout-item.js.map +1 -1
- package/esm/model/tooltip-helper.d.ts +0 -2
- package/esm/model/tooltip-helper.js +0 -3
- package/esm/model/tooltip-helper.js.map +1 -1
- package/esm/plugin/components/axis-sync-plugin/axis-sync.js.map +1 -1
- package/esm/region/region.d.ts +2 -3
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/area.d.ts +3 -2
- package/esm/series/area/area.js +7 -11
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/constant.d.ts +2 -0
- package/esm/series/area/constant.js +15 -0
- package/esm/series/area/constant.js.map +1 -0
- package/esm/series/area/interface.d.ts +2 -0
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/bar-3d.d.ts +3 -1
- package/esm/series/bar/bar-3d.js +3 -8
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar.js +3 -8
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/constant.d.ts +3 -0
- package/esm/series/bar/constant.js +20 -0
- package/esm/series/bar/constant.js.map +1 -0
- package/esm/series/bar/interface.d.ts +3 -2
- package/esm/series/bar/interface.js.map +1 -1
- package/esm/series/base/base-series.d.ts +3 -6
- package/esm/series/base/base-series.js +4 -20
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/constant.d.ts +2 -0
- package/esm/series/base/constant.js +11 -0
- package/esm/series/base/constant.js.map +1 -0
- package/esm/series/base/tooltip-helper.d.ts +0 -1
- package/esm/series/base/tooltip-helper.js +1 -4
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +1 -2
- package/esm/series/box-plot/box-plot.js +3 -14
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/constant.d.ts +2 -0
- package/esm/series/box-plot/constant.js +17 -0
- package/esm/series/box-plot/constant.js.map +1 -0
- package/esm/series/cartesian/interface.d.ts +2 -2
- package/esm/series/cartesian/interface.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +1 -2
- package/esm/series/circle-packing/circle-packing.js +4 -10
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/circle-packing/constant.d.ts +2 -0
- package/esm/series/circle-packing/constant.js +13 -0
- package/esm/series/circle-packing/constant.js.map +1 -0
- package/esm/series/dot/constant.d.ts +2 -0
- package/esm/series/dot/constant.js +37 -0
- package/esm/series/dot/constant.js.map +1 -0
- package/esm/series/dot/dot.d.ts +1 -1
- package/esm/series/dot/dot.js +3 -34
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/constant.d.ts +3 -0
- package/esm/series/funnel/constant.js +52 -0
- package/esm/series/funnel/constant.js.map +1 -0
- package/esm/series/funnel/funnel-3d.d.ts +3 -2
- package/esm/series/funnel/funnel-3d.js +3 -24
- package/esm/series/funnel/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +1 -1
- package/esm/series/funnel/funnel.js +3 -22
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/gauge/constant.d.ts +3 -0
- package/esm/series/gauge/constant.js +32 -0
- package/esm/series/gauge/constant.js.map +1 -0
- package/esm/series/gauge/gauge-pointer.d.ts +2 -2
- package/esm/series/gauge/gauge-pointer.js +6 -16
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +2 -1
- package/esm/series/gauge/gauge.js +6 -14
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/heatmap/constant.d.ts +2 -0
- package/esm/series/heatmap/constant.js +17 -0
- package/esm/series/heatmap/constant.js.map +1 -0
- package/esm/series/heatmap/heatmap.d.ts +1 -1
- package/esm/series/heatmap/heatmap.js +3 -14
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/index.d.ts +2 -2
- package/esm/series/index.js +2 -2
- package/esm/series/index.js.map +1 -1
- package/esm/series/interface/theme.d.ts +3 -2
- package/esm/series/interface/theme.js +78 -1
- package/esm/series/interface/theme.js.map +1 -1
- package/esm/series/line/constant.d.ts +2 -0
- package/esm/series/line/constant.js +6 -0
- package/esm/series/line/constant.js.map +1 -0
- package/esm/series/line/interface.d.ts +4 -0
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.d.ts +3 -2
- package/esm/series/line/line.js +7 -5
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/constant.d.ts +2 -0
- package/esm/series/link/constant.js +21 -0
- package/esm/series/link/constant.js.map +1 -0
- package/esm/series/link/link.d.ts +1 -1
- package/esm/series/link/link.js +3 -20
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/constant.d.ts +2 -0
- package/esm/series/map/constant.js +13 -0
- package/esm/series/map/constant.js.map +1 -0
- package/esm/series/map/map.d.ts +1 -1
- package/esm/series/map/map.js +3 -8
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +1 -1
- package/esm/series/mixin/line-mixin.js +3 -3
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/constant.d.ts +3 -0
- package/esm/series/pie/constant.js +28 -0
- package/esm/series/pie/constant.js.map +1 -0
- package/esm/series/pie/pie-3d.d.ts +1 -1
- package/esm/series/pie/pie-3d.js +3 -12
- package/esm/series/pie/pie-3d.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -1
- package/esm/series/pie/pie.js +4 -13
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +1 -1
- package/esm/series/progress/circular/circular.js +3 -14
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/constant.d.ts +2 -0
- package/esm/series/progress/circular/constant.js +17 -0
- package/esm/series/progress/circular/constant.js.map +1 -0
- package/esm/series/progress/linear/constant.d.ts +2 -0
- package/esm/series/progress/linear/constant.js +21 -0
- package/esm/series/progress/linear/constant.js.map +1 -0
- package/esm/series/progress/linear/linear.d.ts +1 -1
- package/esm/series/progress/linear/linear.js +3 -18
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/constant.d.ts +2 -0
- package/esm/series/radar/constant.js +15 -0
- package/esm/series/radar/constant.js.map +1 -0
- package/esm/series/radar/radar.d.ts +3 -2
- package/esm/series/radar/radar.js +7 -11
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/constant.d.ts +2 -0
- package/esm/series/range-area/constant.js +4 -0
- package/esm/series/range-area/constant.js.map +1 -0
- package/esm/series/range-area/range-area.d.ts +2 -1
- package/esm/series/range-area/range-area.js +3 -1
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/constant.d.ts +3 -0
- package/esm/series/range-column/constant.js +28 -0
- package/esm/series/range-column/constant.js.map +1 -0
- package/esm/series/range-column/range-column-3d.d.ts +5 -1
- package/esm/series/range-column/range-column-3d.js +3 -1
- package/esm/series/range-column/range-column-3d.js.map +1 -1
- package/esm/series/range-column/range-column.d.ts +2 -2
- package/esm/series/range-column/range-column.js +3 -10
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/constant.d.ts +2 -0
- package/esm/series/rose/constant.js +13 -0
- package/esm/series/rose/constant.js.map +1 -0
- package/esm/series/rose/rose.d.ts +2 -1
- package/esm/series/rose/rose.js +6 -10
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/constant.d.ts +2 -0
- package/esm/series/sankey/constant.js +17 -0
- package/esm/series/sankey/constant.js.map +1 -0
- package/esm/series/sankey/sankey.d.ts +1 -2
- package/esm/series/sankey/sankey.js +3 -14
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/constant.d.ts +2 -0
- package/esm/series/scatter/constant.js +13 -0
- package/esm/series/scatter/constant.js.map +1 -0
- package/esm/series/scatter/interface.d.ts +2 -0
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -1
- package/esm/series/scatter/scatter.js +6 -10
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/constant.d.ts +2 -0
- package/esm/series/sunburst/constant.js +13 -0
- package/esm/series/sunburst/constant.js.map +1 -0
- package/esm/series/sunburst/sunburst.js +5 -9
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/constant.d.ts +2 -0
- package/esm/series/treemap/constant.js +21 -0
- package/esm/series/treemap/constant.js.map +1 -0
- package/esm/series/treemap/treemap.d.ts +1 -1
- package/esm/series/treemap/treemap.js +10 -22
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/waterfall/constant.d.ts +2 -0
- package/esm/series/waterfall/constant.js +17 -0
- package/esm/series/waterfall/constant.js.map +1 -0
- package/esm/series/waterfall/waterfall.d.ts +2 -2
- package/esm/series/waterfall/waterfall.js +3 -12
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.js +3 -12
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/constant.d.ts +2 -0
- package/esm/series/word-cloud/constant.js +17 -0
- package/esm/series/word-cloud/constant.js.map +1 -0
- package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.d.ts +1 -1
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/theme/builtin/common/component/axis/band-axis.d.ts +2 -0
- package/esm/theme/builtin/common/component/axis/band-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/axis/cartesian-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/axis/common-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/axis/linear-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/axis/log-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/axis/polar-axis.js.map +1 -0
- package/esm/theme/builtin/common/component/brush.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.js +16 -4
- package/esm/theme/builtin/common/component/crosshair.js.map +1 -0
- package/esm/theme/builtin/common/component/data-zoom.js +156 -0
- package/esm/theme/builtin/common/component/data-zoom.js.map +1 -0
- package/esm/theme/builtin/common/component/index.js.map +1 -0
- package/esm/theme/builtin/common/component/indicator.js.map +1 -0
- package/esm/theme/builtin/common/component/legend/color-legend.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.js +1 -1
- package/esm/theme/builtin/common/component/legend/continuous.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.js +8 -5
- package/esm/theme/builtin/common/component/legend/discrete-legend.js.map +1 -0
- package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -0
- package/esm/theme/builtin/common/component/map-label.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.js +8 -2
- package/esm/theme/builtin/common/component/mark-area.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.js +8 -2
- package/esm/theme/builtin/common/component/mark-line.js.map +1 -0
- package/esm/theme/builtin/common/component/mark-point.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/player.js +4 -1
- package/esm/theme/builtin/common/component/player.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.js +16 -4
- package/esm/theme/builtin/common/component/poptip.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/title.js +2 -2
- package/esm/theme/builtin/common/component/title.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.js +25 -6
- package/esm/theme/builtin/common/component/tooltip.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.js +4 -1
- package/esm/theme/builtin/common/component/total-label.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/constants.js +1 -1
- package/esm/theme/builtin/common/constants.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/mark.js +12 -3
- package/esm/theme/builtin/common/mark.js.map +1 -0
- package/esm/theme/builtin/common/series/area.js.map +1 -0
- package/esm/theme/builtin/common/series/bar.js.map +1 -0
- package/esm/theme/builtin/common/series/bar3d.js.map +1 -0
- package/esm/theme/builtin/common/series/box-plot.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.js +8 -2
- package/esm/theme/builtin/common/series/circle-packing.js.map +1 -0
- package/esm/theme/builtin/common/series/circular-progress.js.map +1 -0
- package/esm/theme/builtin/common/series/dot.js.map +1 -0
- package/esm/theme/builtin/common/series/funnel.js.map +1 -0
- package/esm/theme/builtin/common/series/funnel3d.js.map +1 -0
- package/esm/theme/builtin/common/series/gauge-pointer.js.map +1 -0
- package/esm/theme/builtin/common/series/gauge.js.map +1 -0
- package/esm/theme/builtin/common/series/heatmap.js.map +1 -0
- package/esm/theme/builtin/common/series/index.js.map +1 -0
- package/esm/theme/builtin/common/series/line.js.map +1 -0
- package/esm/theme/builtin/common/series/linear-progress.js.map +1 -0
- package/esm/theme/builtin/common/series/link.js.map +1 -0
- package/esm/theme/builtin/common/series/map.js.map +1 -0
- package/esm/theme/builtin/common/series/pie.js.map +1 -0
- package/esm/theme/builtin/common/series/pie3d.js.map +1 -0
- package/esm/theme/builtin/common/series/radar.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.js +4 -1
- package/esm/theme/builtin/common/series/rangeColumn.js.map +1 -0
- package/esm/theme/builtin/common/series/rose.js.map +1 -0
- package/esm/theme/builtin/common/series/sankey.js.map +1 -0
- package/esm/theme/builtin/common/series/scatter.js.map +1 -0
- package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.js +8 -2
- package/esm/theme/builtin/common/series/sunburst.js.map +1 -0
- package/esm/theme/builtin/common/series/treemap.js.map +1 -0
- package/esm/theme/builtin/common/series/waterfall.js.map +1 -0
- package/esm/theme/builtin/common/series/word-cloud.js.map +1 -0
- package/esm/theme/builtin/common/series/word-cloud3d.js.map +1 -0
- package/esm/theme/{buildin-theme/config.js → builtin/constant.js} +1 -1
- package/esm/theme/builtin/constant.js.map +1 -0
- package/esm/theme/builtin/dark/color-scheme.d.ts +2 -0
- package/esm/theme/builtin/dark/color-scheme.js +27 -0
- package/esm/theme/builtin/dark/color-scheme.js.map +1 -0
- package/esm/theme/builtin/dark/index.d.ts +2 -0
- package/esm/theme/builtin/dark/index.js +7 -0
- package/esm/theme/builtin/dark/index.js.map +1 -0
- package/{cjs/theme/buildin-theme → esm/theme/builtin}/index.d.ts +2 -2
- package/esm/theme/builtin/index.js +12 -0
- package/esm/theme/builtin/index.js.map +1 -0
- package/esm/theme/builtin/light/color-scheme.d.ts +2 -0
- package/esm/theme/builtin/light/color-scheme.js +27 -0
- package/esm/theme/builtin/light/color-scheme.js.map +1 -0
- package/esm/theme/{buildin-theme → builtin}/light/index.js +8 -4
- package/esm/theme/builtin/light/index.js.map +1 -0
- package/esm/theme/color-scheme/builtin/default.d.ts +2 -0
- package/esm/theme/color-scheme/builtin/default.js +7 -0
- package/esm/theme/color-scheme/builtin/default.js.map +1 -0
- package/esm/theme/color-scheme/util.d.ts +2 -1
- package/esm/theme/color-scheme/util.js +6 -0
- package/esm/theme/color-scheme/util.js.map +1 -1
- package/esm/theme/index.d.ts +1 -1
- package/esm/theme/index.js +1 -1
- package/esm/theme/index.js.map +1 -1
- package/esm/theme/interface.d.ts +2 -2
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.js +6 -6
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/spec/common.d.ts +5 -0
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/util/spec.d.ts +7 -0
- package/esm/util/spec.js +52 -4
- package/esm/util/spec.js.map +1 -1
- package/esm/util/text.d.ts +0 -4
- package/esm/util/text.js +2 -8
- package/esm/util/text.js.map +1 -1
- package/esm/vchart-all.js +2 -2
- package/esm/vchart-all.js.map +1 -1
- package/package.json +8 -8
- package/cjs/theme/buildin-theme/config.js.map +0 -1
- package/cjs/theme/buildin-theme/index.js.map +0 -1
- package/cjs/theme/buildin-theme/light/color-scheme.js +0 -21
- package/cjs/theme/buildin-theme/light/color-scheme.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
- package/cjs/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/brush.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/data-zoom.js +0 -105
- package/cjs/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/index.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/indicator.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/map-label.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/mark-area.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/mark-line.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/mark-point.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/player.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/poptip.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/title.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +0 -1
- package/cjs/theme/buildin-theme/light/component/total-label.js.map +0 -1
- package/cjs/theme/buildin-theme/light/constants.js.map +0 -1
- package/cjs/theme/buildin-theme/light/index.js.map +0 -1
- package/cjs/theme/buildin-theme/light/mark.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/area.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/bar.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/bar3d.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/box-plot.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/dot.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/funnel.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/gauge.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/heatmap.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/index.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/line.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/link.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/map.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/pie.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/pie3d.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/radar.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/rose.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/sankey.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/scatter.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/sunburst.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/treemap.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/waterfall.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
- package/cjs/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
- package/esm/theme/buildin-theme/config.js.map +0 -1
- package/esm/theme/buildin-theme/index.js +0 -10
- package/esm/theme/buildin-theme/index.js.map +0 -1
- package/esm/theme/buildin-theme/light/color-scheme.js +0 -17
- package/esm/theme/buildin-theme/light/color-scheme.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/band-axis.d.ts +0 -2
- package/esm/theme/buildin-theme/light/component/axis/band-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/cartesian-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/common-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/linear-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/log-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/axis/polar-axis.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/brush.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/data-zoom.js +0 -101
- package/esm/theme/buildin-theme/light/component/data-zoom.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/index.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/indicator.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/legend/color-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/legend/continuous.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/legend/discrete-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/legend/size-legend.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/map-label.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/mark-area.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/mark-line.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/mark-point.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/player.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/poptip.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/title.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +0 -1
- package/esm/theme/buildin-theme/light/component/total-label.js.map +0 -1
- package/esm/theme/buildin-theme/light/constants.js.map +0 -1
- package/esm/theme/buildin-theme/light/index.js.map +0 -1
- package/esm/theme/buildin-theme/light/mark.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/area.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/bar.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/bar3d.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/box-plot.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/circle-packing.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/circular-progress.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/dot.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/funnel.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/funnel3d.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/gauge-pointer.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/gauge.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/heatmap.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/index.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/line.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/linear-progress.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/link.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/map.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/pie.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/pie3d.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/radar.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/rangeColumn.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/rose.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/sankey.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/scatter.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/sunburst.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/treemap.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/waterfall.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/word-cloud.js.map +0 -1
- package/esm/theme/buildin-theme/light/series/word-cloud3d.js.map +0 -1
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
- /package/cjs/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
- /package/cjs/theme/{buildin-theme/light → builtin/dark}/color-scheme.d.ts +0 -0
- /package/{esm/theme/buildin-theme → cjs/theme/builtin}/light/color-scheme.d.ts +0 -0
- /package/cjs/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/band-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/cartesian-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/common-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/linear-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/log-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/axis/polar-axis.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/brush.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/crosshair.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/data-zoom.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/index.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/indicator.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/color-legend.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/continuous.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/discrete-legend.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/legend/size-legend.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/map-label.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-area.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-line.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/mark-point.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/player.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/poptip.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/title.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/tooltip.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/component/total-label.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/constants.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/mark.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/area.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/bar3d.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/box-plot.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/circle-packing.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/circular-progress.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/dot.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/funnel3d.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge-pointer.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/gauge.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/heatmap.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/index.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/line.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/linear-progress.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/link.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/map.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/pie3d.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/radar.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/rangeColumn.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/rose.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/sankey.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/scatter.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/sunburst.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/treemap.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/waterfall.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud.js +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.d.ts +0 -0
- /package/esm/theme/{buildin-theme/light → builtin/common}/series/word-cloud3d.js +0 -0
- /package/esm/theme/{buildin-theme/config.d.ts → builtin/constant.d.ts} +0 -0
- /package/esm/theme/{buildin-theme → builtin}/light/index.d.ts +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport { DataView } from '@visactor/vdataset';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IPolarAxis, IPolarAxisCommonTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { Factory } from '../../../core/factory';\nimport { isArray, isValidNumber, merge, polarToCartesian, radians, eachSeries, getFieldAlias } from '../../../util';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { IPolarTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber } from '../../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { isValidPolarAxis } from '../utils';\n\nimport type { Dict } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, isValid } from '@visactor/vutils';\nimport type { IEffect } from '../../../model/interface';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\nimport type { ITick } from '../interface';\n\nexport abstract class PolarAxis extends AxisComponent implements IPolarAxis {\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected declare _theme: IPolarAxisCommonTheme;\n\n protected _orient: IPolarOrientType = 'radius';\n get orient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n protected _refAngleAxis!: IPolarAxis;\n setRefAngleAxis(axes: IPolarAxis): this {\n this._refAngleAxis = axes;\n return this;\n }\n\n private _axisStyle: any;\n\n static createAxis(spec: any, options: IComponentOption): IPolarAxis {\n // TODO: 基于数据处理 axis 类型\n const axisType = spec.type ?? (spec.orient === 'angle' ? 'band' : 'linear');\n const componentName = `${PolarAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IPolarAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(PolarAxis.type)) {\n return null;\n }\n const axesSpec = spec.axes || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n axesSpec.center = spec.center;\n axesSpec.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n axesSpec.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n return PolarAxis.createAxis(axesSpec, {\n ...options,\n specKey: 'axes'\n });\n }\n const axes: IPolarAxis[] = [];\n let angleAxes: IPolarAxis;\n const radiusAxes: IPolarAxis[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n s.center = spec.center;\n s.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n s.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n // 优先使用outerRadius, 但要兼容s.radius, spec.radius\n s.outerRadius = s.radius ?? spec.outerRadius ?? spec.radius ?? POLAR_DEFAULT_RADIUS;\n const polarAxes = PolarAxis.createAxis(s, {\n ...options,\n specIndex: i,\n specKey: 'axes'\n }) as IPolarAxis;\n axes.push(polarAxes);\n if (s.orient === 'radius') {\n radiusAxes.push(polarAxes);\n } else {\n angleAxes = polarAxes;\n }\n });\n radiusAxes.forEach(axes => axes.setRefAngleAxis(angleAxes));\n return axes;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const axisStyle = this._getAxisAttributes();\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n const chartSpec = this.getChart().getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec.startAngle;\n const endAngle = this._spec.endAngle ?? chartSpec.endAngle;\n this._startAngle = radians(startAngle ?? POLAR_START_ANGLE);\n this._endAngle = radians(endAngle ?? (isValid(startAngle) ? startAngle + 360 : POLAR_END_ANGLE));\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n const region = this.getRegions()?.[0];\n const startPoint = region ? region.getLayoutStartPoint() : pos;\n super.setLayoutStartPosition(startPoint);\n }\n\n onLayoutEnd(ctx: any): void {\n this.updateScaleRange();\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n // data\n protected _initData() {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._spec.tick || {};\n const tickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n coordinateType: 'polar',\n axisOrientType: this._orient,\n startAngle: this.startAngle,\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n axisSpec: this._spec,\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n this.event.on('afterElementEncode', eventParams => {\n const mark = eventParams.item;\n if (this._option.getChart().getLayoutTag() === false && mark.context?.model === this) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(mark.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const inverse = this._spec.inverse;\n if (this.orient === 'radius') {\n this._scale.range(\n inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()]\n );\n } else {\n this._scale.range(inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle]);\n }\n }\n\n protected collectData(depth: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n field = this.orient === 'radius' ? (s as IPolarSeries).getRadiusField() : (s as IPolarSeries).getAngleField();\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.orient === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id\n };\n return helper;\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.orient === 'radius') {\n return this._scale.invert(coord.radius);\n }\n\n if (this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n if (range[0] < 0) {\n const angle = coord.angle + (this._scale as BandScale).bandwidth() / 2;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n\n return this._scale.invert((coord.angle + (this._scale as BandScale).bandwidth() / 2) % rangeValue);\n }\n\n return this._scale.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n const dir = radian < startAngle ? 1 : -1;\n while (radian < startAngle || radian > endAngle) {\n radian += dir * Math.PI * 2;\n }\n\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n tickValues(): number[] {\n return this._tickData.getLatestData() || [];\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.orient === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const attrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n grid: {\n type: 'line',\n smoothLink: true\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const angle = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (angle - this._startAngle) / angleRange,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const attrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1,\n grid: {\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._refAngleAxis.tickValues().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (value - innerRadius) / distance,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const product = this.getMarks()[0].getProduct(); // 获取语法元素并更新\n product.encode(merge({}, this._axisStyle, attrs));\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/axis.ts"],"names":[],"mappings":"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","file":"axis.js","sourcesContent":["import { POLAR_DEFAULT_RADIUS, POLAR_END_ANGLE, POLAR_END_RADIAN } from '../../../constant/polar';\nimport { DataView } from '@visactor/vdataset';\nimport type { IBaseScale, BandScale } from '@visactor/vscale';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport { ChartEvent, LayoutZIndex, POLAR_START_ANGLE, POLAR_START_RADIAN } from '../../../constant';\nimport type { LayoutItem } from '../../../model/layout-item';\nimport type { IPolarAxis, IPolarAxisCommonSpec, IPolarAxisCommonTheme } from './interface';\nimport type { IComponentOption } from '../../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../../interface';\nimport { Factory } from '../../../core/factory';\nimport { isArray, isValidNumber, merge, polarToCartesian, radians, eachSeries } from '../../../util';\nimport { scaleParser } from '../../../data/parser/scale';\nimport type { IPolarTickDataOpt } from '../../../data/transforms/tick-data';\n// eslint-disable-next-line no-duplicate-imports\nimport { ticks } from '../../../data/transforms/tick-data';\nimport type { IPolarSeries } from '../../../series/interface';\nimport type { IPoint, IPolarOrientType, IPolarPoint, Datum, StringOrNumber } from '../../../typings';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../../data/register';\nimport { isPolarAxisSeries } from '../../../series/util/utils';\nimport { isValidPolarAxis } from '../utils';\n\nimport type { Dict } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { PointService, isValid } from '@visactor/vutils';\nimport type { IEffect } from '../../../model/interface';\nimport { CompilableData } from '../../../compile/data';\nimport { AxisComponent } from '../base-axis';\nimport type { ITick } from '../interface';\n\nexport abstract class PolarAxis<T extends IPolarAxisCommonSpec = IPolarAxisCommonSpec>\n extends AxisComponent<T>\n implements IPolarAxis\n{\n static type = ComponentTypeEnum.polarAxis;\n type = ComponentTypeEnum.polarAxis;\n name: string = ComponentTypeEnum.polarAxis;\n\n layoutType: LayoutItem['layoutType'] = 'absolute';\n layoutZIndex: number = LayoutZIndex.Axis;\n protected _tick: ITick | undefined = undefined;\n\n protected _center: IPoint | null = null;\n get center() {\n return this._center;\n }\n\n protected _startAngle: number = POLAR_START_RADIAN;\n get startAngle() {\n return this._startAngle;\n }\n\n protected _endAngle: number = POLAR_END_RADIAN;\n get endAngle() {\n return this._endAngle;\n }\n\n protected declare _theme: IPolarAxisCommonTheme;\n\n protected _orient: IPolarOrientType = 'radius';\n get orient() {\n return this._orient;\n }\n\n protected _groupScales: IBaseScale[] = [];\n getGroupScales() {\n return this._groupScales;\n }\n\n protected _refAngleAxis!: IPolarAxis;\n setRefAngleAxis(axes: IPolarAxis): this {\n this._refAngleAxis = axes;\n return this;\n }\n\n private _axisStyle: any;\n\n static createAxis(spec: any, options: IComponentOption): IPolarAxis {\n // TODO: 基于数据处理 axis 类型\n const axisType = spec.type ?? (spec.orient === 'angle' ? 'band' : 'linear');\n const componentName = `${PolarAxis.type}-${axisType}`;\n const C = Factory.getComponentInKey(componentName);\n if (C) {\n return new C(\n {\n ...spec,\n type: axisType\n },\n options\n ) as IPolarAxis;\n }\n options.onError(`Component ${componentName} not found`);\n return null;\n }\n\n static createComponent(spec: any, options: IComponentOption) {\n if (!this.type.startsWith(PolarAxis.type)) {\n return null;\n }\n const axesSpec = spec.axes || options.defaultSpec;\n if (!axesSpec) {\n return null;\n }\n if (!isArray(axesSpec)) {\n if (!isValidPolarAxis(axesSpec)) {\n return null;\n }\n axesSpec.center = spec.center;\n axesSpec.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n axesSpec.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n return PolarAxis.createAxis(axesSpec, {\n ...options,\n specKey: 'axes'\n });\n }\n const axes: IPolarAxis[] = [];\n let angleAxes: IPolarAxis;\n const radiusAxes: IPolarAxis[] = [];\n axesSpec.forEach((s: any, i: number) => {\n if (!isValidPolarAxis(s)) {\n return;\n }\n s.center = spec.center;\n s.startAngle = spec.startAngle ?? POLAR_START_ANGLE;\n s.endAngle = spec.endAngle ?? (isValid(spec.startAngle) ? spec.startAngle + 360 : POLAR_END_ANGLE);\n // 优先使用outerRadius, 但要兼容s.radius, spec.radius\n s.outerRadius = s.radius ?? spec.outerRadius ?? spec.radius ?? POLAR_DEFAULT_RADIUS;\n const polarAxes = PolarAxis.createAxis(s, {\n ...options,\n specIndex: i,\n specKey: 'axes'\n }) as IPolarAxis;\n axes.push(polarAxes);\n if (s.orient === 'radius') {\n radiusAxes.push(polarAxes);\n } else {\n angleAxes = polarAxes;\n }\n });\n radiusAxes.forEach(axes => axes.setRefAngleAxis(angleAxes));\n return axes;\n }\n\n effect: IEffect = {\n scaleUpdate: () => {\n this.computeData();\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n };\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n const axisStyle = this._getAxisAttributes();\n this._axisStyle = axisStyle;\n\n this._tick = this._spec.tick;\n this._orient = this._spec.orient === 'angle' ? 'angle' : 'radius';\n this._center = this._spec.center;\n const chartSpec = this.getChart().getSpec() as any;\n const startAngle = this._spec.startAngle ?? chartSpec.startAngle;\n const endAngle = this._spec.endAngle ?? chartSpec.endAngle;\n this._startAngle = radians(startAngle ?? POLAR_START_ANGLE);\n this._endAngle = radians(endAngle ?? (isValid(startAngle) ? startAngle + 360 : POLAR_END_ANGLE));\n }\n\n setLayoutStartPosition(pos: Partial<IPoint>): void {\n const region = this.getRegions()?.[0];\n const startPoint = region ? region.getLayoutStartPoint() : pos;\n super.setLayoutStartPosition(startPoint);\n }\n\n onLayoutEnd(ctx: any): void {\n this.updateScaleRange();\n this.updateSeriesScale();\n this.event.emit(ChartEvent.scaleUpdate, { model: this });\n\n super.onLayoutEnd(ctx);\n }\n\n onRender(ctx: any): void {\n // do nothing\n }\n\n changeRegions(/** regions: IRegion[] */): void {\n // do nothing\n }\n\n // data\n protected _initData() {\n registerDataSetInstanceParser(this._option.dataSet, 'scale', scaleParser);\n registerDataSetInstanceTransform(this._option.dataSet, 'ticks', ticks);\n\n const label = this._spec.label || {};\n const tick = this._spec.tick || {};\n const tickData = new DataView(this._option.dataSet)\n .parse(this._scale, {\n type: 'scale'\n })\n .transform(\n {\n type: 'ticks',\n options: {\n sampling: this._spec.sampling !== false, // default do sampling\n tickCount: tick.tickCount,\n forceTickCount: tick.forceTickCount,\n tickStep: tick.tickStep,\n tickMode: tick.tickMode,\n noDecimals: tick.noDecimals,\n\n coordinateType: 'polar',\n axisOrientType: this._orient,\n startAngle: this.startAngle,\n\n labelStyle: label.style,\n labelFormatter: label.formatMethod,\n labelGap: label.minGap,\n\n axisSpec: this._spec,\n getRadius: () => this.getOuterRadius()\n } as IPolarTickDataOpt\n },\n false\n );\n tickData.target.addListener('change', this._forceLayout.bind(this));\n\n this._tickData = new CompilableData(this._option, tickData);\n }\n\n protected initEvent() {\n super.initEvent();\n\n if (this.visible) {\n this.event.on('afterElementEncode', eventParams => {\n const mark = eventParams.item;\n if (this._option.getChart().getLayoutTag() === false && mark.context?.model === this) {\n // 代理组件上的事件,目前坐标轴组件比较特殊,包含了网格线,但是事件这块只提供不包含网格线部分的响应\n this._delegateAxisContainerEvent(mark.getGroupGraphicItem());\n }\n });\n }\n }\n\n protected updateScaleRange() {\n const inverse = this._spec.inverse;\n if (this.orient === 'radius') {\n this._scale.range(\n inverse\n ? [this.computeLayoutOuterRadius(), this.computeLayoutInnerRadius()]\n : [this.computeLayoutInnerRadius(), this.computeLayoutOuterRadius()]\n );\n } else {\n this._scale.range(inverse ? [this._endAngle, this._startAngle] : [this._startAngle, this._endAngle]);\n }\n }\n\n protected collectData(depth: number) {\n const data: { min: number; max: number; values: any[] }[] = [];\n eachSeries(\n this._regions,\n s => {\n let field: string | string[];\n if (depth > 0) {\n field = s.getGroups()?.fields?.[depth];\n } else {\n field = this.orient === 'radius' ? (s as IPolarSeries).getRadiusField() : (s as IPolarSeries).getAngleField();\n }\n field = (isArray(field) ? (isContinuous(this._scale.type) ? field : [field[0]]) : [field]) as string[];\n if (!depth) {\n this._dataFieldText = s.getFieldAlias(field[0]);\n }\n const seriesData = s.getViewDataStatistics?.();\n if (field) {\n field.forEach(f => {\n if (seriesData?.latestData?.[f]) {\n data.push(seriesData.latestData[f]);\n }\n });\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return data;\n }\n\n protected abstract computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[];\n\n protected updateSeriesScale(): void {\n eachSeries(\n this._regions,\n s => {\n if (this.orient === 'radius') {\n (s as IPolarSeries).setRadiusScale(this._scale);\n (s as IPolarSeries).radiusAxisHelper = this.axisHelper();\n } else {\n (s as IPolarSeries).setAngleScale(this._scale);\n (s as IPolarSeries).angleAxisHelper = this.axisHelper();\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n }\n\n protected getSeriesStatisticsField(s: IPolarSeries) {\n const f = this.orient === 'radius' ? s.getRadiusField() : s.getAngleField();\n if (isContinuous(this._scale.type)) {\n return f;\n }\n return [f[0]];\n }\n\n protected initGroupScales() {\n // do nothing\n }\n\n // axisHelper\n protected axisHelper() {\n const getScale = (depth: number) => {\n return this._scales[depth];\n };\n\n const helper = {\n dataToPosition: this.dataToPosition.bind(this),\n coordToPoint: this.coordToPoint.bind(this),\n pointToCoord: this.pointToCoord.bind(this),\n center: this.getCenter.bind(this),\n getScale,\n getAxisId: () => this.id\n };\n return helper;\n }\n\n dataToPosition(values: any[]): number {\n return this._scale.scale(values);\n }\n\n positionToData(position: IPoint) {\n const coord = this.pointToCoord(position);\n if (this.orient === 'radius') {\n return this._scale.invert(coord.radius);\n }\n\n if (this._scale.type === 'band') {\n //极坐标轴需要手动取模,超出range时默认会截断\n const range = this._scale.range();\n const rangeValue = range[range.length - 1] - range[0];\n if (range[0] < 0) {\n const angle = coord.angle + (this._scale as BandScale).bandwidth() / 2;\n const transformedAngle = ((angle + Math.abs(range[0])) % rangeValue) - Math.abs(range[0]);\n return this._scale.invert(transformedAngle);\n }\n\n return this._scale.invert((coord.angle + (this._scale as BandScale).bandwidth() / 2) % rangeValue);\n }\n\n return this._scale.invert(coord.angle);\n }\n\n /**\n * 将半径和角度转换为笛卡尔坐标点\n * @param point 角度 & 弧度信息\n * @returns 笛卡尔坐标点 { x, y }\n */\n coordToPoint(point: IPolarPoint): IPoint {\n // center & startAngle 都是坐标系转换的配置,在 scale 中不生效,仅在最终转换时生效\n const angle = point.angle;\n const { x: centerX, y: centerY } = this.getCenter();\n const p = polarToCartesian({ angle, radius: point.radius });\n return {\n x: p.x + centerX,\n y: p.y + centerY\n };\n }\n\n /**\n * 将笛卡尔坐标转换为对应的半径和弧度\n * @param point 笛卡尔坐标点 { x, y }\n * @returns 角度 & 弧度信息 { radius, angle }\n */\n pointToCoord(point: IPoint): IPolarPoint {\n const { x: centerX, y: centerY } = this.getCenter();\n let dx = point.x - centerX;\n let dy = point.y - centerY;\n const startAngle = this._startAngle;\n const endAngle = this._endAngle;\n const radius = Math.sqrt(dx * dx + dy * dy);\n dx /= radius;\n dy /= radius;\n\n let radian = Math.atan2(dy, dx);\n const dir = radian < startAngle ? 1 : -1;\n while (radian < startAngle || radian > endAngle) {\n radian += dir * Math.PI * 2;\n }\n\n return {\n radius,\n angle: radian\n };\n }\n\n /**\n * 获取坐标轴圆心位置\n * @returns 圆心位置\n */\n getCenter(): IPoint {\n return {\n x: this._center?.x || this.getRefLayoutRect().width / 2,\n y: this._center?.y || this.getRefLayoutRect().height / 2\n };\n }\n\n /**\n * 获取极坐标半径值\n * @returns 半径数值\n */\n getOuterRadius(): number {\n return this.computeLayoutOuterRadius();\n }\n\n /**\n * 获取极坐标内半径值\n * @returns 内半径数值\n */\n getInnerRadius(): number {\n return this.computeLayoutInnerRadius();\n }\n\n tickValues(): number[] {\n return this._tickData.getLatestData() || [];\n }\n\n updateLayoutAttribute(): void {\n if (this._visible) {\n if (this.orient === 'radius') {\n this._layoutRadiusAxis();\n } else {\n this._layoutAngleAxis();\n }\n }\n\n super.updateLayoutAttribute();\n }\n\n private _layoutAngleAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const angleRange = this._endAngle - this._startAngle;\n const attrs = {\n ...this.getLayoutStartPoint(),\n inside: this._spec.inside,\n center,\n radius,\n innerRadius,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n grid: {\n type: 'line',\n smoothLink: true\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const angle = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (angle - this._startAngle) / angleRange,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private _layoutRadiusAxis(): void {\n const center = this.getCenter();\n const radius = this.computeLayoutOuterRadius();\n const innerRadius = this.computeLayoutInnerRadius();\n const endPoint = this.coordToPoint({ angle: this._startAngle, radius });\n const startPoint = this.coordToPoint({ angle: this._startAngle, radius: innerRadius });\n const distance = PointService.distancePP(startPoint, endPoint);\n const attrs = {\n ...this.getLayoutStartPoint(),\n start: startPoint,\n end: endPoint,\n verticalFactor: -1,\n grid: {\n type: this._spec.grid?.smooth ? 'circle' : 'polygon',\n center,\n closed: true,\n sides: this._refAngleAxis.tickValues().length,\n startAngle: this._startAngle,\n endAngle: this._endAngle\n },\n title: {\n text: this._spec.title.text || this._dataFieldText\n },\n items: isArray(this._tickData.getLatestData())\n ? [\n this._tickData.getLatestData().map((obj: Datum) => {\n const value = this.dataToPosition([obj.value]);\n return {\n id: obj.value,\n label: obj.value,\n value: (value - innerRadius) / distance,\n rawValue: obj.value\n };\n })\n ]\n : []\n };\n this._update(attrs);\n }\n\n private computeLayoutOuterRadius() {\n /**\n * 兼容radius旧配置\n * @deprecated use outerRadius instead\n */\n const radius = this._spec.outerRadius ?? this._spec.radius;\n const outerRadius = radius ?? this.getRefSeriesRadius().outerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * outerRadius;\n }\n\n private computeLayoutInnerRadius() {\n const innerRadius = this._spec.innerRadius ?? this.getRefSeriesRadius().innerRadius;\n const { width, height } = this.getRefLayoutRect();\n return (Math.min(width, height) / 2) * innerRadius;\n }\n\n private getRefLayoutRect() {\n return this.getRegions()[0].getLayoutRect();\n }\n\n private getRefSeriesRadius() {\n let outerRadius: number = POLAR_DEFAULT_RADIUS;\n let innerRadius: number = 0;\n const chartSpec = this.getChart().getSpec() as any;\n // FIXME: 为了保证 common 图表能够应用系列的 radius 配置,当前从相应的 region 中取到 radius 信息\n eachSeries(\n this.getRegions(),\n s => {\n const series = s as IPolarSeries;\n if (isPolarAxisSeries(series.type)) {\n const {\n outerRadius: seriesRadius = chartSpec.outerRadius,\n innerRadius: seriesInnerRadius = chartSpec.innerRadius\n } = series;\n if (isValidNumber(seriesRadius)) {\n outerRadius = seriesRadius;\n }\n if (isValidNumber(seriesInnerRadius)) {\n innerRadius = seriesInnerRadius;\n }\n }\n },\n {\n userId: this._seriesUserId,\n specIndex: this._seriesIndex\n }\n );\n return { outerRadius, innerRadius };\n }\n\n private _update(attrs: Dict<unknown>) {\n const product = this.getMarks()[0].getProduct(); // 获取语法元素并更新\n product.encode(merge({}, this._axisStyle, attrs));\n }\n}\n"]}
|
|
@@ -3,9 +3,10 @@ import { ComponentTypeEnum } from '../../interface';
|
|
|
3
3
|
import { PolarAxis } from './axis';
|
|
4
4
|
import { BandAxisMixin } from '../mixin/band-axis-mixin';
|
|
5
5
|
import type { StringOrNumber } from '../../../typings';
|
|
6
|
-
|
|
6
|
+
import type { IPolarBandAxisSpec } from './interface';
|
|
7
|
+
export interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends Pick<BandAxisMixin, 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'>, PolarAxis<T> {
|
|
7
8
|
}
|
|
8
|
-
export declare class PolarBandAxis extends PolarAxis {
|
|
9
|
+
export declare class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {
|
|
9
10
|
static type: ComponentTypeEnum;
|
|
10
11
|
type: ComponentTypeEnum;
|
|
11
12
|
protected _scale: BandScale;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,+CAAoD;AACpD,iCAAmC;AACnC,qCAAkF;AAClF,6CAAyC;AACzC,8DAAyD;
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/band-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA6C;AAC7C,+CAAoD;AACpD,iCAAmC;AACnC,qCAAkF;AAClF,6CAAyC;AACzC,8DAAyD;AAWzD,MAAa,aAAiE,SAAQ,gBAAY;IAAlG;;QAEE,SAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;QAE7B,WAAM,GAAc,IAAI,kBAAS,EAAE,CAAC;IAuChD,CAAC;IAnCW,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,cAAc,CAAC,MAAa;QAC1B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE;YACpD,OAAO,CAAC,CAAC;SACV;QACD,MAAM,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC9C,OAAO,QAAQ,CAAC;IAClB,CAAC;IAES,gBAAgB;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAGS,UAAU;QAClB,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;QAClC,MAAM,YAAY,GAAG,CAAC,KAAa,EAAE,EAAE;YACrC,OAAQ,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAe,CAAC,SAAS,EAAE,CAAC;QAC3D,CAAC,CAAC;QAEF,uCAAY,MAAM,KAAE,YAAY,IAAG;IACrC,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,UAAU,CAAC,mCAA0B,EAAE,mCAA0B,CAAC,CAAC;IAC1E,CAAC;IAED,oBAAoB;IAEpB,CAAC;;AA1CH,sCA2CC;AA1CQ,kBAAI,GAAG,6BAAiB,CAAC,aAAa,CAAC;AA2ChD,IAAA,cAAK,EAAC,aAAa,EAAE,+BAAa,CAAC,CAAC","file":"band-axis.js","sourcesContent":["import { BandScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport { DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING } from './config';\nimport { mixin } from '@visactor/vutils';\nimport { BandAxisMixin } from '../mixin/band-axis-mixin';\nimport type { StringOrNumber } from '../../../typings';\nimport type { IPolarBandAxisSpec } from './interface';\n\nexport interface PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec>\n extends Pick<\n BandAxisMixin,\n 'valueToPosition' | 'updateGroupScaleRange' | 'getPosition' | 'calcScales' | 'computeBandDomain'\n >,\n PolarAxis<T> {}\n\nexport class PolarBandAxis<T extends IPolarBandAxisSpec = IPolarBandAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarBandAxis;\n type = ComponentTypeEnum.polarBandAxis;\n\n protected _scale: BandScale = new BandScale();\n\n protected declare _scales: BandScale[];\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): StringOrNumber[] {\n return this.computeBandDomain(data);\n }\n\n dataToPosition(values: any[]): number {\n if (values.length === 0 || this._scales.length === 0) {\n return 0;\n }\n const { position } = this.getPosition(values);\n return position;\n }\n\n protected updateScaleRange() {\n super.updateScaleRange();\n this.updateGroupScaleRange();\n }\n\n // axisHelper\n protected axisHelper() {\n const helper = super.axisHelper();\n const getBandwidth = (depth: number) => {\n return (helper.getScale(depth) as BandScale).bandwidth();\n };\n\n return { ...helper, getBandwidth };\n }\n\n protected initScales() {\n super.initScales();\n this.calcScales(DEFAULT_BAND_INNER_PADDING, DEFAULT_BAND_OUTER_PADDING);\n }\n\n transformScaleDomain() {\n // do nothing\n }\n}\nmixin(PolarBandAxis, BandAxisMixin);\n"]}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import type { IPolarOrientType } from '../../../../typings';
|
|
1
|
+
import type { IPoint, IPolarOrientType } from '../../../../typings';
|
|
2
2
|
import type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';
|
|
3
3
|
import type { IPolarGrid } from './common';
|
|
4
4
|
export type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;
|
|
5
|
-
export type IPolarAxisCommonSpec = ICommonAxisSpec & {
|
|
5
|
+
export type IPolarAxisCommonSpec = Omit<ICommonAxisSpec, 'center'> & {
|
|
6
6
|
inside?: boolean;
|
|
7
7
|
orient: IPolarOrientType;
|
|
8
8
|
grid?: IPolarGrid;
|
|
@@ -11,6 +11,11 @@ export type IPolarAxisCommonSpec = ICommonAxisSpec & {
|
|
|
11
11
|
domainLine?: IDomainLine;
|
|
12
12
|
label?: ILabel;
|
|
13
13
|
title?: ITitle;
|
|
14
|
+
innerRadius?: number;
|
|
15
|
+
outerRadius?: number;
|
|
16
|
+
center?: IPoint;
|
|
17
|
+
startAngle?: number;
|
|
18
|
+
endAngle?: number;
|
|
14
19
|
};
|
|
15
20
|
export type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;
|
|
16
21
|
export type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPolarOrientType } from '../../../../typings';\nimport type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';\nimport type { IPolarGrid } from './common';\n\n/** spec */\nexport type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;\n\nexport type IPolarAxisCommonSpec = ICommonAxisSpec & {\n /**\n * 当配置了 innerRadius 时,可以通过设置 inside: true,将坐标轴展示在内圆。\n * @default false\n */\n inside?: boolean;\n /**\n * 轴位置,枚举类型,支持:`'radius'` 和 `'angle'`\n * - `'radius'` 代表半径轴\n * - `'angle'` 代表角度轴\n */\n orient: IPolarOrientType;\n /**\n * 网格线配置\n */\n grid?: IPolarGrid;\n /**\n * 轴的外半径,数值范围 0 -1\n */\n radius?: number;\n /**\n * 子网格线配置\n */\n subGrid?: IPolarGrid;\n /**\n * 轴线配置\n */\n domainLine?: IDomainLine;\n /**\n * 轴标签配置\n */\n label?: ILabel;\n /**\n * 轴标题配置\n */\n title?: ITitle;\n};\n\nexport type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;\n\nexport type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPoint, IPolarOrientType } from '../../../../typings';\nimport type { IBandAxisSpec, IDomainLine, ILinearAxisSpec, ITitle, ILabel, ICommonAxisSpec } from '../../interface';\nimport type { IPolarGrid } from './common';\n\n/** spec */\nexport type IPolarAxisSpec = IPolarLinearAxisSpec | IPolarBandAxisSpec;\n\nexport type IPolarAxisCommonSpec = Omit<ICommonAxisSpec, 'center'> & {\n /**\n * 当配置了 innerRadius 时,可以通过设置 inside: true,将坐标轴展示在内圆。\n * @default false\n */\n inside?: boolean;\n /**\n * 轴位置,枚举类型,支持:`'radius'` 和 `'angle'`\n * - `'radius'` 代表半径轴\n * - `'angle'` 代表角度轴\n */\n orient: IPolarOrientType;\n /**\n * 网格线配置\n */\n grid?: IPolarGrid;\n /**\n * 轴的外半径,数值范围 0 -1\n */\n radius?: number;\n /**\n * 子网格线配置\n */\n subGrid?: IPolarGrid;\n /**\n * 轴线配置\n */\n domainLine?: IDomainLine;\n /**\n * 轴标签配置\n */\n label?: ILabel;\n /**\n * 轴标题配置\n */\n title?: ITitle;\n /**\n * 内半径(比例值,取值范围 0~1)\n */\n innerRadius?: number;\n /**\n * 外半径(比例值,取值范围 0~1)\n */\n outerRadius?: number;\n /**\n * 中心点\n */\n center?: IPoint;\n /**\n * 起始角度\n */\n startAngle?: number;\n /**\n * 终止角度\n */\n endAngle?: number;\n};\n\nexport type IPolarLinearAxisSpec = IPolarAxisCommonSpec & ILinearAxisSpec;\n\nexport type IPolarBandAxisSpec = IPolarAxisCommonSpec & IBandAxisSpec;\n"]}
|
|
@@ -3,16 +3,15 @@ import { ComponentTypeEnum } from '../../interface';
|
|
|
3
3
|
import { PolarAxis } from './axis';
|
|
4
4
|
import type { IPolarLinearAxisSpec } from './interface/spec';
|
|
5
5
|
import { LinearAxisMixin } from '../mixin/linear-axis-mixin';
|
|
6
|
-
export interface PolarLinearAxis extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'>, PolarAxis {
|
|
6
|
+
export interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends Pick<LinearAxisMixin, 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'>, PolarAxis<T> {
|
|
7
7
|
}
|
|
8
|
-
export declare class PolarLinearAxis extends PolarAxis {
|
|
8
|
+
export declare class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {
|
|
9
9
|
static type: ComponentTypeEnum;
|
|
10
10
|
type: ComponentTypeEnum;
|
|
11
11
|
protected _zero: boolean;
|
|
12
12
|
protected _nice: boolean;
|
|
13
13
|
protected _scale: LinearScale;
|
|
14
14
|
protected _groupScales: LinearScale[];
|
|
15
|
-
protected _spec: IPolarLinearAxisSpec;
|
|
16
15
|
setAttrFromSpec(): void;
|
|
17
16
|
protected initScales(): void;
|
|
18
17
|
protected computeDomain(data: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAoD;AACpD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AASzC,MAAa,
|
|
1
|
+
{"version":3,"sources":["../src/component/axis/polar/linear-axis.ts"],"names":[],"mappings":";;;AAAA,6CAA+C;AAC/C,+CAAoD;AACpD,iCAAmC;AAEnC,kEAA6D;AAC7D,6CAAyC;AASzC,MAAa,eAAuE,SAAQ,gBAAY;IAAxG;;QAEE,SAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;QAE/B,UAAK,GAAY,IAAI,CAAC;QACtB,UAAK,GAAY,IAAI,CAAC;QAEtB,WAAM,GAAG,IAAI,oBAAW,EAAE,CAAC;IAgBvC,CAAC;IAbC,eAAe;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,oBAAoB,EAAE,CAAC;IAC9B,CAAC;IAES,UAAU;QAClB,KAAK,CAAC,UAAU,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAES,aAAa,CAAC,IAAmD;QACzE,OAAO,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;;AAtBH,0CAuBC;AAtBQ,oBAAI,GAAG,6BAAiB,CAAC,eAAe,CAAC;AAwBlD,IAAA,cAAK,EAAC,eAAe,EAAE,mCAAe,CAAC,CAAC","file":"linear-axis.js","sourcesContent":["import { LinearScale } from '@visactor/vscale';\nimport { ComponentTypeEnum } from '../../interface';\nimport { PolarAxis } from './axis';\nimport type { IPolarLinearAxisSpec } from './interface/spec';\nimport { LinearAxisMixin } from '../mixin/linear-axis-mixin';\nimport { mixin } from '@visactor/vutils';\n\nexport interface PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec>\n extends Pick<\n LinearAxisMixin,\n 'setExtraAttrFromSpec' | 'transformScaleDomain' | 'valueToPosition' | 'computeLinearDomain' | 'setScaleNice'\n >,\n PolarAxis<T> {}\n\nexport class PolarLinearAxis<T extends IPolarLinearAxisSpec = IPolarLinearAxisSpec> extends PolarAxis<T> {\n static type = ComponentTypeEnum.polarLinearAxis;\n type = ComponentTypeEnum.polarLinearAxis;\n\n protected _zero: boolean = true;\n protected _nice: boolean = true;\n\n protected _scale = new LinearScale();\n protected declare _groupScales: LinearScale[];\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setExtraAttrFromSpec();\n }\n\n protected initScales() {\n super.initScales();\n this.setScaleNice();\n }\n\n protected computeDomain(data: { min: number; max: number; values: any[] }[]): number[] {\n return this.computeLinearDomain(data);\n }\n}\n\nmixin(PolarLinearAxis, LinearAxisMixin);\n"]}
|
|
@@ -7,7 +7,8 @@ import type { IComponentPluginService, IComponentPlugin } from '../../plugin/com
|
|
|
7
7
|
import type { IGroupMark } from '@visactor/vgrammar';
|
|
8
8
|
import type { IAnimate } from '../../animation/interface';
|
|
9
9
|
import type { Datum } from '../../typings';
|
|
10
|
-
|
|
10
|
+
import type { IModelSpec } from '../../model/interface';
|
|
11
|
+
export declare abstract class BaseComponent<T extends IModelSpec = IModelSpec> extends BaseModel<T> implements IComponent {
|
|
11
12
|
name: string;
|
|
12
13
|
readonly modelType: string;
|
|
13
14
|
pluginService?: IComponentPluginService;
|
|
@@ -17,7 +18,7 @@ export declare abstract class BaseComponent extends BaseModel implements ICompon
|
|
|
17
18
|
protected _container: IGroup;
|
|
18
19
|
created(): void;
|
|
19
20
|
animate?: IAnimate;
|
|
20
|
-
constructor(spec:
|
|
21
|
+
constructor(spec: T, options: IComponentOption);
|
|
21
22
|
abstract changeRegions(regions: IRegion[]): void;
|
|
22
23
|
protected callPlugin(cb: (plugin: IComponentPlugin) => void): void;
|
|
23
24
|
protected eventPos(markEventParams: BaseEventParams): {
|
|
@@ -26,6 +27,7 @@ export declare abstract class BaseComponent extends BaseModel implements ICompon
|
|
|
26
27
|
};
|
|
27
28
|
setCurrentTheme(theme: any, noRender?: boolean): Promise<void>;
|
|
28
29
|
protected _initTheme(theme?: any): void;
|
|
30
|
+
protected _shouldMergeThemeToSpec(): boolean;
|
|
29
31
|
protected getContainer(): IGroup;
|
|
30
32
|
release(): void;
|
|
31
33
|
clear(): void;
|
|
@@ -30,7 +30,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
30
30
|
value: !0
|
|
31
31
|
}), exports.BaseComponent = void 0;
|
|
32
32
|
|
|
33
|
-
const base_model_1 = require("../../model/base-model"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), util_1 = require("./util"), constant_1 = require("../../constant"), animate_manager_1 = require("../../animation/animate-manager");
|
|
33
|
+
const base_model_1 = require("../../model/base-model"), plugin_service_1 = require("../../plugin/components/plugin-service"), vutils_1 = require("@visactor/vutils"), util_1 = require("./util"), constant_1 = require("../../constant"), animate_manager_1 = require("../../animation/animate-manager"), util_2 = require("../../util");
|
|
34
34
|
|
|
35
35
|
class BaseComponent extends base_model_1.BaseModel {
|
|
36
36
|
getRegions() {
|
|
@@ -78,9 +78,16 @@ class BaseComponent extends base_model_1.BaseModel {
|
|
|
78
78
|
_initTheme(theme) {
|
|
79
79
|
const globalTheme = this._option.getTheme();
|
|
80
80
|
theme ? super._initTheme(theme) : super._initTheme((0, util_1.getComponentThemeFromGlobalTheme)(this.type, globalTheme, this._originalSpec)),
|
|
81
|
-
(0, vutils_1.isArray)(this._originalSpec) ? this._spec = this._originalSpec.map((spec => (0,
|
|
82
|
-
vutils_1.merge)({}, this._theme, spec))) : this.
|
|
83
|
-
this.
|
|
81
|
+
this._shouldMergeThemeToSpec && ((0, vutils_1.isArray)(this._originalSpec) ? this._spec = this._originalSpec.map((spec => (0,
|
|
82
|
+
vutils_1.merge)({}, this._theme, spec))) : this._mergeThemeToSpec()), this._preprocessSpec();
|
|
83
|
+
const {padding: padding, noOuterPadding: noOuterPadding = !0, orient: orient} = this._spec;
|
|
84
|
+
if (noOuterPadding && padding && orient) {
|
|
85
|
+
const newPadding = (0, util_2.normalizeLayoutPaddingSpec)(padding);
|
|
86
|
+
newPadding[orient] = 0, this._spec.padding = newPadding;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
_shouldMergeThemeToSpec() {
|
|
90
|
+
return !0;
|
|
84
91
|
}
|
|
85
92
|
getContainer() {
|
|
86
93
|
return this._container || (this._container = this._option.globalInstance.getStage().find((node => "root" === node.name), !0)),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,uDAAmD;AAInD,2EAAgF;AAEhF,6CAAkD;AAClD,iCAA0D;AAE1D,6CAAmD;AAEnD,qEAAiE;AAGjE,MAAsB,
|
|
1
|
+
{"version":3,"sources":["../src/component/base/base-component.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,uDAAmD;AAInD,2EAAgF;AAEhF,6CAAkD;AAClD,iCAA0D;AAE1D,6CAAmD;AAEnD,qEAAiE;AAGjE,qCAAwD;AAExD,MAAsB,aAAiD,SAAQ,sBAAY;IAOzF,UAAU;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAID,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,aAAa,GAAG,IAAI,uCAAsB,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAID,YAAY,IAAO,EAAE,OAAyB;QAC5C,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QApBvB,SAAI,GAAW,WAAW,CAAC;QAClB,cAAS,GAAW,WAAW,CAAC;QAI/B,aAAQ,GAAc,EAAE,CAAC;QA+HzB,mBAAc,GAAG,CAAC,SAAmB,EAAE,KAAU,EAAE,IAAY,EAAE,OAAY,IAAI,EAAE,QAAe,IAAI,EAAE,EAAE;;YAClH,IAAI,CAAC,KAAK,CAAC,IAAI,CACb,IAAI,EACJ;gBACE,KAAK,EAAE,IAAI;gBACX,IAAI,EAAE,SAAS;gBACf,KAAK;gBACL,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,KAAK;gBACZ,MAAM,EAAE,4BAAiB,CAAC,KAAK;gBAC/B,KAAK,EAAE,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,cAAc,0CAAE,QAAQ,EAAE;aAChD,EACD,OAAO,CACR,CAAC;QACJ,CAAC,CAAC;QA7HA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC5C,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAEvD,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE;YAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,gCAAc,CAAC;gBAChC,WAAW,EAAE,OAAO,CAAC,WAAW;aACjC,CAAC,CAAC;SACJ;IACH,CAAC;IAIS,UAAU,CAAC,EAAsC;QACzD,IAAI,IAAI,CAAC,aAAa,EAAE;YACtB,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;SAC3D;IACH,CAAC;IAES,QAAQ,CAAC,eAAgC;QACjD,OAAO;YACL,CAAC,EAAG,eAAe,CAAC,KAAa,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;YACtE,CAAC,EAAG,eAAe,CAAC,KAAa,CAAC,KAAK,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAC;SACvE,CAAC;IACJ,CAAC;IAEK,eAAe,CAAC,KAAU,EAAE,QAAkB;;YAClD,MAAM,YAAY,GAAG,GAAG,EAAE;gBAExB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;gBAEnB,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;YACzC,CAAC,CAAC;YAEF,IAAI,QAAQ,EAAE;gBACZ,YAAY,EAAE,CAAC;aAChB;iBAAM;gBACL,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,6BAA6B,CAAC,YAAY,CAAC,CAAC;aAC/E;QACH,CAAC;KAAA;IAES,UAAU,CAAC,KAAW;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAE5C,IAAI,KAAK,EAAE;YACT,KAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;SACzB;aAAM;YACL,KAAK,CAAC,UAAU,CACd,IAAA,uCAAgC,EAAC,IAAI,CAAC,IAAyB,EAAE,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,CAClG,CAAC;SACH;QAGD,IAAI,IAAI,CAAC,uBAAuB,EAAE;YAChC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,aAAa,CAAC,EAAE;gBAC/B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAA,cAAK,EAAC,EAAE,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAiB,CAAC;aAC3F;iBAAM;gBACL,IAAI,CAAC,iBAAiB,EAAE,CAAC;aAC1B;SACF;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QAGvB,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC9D,IAAI,cAAc,IAAI,OAAO,IAAI,MAAM,EAAE;YACvC,MAAM,UAAU,GAAG,IAAA,iCAA0B,EAAC,OAAO,CAAC,CAAC;YACvD,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACvB,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC;SACjC;IACH,CAAC;IAGS,uBAAuB;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAES,YAAY;QACpB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,IAAI,CAAC,CAAC;SACnG;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAChB,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;IAED,KAAK;;QACH,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,MAAA,IAAI,CAAC,aAAa,0CAAE,UAAU,EAAE,CAAC;QACjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;IAED,OAAO;QACL,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,YAAY,CAAC,KAA2B;QACtC,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;;YAC1B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;YACrB,MAAA,CAAC,CAAC,UAAU,EAAE,0CAAE,SAAS,CAAC;gBACxB,OAAO,EAAE;oBACP,KAAK,EAAE,IAAI;iBACZ;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CAkBF;AApJD,sCAoJC","file":"base-component.js","sourcesContent":["import type { IGraphic, IGroup } from '@visactor/vrender';\nimport { BaseModel } from '../../model/base-model';\nimport type { IRegion } from '../../region/interface';\nimport type { ComponentTypeEnum, IComponent, IComponentOption } from '../interface';\nimport type { BaseEventParams } from '../../event/interface';\nimport { ComponentPluginService } from '../../plugin/components/plugin-service';\nimport type { IComponentPluginService, IComponentPlugin } from '../../plugin/components/interface';\nimport { isArray, merge } from '@visactor/vutils';\nimport { getComponentThemeFromGlobalTheme } from './util';\nimport type { IGroupMark } from '@visactor/vgrammar';\nimport { Event_Source_Type } from '../../constant';\nimport type { IAnimate } from '../../animation/interface';\nimport { AnimateManager } from '../../animation/animate-manager';\nimport type { Datum } from '../../typings';\nimport type { IModelSpec } from '../../model/interface';\nimport { normalizeLayoutPaddingSpec } from '../../util';\n\nexport abstract class BaseComponent<T extends IModelSpec = IModelSpec> extends BaseModel<T> implements IComponent {\n name: string = 'component';\n readonly modelType: string = 'component';\n pluginService?: IComponentPluginService;\n protected declare _option: IComponentOption;\n\n protected _regions: IRegion[] = [];\n getRegions() {\n return this._regions;\n }\n\n protected _container: IGroup;\n\n created() {\n super.created();\n this.pluginService = new ComponentPluginService(this);\n }\n\n animate?: IAnimate;\n\n constructor(spec: T, options: IComponentOption) {\n super(spec, options);\n this._regions = options.getRegionsInIndex();\n this.layoutBindRegionID = this._regions.map(x => x.id);\n // 创建组件自己的动画管理器\n if (this._option.animation) {\n this.animate = new AnimateManager({\n getCompiler: options.getCompiler\n });\n }\n }\n\n abstract changeRegions(regions: IRegion[]): void;\n\n protected callPlugin(cb: (plugin: IComponentPlugin) => void) {\n if (this.pluginService) {\n this.pluginService.getAll().forEach(plugin => cb(plugin));\n }\n }\n\n protected eventPos(markEventParams: BaseEventParams) {\n return {\n x: (markEventParams.event as any).viewX - this.getLayoutStartPoint().x,\n y: (markEventParams.event as any).viewY - this.getLayoutStartPoint().y\n };\n }\n\n async setCurrentTheme(theme: any, noRender?: boolean) {\n const modifyConfig = () => {\n // 重新初始化\n this.reInit(theme);\n\n return { change: true, reMake: false };\n };\n\n if (noRender) {\n modifyConfig();\n } else {\n await this._option.globalInstance.updateCustomConfigAndRerender(modifyConfig);\n }\n }\n\n protected _initTheme(theme?: any) {\n const globalTheme = this._option.getTheme();\n\n if (theme) {\n super._initTheme(theme);\n } else {\n super._initTheme(\n getComponentThemeFromGlobalTheme(this.type as ComponentTypeEnum, globalTheme, this._originalSpec)\n );\n }\n\n // 将 theme merge 到 spec 中\n if (this._shouldMergeThemeToSpec) {\n if (isArray(this._originalSpec)) {\n this._spec = this._originalSpec.map(spec => merge({}, this._theme, spec)) as unknown as T;\n } else {\n this._mergeThemeToSpec();\n }\n }\n this._preprocessSpec();\n\n // 默认忽略外侧 padding\n const { padding, noOuterPadding = true, orient } = this._spec;\n if (noOuterPadding && padding && orient) {\n const newPadding = normalizeLayoutPaddingSpec(padding);\n newPadding[orient] = 0;\n this._spec.padding = newPadding;\n }\n }\n\n /** 是否在初始化时将 theme 自动 merge 到 spec */\n protected _shouldMergeThemeToSpec() {\n return true;\n }\n\n protected getContainer() {\n if (!this._container) {\n this._container = this._option.globalInstance.getStage().find(node => node.name === 'root', true);\n }\n\n return this._container;\n }\n\n release() {\n super.release();\n this.clear();\n }\n\n clear() {\n this._container = null;\n this.pluginService?.disposeAll();\n this.pluginService = null;\n }\n\n compile(): void {\n this.compileSignal();\n this.compileMarks();\n }\n\n compileMarks(group?: string | IGroupMark) {\n this.getMarks().forEach(m => {\n m.compile({ group });\n m.getProduct()?.configure({\n context: {\n model: this\n }\n });\n });\n }\n\n // 代理组件事件\n protected _delegateEvent = (component: IGraphic, event: any, type: string, item: any = null, datum: Datum = null) => {\n this.event.emit(\n type,\n {\n model: this,\n node: component,\n event,\n item: item,\n datum: datum,\n source: Event_Source_Type.chart,\n chart: this._option?.globalInstance?.getChart()\n },\n 'model'\n );\n };\n}\n"]}
|
|
@@ -7,8 +7,8 @@ import type { IModelRenderOption } from '../../model/interface';
|
|
|
7
7
|
import type { IRegion } from '../../region/interface';
|
|
8
8
|
import type { ISeries } from '../../series/interface';
|
|
9
9
|
import type { IElement } from '@visactor/vgrammar';
|
|
10
|
-
import type { BrushInteractiveRangeAttr, IBrush } from './interface';
|
|
11
|
-
export declare class Brush extends BaseComponent implements IBrush {
|
|
10
|
+
import type { BrushInteractiveRangeAttr, IBrush, IBrushSpec } from './interface';
|
|
11
|
+
export declare class Brush extends BaseComponent<IBrushSpec> implements IBrush {
|
|
12
12
|
layoutType: LayoutItem['layoutType'];
|
|
13
13
|
static type: ComponentTypeEnum;
|
|
14
14
|
type: ComponentTypeEnum;
|
|
@@ -182,7 +182,7 @@ class Brush extends base_1.BaseComponent {
|
|
|
182
182
|
this._relativeRegions.forEach((r => {
|
|
183
183
|
const allMarks = [];
|
|
184
184
|
r.getSeries().forEach((s => {
|
|
185
|
-
(seriesUserId && (0, vutils_1.array)(seriesUserId).includes(s.userId) || seriesIndex && (0,
|
|
185
|
+
(seriesUserId && (0, vutils_1.array)(seriesUserId).includes(s.userId.toString()) || seriesIndex && (0,
|
|
186
186
|
vutils_1.array)(seriesIndex).includes(s.getSpecIndex()) || !seriesIndex && !seriesUserId) && allMarks.push(...s.getMarksWithoutRoot()),
|
|
187
187
|
this._itemMap[r.id] = allMarks;
|
|
188
188
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":";;;AAAA,6CAA0D;AAE1D,kCAAwC;AAGxC,4CAAiD;AACjD,qEAAqF;AAGrF,6CAAuG;AAIvG,4CAAsD;AAMtD,6CAA2C;AAC3C,MAAa,KAAM,SAAQ,oBAAa;IAAxC;;QACE,eAAU,GAA6B,UAAU,CAAC;QAElD,SAAI,GAAG,6BAAiB,CAAC,KAAK,CAAC;QAC/B,SAAI,GAAW,6BAAiB,CAAC,KAAK,CAAC;QAEvC,iBAAY,GAA+B,uBAAY,CAAC,KAAK,CAAC;QAKpD,qBAAgB,GAAqB,EAAE,CAAC;QAExC,kBAAa,GAAc,EAAE,CAAC;QAEhC,aAAQ,GAA6C,EAAE,CAAC;QACxD,mBAAc,GAA6C,EAAE,CAAC;QAI5D,wBAAmB,GAAgE,EAAE,CAAC;QACtF,2BAAsB,GAAuC,EAAE,CAAC;QAChE,8BAAyB,GAAgE,EAAE,CAAC;QAC5F,iCAA4B,GAAuC,EAAE,CAAC;QAExE,sBAAiB,GAAY,IAAI,CAAC;QAClC,kBAAa,GAAY,IAAI,CAAC;QAC9B,gCAA2B,GAAgC,EAAE,CAAC;IA8axE,CAAC;IA5aC,MAAM,CAAC,eAAe,CAAC,IAAS,EAAE,OAAyB;QACzD,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,IAAI,OAAO,CAAC,WAAW,CAAC;QAEpD,IAAI,IAAA,cAAK,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,OAAO,KAAK,KAAK,EAAE;YACnD,OAAO,SAAS,CAAC;SAClB;QACD,OAAO,CAAC,IAAI,KAAK,CAAC,SAAS,kCAAO,OAAO,KAAE,OAAO,EAAE,KAAK,CAAC,OAAO,IAAG,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,KAAK,CAAC,OAAO,EAAE,CAAC;QAEhB,IAAI,CAAC,SAAS,EAAE,CAAC;QACjB,IAAI,CAAC,YAAY,EAAE,CAAC;QACpB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC/B,CAAC;IAES,kBAAkB,CAAC,WAAwE;QACnG,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE;YACnC,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE;gBAC/C,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;aACvD;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,sBAAsB,CAAC,WAA+C;QAC9E,MAAM,IAAI,GAAG,EAAE,CAAC;QAChB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE;YACpC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,wBAAwB,CAAC,MAAe;QAChD,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC;QAC3E,MAAM,kBAAkB,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC;QAC5E,OAAO;YACL,gBAAgB,EAAE;gBAChB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,gBAAgB;gBACtB,IAAI,EAAE,kBAAkB;gBACxB,IAAI,EAAE,gBAAgB;aACvB;YACD,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;YAC9C,MAAM,EAAE,CAAC,kBAAkB,EAAE,gBAAgB,CAAC;SAClB,CAAC;IACjC,CAAC;IAES,6BAA6B,CAAC,MAAe,EAAE,cAAsB;;QAC7E,MAAM,eAAe,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YACjE,IAAI,CAAC,IAAA,gBAAO,EAAC,IAAI,CAAC,2BAA2B,CAAC,cAAc,CAAC,EAAE,eAAe,CAAC,EAAE;gBAE/E,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,CAAC;gBAC7D,cAAc,CAAC,aAAa,CAAC,eAAsB,CAAC,CAAC;gBAQrD,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;gBAC7C,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;gBAC5C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;aAC/B;SACF;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,0BAAc,+BAC9B,MAAM,EAAE,IAAI,CAAC,YAAY,EACzB,UAAU,EAAE,IAAA,0BAAkB,EAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,KAAK,CAAC,IAC9C,eAAe,GACf,IAAI,CAAC,KAAK,EACb,CAAC;YACH,KAAK,CAAC,EAAE,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,EAAE,mCAAI,SAAS,IAAI,CAAC,EAAE,EAAE,CAAC;YAC/C,IAAI,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,KAAyB,CAAC,CAAC;YACnD,MAAM,EAAE,SAAS,GAAG,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;YAC5C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACvD,KAAK,CAAC,yBAAyB,CAC7B,CAAC,aAIA,EAAE,EAAE;gBACH,MAAM,EAAE,WAAW,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;gBAKnD,IACE,IAAI,CAAC,aAAa;oBAClB,CAAC,IAAI,CAAC,iBAAiB,IAAI,SAAS,KAAK,QAAQ,IAAI,WAAW,KAAK,iCAAY,CAAC,OAAO,CAAC,EAC1F;oBACA,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;iBACxD;gBAGD,IAAI,WAAW,KAAK,iCAAY,CAAC,OAAO,EAAE;oBACxC,IAAI,CAAC,iBAAiB,GAAG,KAAK,CAAC;iBAChC;gBACD,IAAI,WAAW,KAAK,iCAAY,CAAC,OAAO,EAAE;oBACxC,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;iBAC/B;gBAGD,IAAI,WAAW,KAAK,iCAAY,CAAC,UAAU,EAAE;oBAC3C,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;oBAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;iBAC/B;gBAED,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBACxC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;gBAE9C,IAAI,SAAS,GAAW,qBAAU,CAAC,WAAW,CAAC;gBAC/C,IAAI,WAAW,KAAK,iCAAY,CAAC,SAAS,IAAI,WAAW,KAAK,iCAAY,CAAC,SAAS,EAAE;oBACpF,SAAS,GAAG,qBAAU,CAAC,UAAU,CAAC;iBACnC;qBAAM,IAAI,WAAW,KAAK,iCAAY,CAAC,OAAO,IAAI,WAAW,KAAK,iCAAY,CAAC,OAAO,EAAE;oBACvF,SAAS,GAAG,qBAAU,CAAC,QAAQ,CAAC;iBACjC;qBAAM;oBACL,SAAS,GAAG,qBAAU,CAAC,WAAW,CAAC;iBACpC;gBAED,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE;oBACzB,KAAK,EAAE,IAAI;oBACX,KAAK,EAAE;wBAEL,WAAW;wBAEX,aAAa,EAAE,MAAM;wBAErB,WAAW,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,mBAAmB,CAAC;wBAE9D,cAAc,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,sBAAsB,CAAC;wBAExE,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,yBAAyB,CAAC;wBAExE,kBAAkB,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,4BAA4B,CAAC;wBAElF,kBAAkB,EAAE,IAAI,CAAC,mBAAmB;wBAE5C,qBAAqB,EAAE,IAAI,CAAC,sBAAsB;wBAElD,wBAAwB,EAAE,IAAI,CAAC,yBAAyB;wBAExD,2BAA2B,EAAE,IAAI,CAAC,4BAA4B;qBAC/D;iBACF,CAAC,CAAC;YACL,CAAC,CACF,CAAC;SACH;IACH,CAAC;IAEO,yBAAyB,CAAC,YAA+B;QAC/D,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,EAAE;YACxB,WAAW,CAAC,UAAU,GAAG,YAAY,CAAC,MAAM,CAAC;SAC9C;QACD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE;YAC5B,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAC;SAC5C;QACD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,KAAK,EAAE;YACvB,WAAW,CAAC,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;SACvC;QACD,IAAI,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,UAAU,EAAE;YAC5B,WAAW,CAAC,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC;SACnD;QACD,uCACK,IAAA,0BAAkB,EAAC,YAAY,CAAC,GAChC,WAAW,EACd;IACJ,CAAC;IAEO,aAAa,CAAC,WAAqB,EAAE,MAAe;QAE1D,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAW,EAAE,EAAE;YAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;YACtC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;gBACzE,OAAO;aACR;YACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;YACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE;;gBAChC,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;gBAUxC,IAAI,CAAA,MAAA,IAAI,CAAC,sBAAsB,0CAAG,EAAE,CAAC,GAAG,CAAC,KAAI,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,EAAE;oBAC/F,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,EAAE;wBAChD,IAAI,CAAC,mBAAmB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,GAAG,EAAE,CAAC;qBAClD;oBACD,IAAI,CAAC,mBAAmB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACzD,OAAO,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC5C;qBAAM,IACL,CAAA,MAAA,MAAA,IAAI,CAAC,mBAAmB,0CAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,0CAAG,EAAE,CAAC,GAAG,CAAC;oBACvD,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,CAAC,EACnD;oBACA,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;oBACnC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;oBACnC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBAC3D;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,WAAqB,EAAE,MAAe;QAChE,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE;gBAC5B,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAC7F,MAAM,aAAa,GAAG,CAAC,CAAC,SAAS,EAAE,CAAC,mBAAmB,EAAE,CAAC,CAAC,GAAG,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBAE7F,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,IAAW,EAAE,EAAE;oBAChD,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;oBACtC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;wBACzE,OAAO;qBACR;oBACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;oBACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE;;wBAChC,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;wBASxC,IACE,CAAA,MAAA,IAAI,CAAC,4BAA4B,0CAAG,EAAE,CAAC,GAAG,CAAC;4BAC3C,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAC5F;4BACA,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;4BAChC,IAAI,CAAC,IAAI,CAAC,yBAAyB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,EAAE;gCACtD,IAAI,CAAC,yBAAyB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,GAAG,EAAE,CAAC;6BACxD;4BACD,IAAI,CAAC,yBAAyB,CAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;4BAC/D,OAAO,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;yBAClD;6BAAM,IACL,CAAA,MAAA,MAAA,IAAI,CAAC,yBAAyB,0CAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,0CAAG,EAAE,CAAC,GAAG,CAAC;4BAC7D,CAAC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,aAAa,EAAE,CAAC,EAC7F;4BACA,WAAW,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;4BACnC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;4BACnC,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;yBAChD;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;aACJ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,mBAAmB,CAAC,SAAmB,EAAE,IAAc,EAAE,YAAyC;;QACxG,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,iBAAiB,CAAA,IAAI,CAAC,CAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,MAAM,CAAA,EAAE;YAClE,OAAO,KAAK,CAAC;SACd;QAGD,MAAM,MAAM,GAAG,MAAA,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,SAAS,0CAAE,MAAM,mCAAI,EAAE,CAAC;QAClD,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC,iBAAiB,CAAC;QAEzD,MAAM,EAAE,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,KAAI,CAAC,CAAC;QACjC,MAAM,EAAE,GAAG,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,EAAE,KAAI,CAAC,CAAC;QAEjC,MAAM,WAAW,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAa,EAAE,EAAE;YAC/C,OAAO;gBACL,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC7B,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE;aAC9B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,MAAM,sBAAsB,GAAG,SAAS,CAAC,gBAAgB;aACtD,KAAK,EAAE;aACP,GAAG,CACF,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAClC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAClC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,EAClC,SAAS,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,CACnC,CAAC;QAGJ,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACnC,MAAM,CAAC,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;QAGnC,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;YAC1B,OAAO,sBAAsB,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,IAAA,4BAAmB,EAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;SACxF;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE;YAC/B,MAAM,EAAE,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,SAAkC,CAAC;YAC3E,MAAM,UAAU,GAAG;gBACjB;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC,GAAG,KAAK;oBACZ,CAAC,EAAE,CAAC;iBACL;gBACD;oBACE,CAAC,EAAE,CAAC,GAAG,KAAK;oBACZ,CAAC,EAAE,CAAC,GAAG,MAAM;iBACd;gBACD;oBACE,CAAC,EAAE,CAAC;oBACJ,CAAC,EAAE,CAAC,GAAG,MAAM;iBACd;aACF,CAAC;YACF,OAAO,IAAA,gCAAuB,EAAC,WAAW,EAAE,UAAU,CAAC,CAAC;SACzD;QACD,OAAO,SAAS,CAAC,gBAAgB,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACtE,CAAC;IAES,YAAY;QACpB,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE;YACnE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;SACtD;QACD,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAC5D,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAC1B,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,CAC9B,CAAC;IACJ,CAAC;IAES,iBAAiB;QACzB,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;YACrF,OAAO;SACR;QACD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,wBAAwB,CACxD,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,EACnC,IAAA,cAAK,EAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CACvC,CAAC;IACJ,CAAC;IAEO,qBAAqB;QAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QAC3C,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAChC,MAAM,QAAQ,GAAY,EAAE,CAAC;YAC7B,CAAC,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;gBACnC,IACE,CAAC,YAAY,IAAI,IAAA,cAAK,EAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBACxD,CAAC,WAAW,IAAI,IAAA,cAAK,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC;oBAC9D,CAAC,CAAC,WAAW,IAAI,CAAC,YAAY,CAAC,EAC/B;oBACA,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC,CAAC;iBAC3C;gBACD,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC;YACjC,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YAC7B,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,mBAAmB,EAAE,CAAC;QACtD,CAAC,CAAC,CAAC;IACL,CAAC;IAES,mBAAmB,CAAC,cAAsB,EAAE,SAAiB;;QACrE,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;YAC7C,IAAI,KAAK,KAAK,cAAc,EAAE;gBAC5B,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,cAAc,EAAE,CAAC;aACpC;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,yBAAyB,GAAG,EAAE,CAAC;QACpC,IAAI,CAAC,4BAA4B,GAAG,EAAE,CAAC;QAEvC,MAAM,eAAe,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,OAAO,CAAC,CAAC;QAC5E,MAAM,kBAAkB,GAAG,IAAI,CAAC,yBAAyB,CAAC,MAAA,IAAI,CAAC,KAAK,0CAAE,UAAU,CAAC,CAAC;QAClF,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,OAAO,CAAC,CAAC,CAAU,EAAE,EAAE;YACjD,CAAC,CAAC,mBAAmB,EAAE,CAAC,OAAO,CAAC,CAAC,IAAW,EAAE,EAAE;gBAC9C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;gBACtC,IAAI,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAM,EAAE;oBACzE,OAAO;iBACR;gBACD,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC;gBACtC,QAAQ,CAAC,OAAO,CAAC,CAAC,EAAY,EAAE,EAAE;oBAChC,MAAM,WAAW,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC;oBAExC,WAAW,CAAC,UAAU,GAAG,CAAC,SAAiB,EAAE,EAAE;wBAC7C,IAAI,SAAS,KAAK,SAAS,EAAE;4BAC3B,OAAO,eAAe,CAAC;yBACxB;wBACD,IAAI,SAAS,KAAK,YAAY,EAAE;4BAC9B,OAAO,kBAAkB,CAAC;yBAC3B;wBACD,OAAO;oBACT,CAAC,CAAC;oBAEF,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAChC,IAAI,CAAC,sBAAsB,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBACzC,IAAI,CAAC,4BAA4B,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;gBACjD,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAES,SAAS;IAEnB,CAAC;IACD,QAAQ,CAAC,GAAuB;IAEhC,CAAC;IACD,aAAa,CAAC,OAAkB;IAEhC,CAAC;IAED,WAAW,CAAC,GAAQ;;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,MAAM,YAAY,GAAG,MAAA,IAAI,CAAC,KAAK,CAAC,OAAO,mCAAI,IAAI,CAAC;QAChD,IAAI,YAAY,EAAE;YAEhB,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAe,EAAE,KAAa,EAAE,EAAE;gBAC/D,IAAI,CAAC,6BAA6B,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;IACH,CAAC;;AAxcH,sBAycC;AAvcQ,UAAI,GAAG,6BAAiB,CAAC,KAAK,CAAC;AAM/B,aAAO,GAAG,SAAS,CAAC","file":"brush.js","sourcesContent":["import { ChartEvent, LayoutZIndex } from '../../constant';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { Brush as BrushComponent, IOperateType } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, polygonContainPoint, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IGraphic, INode, IPolygon, IRectGraphicAttribute } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { BrushInteractiveRangeAttr, IBrush, selectedItemStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\nexport class Brush extends BaseComponent implements IBrush {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.Brush;\n\n static speckey = 'inBrush';\n\n // brush组件\n protected _brushComponents: BrushComponent[] = [];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n private _needInitOutState: boolean = true;\n private _isFristState: boolean = true;\n private _cacheInteractiveRangeAttrs: BrushInteractiveRangeAttr[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n const brushSpec = spec.brush || options.defaultSpec;\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [new Brush(brushSpec, { ...options, specKey: Brush.speckey })];\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push(elementsMap[brushName][elementKey].data[0]);\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _getBrushInteractiveAttr(region: IRegion) {\n const seriesRegionStartX = region.getLayoutStartPoint().x;\n const seriesRegionEndX = seriesRegionStartX + region.getLayoutRect().width;\n const seriesRegionStartY = region.getLayoutStartPoint().y;\n const seriesRegionEndY = seriesRegionStartY + region.getLayoutRect().height;\n return {\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY]\n } as BrushInteractiveRangeAttr;\n }\n\n protected _createOrUpdateBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n if (this._brushComponents.length === this._relativeRegions.length) {\n if (!isEqual(this._cacheInteractiveRangeAttrs[componentIndex], interactiveAttr)) {\n // 布局变化后, 更新可交互范围\n const brushComponent = this._brushComponents[componentIndex];\n brushComponent.setAttributes(interactiveAttr as any);\n\n // 布局变化后, 更新brush 和 图元状态\n // 方案一:\n // TODO: 更新mask位置(保持选框在画布中的相对位置)\n // TODO: 是否更新mask大小有待商榷(保持选框位置和图元高亮区域一致)\n\n // 方案二: 清空brushMask 和 图元高亮状态\n this._initMarkBrushState(componentIndex, '');\n brushComponent.children[0].removeAllChild();\n this._needInitOutState = true;\n }\n } else {\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n ...interactiveAttr,\n ...this._spec\n });\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n const { brushMode = 'single' } = this._spec;\n this._brushComponents.push(brush);\n this._cacheInteractiveRangeAttrs.push(interactiveAttr);\n brush.setUpdateDragMaskCallback(\n (operateParams: {\n operateType: string;\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n }) => {\n const { operateType, operateMask } = operateParams;\n\n // 需要重置out状态的情况:\n // 1. _isFristState: 组件第一次创建时, 前提是有 VGrammarMark, 目前只找到这个时机, 为了标记是否执行过, 添加_isFristState来识别\n // 2. _needInitOutState:框选模式为'single' 且 开始后的第一次drawing时(这里不选择drawStart而选择第一次触发drawing的时机是因为点击空白处也会触发drawStart), 需要重置图元状态\n if (\n this._isFristState ||\n (this._needInitOutState && brushMode === 'single' && operateType === IOperateType.drawing)\n ) {\n this._initMarkBrushState(componentIndex, 'outOfBrush');\n }\n\n // 下面的步骤是为了标记出第一次drawing状态的\n if (operateType === IOperateType.drawing) {\n this._needInitOutState = false;\n }\n if (operateType === IOperateType.drawEnd) {\n this._needInitOutState = true;\n }\n\n // 需要重置初始状态的情况:点击空白处clear所有状态\n if (operateType === IOperateType.brushClear) {\n this._initMarkBrushState(componentIndex, '');\n this._needInitOutState = true;\n }\n\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n let eventType: string = ChartEvent.brushChange;\n if (operateType === IOperateType.drawStart || operateType === IOperateType.moveStart) {\n eventType = ChartEvent.brushStart;\n } else if (operateType === IOperateType.drawEnd || operateType === IOperateType.moveEnd) {\n eventType = ChartEvent.brushEnd;\n } else {\n eventType = ChartEvent.brushChange;\n }\n\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n );\n }\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[el.key] && this._isBrushContainItem(operateMask, graphicItem)) {\n graphicItem.addState('inBrush');\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._outOfBrushElementsMap[el.key];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._outOfBrushElementsMap[el.key] = el;\n delete this._inBrushElementsMap[operateMask.name][el.key];\n }\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const regionOffsetX = s.getRegion().getLayoutStartPoint().x - region.getLayoutStartPoint().x;\n const regionOffsetY = s.getRegion().getLayoutStartPoint().y - region.getLayoutStartPoint().y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[el.key] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.addState('inBrush');\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._linkedOutOfBrushElementsMap[el.key];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._linkedOutOfBrushElementsMap[el.key] = el;\n }\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (item.type === 'symbol') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (item.type === 'rect') {\n const { width = 0, height = 0 } = item?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId)) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n allMarks.push(...s.getMarksWithoutRoot());\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number, stateName: string) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.outOfBrush);\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 注册状态\n graphicItem.stateProxy = (stateName: string) => {\n if (stateName === 'inBrush') {\n return inBrushMarkAttr;\n }\n if (stateName === 'outOfBrush') {\n return outOfBrushMarkAttr;\n }\n return;\n };\n // 所有图元置为out brush状态\n graphicItem.addState(stateName);\n this._outOfBrushElementsMap[el.key] = el;\n this._linkedOutOfBrushElementsMap[el.key] = el;\n });\n });\n });\n this._isFristState = false;\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建或更新marker组件\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createOrUpdateBrushComponent(region, index);\n });\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/brush/brush.ts"],"names":[],"mappings":"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","file":"brush.js","sourcesContent":["import { ChartEvent, LayoutZIndex } from '../../constant';\nimport type { LayoutItem } from '../../model/layout-item';\nimport { BaseComponent } from '../base';\nimport type { IComponentOption } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { ComponentTypeEnum } from '../interface';\nimport { Brush as BrushComponent, IOperateType } from '@visactor/vrender-components';\nimport type { IBounds, IPointLike } from '@visactor/vutils';\n// eslint-disable-next-line no-duplicate-imports\nimport { array, polygonContainPoint, isNil, polygonIntersectPolygon, isValid } from '@visactor/vutils';\nimport type { IModelRenderOption } from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { IGraphic, INode, IPolygon, IRectGraphicAttribute } from '@visactor/vrender';\nimport { transformToGraphic } from '../../util/style';\nimport type { ISeries } from '../../series/interface';\nimport type { IMark } from '../../mark/interface';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { BrushInteractiveRangeAttr, IBrush, IBrushSpec, selectedItemStyle } from './interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { isEqual } from '@visactor/vutils';\n\nexport class Brush extends BaseComponent<IBrushSpec> implements IBrush {\n layoutType: LayoutItem['layoutType'] = 'absolute';\n static type = ComponentTypeEnum.brush;\n type = ComponentTypeEnum.brush;\n name: string = ComponentTypeEnum.brush;\n\n layoutZIndex: LayoutItem['layoutZIndex'] = LayoutZIndex.Brush;\n\n static speckey = 'inBrush';\n\n // brush组件\n protected _brushComponents: BrushComponent[] = [];\n protected _relativeRegions!: IRegion[];\n protected _linkedSeries: ISeries[] = [];\n\n private _itemMap: { [regionId: string | number]: IMark[] } = {};\n private _linkedItemMap: { [seriesId: string | number]: IMark[] } = {};\n\n // 用brushName做分组管理的原因是: 如果有多个brush, 某个图元A brush内, 但在B brush外, 该图元state会被B误变成out of brush。 但其实该图元只有在A brush外才能被判断out of brush\n // 用dict做存储因为方便查找和删减对应图元\n protected _inBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _outOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n protected _linkedInBrushElementsMap: { [brushName: string]: { [elementKey: string]: IElement } } = {};\n protected _linkedOutOfBrushElementsMap: { [elementKey: string]: IElement } = {};\n\n private _needInitOutState: boolean = true;\n private _isFristState: boolean = true;\n private _cacheInteractiveRangeAttrs: BrushInteractiveRangeAttr[] = [];\n\n static createComponent(spec: any, options: IComponentOption) {\n const brushSpec = spec.brush || options.defaultSpec;\n // brush不支持数组的形式配置\n if (isNil(brushSpec) || brushSpec.visible === false) {\n return undefined;\n }\n return [new Brush(brushSpec, { ...options, specKey: Brush.speckey })];\n }\n\n created() {\n super.created();\n // event\n this.initEvent();\n this._bindRegions();\n this._bindLinkedSeries();\n this._initNeedOperatedItem();\n }\n\n protected _extendDataInBrush(elementsMap: { [brushName: string]: { [elementKey: string]: IElement } }) {\n const data = [];\n for (const brushName in elementsMap) {\n for (const elementKey in elementsMap[brushName]) {\n data.push(elementsMap[brushName][elementKey].data[0]);\n }\n }\n return data;\n }\n\n protected _extendDatumOutOfBrush(elementsMap: { [elementKey: string]: IElement }) {\n const data = [];\n for (const elementKey in elementsMap) {\n data.push(elementsMap[elementKey].data[0]);\n }\n return data;\n }\n\n protected _getBrushInteractiveAttr(region: IRegion) {\n const seriesRegionStartX = region.getLayoutStartPoint().x;\n const seriesRegionEndX = seriesRegionStartX + region.getLayoutRect().width;\n const seriesRegionStartY = region.getLayoutStartPoint().y;\n const seriesRegionEndY = seriesRegionStartY + region.getLayoutRect().height;\n return {\n interactiveRange: {\n minY: seriesRegionStartY,\n maxY: seriesRegionEndY,\n minX: seriesRegionStartX,\n maxX: seriesRegionEndX\n },\n xRange: [seriesRegionStartX, seriesRegionEndX],\n yRange: [seriesRegionStartY, seriesRegionEndY]\n } as BrushInteractiveRangeAttr;\n }\n\n protected _createOrUpdateBrushComponent(region: IRegion, componentIndex: number) {\n const interactiveAttr = this._getBrushInteractiveAttr(region);\n if (this._brushComponents.length === this._relativeRegions.length) {\n if (!isEqual(this._cacheInteractiveRangeAttrs[componentIndex], interactiveAttr)) {\n // 布局变化后, 更新可交互范围\n const brushComponent = this._brushComponents[componentIndex];\n brushComponent.setAttributes(interactiveAttr as any);\n\n // 布局变化后, 更新brush 和 图元状态\n // 方案一:\n // TODO: 更新mask位置(保持选框在画布中的相对位置)\n // TODO: 是否更新mask大小有待商榷(保持选框位置和图元高亮区域一致)\n\n // 方案二: 清空brushMask 和 图元高亮状态\n this._initMarkBrushState(componentIndex, '');\n brushComponent.children[0].removeAllChild();\n this._needInitOutState = true;\n }\n } else {\n const brush = new BrushComponent({\n zIndex: this.layoutZIndex,\n brushStyle: transformToGraphic(this._spec?.style),\n ...interactiveAttr,\n ...this._spec\n });\n brush.id = this._spec.id ?? `brush-${this.id}`;\n this.getContainer().add(brush as unknown as INode);\n const { brushMode = 'single' } = this._spec;\n this._brushComponents.push(brush);\n this._cacheInteractiveRangeAttrs.push(interactiveAttr);\n brush.setUpdateDragMaskCallback(\n (operateParams: {\n operateType: string;\n operateMask: IPolygon;\n operatedMaskAABBBounds: { [name: string]: IBounds };\n }) => {\n const { operateType, operateMask } = operateParams;\n\n // 需要重置out状态的情况:\n // 1. _isFristState: 组件第一次创建时, 前提是有 VGrammarMark, 目前只找到这个时机, 为了标记是否执行过, 添加_isFristState来识别\n // 2. _needInitOutState:框选模式为'single' 且 开始后的第一次drawing时(这里不选择drawStart而选择第一次触发drawing的时机是因为点击空白处也会触发drawStart), 需要重置图元状态\n if (\n this._isFristState ||\n (this._needInitOutState && brushMode === 'single' && operateType === IOperateType.drawing)\n ) {\n this._initMarkBrushState(componentIndex, 'outOfBrush');\n }\n\n // 下面的步骤是为了标记出第一次drawing状态的\n if (operateType === IOperateType.drawing) {\n this._needInitOutState = false;\n }\n if (operateType === IOperateType.drawEnd) {\n this._needInitOutState = true;\n }\n\n // 需要重置初始状态的情况:点击空白处clear所有状态\n if (operateType === IOperateType.brushClear) {\n this._initMarkBrushState(componentIndex, '');\n this._needInitOutState = true;\n }\n\n this._reconfigItem(operateMask, region);\n this._reconfigLinkedItem(operateMask, region);\n\n let eventType: string = ChartEvent.brushChange;\n if (operateType === IOperateType.drawStart || operateType === IOperateType.moveStart) {\n eventType = ChartEvent.brushStart;\n } else if (operateType === IOperateType.drawEnd || operateType === IOperateType.moveEnd) {\n eventType = ChartEvent.brushEnd;\n } else {\n eventType = ChartEvent.brushChange;\n }\n\n this.event.emit(eventType, {\n model: this,\n value: {\n // 操作类型\n operateType,\n // 正在操作的region\n operateRegion: region,\n // 在选框内的 element data\n inBrushData: this._extendDataInBrush(this._inBrushElementsMap),\n // 在选框外的 element data\n outOfBrushData: this._extendDatumOutOfBrush(this._outOfBrushElementsMap),\n // 被链接的系列中:在选框内的 element data\n linkInBrushData: this._extendDataInBrush(this._linkedInBrushElementsMap),\n // 被链接的系列中:在选框外的 element data\n linkOutOfBrushData: this._extendDatumOutOfBrush(this._linkedOutOfBrushElementsMap),\n // 在选框内的 vgrammar elements\n inBrushElementsMap: this._inBrushElementsMap,\n // 在选框外的 vgrammar elements\n outOfBrushElementsMap: this._outOfBrushElementsMap,\n // 被链接的系列中:在选框内的 vgrammar elements\n linkedInBrushElementsMap: this._linkedInBrushElementsMap,\n // 被链接的系列中:在选框外的 vgrammar elements\n linkedOutOfBrushElementsMap: this._linkedOutOfBrushElementsMap\n }\n });\n }\n );\n }\n }\n\n private _transformBrushedMarkAttr(brushedStyle: selectedItemStyle) {\n const styleResult: any = {};\n if (brushedStyle?.symbol) {\n styleResult.symbolType = brushedStyle.symbol;\n }\n if (brushedStyle?.symbolSize) {\n styleResult.size = brushedStyle.symbolSize;\n }\n if (brushedStyle?.color) {\n styleResult.fill = brushedStyle.color;\n }\n if (brushedStyle?.colorAlpha) {\n styleResult.fillOpacity = brushedStyle.colorAlpha;\n }\n return {\n ...transformToGraphic(brushedStyle),\n ...styleResult\n };\n }\n\n private _reconfigItem(operateMask: IPolygon, region: IRegion) {\n // 遍历图元, 更新状态\n this._itemMap[region.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (this._outOfBrushElementsMap?.[el.key] && this._isBrushContainItem(operateMask, graphicItem)) {\n graphicItem.addState('inBrush');\n if (!this._inBrushElementsMap[operateMask?.name]) {\n this._inBrushElementsMap[operateMask?.name] = {};\n }\n this._inBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._outOfBrushElementsMap[el.key];\n } else if (\n this._inBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem)\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._outOfBrushElementsMap[el.key] = el;\n delete this._inBrushElementsMap[operateMask.name][el.key];\n }\n });\n });\n }\n\n private _reconfigLinkedItem(operateMask: IPolygon, region: IRegion) {\n const seriesId = region.getSeries().map(s => s.id);\n this._linkedSeries.forEach((s: ISeries) => {\n if (!seriesId.includes(s.id)) {\n const regionOffsetX = s.getRegion().getLayoutStartPoint().x - region.getLayoutStartPoint().x;\n const regionOffsetY = s.getRegion().getLayoutStartPoint().y - region.getLayoutStartPoint().y;\n\n this._linkedItemMap[s.id].forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 判断逻辑:\n // 应该被置为inBrush状态的图元:\n // before: 在out brush elment map, 即不在任何brush中\n // now: 在当前brush图元中\n\n // 应该被置为outOfBrush状态的图元:\n // before: 在当前brush 的 in brush element map中, 即在当前brush中\n // now: 不在当前brush中\n if (\n this._linkedOutOfBrushElementsMap?.[el.key] &&\n this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.addState('inBrush');\n if (!this._linkedInBrushElementsMap[operateMask?.name]) {\n this._linkedInBrushElementsMap[operateMask?.name] = {};\n }\n this._linkedInBrushElementsMap[operateMask?.name][el.key] = el;\n delete this._linkedOutOfBrushElementsMap[el.key];\n } else if (\n this._linkedInBrushElementsMap?.[operateMask?.name]?.[el.key] &&\n !this._isBrushContainItem(operateMask, graphicItem, { dx: regionOffsetX, dy: regionOffsetY })\n ) {\n graphicItem.removeState('inBrush');\n graphicItem.addState('outOfBrush');\n this._linkedOutOfBrushElementsMap[el.key] = el;\n }\n });\n });\n }\n });\n }\n\n private _isBrushContainItem(brushMask: IPolygon, item: IGraphic, linkedOffset?: { dx: number; dy: number }) {\n if (!brushMask?.globalTransMatrix || !brushMask?.attribute?.points) {\n return false;\n }\n\n // 根据变换矩阵得到brushMask的实际坐标\n const points = brushMask?.attribute?.points ?? [];\n const { a, b, c, d, e, f } = brushMask.globalTransMatrix;\n\n const dx = linkedOffset?.dx || 0;\n const dy = linkedOffset?.dy || 0;\n\n const pointsCoord = points.map((p: IPointLike) => {\n return {\n x: a * p.x + c * p.y + e + dx,\n y: b * p.x + d * p.y + f + dy\n };\n });\n\n const globalAABBBoundsOffset = brushMask.globalAABBBounds\n .clone()\n .set(\n brushMask.globalAABBBounds.x1 + dx,\n brushMask.globalAABBBounds.y1 + dy,\n brushMask.globalAABBBounds.x2 + dx,\n brushMask.globalAABBBounds.y2 + dy\n );\n\n // 根据变换矩阵得到item的实际坐标\n const x = item.globalTransMatrix.e;\n const y = item.globalTransMatrix.f;\n\n // brush与图表图元进行相交 或 包含判断\n if (item.type === 'symbol') {\n return globalAABBBoundsOffset.contains(x, y) && polygonContainPoint(pointsCoord, x, y);\n } else if (item.type === 'rect') {\n const { width = 0, height = 0 } = item?.attribute as IRectGraphicAttribute;\n const pointsRect = [\n {\n x: x,\n y: y\n },\n {\n x: x + width,\n y: y\n },\n {\n x: x + width,\n y: y + height\n },\n {\n x: x,\n y: y + height\n }\n ];\n return polygonIntersectPolygon(pointsCoord, pointsRect);\n }\n return brushMask.globalAABBBounds.intersects(item.globalAABBBounds);\n }\n\n protected _bindRegions() {\n if (isValid(this._spec.regionId) && isValid(this._spec.regionIndex)) {\n this._relativeRegions = this._option.getAllRegions();\n }\n this._relativeRegions = this._option.getRegionsInUserIdOrIndex(\n array(this._spec.regionId),\n array(this._spec.regionIndex)\n );\n }\n\n protected _bindLinkedSeries() {\n if (isValid(this._spec.brushLinkSeriesId) && isValid(this._spec.brushLinkSeriesIndex)) {\n return;\n }\n this._linkedSeries = this._option.getSeriesInUserIdOrIndex(\n array(this._spec.brushLinkSeriesId),\n array(this._spec.brushLinkSeriesIndex)\n );\n }\n\n private _initNeedOperatedItem() {\n const seriesUserId = this._spec.seriesId;\n const seriesIndex = this._spec.seriesIndex;\n this._relativeRegions.forEach(r => {\n const allMarks: IMark[] = [];\n r.getSeries().forEach((s: ISeries) => {\n if (\n (seriesUserId && array(seriesUserId).includes(s.userId.toString())) ||\n (seriesIndex && array(seriesIndex).includes(s.getSpecIndex())) ||\n (!seriesIndex && !seriesUserId)\n ) {\n allMarks.push(...s.getMarksWithoutRoot());\n }\n this._itemMap[r.id] = allMarks;\n });\n });\n\n this._linkedSeries.forEach(s => {\n this._linkedItemMap[s.id] = s.getMarksWithoutRoot();\n });\n }\n\n protected _initMarkBrushState(componentIndex: number, stateName: string) {\n this._brushComponents.forEach((brush, index) => {\n if (index !== componentIndex) {\n brush.children[0].removeAllChild();\n }\n });\n\n this._inBrushElementsMap = {};\n this._outOfBrushElementsMap = {};\n this._linkedInBrushElementsMap = {};\n this._linkedOutOfBrushElementsMap = {};\n\n const inBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.inBrush);\n const outOfBrushMarkAttr = this._transformBrushedMarkAttr(this._spec?.outOfBrush);\n this._option.getAllSeries().forEach((s: ISeries) => {\n s.getMarksWithoutRoot().forEach((mark: IMark) => {\n const grammarMark = mark.getProduct();\n if (!grammarMark || !grammarMark.elements || !grammarMark.elements.length) {\n return;\n }\n const elements = grammarMark.elements;\n elements.forEach((el: IElement) => {\n const graphicItem = el.getGraphicItem();\n // 注册状态\n graphicItem.stateProxy = (stateName: string) => {\n if (stateName === 'inBrush') {\n return inBrushMarkAttr;\n }\n if (stateName === 'outOfBrush') {\n return outOfBrushMarkAttr;\n }\n return;\n };\n // 所有图元置为out brush状态\n graphicItem.addState(stateName);\n this._outOfBrushElementsMap[el.key] = el;\n this._linkedOutOfBrushElementsMap[el.key] = el;\n });\n });\n });\n this._isFristState = false;\n }\n\n protected initEvent() {\n // do nothing\n }\n onRender(ctx: IModelRenderOption): void {\n // do nothing\n }\n changeRegions(regions: IRegion[]): void {\n // do nothing\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n const brushVisible = this._spec.visible ?? true;\n if (brushVisible) {\n // 创建或更新marker组件\n this._relativeRegions.forEach((region: IRegion, index: number) => {\n this._createOrUpdateBrushComponent(region, index);\n });\n }\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n /**\n * brush选框的大小阈值\n * @default 5\n * @since 1.2.0\n */\n sizeThreshold?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport type BrushInteractiveRangeAttr = {\n interactiveRange: {\n minY: number;\n maxY: number;\n minX: number;\n maxX: number;\n };\n xRange: [number, number];\n yRange: [number, number];\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/brush/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { SymbolType } from '@visactor/vrender';\nimport type { IPolygonMarkSpec } from '../../typings';\nimport type { IComponent } from '../interface';\n\nexport type IBrush = IComponent;\n\ninterface IBrushDataBindSpec {\n /**\n * 可刷取的regionIndex\n */\n regionIndex?: number | number[]; // 默认为所有region\n /**\n * 可刷取的regionId\n */\n regionId?: string | string[]; // 默认为所有region\n /**\n * 可刷取的seriesIndex\n */\n seriesIndex?: number | number[]; // 默认为所有系列\n /**\n * 可刷取的seriesId\n */\n seriesId?: string | string[]; // 默认为所有系列\n /**\n * 刷取联动的seriesIndex\n */\n brushLinkSeriesIndex?: number | number[]; // 默认无系列\n /**\n * 刷取联动的seriesId\n */\n brushLinkSeriesId?: string | string[]; // 默认无系列\n}\n\nexport interface IBrushTheme {\n /**\n * brush 的框选样式\n */\n style?: Partial<IPolygonMarkSpec>;\n\n /**\n * 框选范围内的图元样式\n */\n inBrush?: selectedItemStyle;\n /**\n * 框选范围外的图元样式\n */\n outOfBrush?: selectedItemStyle;\n /**\n * 框选模式\n * @default 'single'\n */\n brushMode?: IBrushMode;\n /**\n * 框选类型\n * @default 'rect'\n */\n brushType?: IBrushType;\n /**\n * 是否可被平移\n * @default true\n */\n brushMoved?: boolean;\n /**\n * brushMode为'single'时,是否单击清除选框\n * @default true\n */\n removeOnClick?: boolean;\n /**\n * 事件触发延迟类型\n * @default 'throttle'\n */\n delayType?: IDelayType;\n /**\n * 事件触发延迟时长\n * @default 10\n */\n delayTime?: number;\n /**\n * brush选框的大小阈值\n * @default 5\n * @since 1.2.0\n */\n sizeThreshold?: number;\n}\n\nexport interface IBrushSpec extends IBrushTheme, IBrushDataBindSpec {\n /** 组件 id */\n id?: string;\n /**\n * 组件可见性\n * @default true\n */\n visible?: boolean;\n}\n\nexport type IBrushType = 'x' | 'y' | 'rect' | 'polygon';\nexport type IBrushMode = 'single' | 'multiple';\n\nexport type IDelayType = 'debounce' | 'throttle';\n\nexport type selectedItemStyle = {\n /**\n * 图元的图形类别\n */\n symbol?: SymbolType;\n /**\n * 图元的大小\n */\n symbolSize?: number;\n /**\n * 图元的颜色\n */\n color?: string;\n /**\n * 图元的颜色透明度\n */\n colorAlpha?: number;\n} & Partial<IPolygonMarkSpec>;\n\nexport type BrushInteractiveRangeAttr = {\n interactiveRange: {\n minY: number;\n maxY: number;\n minX: number;\n maxX: number;\n };\n xRange: [number, number];\n yRange: [number, number];\n};\n"]}
|