@visactor/vchart 1.7.1 → 1.7.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +1 -1
- package/build/index.js +17050 -13892
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +1 -0
- package/cjs/animation/utils.js +16 -8
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/bar/bar-3d.d.ts +2 -2
- package/cjs/chart/bar/bar-3d.js +2 -2
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +2 -5
- package/cjs/chart/base-chart.js +8 -46
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/cartesian/interface.d.ts +1 -1
- package/cjs/chart/cartesian/interface.js.map +1 -1
- package/cjs/chart/index.js +1 -2
- package/cjs/chart/interface/chart.d.ts +3 -3
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +1 -0
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/compile/compiler.js +2 -1
- package/cjs/compile/mark/compilable-mark.js +6 -9
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +2 -1
- package/cjs/component/axis/base-axis.js +5 -1
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/axis.js +5 -3
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js +2 -2
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/util/common.d.ts +0 -2
- package/cjs/component/axis/cartesian/util/common.js +2 -14
- package/cjs/component/axis/cartesian/util/common.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +1 -0
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +3 -1
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/interface/common.d.ts +2 -3
- package/cjs/component/axis/polar/interface/common.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +2 -7
- package/cjs/component/base/base-component.js +5 -5
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +1 -1
- package/cjs/component/brush/brush.js +1 -1
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +4 -5
- package/cjs/component/crosshair/base.js +38 -25
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/cartesian.d.ts +12 -35
- package/cjs/component/crosshair/cartesian.js +119 -110
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/config.d.ts +6 -0
- package/cjs/component/crosshair/config.js +8 -2
- package/cjs/component/crosshair/config.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +7 -3
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/crosshair/polar.d.ts +13 -55
- package/cjs/component/crosshair/polar.js +110 -83
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -1
- package/cjs/component/custom-mark/custom-mark.js +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +1 -1
- package/cjs/component/geo/geo-coordinate.js +1 -1
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/indicator/indicator.d.ts +1 -1
- package/cjs/component/indicator/indicator.js +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +1 -1
- package/cjs/component/label/base-label.js +1 -1
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/label.d.ts +1 -0
- package/cjs/component/label/label.js +7 -0
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/totalLabel.d.ts +1 -0
- package/cjs/component/label/totalLabel.js +7 -0
- package/cjs/component/label/totalLabel.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -1
- package/cjs/component/legend/base-legend.js +1 -1
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/continuous/interface.d.ts +1 -0
- package/cjs/component/legend/continuous/interface.js.map +1 -1
- package/cjs/component/legend/continuous/legend.js +5 -3
- package/cjs/component/legend/continuous/legend.js.map +1 -1
- package/cjs/component/map-label/component.d.ts +1 -1
- package/cjs/component/map-label/component.js +2 -2
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +23 -25
- package/cjs/component/marker/base-marker.js +40 -51
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +19 -9
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/cjs/component/marker/mark-area/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.d.ts +3 -2
- package/cjs/component/marker/mark-area/mark-area.js +12 -22
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/cjs/component/marker/mark-line/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.d.ts +4 -2
- package/cjs/component/marker/mark-line/mark-line.js +60 -60
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/cjs/component/marker/mark-point/interface/spec.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.d.ts +3 -2
- package/cjs/component/marker/mark-point/mark-point.js +15 -19
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/marker/utils.d.ts +13 -2
- package/cjs/component/marker/utils.js +108 -39
- package/cjs/component/marker/utils.js.map +1 -1
- package/cjs/component/player/player.d.ts +1 -1
- package/cjs/component/player/player.js +1 -1
- package/cjs/component/player/player.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -1
- package/cjs/component/title/title.js +1 -1
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +4 -3
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +5 -4
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/aggregation.d.ts +3 -3
- package/cjs/data/transforms/aggregation.js +5 -7
- package/cjs/data/transforms/aggregation.js.map +1 -1
- package/cjs/event/events/dimension/util/polar.js +2 -2
- package/cjs/event/events/dimension/util/polar.js.map +1 -1
- package/cjs/layout/layout3d/index.js +1 -1
- package/cjs/layout/layout3d/index.js.map +1 -1
- package/cjs/mark/base/base-mark.js +2 -5
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/model/base-model.d.ts +1 -1
- package/cjs/model/base-model.js +6 -38
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +2 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/region/region.js +4 -2
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/bar/bar.js +6 -11
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.js +12 -9
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +4 -12
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +2 -1
- package/cjs/series/gauge/gauge-pointer.js +16 -9
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.js +13 -1
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +2 -0
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/heatmap.js +4 -9
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/pie/pie.js +1 -1
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/range-column/range-column.js +7 -15
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/util/utils.d.ts +5 -0
- package/cjs/series/util/utils.js +18 -2
- package/cjs/series/util/utils.js.map +1 -1
- package/cjs/series/waterfall/waterfall.js +7 -11
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/theme/builtin/common/component/crosshair.js +0 -8
- package/cjs/theme/builtin/common/component/crosshair.js.map +1 -1
- package/cjs/typings/visual.d.ts +3 -2
- package/cjs/typings/visual.js.map +1 -1
- package/esm/animation/utils.d.ts +1 -0
- package/esm/animation/utils.js +12 -7
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/bar/bar-3d.d.ts +2 -2
- package/esm/chart/bar/bar-3d.js +3 -3
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/base-chart.d.ts +2 -5
- package/esm/chart/base-chart.js +8 -46
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/cartesian/interface.d.ts +1 -1
- package/esm/chart/cartesian/interface.js.map +1 -1
- package/esm/chart/index.js +1 -2
- package/esm/chart/interface/chart.d.ts +3 -3
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/sequence/sequence.js +1 -0
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/compile/compiler.js +2 -1
- package/esm/compile/mark/compilable-mark.js +6 -10
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +2 -1
- package/esm/component/axis/base-axis.js +5 -1
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -1
- package/esm/component/axis/cartesian/axis.js +5 -3
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js +1 -3
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/util/common.d.ts +0 -2
- package/esm/component/axis/cartesian/util/common.js +0 -11
- package/esm/component/axis/cartesian/util/common.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +1 -0
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js +3 -1
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/interface/common.d.ts +2 -3
- package/esm/component/axis/polar/interface/common.js.map +1 -1
- package/esm/component/base/base-component.d.ts +2 -7
- package/esm/component/base/base-component.js +5 -5
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +1 -1
- package/esm/component/brush/brush.js +1 -1
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +4 -5
- package/esm/component/crosshair/base.js +37 -25
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/cartesian.d.ts +12 -35
- package/esm/component/crosshair/cartesian.js +112 -103
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/config.d.ts +6 -0
- package/esm/component/crosshair/config.js +7 -0
- package/esm/component/crosshair/config.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +7 -3
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/crosshair/polar.d.ts +13 -55
- package/esm/component/crosshair/polar.js +110 -79
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -1
- package/esm/component/custom-mark/custom-mark.js +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js +1 -1
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +1 -1
- package/esm/component/geo/geo-coordinate.js +1 -1
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/indicator/indicator.d.ts +1 -1
- package/esm/component/indicator/indicator.js +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.d.ts +1 -1
- package/esm/component/label/base-label.js +1 -1
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/label.d.ts +1 -0
- package/esm/component/label/label.js +7 -0
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/totalLabel.d.ts +1 -0
- package/esm/component/label/totalLabel.js +7 -0
- package/esm/component/label/totalLabel.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -1
- package/esm/component/legend/base-legend.js +1 -1
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/continuous/interface.d.ts +1 -0
- package/esm/component/legend/continuous/interface.js.map +1 -1
- package/esm/component/legend/continuous/legend.js +5 -3
- package/esm/component/legend/continuous/legend.js.map +1 -1
- package/esm/component/map-label/component.d.ts +1 -1
- package/esm/component/map-label/component.js +2 -2
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +23 -25
- package/esm/component/marker/base-marker.js +42 -53
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +19 -9
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/interface/spec.d.ts +10 -12
- package/esm/component/marker/mark-area/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.d.ts +3 -2
- package/esm/component/marker/mark-area/mark-area.js +10 -22
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/interface/spec.d.ts +20 -9
- package/esm/component/marker/mark-line/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.d.ts +4 -2
- package/esm/component/marker/mark-line/mark-line.js +58 -54
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/interface/spec.d.ts +8 -6
- package/esm/component/marker/mark-point/interface/spec.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.d.ts +3 -2
- package/esm/component/marker/mark-point/mark-point.js +12 -20
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/marker/utils.d.ts +13 -2
- package/esm/component/marker/utils.js +103 -35
- package/esm/component/marker/utils.js.map +1 -1
- package/esm/component/player/player.d.ts +1 -1
- package/esm/component/player/player.js +1 -1
- package/esm/component/player/player.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -1
- package/esm/component/title/title.js +1 -1
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +4 -2
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +5 -4
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/aggregation.d.ts +3 -3
- package/esm/data/transforms/aggregation.js +6 -8
- package/esm/data/transforms/aggregation.js.map +1 -1
- package/esm/event/events/dimension/util/polar.js +2 -2
- package/esm/event/events/dimension/util/polar.js.map +1 -1
- package/esm/layout/layout3d/index.js +1 -1
- package/esm/layout/layout3d/index.js.map +1 -1
- package/esm/mark/base/base-mark.js +1 -4
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/model/base-model.d.ts +1 -1
- package/esm/model/base-model.js +6 -39
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +2 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/region/region.js +5 -1
- package/esm/region/region.js.map +1 -1
- package/esm/series/bar/bar.js +5 -9
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.js +10 -7
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +5 -11
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +2 -1
- package/esm/series/gauge/gauge-pointer.js +16 -9
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.js +13 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +2 -0
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/heatmap.js +4 -8
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/pie/pie.js +1 -1
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/range-column/range-column.js +6 -12
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/util/utils.d.ts +5 -0
- package/esm/series/util/utils.js +15 -0
- package/esm/series/util/utils.js.map +1 -1
- package/esm/series/waterfall/waterfall.js +6 -9
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/theme/builtin/common/component/crosshair.js +0 -8
- package/esm/theme/builtin/common/component/crosshair.js.map +1 -1
- package/esm/typings/visual.d.ts +3 -2
- package/esm/typings/visual.js.map +1 -1
- package/package.json +15 -15
|
@@ -15,4 +15,11 @@ export function getDefaultCrosshairTriggerEventByMode(mode) {
|
|
|
15
15
|
clickOut: "pointerleave"
|
|
16
16
|
} : null;
|
|
17
17
|
}
|
|
18
|
+
|
|
19
|
+
export var LayoutType;
|
|
20
|
+
|
|
21
|
+
!function(LayoutType) {
|
|
22
|
+
LayoutType[LayoutType.ALL = 3] = "ALL", LayoutType[LayoutType.HORIZONTAL = 2] = "HORIZONTAL",
|
|
23
|
+
LayoutType[LayoutType.VERTICAL = 1] = "VERTICAL", LayoutType[LayoutType.NONE = 0] = "NONE";
|
|
24
|
+
}(LayoutType || (LayoutType = {}));
|
|
18
25
|
//# sourceMappingURL=config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,qCAAqC,CAAC,IAAgB;IACpE,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAC5F,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACrD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC","file":"config.js","sourcesContent":["import type { RenderMode } from '../../typings/spec';\nimport { RenderModeEnum } from '../../typings/spec';\nimport { isMiniAppLikeMode, isMobileLikeMode } from '../../util';\n\nexport function getDefaultCrosshairTriggerEventByMode(mode: RenderMode) {\n if (mode === RenderModeEnum['desktop-browser'] || mode === RenderModeEnum['desktop-miniApp']) {\n return {\n click: 'pointertap',\n hover: 'pointermove',\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n return {\n click: 'tap',\n hover: ['pointerdown', 'pointermove'],\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n return null;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEjE,MAAM,UAAU,qCAAqC,CAAC,IAAgB;IACpE,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,iBAAiB,CAAC,EAAE;QAC5F,OAAO;YACL,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,aAAa;YACpB,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,IAAI,gBAAgB,CAAC,IAAI,CAAC,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE;QACrD,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,CAAC,aAAa,EAAE,aAAa,CAAC;YACrC,QAAQ,EAAE,cAAc;YACxB,QAAQ,EAAE,cAAc;SACzB,CAAC;KACH;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAN,IAAY,UAKX;AALD,WAAY,UAAU;IACpB,yCAAY,CAAA;IACZ,uDAAmB,CAAA;IACnB,mDAAiB,CAAA;IACjB,2CAAa,CAAA;AACf,CAAC,EALW,UAAU,KAAV,UAAU,QAKrB","file":"config.js","sourcesContent":["import type { RenderMode } from '../../typings/spec';\nimport { RenderModeEnum } from '../../typings/spec';\nimport { isMiniAppLikeMode, isMobileLikeMode } from '../../util';\n\nexport function getDefaultCrosshairTriggerEventByMode(mode: RenderMode) {\n if (mode === RenderModeEnum['desktop-browser'] || mode === RenderModeEnum['desktop-miniApp']) {\n return {\n click: 'pointertap',\n hover: 'pointermove',\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n if (isMobileLikeMode(mode) || isMiniAppLikeMode(mode)) {\n return {\n click: 'tap',\n hover: ['pointerdown', 'pointermove'],\n hoverOut: 'pointerleave',\n clickOut: 'pointerleave'\n };\n }\n\n return null;\n}\n\nexport enum LayoutType {\n ALL = 0b0011,\n HORIZONTAL = 0b0010,\n VERTICAL = 0b0001,\n NONE = 0b0000\n}\n"]}
|
|
@@ -25,10 +25,10 @@ export interface IPolarCrosshairSpec extends ICommonCrosshairSpec {
|
|
|
25
25
|
}
|
|
26
26
|
export interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {
|
|
27
27
|
visible: boolean;
|
|
28
|
-
line?: ICrosshairLineSpec | ICrosshairRectSpec
|
|
28
|
+
line?: ICrosshairLineSpec | Omit<ICrosshairRectSpec, 'width'>;
|
|
29
29
|
label?: ICrosshairLabelSpec;
|
|
30
30
|
}
|
|
31
|
-
export interface ICrosshairValueFieldSpec {
|
|
31
|
+
export interface ICrosshairValueFieldSpec extends ICrosshairDataBindSpec {
|
|
32
32
|
visible: boolean;
|
|
33
33
|
line?: ICrosshairLineSpec;
|
|
34
34
|
label?: ICrosshairLabelSpec;
|
|
@@ -42,10 +42,14 @@ export interface ICrosshairLineSpec {
|
|
|
42
42
|
smooth?: boolean;
|
|
43
43
|
style?: ICrosshairLineStyle;
|
|
44
44
|
}
|
|
45
|
+
export type ICrosshairRectWidthCallback = (axisSize: {
|
|
46
|
+
width: number;
|
|
47
|
+
height: number;
|
|
48
|
+
}, axis: IAxis) => number;
|
|
45
49
|
export interface ICrosshairRectSpec {
|
|
46
50
|
visible?: boolean;
|
|
47
51
|
type?: 'rect';
|
|
48
|
-
width?: number | string;
|
|
52
|
+
width?: number | string | ICrosshairRectWidthCallback;
|
|
49
53
|
style?: ICrosshairRectStyle;
|
|
50
54
|
}
|
|
51
55
|
export interface ICrosshairLabelSpec {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n hide?: () => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec extends IComponentSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none';\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairCategoryFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairCategoryFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairCategoryFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | ICrosshairRectSpec
|
|
1
|
+
{"version":3,"sources":["../src/component/crosshair/interface/spec.ts"],"names":[],"mappings":"","file":"spec.js","sourcesContent":["import type { IPadding, StringOrNumber, ILineMarkSpec, IRectMarkSpec, ITextMarkSpec } from '../../../typings';\nimport type { IAxis } from '../../axis/interface';\nimport type { IComponentSpec } from '../../base/interface';\nimport type { IComponent } from '../../interface';\n\nexport interface ICrossHair extends IComponent {\n clearAxisValue?: () => void;\n setAxisValue?: (v: StringOrNumber, axis: IAxis) => void;\n layoutByValue?: (v?: number) => void;\n hide?: () => void;\n}\n\nexport type CrossHairTrigger = 'click' | 'hover' | ['click', 'hover'];\n\nexport interface ICommonCrosshairSpec extends IComponentSpec {\n /**\n * 是否可以通过 点击 固定住一组 crosshair,也可以同时触发。\n * @default 'hover'\n */\n trigger?: CrossHairTrigger;\n /**\n * 隐藏crosshair的触发方式(目前仅支持和trigger一致的设置以及none)\n */\n triggerOff?: CrossHairTrigger | 'none';\n /**\n * crosshair 文本的显示层级\n */\n labelZIndex?: number;\n /**\n * crosshair 辅助图形的显示层级\n */\n gridZIndex?: number;\n}\n\nexport interface ICartesianCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 笛卡尔坐标系下 x 轴上 crosshair 配置\n */\n xField?: ICrosshairCategoryFieldSpec;\n /**\n * 笛卡尔坐标系下 y 轴上 crosshair 配置\n */\n yField?: ICrosshairCategoryFieldSpec;\n}\n\nexport interface IPolarCrosshairSpec extends ICommonCrosshairSpec {\n /**\n * 极坐标系下 categoryField 字段对应轴上的 crosshair 配置\n */\n categoryField?: ICrosshairCategoryFieldSpec;\n /**\n * 极坐标系下 valueField 字段对应轴上的 crosshair 配置\n */\n valueField?: ICrosshairValueFieldSpec;\n}\nexport interface ICrosshairCategoryFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec | Omit<ICrosshairRectSpec, 'width'>;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport interface ICrosshairValueFieldSpec extends ICrosshairDataBindSpec {\n /**\n * 是否可见\n */\n visible: boolean;\n /**\n * crosshair 辅助图形配置\n */\n line?: ICrosshairLineSpec;\n /**\n * crosshair 文本配置\n */\n label?: ICrosshairLabelSpec;\n}\n\nexport type ICrosshairLineStyle = Pick<\n ILineMarkSpec,\n 'stroke' | 'strokeOpacity' | 'opacity' | 'lineDash' | 'lineWidth'\n>;\nexport type ICrosshairRectStyle = ICrosshairLineStyle & Pick<IRectMarkSpec, 'fill' | 'fillOpacity' | 'cornerRadius'>;\n\nexport interface ICrosshairLineSpec {\n visible?: boolean;\n type?: 'line';\n /**\n * 线宽\n * @default 2\n */\n width?: number;\n /** 极坐标系下是否平滑 */\n smooth?: boolean;\n style?: ICrosshairLineStyle;\n}\n\nexport type ICrosshairRectWidthCallback = (axisSize: { width: number; height: number }, axis: IAxis) => number;\n\nexport interface ICrosshairRectSpec {\n visible?: boolean;\n type?: 'rect';\n /**\n * 字符串xx%表示此处是内容区间的百分比,数字表示宽度像素,\n * 仅支持笛卡尔坐标系下的 crosshair 配置\n * @default '100%''\n */\n width?: number | string | ICrosshairRectWidthCallback;\n style?: ICrosshairRectStyle;\n}\n\nexport interface ICrosshairLabelSpec {\n visible?: boolean;\n /**\n * label 文本格式化方法\n * @param text\n * @returns\n */\n formatMethod?: (text: StringOrNumber | string[]) => string | string[];\n /**\n * 文本样式配置\n */\n style?: Partial<ITextMarkSpec>;\n /**\n * 文本背景相关配置\n */\n labelBackground?: ICrosshairLabelBackgroundSpec;\n}\n\nexport interface ICrosshairLabelBackgroundSpec {\n /**\n * 是否显示背景,默认为 true\n */\n visible?: boolean;\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n /**\n * 内部边距\n */\n padding?: IPadding | number | number[];\n style?: Partial<IRectMarkSpec>;\n}\n\nexport interface ICrosshairDataBindSpec {\n /**\n * 声明 crosshair 绑定的轴索引,如果没有声明,则会默认绑定所有同 crosshair 位置相对应的轴。\n */\n bindingAxesIndex?: number[];\n /**\n * crosshair 初始化显示信息,通过该配置可在图表绘制时默认展示 crosshair 组件。\n */\n defaultSelect?: {\n /**\n * 声明要显示数据的轴索引\n */\n axisIndex: number;\n /**\n * 声明显示的数据\n */\n datum: StringOrNumber;\n };\n}\n\nexport type ICrosshairSpec = ICartesianCrosshairSpec | IPolarCrosshairSpec;\n"]}
|
|
@@ -1,80 +1,38 @@
|
|
|
1
1
|
import type { IComponentOption } from '../interface';
|
|
2
2
|
import { ComponentTypeEnum } from '../interface/type';
|
|
3
3
|
import type { IPolarCrosshairSpec } from './interface';
|
|
4
|
-
import type { IPolarAxis } from '../axis/polar/interface';
|
|
5
|
-
import type { IPoint, StringOrNumber } from '../../typings';
|
|
6
|
-
import type { IHair } from './base';
|
|
7
4
|
import { BaseCrossHair } from './base';
|
|
8
5
|
import type { IGraphic } from '@visactor/vrender-core';
|
|
9
|
-
type IBound = {
|
|
10
|
-
x1: number;
|
|
11
|
-
y1: number;
|
|
12
|
-
x2: number;
|
|
13
|
-
y2: number;
|
|
14
|
-
};
|
|
15
|
-
type IAxisInfo = Map<number, IBound & {
|
|
16
|
-
axis: IPolarAxis;
|
|
17
|
-
}>;
|
|
18
6
|
export declare class PolarCrossHair<T extends IPolarCrosshairSpec = IPolarCrosshairSpec> extends BaseCrossHair<T> {
|
|
19
7
|
static specKey: string;
|
|
20
8
|
specKey: string;
|
|
21
9
|
static type: ComponentTypeEnum;
|
|
22
10
|
type: ComponentTypeEnum;
|
|
23
11
|
name: string;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
v: StringOrNumber;
|
|
31
|
-
axis: IPolarAxis;
|
|
32
|
-
[key: string]: any;
|
|
33
|
-
}>;
|
|
34
|
-
xHair: IHair | undefined;
|
|
35
|
-
yHair: (IHair & {
|
|
36
|
-
smooth: boolean;
|
|
37
|
-
}) | undefined;
|
|
38
|
-
private _cacheXCrossHairInfo;
|
|
39
|
-
private _cacheYCrossHairInfo;
|
|
12
|
+
private _currValueAngle;
|
|
13
|
+
private _currValueRadius;
|
|
14
|
+
private _angleHair;
|
|
15
|
+
private _radiusHair;
|
|
16
|
+
private _cacheAngleCrossHairInfo;
|
|
17
|
+
private _cacheRadiusCrossHairInfo;
|
|
40
18
|
private _radiusCrosshair;
|
|
41
19
|
private _radiusLabelCrosshair;
|
|
42
20
|
private _angleCrosshair;
|
|
43
21
|
private _angleLabelCrosshair;
|
|
44
22
|
static createComponent(spec: any, options: IComponentOption): PolarCrossHair<any> | PolarCrossHair<IPolarCrosshairSpec>[];
|
|
45
23
|
constructor(spec: T, options: IComponentOption);
|
|
46
|
-
protected
|
|
24
|
+
protected _showDefaultCrosshairBySpec(): void;
|
|
25
|
+
private _defaultCrosshair;
|
|
47
26
|
hide(): void;
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
y1: number;
|
|
52
|
-
x2: number;
|
|
53
|
-
y2: number;
|
|
54
|
-
} & {
|
|
55
|
-
axis: IPolarAxis;
|
|
56
|
-
}>;
|
|
57
|
-
yAxisMap: Map<number, {
|
|
58
|
-
x1: number;
|
|
59
|
-
y1: number;
|
|
60
|
-
x2: number;
|
|
61
|
-
y2: number;
|
|
62
|
-
} & {
|
|
63
|
-
axis: IPolarAxis;
|
|
64
|
-
}>;
|
|
65
|
-
};
|
|
66
|
-
getAllAxisValues(axisMap: IAxisInfo, point: IPoint, currValue: Map<number, {
|
|
67
|
-
v: StringOrNumber;
|
|
68
|
-
axis: IPolarAxis;
|
|
69
|
-
[key: string]: any;
|
|
70
|
-
}>): boolean;
|
|
27
|
+
private _findAllAxisContains;
|
|
28
|
+
private _getAllAxisValues;
|
|
29
|
+
private _getValueByAxis;
|
|
71
30
|
protected _layoutCrosshair(relativeX: number, relativeY: number): void;
|
|
72
|
-
|
|
31
|
+
layoutByValue(tag?: number): void;
|
|
73
32
|
private _layoutVertical;
|
|
74
33
|
private _layoutHorizontal;
|
|
75
34
|
protected _parseFieldInfo(): void;
|
|
76
35
|
private _updateCrosshairLabel;
|
|
77
|
-
|
|
36
|
+
protected _getNeedClearVRenderComponents(): IGraphic[];
|
|
78
37
|
}
|
|
79
38
|
export declare const registerPolarCrossHair: () => void;
|
|
80
|
-
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var __rest = this && this.__rest || function(s, e) {
|
|
2
2
|
var t = {};
|
|
3
3
|
for (var p in s) Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0 && (t[p] = s[p]);
|
|
4
4
|
if (null != s && "function" == typeof Object.getOwnPropertySymbols) {
|
|
@@ -30,10 +30,7 @@ import { getAxisLabelOffset } from "../axis/util";
|
|
|
30
30
|
|
|
31
31
|
import { Factory } from "../../core/factory";
|
|
32
32
|
|
|
33
|
-
|
|
34
|
-
LayoutType[LayoutType.ALL = 3] = "ALL", LayoutType[LayoutType.HORIZONTAL = 2] = "HORIZONTAL",
|
|
35
|
-
LayoutType[LayoutType.VERTICAL = 1] = "VERTICAL", LayoutType[LayoutType.NONE = 0] = "NONE";
|
|
36
|
-
}(LayoutType || (LayoutType = {}));
|
|
33
|
+
import { LayoutType } from "./config";
|
|
37
34
|
|
|
38
35
|
export class PolarCrossHair extends BaseCrossHair {
|
|
39
36
|
static createComponent(spec, options) {
|
|
@@ -49,71 +46,104 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
49
46
|
}
|
|
50
47
|
constructor(spec, options) {
|
|
51
48
|
super(spec, options), this.specKey = "crosshair", this.type = ComponentTypeEnum.polarCrosshair,
|
|
52
|
-
this.name = ComponentTypeEnum.polarCrosshair, this.
|
|
49
|
+
this.name = ComponentTypeEnum.polarCrosshair, this._currValueAngle = new Map, this._currValueRadius = new Map;
|
|
53
50
|
}
|
|
54
|
-
|
|
55
|
-
this.
|
|
51
|
+
_showDefaultCrosshairBySpec() {
|
|
52
|
+
const {categoryField: categoryField, valueField: valueField} = this._spec;
|
|
53
|
+
if ((null == categoryField ? void 0 : categoryField.visible) && categoryField.defaultSelect) {
|
|
54
|
+
const {axisIndex: axisIndex, datum: datum} = categoryField.defaultSelect;
|
|
55
|
+
this._defaultCrosshair(axisIndex, datum, LayoutType.VERTICAL);
|
|
56
|
+
}
|
|
57
|
+
if ((null == valueField ? void 0 : valueField.visible) && valueField.defaultSelect) {
|
|
58
|
+
const {axisIndex: axisIndex, datum: datum} = valueField.defaultSelect;
|
|
59
|
+
this._defaultCrosshair(axisIndex, datum, LayoutType.HORIZONTAL);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
_defaultCrosshair(axisIndex, datum, tag) {
|
|
63
|
+
const axis = this._option.getComponentsByKey("axes").find((c => c.getSpecIndex() === axisIndex));
|
|
64
|
+
if (axis) {
|
|
65
|
+
if (tag === LayoutType.VERTICAL) {
|
|
66
|
+
this._currValueAngle.clear();
|
|
67
|
+
const polarCoord = {
|
|
68
|
+
angle: axis.valueToPosition(datum),
|
|
69
|
+
radius: axis.getOuterRadius()
|
|
70
|
+
}, canvasPosition = axis.coordToPoint(polarCoord);
|
|
71
|
+
this._currValueAngle.set(axisIndex, this._getValueByAxis(axis, canvasPosition));
|
|
72
|
+
} else {
|
|
73
|
+
this._currValueRadius.clear();
|
|
74
|
+
const polarCoord = {
|
|
75
|
+
angle: axis.startAngle,
|
|
76
|
+
radius: axis.valueToPosition(datum)
|
|
77
|
+
}, canvasPosition = axis.coordToPoint(polarCoord);
|
|
78
|
+
this._currValueRadius.set(axisIndex, this._getValueByAxis(axis, canvasPosition));
|
|
79
|
+
}
|
|
80
|
+
this.layoutByValue(LayoutType.ALL);
|
|
81
|
+
}
|
|
56
82
|
}
|
|
57
83
|
hide() {
|
|
58
84
|
this._radiusCrosshair && this._radiusCrosshair.hideAll(), this._radiusLabelCrosshair && this._radiusLabelCrosshair.hideAll(),
|
|
59
85
|
this._angleCrosshair && this._angleCrosshair.hideAll(), this._angleLabelCrosshair && this._angleLabelCrosshair.hideAll();
|
|
60
86
|
}
|
|
61
|
-
|
|
62
|
-
const
|
|
87
|
+
_findAllAxisContains(relativeX, relativeY) {
|
|
88
|
+
const angleAxisMap = this._getAxisInfoByField("category"), radiusAxisMap = this._getAxisInfoByField("value");
|
|
63
89
|
return {
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
angleAxisMap: this._filterAxisByPoint(angleAxisMap, relativeX, relativeY),
|
|
91
|
+
radiusAxisMap: this._filterAxisByPoint(radiusAxisMap, relativeX, relativeY)
|
|
66
92
|
};
|
|
67
93
|
}
|
|
68
|
-
|
|
94
|
+
_getAllAxisValues(axisMap, point, currValue) {
|
|
69
95
|
let discrete = !1;
|
|
70
96
|
return axisMap.forEach((item => {
|
|
71
97
|
isDiscrete(item.axis.getScale().type) && (discrete ? this.enable = !1 : discrete = !0);
|
|
72
98
|
})), !!this.enable && (axisMap.forEach(((item, id) => {
|
|
73
|
-
const axis = item.axis
|
|
74
|
-
|
|
75
|
-
x: point.x - (axisStartX - x),
|
|
76
|
-
y: point.y - (axisStartY - y)
|
|
77
|
-
});
|
|
78
|
-
isContinuous(axis.getScale().type) && isValidNumber(+value) && (value = (+value).toFixed(2));
|
|
79
|
-
const center = {
|
|
80
|
-
x: axis.getCenter().x + this.getLayoutStartPoint().x,
|
|
81
|
-
y: axis.getCenter().y + this.getLayoutStartPoint().y
|
|
82
|
-
};
|
|
83
|
-
currValue.set(id, {
|
|
84
|
-
v: value,
|
|
85
|
-
axis: item.axis,
|
|
86
|
-
center: center,
|
|
87
|
-
innerRadius: axis.getInnerRadius(),
|
|
88
|
-
radius: axis.getOuterRadius(),
|
|
89
|
-
startAngle: axis.startAngle,
|
|
90
|
-
endAngle: axis.endAngle,
|
|
91
|
-
distance: PointService.distancePP(point, axis.getCenter()),
|
|
92
|
-
coord: axis.pointToCoord(point),
|
|
93
|
-
point: point
|
|
94
|
-
});
|
|
99
|
+
const axis = item.axis;
|
|
100
|
+
currValue.set(id, this._getValueByAxis(axis, point));
|
|
95
101
|
})), !0);
|
|
96
102
|
}
|
|
103
|
+
_getValueByAxis(axis, point) {
|
|
104
|
+
const {x: axisStartX, y: axisStartY} = axis.getLayoutStartPoint(), {x: x, y: y} = this.getLayoutStartPoint();
|
|
105
|
+
let value = axis.positionToData({
|
|
106
|
+
x: point.x - (axisStartX - x),
|
|
107
|
+
y: point.y - (axisStartY - y)
|
|
108
|
+
});
|
|
109
|
+
isContinuous(axis.getScale().type) && isValidNumber(+value) && (value = (+value).toFixed(2));
|
|
110
|
+
const center = {
|
|
111
|
+
x: axis.getCenter().x + this.getLayoutStartPoint().x,
|
|
112
|
+
y: axis.getCenter().y + this.getLayoutStartPoint().y
|
|
113
|
+
};
|
|
114
|
+
return {
|
|
115
|
+
v: value,
|
|
116
|
+
axis: axis,
|
|
117
|
+
center: center,
|
|
118
|
+
innerRadius: axis.getInnerRadius(),
|
|
119
|
+
radius: axis.getOuterRadius(),
|
|
120
|
+
startAngle: axis.startAngle,
|
|
121
|
+
endAngle: axis.endAngle,
|
|
122
|
+
distance: PointService.distancePP(point, axis.getCenter()),
|
|
123
|
+
coord: axis.pointToCoord(point),
|
|
124
|
+
point: point
|
|
125
|
+
};
|
|
126
|
+
}
|
|
97
127
|
_layoutCrosshair(relativeX, relativeY) {
|
|
98
|
-
const {
|
|
99
|
-
if (0 !==
|
|
100
|
-
|
|
128
|
+
const {angleAxisMap: angleAxisMap, radiusAxisMap: radiusAxisMap} = this._findAllAxisContains(relativeX, relativeY);
|
|
129
|
+
if (0 !== angleAxisMap.size || 0 !== radiusAxisMap.size) this._currValueAngle.clear(),
|
|
130
|
+
this._currValueRadius.clear(), angleAxisMap && this._getAllAxisValues(angleAxisMap, {
|
|
101
131
|
x: relativeX,
|
|
102
132
|
y: relativeY
|
|
103
|
-
}, this.
|
|
133
|
+
}, this._currValueAngle), radiusAxisMap && this._getAllAxisValues(radiusAxisMap, {
|
|
104
134
|
x: relativeX,
|
|
105
135
|
y: relativeY
|
|
106
|
-
}, this.
|
|
136
|
+
}, this._currValueRadius), this.layoutByValue(LayoutType.ALL); else {
|
|
107
137
|
if (this.enableRemain) return;
|
|
108
138
|
this.hide();
|
|
109
139
|
}
|
|
110
140
|
}
|
|
111
|
-
layoutByValue(tag) {
|
|
141
|
+
layoutByValue(tag = LayoutType.ALL) {
|
|
112
142
|
var _a, _b, _c, _d;
|
|
113
143
|
if (!this.enable) return;
|
|
114
144
|
const series = this._firstSeries();
|
|
115
145
|
if (!series) return;
|
|
116
|
-
let
|
|
146
|
+
let angleCrossHairInfo = {
|
|
117
147
|
x: 0,
|
|
118
148
|
y: 0,
|
|
119
149
|
center: {
|
|
@@ -131,7 +161,7 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
131
161
|
text: "",
|
|
132
162
|
offset: 0
|
|
133
163
|
}
|
|
134
|
-
},
|
|
164
|
+
}, radiusCrossHairInfo = {
|
|
135
165
|
x: 0,
|
|
136
166
|
y: 0,
|
|
137
167
|
center: {
|
|
@@ -151,35 +181,36 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
151
181
|
offset: 0
|
|
152
182
|
}
|
|
153
183
|
};
|
|
154
|
-
if (this.
|
|
155
|
-
|
|
184
|
+
if (this._angleHair) {
|
|
185
|
+
angleCrossHairInfo.visible = !!this._currValueAngle.size;
|
|
156
186
|
const bandWidth = series.angleAxisHelper.getBandwidth(0);
|
|
157
|
-
this.
|
|
187
|
+
this._currValueAngle.forEach((_a => {
|
|
158
188
|
var _b, {axis: axis, v: v, coord: coord} = _a, rest = __rest(_a, [ "axis", "v", "coord" ]);
|
|
159
|
-
v = null != v ? v : "", mergeSpec(
|
|
189
|
+
v = null != v ? v : "", mergeSpec(angleCrossHairInfo, rest);
|
|
160
190
|
const angle = series.angleAxisHelper.dataToPosition([ v ]);
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
191
|
+
angleCrossHairInfo.angle = angle, (null === (_b = this._angleHair.label) || void 0 === _b ? void 0 : _b.visible) && (angleCrossHairInfo.label.visible = !0,
|
|
192
|
+
angleCrossHairInfo.label.text = v, angleCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
|
|
193
|
+
angleCrossHairInfo.startAngle = angle - bandWidth / 2, angleCrossHairInfo.endAngle = angle + bandWidth / 2;
|
|
164
194
|
}));
|
|
165
195
|
}
|
|
166
|
-
if (this.
|
|
196
|
+
if (this._radiusHair && (radiusCrossHairInfo.visible = !!this._currValueRadius.size,
|
|
197
|
+
this._currValueRadius.forEach((_a => {
|
|
167
198
|
var _b, {axis: axis, v: v, coord: coord} = _a, rest = __rest(_a, [ "axis", "v", "coord" ]);
|
|
168
|
-
v = null != v ? v : "", (null === (_b = this.
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
}))), this.enableRemain && !
|
|
172
|
-
const {label: label} =
|
|
173
|
-
label.text = this.
|
|
199
|
+
v = null != v ? v : "", (null === (_b = this._radiusHair.label) || void 0 === _b ? void 0 : _b.visible) && (radiusCrossHairInfo.label.visible = !0,
|
|
200
|
+
radiusCrossHairInfo.label.text = v, radiusCrossHairInfo.label.offset = getAxisLabelOffset(axis.getSpec())),
|
|
201
|
+
radiusCrossHairInfo.angle = coord.angle, radiusCrossHairInfo.axis = axis, mergeSpec(radiusCrossHairInfo, rest);
|
|
202
|
+
}))), this.enableRemain && !angleCrossHairInfo.visible && isValid(this._cacheAngleCrossHairInfo)) angleCrossHairInfo = this._cacheAngleCrossHairInfo; else if ((null === (_b = null === (_a = this._angleHair) || void 0 === _a ? void 0 : _a.label) || void 0 === _b ? void 0 : _b.formatMethod) && angleCrossHairInfo.label.visible) {
|
|
203
|
+
const {label: label} = angleCrossHairInfo;
|
|
204
|
+
label.text = this._angleHair.label.formatMethod(label.text, "angle");
|
|
174
205
|
}
|
|
175
|
-
if (this.enableRemain && !
|
|
176
|
-
const {label: label} =
|
|
177
|
-
label.text = this.
|
|
206
|
+
if (this.enableRemain && !radiusCrossHairInfo.visible && isValid(this._cacheRadiusCrossHairInfo)) radiusCrossHairInfo = this._cacheRadiusCrossHairInfo; else if ((null === (_d = null === (_c = this._radiusHair) || void 0 === _c ? void 0 : _c.label) || void 0 === _d ? void 0 : _d.formatMethod) && radiusCrossHairInfo.label.visible) {
|
|
207
|
+
const {label: label} = radiusCrossHairInfo;
|
|
208
|
+
label.text = this._radiusHair.label.formatMethod(label.text, "radius");
|
|
178
209
|
}
|
|
179
|
-
tag && (LayoutType.HORIZONTAL && this._layoutHorizontal(
|
|
180
|
-
this.enableRemain && (this.
|
|
210
|
+
tag && (LayoutType.HORIZONTAL && this._layoutHorizontal(radiusCrossHairInfo), LayoutType.VERTICAL && this._layoutVertical(angleCrossHairInfo)),
|
|
211
|
+
this.enableRemain && (this._cacheAngleCrossHairInfo = Object.assign(Object.assign({}, angleCrossHairInfo), {
|
|
181
212
|
_isCache: !0
|
|
182
|
-
}), this.
|
|
213
|
+
}), this._cacheRadiusCrossHairInfo = Object.assign(Object.assign({}, radiusCrossHairInfo), {
|
|
183
214
|
_isCache: !0
|
|
184
215
|
}));
|
|
185
216
|
}
|
|
@@ -188,7 +219,7 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
188
219
|
if (crosshairInfo._isCache && this.enableRemain) return;
|
|
189
220
|
const container = this.getContainer(), {angle: angle, innerRadius: innerRadius, radius: radius, label: label, startAngle: startAngle, endAngle: endAngle, center: center, visible: visible} = crosshairInfo;
|
|
190
221
|
if (visible) {
|
|
191
|
-
const crosshairType = "rect" === this.
|
|
222
|
+
const crosshairType = "rect" === this._angleHair.type ? "sector" : "line";
|
|
192
223
|
let positionAttrs;
|
|
193
224
|
if (positionAttrs = "sector" === crosshairType ? {
|
|
194
225
|
center: center,
|
|
@@ -202,16 +233,16 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
202
233
|
}, this._angleCrosshair) this._angleCrosshair.setAttributes(positionAttrs); else {
|
|
203
234
|
let crosshair;
|
|
204
235
|
"line" === crosshairType ? crosshair = new LineCrosshair(Object.assign(Object.assign({}, positionAttrs), {
|
|
205
|
-
lineStyle: this.
|
|
236
|
+
lineStyle: this._angleHair.style,
|
|
206
237
|
zIndex: this.gridZIndex
|
|
207
238
|
})) : "sector" === crosshairType && (crosshair = new SectorCrosshair(Object.assign(Object.assign({}, positionAttrs), {
|
|
208
|
-
sectorStyle: this.
|
|
239
|
+
sectorStyle: this._angleHair.style,
|
|
209
240
|
zIndex: this.gridZIndex
|
|
210
241
|
}))), this._angleCrosshair = crosshair, container.add(crosshair);
|
|
211
242
|
}
|
|
212
243
|
if (label.visible) {
|
|
213
|
-
const orient = angleLabelOrientAttribute(angle), labelAttrs = Object.assign(Object.assign(Object.assign(Object.assign({}, polarToCartesian(center, radius + label.offset, angle)), this.
|
|
214
|
-
textStyle: Object.assign(Object.assign({}, null === (_a = this.
|
|
244
|
+
const orient = angleLabelOrientAttribute(angle), labelAttrs = Object.assign(Object.assign(Object.assign(Object.assign({}, polarToCartesian(center, radius + label.offset, angle)), this._angleHair.label), label), {
|
|
245
|
+
textStyle: Object.assign(Object.assign({}, null === (_a = this._angleHair.label) || void 0 === _a ? void 0 : _a.textStyle), {
|
|
215
246
|
textAlign: orient.align,
|
|
216
247
|
textBaseline: orient.baseline
|
|
217
248
|
}),
|
|
@@ -228,7 +259,7 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
228
259
|
if (crosshairInfo._isCache && this.enableRemain) return;
|
|
229
260
|
const {center: center, startAngle: startAngle, endAngle: endAngle, distance: distance, sides: sides, axis: axis, label: label, point: point, radius: radius, innerRadius: innerRadius, visible: visible} = crosshairInfo, container = this.getContainer();
|
|
230
261
|
if (visible) {
|
|
231
|
-
const crosshairType = this.
|
|
262
|
+
const crosshairType = this._radiusHair.smooth ? "circle" : "polygon";
|
|
232
263
|
let polygonRadius = distance;
|
|
233
264
|
if ("polygon" === crosshairType) {
|
|
234
265
|
const axisCenter = axis.getCenter(), curAngle = getAngleByPoint(axisCenter, point), stepAngle = (endAngle - startAngle) / sides, index = Math.floor((curAngle - startAngle) / stepAngle), preAngle = index * stepAngle + startAngle, nextAngle = Math.min((index + 1) * stepAngle + startAngle, endAngle), prePoint = polarToCartesian(axisCenter, distance, preAngle), nextPoint = polarToCartesian(axisCenter, distance, nextAngle), insertPoint = getIntersectPoint([ nextPoint.x, nextPoint.y ], [ prePoint.x, prePoint.y ], [ axisCenter.x, axisCenter.y ], [ point.x, point.y ]);
|
|
@@ -244,16 +275,16 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
244
275
|
if (this._radiusCrosshair) this._radiusCrosshair.setAttributes(positionAttrs); else {
|
|
245
276
|
let crosshair;
|
|
246
277
|
crosshair = "polygon" === crosshairType ? new PolygonCrosshair(Object.assign(Object.assign({}, positionAttrs), {
|
|
247
|
-
lineStyle: this.
|
|
278
|
+
lineStyle: this._radiusHair.style,
|
|
248
279
|
zIndex: this.gridZIndex + 1
|
|
249
280
|
})) : new CircleCrosshair(Object.assign(Object.assign({}, positionAttrs), {
|
|
250
|
-
lineStyle: this.
|
|
281
|
+
lineStyle: this._radiusHair.style,
|
|
251
282
|
zIndex: this.gridZIndex
|
|
252
283
|
})), this._radiusCrosshair = crosshair, container.add(crosshair);
|
|
253
284
|
}
|
|
254
285
|
if (label.visible) {
|
|
255
|
-
const orient = radiusLabelOrientAttribute(startAngle), labelAttrs = Object.assign(Object.assign(Object.assign(Object.assign({}, polarToCartesian(center, polygonRadius, startAngle)), this.
|
|
256
|
-
textStyle: Object.assign(Object.assign({}, null === (_a = this.
|
|
286
|
+
const orient = radiusLabelOrientAttribute(startAngle), labelAttrs = Object.assign(Object.assign(Object.assign(Object.assign({}, polarToCartesian(center, polygonRadius, startAngle)), this._radiusHair.label), label), {
|
|
287
|
+
textStyle: Object.assign(Object.assign({}, null === (_a = this._radiusHair.label) || void 0 === _a ? void 0 : _a.textStyle), {
|
|
257
288
|
textAlign: orient.align,
|
|
258
289
|
textBaseline: orient.baseline
|
|
259
290
|
}),
|
|
@@ -267,17 +298,17 @@ export class PolarCrossHair extends BaseCrossHair {
|
|
|
267
298
|
}
|
|
268
299
|
_parseFieldInfo() {
|
|
269
300
|
var _a;
|
|
270
|
-
const {categoryField: categoryField, valueField: valueField} = this.
|
|
271
|
-
categoryField && categoryField.visible && (this.
|
|
272
|
-
valueField && valueField.visible && (this.
|
|
273
|
-
this.
|
|
301
|
+
const {categoryField: categoryField, valueField: valueField} = this._spec;
|
|
302
|
+
categoryField && categoryField.visible && (this._angleHair = this._parseField(categoryField, "categoryField")),
|
|
303
|
+
valueField && valueField.visible && (this._radiusHair = this._parseField(valueField, "valueField"),
|
|
304
|
+
this._radiusHair.smooth = null === (_a = null == valueField ? void 0 : valueField.line) || void 0 === _a ? void 0 : _a.smooth);
|
|
274
305
|
}
|
|
275
306
|
_updateCrosshairLabel(label, labelAttrs, callback) {
|
|
276
307
|
const container = this.getContainer();
|
|
277
|
-
label ? label.setAttributes(labelAttrs) : (label = new Tag(labelAttrs), container.add(label),
|
|
308
|
+
label ? label.setAttributes(labelAttrs) : (label = new Tag(labelAttrs), null == container || container.add(label),
|
|
278
309
|
callback(label)), limitTagInBounds(label, this._getLimitBounds());
|
|
279
310
|
}
|
|
280
|
-
|
|
311
|
+
_getNeedClearVRenderComponents() {
|
|
281
312
|
return [ this._radiusCrosshair, this._radiusLabelCrosshair, this._angleCrosshair, this._angleLabelCrosshair ];
|
|
282
313
|
}
|
|
283
314
|
}
|