@visactor/vchart 1.2.3 → 1.3.0-beta.10
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 +23611 -20832
- package/build/index.min.js +15 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/spec.d.ts +1 -1
- package/cjs/animation/spec.js.map +1 -1
- package/cjs/chart/area/area.js +2 -3
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar-3d.js +2 -2
- package/cjs/chart/bar/bar-3d.js.map +1 -1
- package/cjs/chart/bar/bar.js +2 -2
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base-chart.d.ts +4 -2
- package/cjs/chart/base-chart.js +33 -34
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +2 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/cartesian/cartesian.js +2 -1
- package/cjs/chart/cartesian/cartesian.js.map +1 -1
- package/cjs/chart/circle-packing/circle-packing.js +2 -2
- package/cjs/chart/circle-packing/circle-packing.js.map +1 -1
- package/cjs/chart/funnel/funnel-3d.js +2 -2
- package/cjs/chart/funnel/funnel-3d.js.map +1 -1
- package/cjs/chart/funnel/funnel.js +2 -2
- package/cjs/chart/funnel/funnel.js.map +1 -1
- package/cjs/chart/gauge/gauge.js +2 -2
- package/cjs/chart/gauge/gauge.js.map +1 -1
- package/cjs/chart/heatmap/heatmap.js +2 -2
- package/cjs/chart/heatmap/heatmap.js.map +1 -1
- package/cjs/chart/histogram/histogram-3d.js +2 -2
- package/cjs/chart/histogram/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +2 -2
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/interface/chart.d.ts +4 -2
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/line/line.js +2 -3
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/map/map.js +2 -2
- package/cjs/chart/map/map.js.map +1 -1
- package/cjs/chart/pie/pie-3d.js +2 -2
- package/cjs/chart/pie/pie-3d.js.map +1 -1
- package/cjs/chart/pie/pie.js +2 -2
- package/cjs/chart/pie/pie.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +2 -2
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +2 -2
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +2 -3
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +2 -2
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/range-column-3d.js +2 -2
- package/cjs/chart/range-column/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +2 -2
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +2 -2
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.js +2 -2
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +2 -2
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +2 -2
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/stack.d.ts +1 -0
- package/cjs/chart/stack.js +14 -0
- package/cjs/chart/stack.js.map +1 -1
- package/cjs/chart/sunburst/sunburst.js +2 -2
- package/cjs/chart/sunburst/sunburst.js.map +1 -1
- package/cjs/chart/treemap/treemap.js +2 -2
- package/cjs/chart/treemap/treemap.js.map +1 -1
- package/cjs/chart/util.d.ts +8 -0
- package/cjs/chart/util.js +32 -3
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +2 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud-3d.js +2 -2
- package/cjs/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/chart/word-cloud/word-cloud.js +2 -2
- package/cjs/chart/word-cloud/word-cloud.js.map +1 -1
- package/cjs/compile/compiler.d.ts +1 -1
- package/cjs/compile/compiler.js +4 -3
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/mark/compilable-mark.js +9 -10
- package/cjs/compile/mark/compilable-mark.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +2 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/util.d.ts +2 -1
- package/cjs/compile/mark/util.js +21 -5
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +1 -12
- package/cjs/component/axis/base-axis.js +7 -17
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.js +15 -6
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/band-axis.js +1 -0
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/index.d.ts +1 -0
- package/cjs/component/axis/cartesian/index.js +2 -1
- package/cjs/component/axis/cartesian/index.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/common.d.ts +6 -1
- package/cjs/component/axis/cartesian/interface/common.js.map +1 -1
- package/cjs/component/axis/cartesian/interface/spec.d.ts +4 -1
- package/cjs/component/axis/cartesian/interface/spec.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js +4 -3
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/symlog-axis.d.ts +15 -0
- package/cjs/component/axis/cartesian/symlog-axis.js +23 -0
- package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -0
- package/cjs/component/axis/interface.d.ts +3 -1
- package/cjs/component/axis/interface.js.map +1 -1
- package/cjs/component/axis/polar/axis.d.ts +1 -0
- package/cjs/component/axis/polar/axis.js +5 -2
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.d.ts +1 -0
- package/cjs/component/base/base-component.d.ts +3 -2
- package/cjs/component/base/base-component.js +3 -3
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/base/util.js +3 -0
- package/cjs/component/base/util.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +11 -1
- package/cjs/component/brush/brush.js +61 -51
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +1 -0
- package/cjs/component/crosshair/cartesian.js +1 -1
- package/cjs/component/crosshair/cartesian.js.map +1 -1
- package/cjs/component/crosshair/polar.js +3 -3
- package/cjs/component/crosshair/polar.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +1 -0
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +1 -0
- package/cjs/component/geo/geo-coordinate.d.ts +7 -2
- package/cjs/component/geo/geo-coordinate.js +54 -14
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/index.d.ts +3 -2
- package/cjs/component/index.js +15 -1
- package/cjs/component/index.js.map +1 -1
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/interface/theme.d.ts +2 -0
- package/cjs/component/interface/theme.js.map +1 -1
- package/cjs/component/interface/type.d.ts +2 -0
- package/cjs/component/interface/type.js +13 -12
- package/cjs/component/interface/type.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +40 -0
- package/cjs/component/label/base-label.js +44 -0
- package/cjs/component/label/base-label.js.map +1 -0
- package/cjs/component/label/interface.d.ts +7 -0
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +5 -27
- package/cjs/component/label/label.js +31 -38
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/pie.d.ts +5 -0
- package/cjs/component/label/pie.js +21 -0
- package/cjs/component/label/pie.js.map +1 -0
- package/cjs/component/label/totalLabel.d.ts +27 -0
- package/cjs/component/label/totalLabel.js +107 -0
- package/cjs/component/label/totalLabel.js.map +1 -0
- package/cjs/component/label/util.d.ts +3 -1
- package/cjs/component/label/util.js +5 -5
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +1 -0
- package/cjs/component/marker/base-marker.d.ts +6 -0
- package/cjs/component/marker/base-marker.js +14 -0
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/marker/interface.d.ts +1 -0
- package/cjs/component/marker/interface.js.map +1 -1
- package/cjs/component/marker/mark-area/mark-area.js +17 -6
- package/cjs/component/marker/mark-area/mark-area.js.map +1 -1
- package/cjs/component/marker/mark-line/mark-line.js +17 -6
- package/cjs/component/marker/mark-line/mark-line.js.map +1 -1
- package/cjs/component/marker/mark-point/mark-point.js +18 -7
- package/cjs/component/marker/mark-point/mark-point.js.map +1 -1
- package/cjs/component/title/title.d.ts +1 -0
- package/cjs/component/title/title.js +2 -1
- package/cjs/component/title/title.js.map +1 -1
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/interface.d.ts +9 -12
- package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +17 -15
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.js +3 -3
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.js +18 -11
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +25 -24
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/compose.d.ts +2 -2
- package/cjs/component/tooltip/handler/utils/compose.js +13 -10
- package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js +2 -2
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.d.ts +1 -1
- package/cjs/component/tooltip/handler/utils/style.js +15 -10
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +1 -0
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.js +10 -7
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/constant/index.d.ts +3 -0
- package/cjs/constant/index.js +4 -3
- package/cjs/constant/index.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/interface.d.ts +3 -0
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +6 -1
- package/cjs/core/vchart.js +51 -11
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js +9 -7
- package/cjs/data/initialize.js.map +1 -1
- package/cjs/data/transforms/dimension-statistics.d.ts +11 -5
- package/cjs/data/transforms/dimension-statistics.js +34 -22
- package/cjs/data/transforms/dimension-statistics.js.map +1 -1
- package/cjs/data/transforms/invalid-travel.js +1 -2
- package/cjs/data/transforms/invalid-travel.js.map +1 -1
- package/cjs/data/transforms/tick-data/continuous.js +6 -3
- package/cjs/data/transforms/tick-data/continuous.js.map +1 -1
- package/cjs/data/transforms/tick-data/interface.d.ts +3 -0
- package/cjs/data/transforms/tick-data/interface.js.map +1 -1
- package/cjs/event/event-dispatcher.js +4 -2
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/events/dimension/dimension-click.d.ts +1 -3
- package/cjs/event/events/dimension/dimension-click.js +9 -10
- package/cjs/event/events/dimension/dimension-click.js.map +1 -1
- package/cjs/event/events/dimension/dimension-hover.d.ts +2 -3
- package/cjs/event/events/dimension/dimension-hover.js +26 -17
- package/cjs/event/events/dimension/dimension-hover.js.map +1 -1
- package/cjs/event/interface.d.ts +3 -3
- package/cjs/event/interface.js.map +1 -1
- package/cjs/interaction/trigger.js +4 -0
- package/cjs/interaction/trigger.js.map +1 -1
- package/cjs/layout/label/arc-label.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +1 -0
- package/cjs/mark/base/base-mark.js +20 -3
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/symbol.js +1 -1
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/model/base-model.d.ts +2 -0
- package/cjs/model/base-model.js +2 -0
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +6 -1
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-item.d.ts +4 -4
- package/cjs/model/layout-item.js.map +1 -1
- package/cjs/plugin/components/index.d.ts +0 -2
- package/cjs/plugin/components/index.js +1 -2
- package/cjs/plugin/components/index.js.map +1 -1
- package/cjs/region/region.d.ts +1 -0
- package/cjs/series/area/area.d.ts +6 -3
- package/cjs/series/area/area.js +36 -12
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/tooltip-helpter.d.ts +5 -0
- package/cjs/series/area/tooltip-helpter.js +24 -0
- package/cjs/series/area/tooltip-helpter.js.map +1 -0
- package/cjs/series/bar/bar.d.ts +1 -0
- package/cjs/series/bar/bar.js +1 -1
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +4 -0
- package/cjs/series/base/base-series.js +62 -16
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.js +4 -2
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.js +1 -1
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +7 -3
- package/cjs/series/cartesian/cartesian.js +27 -17
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +1 -0
- package/cjs/series/dot/dot.js +3 -0
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +1 -0
- package/cjs/series/geo/geo.d.ts +2 -0
- package/cjs/series/geo/geo.js +5 -1
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +1 -0
- package/cjs/series/interface/common.d.ts +1 -0
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +3 -2
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/interface.d.ts +0 -2
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.d.ts +1 -2
- package/cjs/series/line/line.js +1 -1
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.js +1 -1
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/map/interface.d.ts +1 -0
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.d.ts +1 -2
- package/cjs/series/map/map.js +9 -9
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +4 -1
- package/cjs/series/mixin/line-mixin.js +37 -21
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +4 -7
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +2 -0
- package/cjs/series/pie/pie.js +19 -56
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/polar.d.ts +1 -0
- package/cjs/series/polar/polar.js +2 -1
- package/cjs/series/polar/polar.js.map +1 -1
- package/cjs/series/range-area/range-area.d.ts +2 -0
- package/cjs/series/range-area/range-area.js +8 -2
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/range-column.js +1 -1
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/interface.d.ts +3 -0
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +1 -2
- package/cjs/series/rose/rose.js +17 -36
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +3 -2
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +2 -0
- package/cjs/series/sankey/sankey.js +198 -79
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +1 -2
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +2 -3
- package/cjs/series/scatter/scatter.js +19 -13
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +1 -0
- package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js +22 -0
- package/cjs/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
- package/cjs/theme/buildin-theme/light/component/index.js +3 -2
- package/cjs/theme/buildin-theme/light/component/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/total-label.d.ts +2 -0
- package/cjs/theme/buildin-theme/light/component/total-label.js +24 -0
- package/cjs/theme/buildin-theme/light/component/total-label.js.map +1 -0
- package/cjs/theme/buildin-theme/light/series/rose.js +0 -1
- package/cjs/theme/buildin-theme/light/series/rose.js.map +1 -1
- package/cjs/theme/buildin-theme/light/series/sankey.js +0 -1
- package/cjs/theme/buildin-theme/light/series/sankey.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +10 -4
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/label.d.ts +10 -0
- package/cjs/typings/tooltip/label.js +6 -0
- package/cjs/typings/tooltip/label.js.map +1 -0
- package/cjs/typings/tooltip/line.d.ts +3 -2
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/tooltip/shape.d.ts +2 -0
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/visual.d.ts +11 -21
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/data.d.ts +0 -8
- package/cjs/util/data.js +2 -9
- package/cjs/util/data.js.map +1 -1
- package/cjs/util/object.d.ts +0 -2
- package/cjs/util/object.js +2 -13
- package/cjs/util/object.js.map +1 -1
- package/cjs/util/scale.d.ts +2 -6
- package/cjs/util/scale.js +1 -6
- package/cjs/util/scale.js.map +1 -1
- package/cjs/util/space.d.ts +3 -9
- package/cjs/util/space.js +14 -30
- package/cjs/util/space.js.map +1 -1
- package/cjs/util/text.d.ts +1 -2
- package/cjs/util/text.js +1 -11
- package/cjs/util/text.js.map +1 -1
- package/cjs/vchart-all.js +1 -1
- package/cjs/vchart-all.js.map +1 -1
- package/cjs/vchart-simple.js +3 -4
- package/cjs/vchart-simple.js.map +1 -1
- package/esm/animation/spec.d.ts +1 -1
- package/esm/animation/spec.js.map +1 -1
- package/esm/chart/area/area.js +3 -4
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar-3d.js +2 -2
- package/esm/chart/bar/bar-3d.js.map +1 -1
- package/esm/chart/bar/bar.js +2 -2
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base-chart.d.ts +4 -2
- package/esm/chart/base-chart.js +36 -35
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +1 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/cartesian/cartesian.js +2 -1
- package/esm/chart/cartesian/cartesian.js.map +1 -1
- package/esm/chart/circle-packing/circle-packing.js +1 -1
- package/esm/chart/circle-packing/circle-packing.js.map +1 -1
- package/esm/chart/funnel/funnel-3d.js +1 -1
- package/esm/chart/funnel/funnel-3d.js.map +1 -1
- package/esm/chart/funnel/funnel.js +1 -1
- package/esm/chart/funnel/funnel.js.map +1 -1
- package/esm/chart/gauge/gauge.js +2 -2
- package/esm/chart/gauge/gauge.js.map +1 -1
- package/esm/chart/heatmap/heatmap.js +1 -1
- package/esm/chart/heatmap/heatmap.js.map +1 -1
- package/esm/chart/histogram/histogram-3d.js +2 -2
- package/esm/chart/histogram/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +2 -2
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/interface/chart.d.ts +4 -2
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/line/line.js +1 -2
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/map/map.js +2 -2
- package/esm/chart/map/map.js.map +1 -1
- package/esm/chart/pie/pie-3d.js +2 -2
- package/esm/chart/pie/pie-3d.js.map +1 -1
- package/esm/chart/pie/pie.js +2 -2
- package/esm/chart/pie/pie.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +1 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +1 -1
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +2 -3
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.js +1 -1
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/range-column-3d.js +1 -1
- package/esm/chart/range-column/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column.js +1 -1
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +2 -2
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.js +1 -1
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +2 -2
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence.js +4 -2
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/stack.d.ts +1 -0
- package/esm/chart/stack.js +16 -2
- package/esm/chart/stack.js.map +1 -1
- package/esm/chart/sunburst/sunburst.js +1 -1
- package/esm/chart/sunburst/sunburst.js.map +1 -1
- package/esm/chart/treemap/treemap.js +1 -1
- package/esm/chart/treemap/treemap.js.map +1 -1
- package/esm/chart/util.d.ts +8 -0
- package/esm/chart/util.js +33 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +1 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.js +1 -1
- package/esm/chart/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/chart/word-cloud/word-cloud.js +1 -1
- package/esm/chart/word-cloud/word-cloud.js.map +1 -1
- package/esm/compile/compiler.d.ts +1 -1
- package/esm/compile/compiler.js +5 -4
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/mark/compilable-mark.js +9 -11
- package/esm/compile/mark/compilable-mark.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +2 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/util.d.ts +2 -1
- package/esm/compile/mark/util.js +19 -3
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +1 -12
- package/esm/component/axis/base-axis.js +8 -18
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.js +15 -6
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/band-axis.js +1 -0
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/index.d.ts +1 -0
- package/esm/component/axis/cartesian/index.js +2 -0
- package/esm/component/axis/cartesian/index.js.map +1 -1
- package/esm/component/axis/cartesian/interface/common.d.ts +6 -1
- package/esm/component/axis/cartesian/interface/common.js.map +1 -1
- package/esm/component/axis/cartesian/interface/spec.d.ts +4 -1
- package/esm/component/axis/cartesian/interface/spec.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.js +3 -4
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/symlog-axis.d.ts +15 -0
- package/esm/component/axis/cartesian/symlog-axis.js +24 -0
- package/esm/component/axis/cartesian/symlog-axis.js.map +1 -0
- package/esm/component/axis/interface.d.ts +3 -1
- package/esm/component/axis/interface.js.map +1 -1
- package/esm/component/axis/polar/axis.d.ts +1 -0
- package/esm/component/axis/polar/axis.js +5 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.d.ts +1 -0
- package/esm/component/base/base-component.d.ts +3 -2
- package/esm/component/base/base-component.js +3 -3
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/base/util.js +3 -0
- package/esm/component/base/util.js.map +1 -1
- package/esm/component/brush/brush.d.ts +11 -1
- package/esm/component/brush/brush.js +60 -51
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +1 -0
- package/esm/component/crosshair/cartesian.js +1 -1
- package/esm/component/crosshair/cartesian.js.map +1 -1
- package/esm/component/crosshair/polar.js +3 -3
- package/esm/component/crosshair/polar.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +1 -0
- package/esm/component/data-zoom/data-filter-base-component.d.ts +1 -0
- package/esm/component/geo/geo-coordinate.d.ts +7 -2
- package/esm/component/geo/geo-coordinate.js +56 -14
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/index.d.ts +3 -2
- package/esm/component/index.js +4 -2
- package/esm/component/index.js.map +1 -1
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/interface/theme.d.ts +2 -0
- package/esm/component/interface/theme.js.map +1 -1
- package/esm/component/interface/type.d.ts +2 -0
- package/esm/component/interface/type.js +13 -12
- package/esm/component/interface/type.js.map +1 -1
- package/esm/component/label/base-label.d.ts +40 -0
- package/esm/component/label/base-label.js +42 -0
- package/esm/component/label/base-label.js.map +1 -0
- package/esm/component/label/interface.d.ts +7 -0
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +5 -27
- package/esm/component/label/label.js +34 -40
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/pie.d.ts +5 -0
- package/esm/component/label/pie.js +13 -0
- package/esm/component/label/pie.js.map +1 -0
- package/esm/component/label/totalLabel.d.ts +27 -0
- package/esm/component/label/totalLabel.js +110 -0
- package/esm/component/label/totalLabel.js.map +1 -0
- package/esm/component/label/util.d.ts +3 -1
- package/esm/component/label/util.js +6 -4
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +1 -0
- package/esm/component/marker/base-marker.d.ts +6 -0
- package/esm/component/marker/base-marker.js +14 -0
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/marker/interface.d.ts +1 -0
- package/esm/component/marker/interface.js.map +1 -1
- package/esm/component/marker/mark-area/mark-area.js +17 -6
- package/esm/component/marker/mark-area/mark-area.js.map +1 -1
- package/esm/component/marker/mark-line/mark-line.js +17 -6
- package/esm/component/marker/mark-line/mark-line.js.map +1 -1
- package/esm/component/marker/mark-point/mark-point.js +18 -7
- package/esm/component/marker/mark-point/mark-point.js.map +1 -1
- package/esm/component/title/title.d.ts +1 -0
- package/esm/component/title/title.js +2 -1
- package/esm/component/title/title.js.map +1 -1
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/interface.d.ts +9 -12
- package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +4 -6
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +16 -14
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.js +3 -3
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.js +18 -11
- package/esm/component/tooltip/handler/dom/util.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +24 -24
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/compose.d.ts +2 -2
- package/esm/component/tooltip/handler/utils/compose.js +11 -10
- package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js +3 -1
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.d.ts +1 -1
- package/esm/component/tooltip/handler/utils/style.js +16 -9
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +1 -0
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +1 -1
- package/esm/component/tooltip/tooltip.js +10 -7
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/constant/index.d.ts +3 -0
- package/esm/constant/index.js +6 -0
- package/esm/constant/index.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/interface.d.ts +3 -0
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +6 -1
- package/esm/core/vchart.js +54 -11
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js +10 -7
- package/esm/data/initialize.js.map +1 -1
- package/esm/data/transforms/dimension-statistics.d.ts +11 -5
- package/esm/data/transforms/dimension-statistics.js +33 -22
- package/esm/data/transforms/dimension-statistics.js.map +1 -1
- package/esm/data/transforms/invalid-travel.js +1 -2
- package/esm/data/transforms/invalid-travel.js.map +1 -1
- package/esm/data/transforms/tick-data/continuous.js +6 -3
- package/esm/data/transforms/tick-data/continuous.js.map +1 -1
- package/esm/data/transforms/tick-data/interface.d.ts +3 -0
- package/esm/data/transforms/tick-data/interface.js.map +1 -1
- package/esm/event/event-dispatcher.js +3 -2
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/events/dimension/dimension-click.d.ts +1 -3
- package/esm/event/events/dimension/dimension-click.js +9 -10
- package/esm/event/events/dimension/dimension-click.js.map +1 -1
- package/esm/event/events/dimension/dimension-hover.d.ts +2 -3
- package/esm/event/events/dimension/dimension-hover.js +25 -16
- package/esm/event/events/dimension/dimension-hover.js.map +1 -1
- package/esm/event/interface.d.ts +3 -3
- package/esm/event/interface.js.map +1 -1
- package/esm/interaction/trigger.js +4 -0
- package/esm/interaction/trigger.js.map +1 -1
- package/esm/layout/label/arc-label.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +1 -0
- package/esm/mark/base/base-mark.js +20 -3
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/symbol.js +1 -1
- package/esm/mark/symbol.js.map +1 -1
- package/esm/model/base-model.d.ts +2 -0
- package/esm/model/base-model.js +2 -0
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +6 -1
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-item.d.ts +4 -4
- package/esm/model/layout-item.js.map +1 -1
- package/esm/plugin/components/index.d.ts +0 -2
- package/esm/plugin/components/index.js +0 -3
- package/esm/plugin/components/index.js.map +1 -1
- package/esm/region/region.d.ts +1 -0
- package/esm/series/area/area.d.ts +6 -3
- package/esm/series/area/area.js +39 -10
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/tooltip-helpter.d.ts +5 -0
- package/esm/series/area/tooltip-helpter.js +18 -0
- package/esm/series/area/tooltip-helpter.js.map +1 -0
- package/esm/series/bar/bar.d.ts +1 -0
- package/esm/series/bar/bar.js +1 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +4 -0
- package/esm/series/base/base-series.js +62 -17
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.js +4 -2
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.js +1 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +7 -3
- package/esm/series/cartesian/cartesian.js +26 -17
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/dot/dot.d.ts +1 -0
- package/esm/series/dot/dot.js +3 -0
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +1 -0
- package/esm/series/geo/geo.d.ts +2 -0
- package/esm/series/geo/geo.js +4 -1
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +1 -0
- package/esm/series/interface/common.d.ts +1 -0
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +3 -2
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/interface.d.ts +0 -2
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.d.ts +1 -2
- package/esm/series/line/line.js +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.js +1 -1
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/map/interface.d.ts +1 -0
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.d.ts +1 -2
- package/esm/series/map/map.js +10 -8
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +4 -1
- package/esm/series/mixin/line-mixin.js +39 -19
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pie/interface.d.ts +4 -7
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +2 -0
- package/esm/series/pie/pie.js +22 -54
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/polar.d.ts +1 -0
- package/esm/series/polar/polar.js +2 -1
- package/esm/series/polar/polar.js.map +1 -1
- package/esm/series/range-area/range-area.d.ts +2 -0
- package/esm/series/range-area/range-area.js +7 -3
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/range-column.js +1 -1
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/interface.d.ts +3 -0
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +1 -2
- package/esm/series/rose/rose.js +17 -37
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +3 -2
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +2 -0
- package/esm/series/sankey/sankey.js +198 -80
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +1 -2
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +2 -3
- package/esm/series/scatter/scatter.js +20 -14
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +1 -0
- package/esm/theme/buildin-theme/light/component/axis/symlog-axis.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js +18 -0
- package/esm/theme/buildin-theme/light/component/axis/symlog-axis.js.map +1 -0
- package/esm/theme/buildin-theme/light/component/index.js +4 -1
- package/esm/theme/buildin-theme/light/component/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/total-label.d.ts +2 -0
- package/esm/theme/buildin-theme/light/component/total-label.js +20 -0
- package/esm/theme/buildin-theme/light/component/total-label.js.map +1 -0
- package/esm/theme/buildin-theme/light/series/rose.js +0 -1
- package/esm/theme/buildin-theme/light/series/rose.js.map +1 -1
- package/esm/theme/buildin-theme/light/series/sankey.js +0 -1
- package/esm/theme/buildin-theme/light/series/sankey.js.map +1 -1
- package/esm/typings/spec/common.d.ts +10 -4
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/label.d.ts +10 -0
- package/esm/typings/tooltip/label.js +2 -0
- package/esm/typings/tooltip/label.js.map +1 -0
- package/esm/typings/tooltip/line.d.ts +3 -2
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/tooltip/shape.d.ts +2 -0
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/visual.d.ts +11 -21
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/data.d.ts +0 -8
- package/esm/util/data.js +1 -7
- package/esm/util/data.js.map +1 -1
- package/esm/util/object.d.ts +0 -2
- package/esm/util/object.js +0 -11
- package/esm/util/object.js.map +1 -1
- package/esm/util/scale.d.ts +2 -6
- package/esm/util/scale.js +1 -5
- package/esm/util/scale.js.map +1 -1
- package/esm/util/space.d.ts +3 -9
- package/esm/util/space.js +8 -26
- package/esm/util/space.js.map +1 -1
- package/esm/util/text.d.ts +1 -2
- package/esm/util/text.js +1 -9
- package/esm/util/text.js.map +1 -1
- package/esm/vchart-all.js +2 -2
- package/esm/vchart-all.js.map +1 -1
- package/esm/vchart-simple.js +18 -2
- package/esm/vchart-simple.js.map +1 -1
- package/package.json +21 -14
- package/cjs/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
- package/cjs/plugin/components/axis-label-overlap-plugin.js +0 -75
- package/cjs/plugin/components/axis-label-overlap-plugin.js.map +0 -1
- package/esm/plugin/components/axis-label-overlap-plugin.d.ts +0 -10
- package/esm/plugin/components/axis-label-overlap-plugin.js +0 -72
- package/esm/plugin/components/axis-label-overlap-plugin.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/base/tooltip-helper.ts"],"names":[],"mappings":"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","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec, TooltipHandlerParams } from '../../component/tooltip/interface';\nimport type { IToolTipLinePattern, ITooltipPattern, ShapeType, TooltipActiveType } from '../../typings';\nimport { array, isFunction, isValid } from '../../util';\nimport type { ISeries, ISeriesTooltipHelper } from '../interface';\nimport { BaseTooltipHelper } from '../../model/tooltip-helper';\nimport type { IDimensionInfo } from '../../event/events/dimension/interface';\nimport type { Datum } from '@visactor/vgrammar';\nimport { getTooltipActualActiveType } from '../../component/tooltip/utils';\n\ninterface ISeriesCacheInfo {\n seriesFields: string[];\n dimensionFields: string[];\n measureFields: string[];\n type: string;\n}\n\nexport class BaseSeriesTooltipHelper extends BaseTooltipHelper implements ISeriesTooltipHelper {\n series: ISeries;\n\n protected _seriesCacheInfo: ISeriesCacheInfo;\n\n constructor(series: ISeries) {\n super();\n this.series = series;\n this.updateTooltipSpec();\n }\n\n updateTooltipSpec() {\n const seriesTooltipSpec = this.series.getSpec()?.tooltip ?? {};\n const chartTooltipSpec = this.series.getChart().getSpec()?.tooltip ?? {};\n\n const spec = {\n ...chartTooltipSpec,\n ...seriesTooltipSpec\n } as ITooltipSpec;\n\n // 将 series id 放入 pattern\n (['mark', 'dimension'] as Array<keyof ITooltipActiveTypeAsKeys<any, any>>).forEach(activeType => {\n const pattern = spec[activeType];\n if (isValid(pattern)) {\n spec[activeType] = {\n ...pattern,\n title: isValid(pattern.title)\n ? isFunction(pattern.title)\n ? pattern.title\n : ({\n ...pattern.title,\n seriesId: this.series.id\n } as IToolTipLinePattern)\n : undefined,\n content: isValid(pattern.content)\n ? isFunction(pattern.content)\n ? pattern.content\n : array(pattern.content).map(line =>\n isFunction(line)\n ? line\n : ({\n ...line,\n seriesId: this.series.id\n } as IToolTipLinePattern)\n )\n : undefined\n };\n }\n });\n\n this.spec = spec;\n this.activeType = getTooltipActualActiveType(spec);\n\n this._seriesCacheInfo = this._getSeriesCacheInfo();\n }\n\n protected _getSeriesCacheInfo = (): ISeriesCacheInfo => {\n const { series } = this;\n const _seriesField = series.getSeriesField();\n const seriesFields = isValid(_seriesField) ? array(_seriesField) : series.getSeriesKeys() ?? [];\n return {\n seriesFields,\n dimensionFields: series.getDimensionField() ?? [],\n measureFields: series.getMeasureField() ?? [],\n type: series.type\n };\n };\n\n protected _getDimensionData = (datum: any) => {\n const { dimensionFields } = this._seriesCacheInfo;\n return dimensionFields[0] && datum?.[dimensionFields[0]];\n };\n\n protected _getMeasureData = (datum: any) => {\n const { measureFields } = this._seriesCacheInfo;\n return measureFields[0] && datum?.[measureFields[0]];\n };\n\n protected _getSeriesStyle = (datum: any, styleKey: string | string[], defaultValue?: any) => {\n for (const key of array(styleKey)) {\n const value = this.series.getSeriesStyle(datum)?.(key);\n if (isValid(value)) {\n return value;\n }\n }\n return defaultValue;\n };\n\n contentKeyCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n const { dimensionFields, seriesFields } = this._seriesCacheInfo;\n const subDimensionField = dimensionFields[dimensionFields.length - 1];\n\n if (isValid(seriesFields[0]) && datum?.[seriesFields[0]]) {\n return datum?.[seriesFields[0]];\n }\n\n if (dimensionFields.length > 1 && (seriesFields.length === 0 || this.series.getSeriesKeys().length <= 1)) {\n return datum?.[subDimensionField];\n }\n\n return datum?.[subDimensionField];\n };\n\n contentValueCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getMeasureData(datum);\n };\n\n contentShapeTypeCallback = (datum: Datum, params?: TooltipHandlerParams): ShapeType | undefined => {\n return this._getSeriesStyle(datum, 'shape', this.getDefaultShapeType());\n };\n\n contentShapeColorCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getSeriesStyle(datum, ['fill', 'stroke']);\n };\n\n titleValueCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getDimensionData(datum);\n };\n\n /** 获取默认的tooltip pattern */\n getDefaultTooltipPattern(activeType: TooltipActiveType, dimensionInfo?: IDimensionInfo[]): ITooltipPattern | null {\n if (activeType === 'mark') {\n return {\n visible: true,\n activeType,\n title: {\n key: undefined,\n value: this.titleValueCallback,\n hasShape: false\n },\n content: [\n {\n seriesId: this.series.id,\n key: this.contentKeyCallback,\n value: this.contentValueCallback,\n hasShape: true,\n shapeType: this.contentShapeTypeCallback,\n shapeColor: this.contentShapeColorCallback,\n shapeHollow: false\n }\n ]\n };\n } else if (activeType === 'dimension' && dimensionInfo) {\n const title: IToolTipLinePattern = {\n key: undefined,\n value: this._getDimensionData,\n hasShape: false\n };\n const content: IToolTipLinePattern[] = [];\n dimensionInfo.forEach(({ data }) =>\n data.forEach(({ series }) => {\n content.push({\n seriesId: series.id,\n key: this.contentKeyCallback,\n value: this.contentValueCallback,\n hasShape: true,\n shapeType: this.contentShapeTypeCallback,\n shapeColor: this.contentShapeColorCallback,\n shapeHollow: false\n });\n })\n );\n return {\n visible: true,\n activeType,\n title,\n content\n };\n }\n\n return null;\n }\n\n /**\n * @override\n */\n getDefaultShapeType() {\n return this.series.getDefaultShapeType();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/base/tooltip-helper.ts"],"names":[],"mappings":"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","file":"tooltip-helper.js","sourcesContent":["import type { ITooltipActiveTypeAsKeys, ITooltipSpec, TooltipHandlerParams } from '../../component/tooltip/interface';\nimport type { IToolTipLinePattern, ITooltipPattern, ShapeType, TooltipActiveType } from '../../typings';\nimport { array, isFunction, isValid } from '../../util';\nimport type { ISeries, ISeriesTooltipHelper } from '../interface';\nimport { BaseTooltipHelper } from '../../model/tooltip-helper';\nimport type { IDimensionInfo } from '../../event/events/dimension/interface';\nimport type { Datum } from '@visactor/vgrammar';\nimport { getTooltipActualActiveType } from '../../component/tooltip/utils';\n\ninterface ISeriesCacheInfo {\n seriesFields: string[];\n dimensionFields: string[];\n measureFields: string[];\n type: string;\n}\n\nexport class BaseSeriesTooltipHelper extends BaseTooltipHelper implements ISeriesTooltipHelper {\n series: ISeries;\n\n protected _seriesCacheInfo: ISeriesCacheInfo;\n\n constructor(series: ISeries) {\n super();\n this.series = series;\n this.updateTooltipSpec();\n }\n\n updateTooltipSpec() {\n const seriesTooltipSpec = this.series.getSpec()?.tooltip ?? {};\n const chartTooltipSpec = this.series.getChart().getSpec()?.tooltip ?? {};\n\n const spec = {\n ...chartTooltipSpec,\n ...seriesTooltipSpec\n } as ITooltipSpec;\n\n // 将 series id 放入 pattern\n (['mark', 'dimension'] as Array<keyof ITooltipActiveTypeAsKeys<any, any>>).forEach(activeType => {\n const pattern = spec[activeType];\n if (isValid(pattern)) {\n spec[activeType] = {\n ...pattern,\n title: isValid(pattern.title)\n ? isFunction(pattern.title)\n ? pattern.title\n : ({\n ...pattern.title,\n seriesId: this.series.id\n } as IToolTipLinePattern)\n : undefined,\n content: isValid(pattern.content)\n ? isFunction(pattern.content)\n ? pattern.content\n : array(pattern.content).map(line =>\n isFunction(line)\n ? line\n : ({\n ...line,\n seriesId: this.series.id\n } as IToolTipLinePattern)\n )\n : undefined\n };\n }\n });\n\n this.spec = spec;\n this.activeType = getTooltipActualActiveType(spec);\n\n this._seriesCacheInfo = this._getSeriesCacheInfo();\n }\n\n protected _getSeriesCacheInfo = (): ISeriesCacheInfo => {\n const { series } = this;\n const _seriesField = series.getSeriesField();\n const seriesFields = isValid(_seriesField) ? array(_seriesField) : series.getSeriesKeys() ?? [];\n return {\n seriesFields,\n dimensionFields: series.getDimensionField() ?? [],\n measureFields: series.getMeasureField() ?? [],\n type: series.type\n };\n };\n\n protected _getDimensionData = (datum: any) => {\n const { dimensionFields } = this._seriesCacheInfo;\n return dimensionFields[0] && datum?.[dimensionFields[0]];\n };\n\n protected _getMeasureData = (datum: any) => {\n const { measureFields } = this._seriesCacheInfo;\n return measureFields[0] && datum?.[measureFields[0]];\n };\n\n protected _getSeriesStyle = (datum: any, styleKey: string | string[], defaultValue?: any) => {\n for (const key of array(styleKey)) {\n const value = this.series.getSeriesStyle(datum)?.(key);\n if (isValid(value)) {\n return value;\n }\n }\n return defaultValue;\n };\n\n contentKeyCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n const { dimensionFields, seriesFields } = this._seriesCacheInfo;\n const subDimensionField = dimensionFields[dimensionFields.length - 1];\n\n if (isValid(seriesFields[0]) && datum?.[seriesFields[0]]) {\n return datum?.[seriesFields[0]];\n }\n\n if (dimensionFields.length > 1 && (seriesFields.length === 0 || this.series.getSeriesKeys().length <= 1)) {\n return datum?.[subDimensionField];\n }\n\n return datum?.[subDimensionField];\n };\n\n contentValueCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getMeasureData(datum);\n };\n\n contentShapeTypeCallback = (datum: Datum, params?: TooltipHandlerParams): ShapeType | undefined => {\n return (\n this._getSeriesStyle(datum, 'shape', null) ??\n this._getSeriesStyle(datum, 'symbolType', this.getDefaultShapeType())\n );\n };\n\n contentShapeColorCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getSeriesStyle(datum, ['fill', 'stroke']);\n };\n\n titleValueCallback = (datum: Datum, params?: TooltipHandlerParams): string | undefined => {\n return this._getDimensionData(datum);\n };\n\n /** 获取默认的tooltip pattern */\n getDefaultTooltipPattern(activeType: TooltipActiveType, dimensionInfo?: IDimensionInfo[]): ITooltipPattern | null {\n if (activeType === 'mark') {\n return {\n visible: true,\n activeType,\n title: {\n key: undefined,\n value: this.titleValueCallback,\n hasShape: false\n },\n content: [\n {\n seriesId: this.series.id,\n key: this.contentKeyCallback,\n value: this.contentValueCallback,\n hasShape: true,\n shapeType: this.contentShapeTypeCallback,\n shapeColor: this.contentShapeColorCallback,\n shapeHollow: false\n }\n ]\n };\n } else if (activeType === 'dimension' && dimensionInfo) {\n const title: IToolTipLinePattern = {\n key: undefined,\n value: this._getDimensionData,\n hasShape: false\n };\n const content: IToolTipLinePattern[] = [];\n dimensionInfo.forEach(({ data }) =>\n data.forEach(({ series }) => {\n content.push({\n seriesId: series.id,\n key: this.contentKeyCallback,\n value: this.contentValueCallback,\n hasShape: true,\n shapeType: this.contentShapeTypeCallback,\n shapeColor: this.contentShapeColorCallback,\n shapeHollow: false\n });\n })\n );\n return {\n visible: true,\n activeType,\n title,\n content\n };\n }\n\n return null;\n }\n\n /**\n * @override\n */\n getDefaultShapeType() {\n return this.series.getDefaultShapeType();\n }\n}\n"]}
|
|
@@ -134,7 +134,7 @@ class BoxPlotSeries extends cartesian_1.CartesianSeries {
|
|
|
134
134
|
outlierMark && (this.setMarkStyle(outlierMark, {
|
|
135
135
|
fill: null !== (_e = null === (_d = this._outliersStyle) || void 0 === _d ? void 0 : _d.fill) && void 0 !== _e ? _e : this.getColorAttribute(),
|
|
136
136
|
size: (0, util_1.isNumber)(null === (_f = this._outliersStyle) || void 0 === _f ? void 0 : _f.size) ? this._outliersStyle.size : 10,
|
|
137
|
-
|
|
137
|
+
symbolType: "circle"
|
|
138
138
|
}, mark_1.STATE_VALUE_ENUM.STATE_NORMAL, constant_1.AttributeLevel.Series), this._trigger.registerMark(outlierMark),
|
|
139
139
|
null === (_g = this._tooltipHelper) || void 0 === _g || _g.activeTriggerSet.mark.add(outlierMark));
|
|
140
140
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings';\nimport { isNumber, valueInScaleRange } from '../../util';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\n\nVChart.useMark([BoxPlotMark, SymbolMark]);\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.boxPlot]: { name: SeriesMarkNameEnum.boxPlot, type: MarkTypeEnum.boxPlot },\n [SeriesMarkNameEnum.outlier]: { name: SeriesMarkNameEnum.outlier, type: MarkTypeEnum.symbol }\n };\n\n protected declare _spec: IBoxPlotSeriesSpec;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n shape: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet);\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addDataKey.bind(this)\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = Object.assign({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xField = this._direction === Direction.vertical ? this._fieldX[0] : this._fieldY[0];\n const xValue = datum?.[xField];\n const xIndex = this._viewDataStatistics?.latestData?.[xField]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(DEFAULT_MARK_ANIMATION.boxPlot());\n const newConfig = this._initAnimationSpec(userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec));\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, { dataIndex }));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), outlierMarkUserAnimation, {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/box-plot/box-plot.ts"],"names":[],"mappings":"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","file":"box-plot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { ISymbolMark } from '../../mark/symbol';\nimport { AttributeLevel, DEFAULT_DATA_INDEX, PREFIX } from '../../constant';\nimport type { IBoxPlotMark } from '../../mark/box-plot';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IModelEvaluateOption, IModelInitOption } from '../../model/interface';\nimport type { BoxPlotShaftShape, IOutlierMarkSpec, Maybe, Datum } from '../../typings';\nimport { Direction } from '../../typings';\nimport { isNumber, valueInScaleRange } from '../../util';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IBoxPlotSeriesSpec, IBoxPlotSeriesTheme } from './interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { DataView } from '@visactor/vdataset';\nimport { SeriesData } from '../base/series-data';\nimport { foldOutlierData } from '../../data/transforms/box-plot';\nimport { BOX_PLOT_OUTLIER_VALUE_FIELD } from '../../constant/box-plot';\nimport { BoxPlotSeriesTooltipHelper } from './tooltip-helper';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IMarkAnimateSpec } from '../../animation/spec';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { BoxPlotMark } from '../../mark/box-plot';\nimport { SymbolMark } from '../../mark/symbol';\n\nVChart.useMark([BoxPlotMark, SymbolMark]);\n\nconst DEFAULT_STROKE_WIDTH = 2;\nconst DEFAULT_SHAFT_FILL_OPACITY = 0.5;\nconst DEFAULT_SHAFT_SHAPE = 'line';\nexport const DEFAULT_FILL_COLOR = '#FFF';\nexport const DEFAULT_STROKE_COLOR = '#000';\n\nconst DEFAULT_OUTLIER_SIZE = 10;\n\nexport class BoxPlotSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.boxPlot;\n type = SeriesTypeEnum.boxPlot;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.boxPlot]: { name: SeriesMarkNameEnum.boxPlot, type: MarkTypeEnum.boxPlot },\n [SeriesMarkNameEnum.outlier]: { name: SeriesMarkNameEnum.outlier, type: MarkTypeEnum.symbol }\n };\n\n protected declare _spec: IBoxPlotSeriesSpec;\n\n protected declare _theme: Maybe<IBoxPlotSeriesTheme>;\n protected _minField: string;\n getMinField() {\n return this._minField;\n }\n protected _maxField: string;\n getMaxField() {\n return this._maxField;\n }\n protected _q1Field: string;\n getQ1Field() {\n return this._q1Field;\n }\n protected _medianField: string;\n getMedianField() {\n return this._medianField;\n }\n protected _q3Field: string;\n getQ3Field() {\n return this._q3Field;\n }\n protected _outliersField: string;\n getOutliersField() {\n return this._outliersField;\n }\n protected _lineWidth: number;\n protected _boxWidth: number;\n protected _shaftShape: BoxPlotShaftShape;\n getShaftShape() {\n return this._shaftShape;\n }\n protected _shaftWidth: number;\n protected _boxFillColor: string;\n getBoxFillColor() {\n return this._boxFillColor;\n }\n protected _strokeColor: string;\n getStrokeColor() {\n return this._strokeColor;\n }\n protected _shaftFillOpacity: number;\n protected _outliersStyle: IOutlierMarkSpec;\n getOutliersStyle() {\n return this._outliersStyle;\n }\n protected _outlierDataView: SeriesData;\n\n private _autoBoxWidth: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n const boxPlotStyle: any = this._spec.boxPlot?.style ?? {};\n this._minField = this._spec.minField;\n this._maxField = this._spec.maxField;\n this._q1Field = this._spec.q1Field;\n this._medianField = this._spec.medianField;\n this._q3Field = this._spec.q3Field;\n this._outliersField = this._spec.outliersField;\n this._lineWidth = boxPlotStyle.lineWidth ?? DEFAULT_STROKE_WIDTH;\n this._boxWidth = boxPlotStyle.boxWidth;\n this._shaftShape = boxPlotStyle.shaftShape ?? DEFAULT_SHAFT_SHAPE;\n this._shaftWidth = boxPlotStyle.shaftWidth;\n this._boxFillColor = boxPlotStyle.boxFill;\n this._strokeColor = boxPlotStyle.stroke;\n\n this._shaftFillOpacity =\n this._shaftShape === 'bar' ? boxPlotStyle.shaftFillOpacity ?? DEFAULT_SHAFT_FILL_OPACITY : undefined;\n\n this._outliersStyle = this._spec.outliersStyle;\n }\n\n private _boxPlotMark?: IBoxPlotMark;\n private _outlierMark?: ISymbolMark;\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._boxPlotMark = this._createMark(BoxPlotSeries.mark.boxPlot, {\n isSeriesMark: true,\n progressive\n }) as IBoxPlotMark;\n this._outlierMark = this._createMark(BoxPlotSeries.mark.outlier, {\n progressive,\n key: DEFAULT_DATA_INDEX,\n dataView: this._outlierDataView.getDataView(),\n dataProductId: this._outlierDataView.getProductId()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n if (boxPlotMark) {\n const commonBoxplotStyles = {\n direction: this._direction,\n lineWidth: this._lineWidth,\n shaftShape: this._shaftShape,\n fill: this._boxFillColor ?? (this._shaftShape === 'line' ? DEFAULT_FILL_COLOR : this.getColorAttribute()),\n minMaxFillOpacity: this._shaftFillOpacity,\n stroke: this._strokeColor ?? (this._shaftShape === 'line' ? this.getColorAttribute() : DEFAULT_STROKE_COLOR)\n };\n\n const boxPlotMarkStyles =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n ...commonBoxplotStyles,\n boxWidth: () => this._boxWidth ?? this._getMarkWidth(),\n ruleWidth: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Width: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxWidth: () => this._shaftWidth ?? this._getMarkWidth()\n }\n : {\n y: this.dataToPositionY.bind(this),\n ...commonBoxplotStyles,\n boxHeight: () => this._boxWidth ?? this._getMarkWidth(),\n ruleHeight: () => this._shaftWidth ?? this._getMarkWidth(),\n q1q3Height: () => this._boxWidth ?? this._getMarkWidth(),\n minMaxHeight: () => this._shaftWidth ?? this._getMarkWidth()\n };\n\n this.setMarkStyle(boxPlotMark, boxPlotMarkStyles, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n\n this._trigger.registerMark(boxPlotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(boxPlotMark);\n }\n\n const outlierMark = this._outlierMark;\n if (outlierMark) {\n this.setMarkStyle(\n outlierMark,\n {\n fill: this._outliersStyle?.fill ?? this.getColorAttribute(),\n size: isNumber(this._outliersStyle?.size) ? this._outliersStyle.size : DEFAULT_OUTLIER_SIZE,\n symbolType: 'circle'\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n this._trigger.registerMark(outlierMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(outlierMark);\n }\n }\n\n initBoxPlotMarkStyle(): void {\n const boxPlotMark = this._boxPlotMark;\n const axisHelper = this._direction === Direction.vertical ? this._yAxisHelper : this._xAxisHelper;\n if (boxPlotMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n this.setMarkStyle(\n boxPlotMark,\n {\n min: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._minField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q1: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q1Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n median: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._medianField), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n q3: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._q3Field), {\n bandPosition: this._bandPosition\n }),\n scale\n ),\n max: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, this._maxField), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n const outlierMark = this._outlierMark;\n if (outlierMark && axisHelper) {\n const { dataToPosition } = axisHelper;\n const scale = axisHelper?.getScale?.(0);\n const outlierMarkPositionChannel =\n this._direction === Direction.vertical\n ? {\n x: this.dataToPositionX.bind(this),\n y: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n }\n : {\n y: this.dataToPositionY.bind(this),\n x: (datum: Datum) =>\n valueInScaleRange(\n dataToPosition(this.getDatumPositionValues(datum, BOX_PLOT_OUTLIER_VALUE_FIELD), {\n bandPosition: this._bandPosition\n }),\n scale\n )\n };\n this.setMarkStyle(outlierMark, outlierMarkPositionChannel, STATE_VALUE_ENUM.STATE_NORMAL, AttributeLevel.Series);\n }\n }\n\n initData(): void {\n super.initData();\n if (!this._data) {\n return;\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'foldOutlierData', foldOutlierData);\n registerDataSetInstanceTransform(this._dataSet, 'addVChartProperty', addVChartProperty);\n\n const outlierDataView = new DataView(this._dataSet);\n outlierDataView.parse([this.getViewData()], {\n type: 'dataview'\n });\n outlierDataView.name = `${PREFIX}_series_${this.id}_outlierData`;\n outlierDataView.transform({\n type: 'foldOutlierData',\n options: {\n dimensionField: this._direction === Direction.vertical ? this._fieldX : this._fieldY,\n outliersField: this._outliersField\n }\n });\n\n outlierDataView.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addDataKey.bind(this)\n }\n },\n false\n );\n\n this._outlierDataView = new SeriesData(this._option, outlierDataView);\n }\n\n init(option: IModelInitOption): void {\n super.init(option);\n //init在axis初始化之后才被执行,此时axisHelper不为空\n this.initBoxPlotMarkStyle();\n }\n\n private _getMarkWidth() {\n if (this._autoBoxWidth) {\n return this._autoBoxWidth;\n }\n //获取自适应的图元宽度\n const bandAxisHelper = this._direction === Direction.vertical ? this._xAxisHelper : this._yAxisHelper;\n const xField = this._direction === Direction.vertical ? this._fieldX : this._fieldY;\n\n const innerBandWidth = bandAxisHelper.getBandwidth(xField.length - 1);\n const autoBoxWidth = innerBandWidth / xField.length;\n this._autoBoxWidth = autoBoxWidth;\n\n return this._autoBoxWidth;\n }\n\n onLayoutEnd(ctx: any) {\n super.onLayoutEnd(ctx);\n //每次布局结束,清除自适应宽度缓存\n this._autoBoxWidth = null;\n }\n\n private _initAnimationSpec(config: any) {\n //将spec中的animation的type替换为箱型图的type\n const newConfig = Object.assign({}, config);\n ['appear', 'enter', 'update', 'exit', 'disappear'].forEach(state => {\n if (newConfig[state] && newConfig[state].type === 'scaleIn') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleIn' : 'barBoxplotScaleIn';\n } else if (newConfig[state] && newConfig[state].type === 'scaleOut') {\n newConfig[state].type = this._shaftShape === 'line' ? 'boxplotScaleOut' : 'barBoxplotScaleOut';\n }\n });\n return newConfig;\n }\n\n initAnimation() {\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: Datum) => {\n const xField = this._direction === Direction.vertical ? this._fieldX[0] : this._fieldY[0];\n const xValue = datum?.[xField];\n const xIndex = this._viewDataStatistics?.latestData?.[xField]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n if (this._boxPlotMark) {\n const newDefaultConfig = this._initAnimationSpec(DEFAULT_MARK_ANIMATION.boxPlot());\n const newConfig = this._initAnimationSpec(userAnimationConfig(SeriesMarkNameEnum.boxPlot, this._spec));\n this._boxPlotMark.setAnimationConfig(animationConfig(newDefaultConfig, newConfig, { dataIndex }));\n }\n\n if (this._outlierMark) {\n const outlierMarkUserAnimation = {\n appear: (this._spec.animationAppear as IMarkAnimateSpec<string>)?.symbol,\n disappear: (this._spec.animationDisappear as IMarkAnimateSpec<string>)?.symbol,\n enter: (this._spec.animationEnter as IMarkAnimateSpec<string>)?.symbol,\n exit: (this._spec.animationExit as IMarkAnimateSpec<string>)?.symbol,\n update: (this._spec.animationUpdate as IMarkAnimateSpec<string>)?.symbol\n };\n this._outlierMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.symbol(), outlierMarkUserAnimation, {\n dataIndex\n })\n );\n }\n }\n\n protected initTooltip() {\n this._tooltipHelper = new BoxPlotSeriesTooltipHelper(this);\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n const outliersField = fields.find(f => f.key === this._outliersField);\n if (outliersField) {\n outliersField.operations = ['array-min', 'array-max'];\n }\n return fields;\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n //初次编译时,会传入空数据;待所有计算完成后,需要重新执行updateData更新数据\n super.onEvaluateEnd(ctx);\n this._outlierDataView.updateData();\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import type { ICartesianSeries } from '../interface';
|
|
|
2
2
|
import { BaseSeries } from '../base/base-series';
|
|
3
3
|
import type { IPoint } from '../../typings/coordinate';
|
|
4
4
|
import type { IBaseScale } from '@visactor/vscale';
|
|
5
|
-
import type { IAxisHelper } from '../../component/axis/cartesian/interface';
|
|
5
|
+
import type { IAxisHelper, IAxisLocationCfg } from '../../component/axis/cartesian/interface';
|
|
6
6
|
import type { DirectionType } from '../../typings/space';
|
|
7
7
|
import type { Datum, StringOrNumber } from '../../typings';
|
|
8
8
|
import type { StatisticOperations } from '../../data/transforms/dimension-statistics';
|
|
@@ -10,6 +10,8 @@ import type { ICartesianSeriesSpec } from './interface';
|
|
|
10
10
|
export declare abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec> extends BaseSeries<T> implements ICartesianSeries {
|
|
11
11
|
readonly coordinate: 'cartesian';
|
|
12
12
|
protected _bandPosition: number;
|
|
13
|
+
protected _scaleConfig: IAxisLocationCfg;
|
|
14
|
+
protected _buildScaleConfig(): void;
|
|
13
15
|
protected _fieldX: string[];
|
|
14
16
|
get fieldX(): string[];
|
|
15
17
|
setFieldX(f: string | string[]): void;
|
|
@@ -61,6 +63,7 @@ export declare abstract class CartesianSeries<T extends ICartesianSeriesSpec = I
|
|
|
61
63
|
updateSpec(spec: any): {
|
|
62
64
|
change: boolean;
|
|
63
65
|
reMake: boolean;
|
|
66
|
+
reMakeData: boolean;
|
|
64
67
|
reRender: boolean;
|
|
65
68
|
reSize: boolean;
|
|
66
69
|
reCompile: boolean;
|
|
@@ -72,8 +75,9 @@ export declare abstract class CartesianSeries<T extends ICartesianSeriesSpec = I
|
|
|
72
75
|
x: number;
|
|
73
76
|
y: number;
|
|
74
77
|
};
|
|
75
|
-
|
|
76
|
-
|
|
78
|
+
protected _axisPosition(helper: IAxisHelper, value: StringOrNumber | StringOrNumber[], datum?: any): number;
|
|
79
|
+
valueToPositionX(value: StringOrNumber | StringOrNumber[], datum?: any): number;
|
|
80
|
+
valueToPositionY(value: StringOrNumber | StringOrNumber[], datum?: any): number;
|
|
77
81
|
dataToPositionX(datum: Datum): number;
|
|
78
82
|
dataToPositionY(datum: Datum): number;
|
|
79
83
|
dataToPositionZ(datum: Datum): number;
|
|
@@ -8,7 +8,14 @@ const base_series_1 = require("../base/base-series"), constant_1 = require("../.
|
|
|
8
8
|
|
|
9
9
|
class CartesianSeries extends base_series_1.BaseSeries {
|
|
10
10
|
constructor() {
|
|
11
|
-
super(...arguments), this.coordinate = "cartesian", this._bandPosition = .5, this.
|
|
11
|
+
super(...arguments), this.coordinate = "cartesian", this._bandPosition = .5, this._scaleConfig = {
|
|
12
|
+
bandPosition: this._bandPosition
|
|
13
|
+
}, this._direction = space_1.Direction.vertical;
|
|
14
|
+
}
|
|
15
|
+
_buildScaleConfig() {
|
|
16
|
+
this._scaleConfig = {
|
|
17
|
+
bandPosition: this._bandPosition
|
|
18
|
+
};
|
|
12
19
|
}
|
|
13
20
|
get fieldX() {
|
|
14
21
|
return this._fieldX;
|
|
@@ -103,7 +110,10 @@ class CartesianSeries extends base_series_1.BaseSeries {
|
|
|
103
110
|
};
|
|
104
111
|
(0, vscale_1.isContinuous)(this.getZAxisHelper().getScale(0).type) ? result.operations = [ "max", "min" ] : result.operations = [ "values" ],
|
|
105
112
|
fields.push(result);
|
|
106
|
-
})), fields
|
|
113
|
+
})), this.getStack() && fields.push({
|
|
114
|
+
key: this.getStackValueField(),
|
|
115
|
+
operations: [ "allValid" ]
|
|
116
|
+
}), fields;
|
|
107
117
|
}
|
|
108
118
|
getGroupFields() {
|
|
109
119
|
return "vertical" === this.direction ? this._fieldX : this._fieldY;
|
|
@@ -175,25 +185,25 @@ class CartesianSeries extends base_series_1.BaseSeries {
|
|
|
175
185
|
y: this.valueToPositionY(yValue)
|
|
176
186
|
};
|
|
177
187
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
return dataToPosition((0, util_1.array)(value), {
|
|
182
|
-
bandPosition: this._bandPosition
|
|
183
|
-
});
|
|
188
|
+
_axisPosition(helper, value, datum) {
|
|
189
|
+
return this._scaleConfig.datum = datum, helper.isContinuous ? helper.valueToPosition(value, this._scaleConfig) : helper.dataToPosition((0,
|
|
190
|
+
util_1.array)(value), this._scaleConfig);
|
|
184
191
|
}
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
});
|
|
192
|
+
valueToPositionX(value, datum) {
|
|
193
|
+
return this._axisPosition(this._xAxisHelper, value, datum);
|
|
194
|
+
}
|
|
195
|
+
valueToPositionY(value, datum) {
|
|
196
|
+
return this._axisPosition(this._yAxisHelper, value, datum);
|
|
191
197
|
}
|
|
192
198
|
dataToPositionX(datum) {
|
|
193
|
-
|
|
199
|
+
if (!this._xAxisHelper) return Number.NaN;
|
|
200
|
+
const fields = this._xAxisHelper.getFields ? this._xAxisHelper.getFields() : this._fieldX;
|
|
201
|
+
return fields && 0 !== fields.length ? this.valueToPositionX(this._xAxisHelper.isContinuous ? this.getDatumPositionValue(datum, fields[0]) : this.getDatumPositionValues(datum, fields), datum) : null;
|
|
194
202
|
}
|
|
195
203
|
dataToPositionY(datum) {
|
|
196
|
-
|
|
204
|
+
if (!this._yAxisHelper) return Number.NaN;
|
|
205
|
+
const fields = this._yAxisHelper.getFields ? this._yAxisHelper.getFields() : this._fieldY;
|
|
206
|
+
return fields && 0 !== fields.length ? this.valueToPositionY(this._yAxisHelper.isContinuous ? this.getDatumPositionValue(datum, fields[0]) : this.getDatumPositionValues(datum, fields), datum) : null;
|
|
197
207
|
}
|
|
198
208
|
dataToPositionZ(datum) {
|
|
199
209
|
if (!this._zAxisHelper) return Number.NaN;
|
|
@@ -234,7 +244,7 @@ class CartesianSeries extends base_series_1.BaseSeries {
|
|
|
234
244
|
}
|
|
235
245
|
afterInitMark() {
|
|
236
246
|
super.afterInitMark(), this.setFieldX(this._fieldX), this.setFieldY(this._fieldY),
|
|
237
|
-
this._trigger.setStateKeys([ ...this._fieldX, ...this._fieldY ]);
|
|
247
|
+
this._trigger.setStateKeys([ ...this._fieldX, ...this._fieldY ]), this._buildScaleConfig();
|
|
238
248
|
}
|
|
239
249
|
getDimensionField() {
|
|
240
250
|
return this._direction === space_1.Direction.vertical ? this.fieldX : this.fieldY;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette\n} from '../../constant';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, shallowCompare, isValid } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n if (this.getXAxisHelper()?.getScale) {\n (this._fieldX2 ? [...this._fieldX, this._fieldX2] : this._fieldX).forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getXAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.getYAxisHelper()?.getScale) {\n (this._fieldY2 ? [...this._fieldY, this._fieldY2] : this._fieldY).forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getYAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this._fieldZ && this.getZAxisHelper()?.getScale) {\n this._fieldZ.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getZAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.vertical) {\n return array(this._spec.yField)[0];\n }\n return array(this._spec.xField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n } else {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { xField, yField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.xField, xField) || !shallowCompare(spec.yField, yField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n this.setFieldX2(this._spec?.x2Field);\n this.setFieldY2(this._spec?.y2Field);\n\n if (this._stack) {\n this.setValueFieldToStack();\n }\n if (this._percent) {\n this.setValueFieldToPercent();\n }\n if (this._stackOffsetSilhouette) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n if (!datum) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.xBandwidth = (depth: number = 0) => this.getXAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.yBandwidth = (depth: number = 0) => this.getYAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n }\n\n valueToPosition(xValue: StringOrNumber | StringOrNumber[], yValue: StringOrNumber | StringOrNumber[]) {\n return {\n x: this.valueToPositionX(xValue),\n y: this.valueToPositionY(yValue)\n };\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[]) {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n valueToPositionY(value: StringOrNumber | StringOrNumber[]) {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n return dataToPosition(array(value), { bandPosition: this._bandPosition });\n }\n\n dataToPositionX(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX));\n }\n\n dataToPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY));\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this._xAxisHelper.getScale?.(0).range()[0];\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this._yAxisHelper.getScale?.(0).range()[0];\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._trigger.setStateKeys([...this._fieldX, ...this._fieldY]);\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.vertical) {\n return this.fieldX;\n }\n return this.fieldY;\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.vertical) {\n return array(this._spec.yField ?? this.fieldY);\n }\n return array(this._spec.xField ?? this.fieldX);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/cartesian/cartesian.ts"],"names":[],"mappings":"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","file":"cartesian.js","sourcesContent":["import type { ICartesianSeries } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport type { IPoint } from '../../typings/coordinate';\nimport type { IBaseScale } from '@visactor/vscale';\nimport {\n STACK_FIELD_END,\n STACK_FIELD_END_PERCENT,\n STACK_FIELD_END_OffsetSilhouette,\n STACK_FIELD_START,\n STACK_FIELD_START_PERCENT,\n STACK_FIELD_START_OffsetSilhouette\n} from '../../constant';\nimport type { IAxisHelper, IAxisLocationCfg } from '../../component/axis/cartesian/interface';\nimport type { DirectionType } from '../../typings/space';\n// eslint-disable-next-line no-duplicate-imports\nimport { Direction } from '../../typings/space';\nimport type { Datum, StringOrNumber } from '../../typings';\nimport { array, shallowCompare, isValid } from '../../util';\n// eslint-disable-next-line no-duplicate-imports\nimport { isContinuous } from '@visactor/vscale';\nimport type { StatisticOperations } from '../../data/transforms/dimension-statistics';\nimport type { ICartesianSeriesSpec } from './interface';\n\nexport abstract class CartesianSeries<T extends ICartesianSeriesSpec = ICartesianSeriesSpec>\n extends BaseSeries<T>\n implements ICartesianSeries\n{\n readonly coordinate: 'cartesian' = 'cartesian';\n protected _bandPosition = 0.5;\n protected _scaleConfig: IAxisLocationCfg = {\n bandPosition: this._bandPosition\n };\n protected _buildScaleConfig() {\n this._scaleConfig = {\n bandPosition: this._bandPosition\n };\n }\n\n protected _fieldX!: string[];\n get fieldX() {\n return this._fieldX;\n }\n setFieldX(f: string | string[]) {\n this._fieldX = array(f);\n }\n\n protected _fieldY!: string[];\n get fieldY() {\n return this._fieldY;\n }\n setFieldY(f: string | string[]) {\n this._fieldY = array(f);\n }\n\n protected _fieldZ?: string[];\n get fieldZ(): string[] | undefined {\n return this._fieldZ;\n }\n setFieldZ(f?: string | string[]) {\n this._fieldZ = f && array(f);\n }\n\n protected _fieldX2!: string;\n get fieldX2() {\n return this._fieldX2;\n }\n setFieldX2(f: string) {\n this._fieldX2 = f;\n }\n\n protected _fieldY2!: string;\n get fieldY2() {\n return this._fieldY2;\n }\n setFieldY2(f: string) {\n this._fieldY2 = f;\n }\n\n protected _direction: DirectionType = Direction.vertical;\n get direction() {\n return this._direction;\n }\n\n protected _scaleX!: IBaseScale;\n get scaleX() {\n return this._scaleX;\n }\n setScaleX(s: IBaseScale) {\n this._scaleX = s;\n }\n\n protected _scaleY!: IBaseScale;\n get scaleY() {\n return this._scaleY;\n }\n setScaleY(s: IBaseScale) {\n this._scaleY = s;\n }\n\n protected _scaleZ?: IBaseScale;\n get scaleZ() {\n return this._scaleZ;\n }\n setScaleZ(s: IBaseScale) {\n this._scaleZ = s;\n }\n\n _xAxisHelper!: IAxisHelper;\n getXAxisHelper() {\n return this._xAxisHelper;\n }\n setXAxisHelper(h: IAxisHelper) {\n this._xAxisHelper = h;\n this.onXAxisHelperUpdate();\n }\n\n _yAxisHelper!: IAxisHelper;\n getYAxisHelper() {\n return this._yAxisHelper;\n }\n setYAxisHelper(h: IAxisHelper) {\n this._yAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n _zAxisHelper?: IAxisHelper;\n getZAxisHelper() {\n return this._zAxisHelper;\n }\n setZAxisHelper(h: IAxisHelper) {\n this._zAxisHelper = h;\n this.onYAxisHelperUpdate();\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: StatisticOperations }[] = [];\n if (this.getXAxisHelper()?.getScale) {\n (this._fieldX2 ? [...this._fieldX, this._fieldX2] : this._fieldX).forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getXAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.getYAxisHelper()?.getScale) {\n (this._fieldY2 ? [...this._fieldY, this._fieldY2] : this._fieldY).forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getYAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this._fieldZ && this.getZAxisHelper()?.getScale) {\n this._fieldZ.forEach(f => {\n const result: { key: string; operations: Array<'max' | 'min' | 'values'> } = { key: f, operations: [] };\n if (isContinuous(this.getZAxisHelper().getScale(0).type)) {\n result.operations = ['max', 'min'];\n } else {\n result.operations = ['values'];\n }\n fields.push(result);\n });\n }\n if (this.getStack()) {\n fields.push({\n key: this.getStackValueField(),\n operations: ['allValid']\n });\n }\n return fields;\n }\n\n getGroupFields() {\n return this.direction === 'vertical' ? this._fieldX : this._fieldY;\n }\n\n getStackGroupFields(): string[] {\n return this.getGroupFields();\n }\n\n getStackValueField() {\n // TODO: hack\n if (this.direction === Direction.vertical) {\n return array(this._spec.yField)[0];\n }\n return array(this._spec.xField)[0];\n }\n\n setValueFieldToStack(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END);\n this.setFieldY2(STACK_FIELD_START);\n } else {\n this.setFieldX(STACK_FIELD_END);\n this.setFieldX2(STACK_FIELD_START);\n }\n }\n\n setValueFieldToPercent(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_PERCENT);\n this.setFieldY2(STACK_FIELD_START_PERCENT);\n } else {\n this.setFieldX(STACK_FIELD_END_PERCENT);\n this.setFieldX2(STACK_FIELD_START_PERCENT);\n }\n }\n\n setValueFieldToStackOffsetSilhouette(): void {\n if (this.direction === Direction.vertical) {\n this.setFieldY(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldY2(STACK_FIELD_START_OffsetSilhouette);\n } else {\n this.setFieldX(STACK_FIELD_END_OffsetSilhouette);\n this.setFieldX2(STACK_FIELD_START_OffsetSilhouette);\n }\n }\n\n onXAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onYAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n onZAxisHelperUpdate(): void {\n this.onMarkPositionUpdate();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const { xField, yField } = originalSpec;\n const result = super.updateSpec(spec);\n if (!shallowCompare(spec.xField, xField) || !shallowCompare(spec.yField, yField)) {\n result.change = true;\n result.reRender = true;\n result.reMake = true;\n }\n return result;\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldX(this._spec.xField);\n this.setFieldY(this._spec.yField);\n this.setFieldZ(this._spec.zField);\n if (isValid(this._spec.direction)) {\n this._direction = this._spec.direction;\n }\n\n this.setFieldX2(this._spec?.x2Field);\n this.setFieldY2(this._spec?.y2Field);\n\n if (this._stack) {\n this.setValueFieldToStack();\n }\n if (this._percent) {\n this.setValueFieldToPercent();\n }\n if (this._stackOffsetSilhouette) {\n this.setValueFieldToStackOffsetSilhouette();\n }\n }\n\n dataToPosition(datum: Datum): IPoint | null {\n if (!datum) {\n return null;\n }\n return {\n x: this.dataToPositionX(datum),\n y: this.dataToPositionY(datum)\n } as IPoint;\n }\n\n protected _buildMarkAttributeContext() {\n super._buildMarkAttributeContext();\n // position\n this._markAttributeContext.valueToX = this.valueToPositionX.bind(this);\n this._markAttributeContext.valueToY = this.valueToPositionY.bind(this);\n this._markAttributeContext.xBandwidth = (depth: number = 0) => this.getXAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.yBandwidth = (depth: number = 0) => this.getYAxisHelper().getBandwidth?.(depth) ?? 0;\n this._markAttributeContext.valueToPosition = this.valueToPosition.bind(this);\n }\n\n valueToPosition(xValue: StringOrNumber | StringOrNumber[], yValue: StringOrNumber | StringOrNumber[]) {\n return {\n x: this.valueToPositionX(xValue),\n y: this.valueToPositionY(yValue)\n };\n }\n\n protected _axisPosition(helper: IAxisHelper, value: StringOrNumber | StringOrNumber[], datum?: any) {\n this._scaleConfig.datum = datum;\n if (helper.isContinuous) {\n return helper.valueToPosition(value, this._scaleConfig);\n }\n return helper.dataToPosition(array(value), this._scaleConfig);\n }\n\n valueToPositionX(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._xAxisHelper, value, datum);\n }\n valueToPositionY(value: StringOrNumber | StringOrNumber[], datum?: any) {\n return this._axisPosition(this._yAxisHelper, value, datum);\n }\n\n dataToPositionX(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const fields = this._xAxisHelper.getFields ? this._xAxisHelper.getFields() : this._fieldX;\n if (!fields || fields.length === 0) {\n return null;\n }\n return this.valueToPositionX(\n this._xAxisHelper.isContinuous\n ? this.getDatumPositionValue(datum, fields[0])\n : this.getDatumPositionValues(datum, fields),\n datum\n );\n }\n\n dataToPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const fields = this._yAxisHelper.getFields ? this._yAxisHelper.getFields() : this._fieldY;\n if (!fields || fields.length === 0) {\n return null;\n }\n return this.valueToPositionY(\n this._yAxisHelper.isContinuous\n ? this.getDatumPositionValue(datum, fields[0])\n : this.getDatumPositionValues(datum, fields),\n datum\n );\n }\n\n dataToPositionZ(datum: Datum): number {\n if (!this._zAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._zAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fieldZ), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionX1(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n return this._fieldX2 && this._fieldX2 in datum\n ? this.valueToPositionX(this.getDatumPositionValues(datum, this._fieldX2))\n : this._xAxisHelper.getScale?.(0).range()[0];\n }\n\n dataToPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n return this._fieldY2 && this._fieldY2 in datum\n ? this.valueToPositionY(this.getDatumPositionValues(datum, this._fieldY2))\n : this._yAxisHelper.getScale?.(0).range()[0];\n }\n\n positionToData(p: IPoint): IPoint | null {\n if (!p) {\n return null;\n }\n return {\n x: this.positionToDataX(p.x),\n y: this.positionToDataY(p.y)\n };\n }\n\n positionToDataX(xPos: number): any | null {\n if (!this._scaleX) {\n return null;\n }\n return this._scaleX.invert(xPos);\n }\n\n positionToDataY(yPos: number): any | null {\n if (!this._scaleY) {\n return null;\n }\n return this._scaleY.invert(yPos);\n }\n\n getRegionRectLeft(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[0];\n }\n\n getRegionRectRight(): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { getScale } = this._xAxisHelper;\n return getScale(0).range()[1];\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this.setFieldX(this._fieldX);\n this.setFieldY(this._fieldY);\n this._trigger.setStateKeys([...this._fieldX, ...this._fieldY]);\n this._buildScaleConfig();\n }\n\n getDimensionField(): string[] {\n if (this._direction === Direction.vertical) {\n return this.fieldX;\n }\n return this.fieldY;\n }\n\n getMeasureField(): string[] {\n if (this._direction === Direction.vertical) {\n return array(this._spec.yField ?? this.fieldY);\n }\n return array(this._spec.xField ?? this.fieldX);\n }\n}\n"]}
|
package/cjs/series/dot/dot.d.ts
CHANGED
|
@@ -65,4 +65,5 @@ export declare class DotSeries extends CartesianSeries<IDotSeriesSpec> {
|
|
|
65
65
|
protected onMarkTreePositionUpdate(marks: IMark[]): void;
|
|
66
66
|
getDotData(): import("../../compile/mark/mark-data").MarkData;
|
|
67
67
|
protected _getDataIdKey(): any;
|
|
68
|
+
getStackValueField(): string;
|
|
68
69
|
}
|
package/cjs/series/dot/dot.js
CHANGED
|
@@ -230,6 +230,9 @@ class DotSeries extends cartesian_1.CartesianSeries {
|
|
|
230
230
|
return null === (_a = this._dotMark) || void 0 === _a ? void 0 : _a.getData();
|
|
231
231
|
}
|
|
232
232
|
_getDataIdKey() {}
|
|
233
|
+
getStackValueField() {
|
|
234
|
+
return null;
|
|
235
|
+
}
|
|
233
236
|
}
|
|
234
237
|
|
|
235
238
|
exports.DotSeries = DotSeries, DotSeries.type = type_1.SeriesTypeEnum.dot, DotSeries.mark = Object.assign(Object.assign({}, base_series_1.BaseSeries.mark), {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/dot/dot.ts"],"names":[],"mappings":"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","file":"dot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid, merge } from '../../util';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport { DotSeriesTooltipHelper } from './tooltip-helper';\nimport type { IRectMark } from '../../mark/rect';\nimport type { FunctionType, IFillMarkSpec, VisualType } from '../../typings/visual';\nimport type { IDotSeriesSpec, IDotSeriesTheme } from './interface';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { objFlat } from '../../data/transforms/obj-flat';\nimport { DEFAULT_GRID_BACKGROUND } from './config';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { RuleMark } from '../../mark/rule';\nimport { RectMark } from '../../mark/rect';\n\nVChart.useMark([SymbolMark, TextMark, RuleMark, RectMark]);\n\nexport class DotSeries extends CartesianSeries<IDotSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.dot;\n type = SeriesTypeEnum.dot;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group },\n [SeriesMarkNameEnum.grid]: { name: SeriesMarkNameEnum.grid, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.gridBackground]: { name: SeriesMarkNameEnum.gridBackground, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.dot]: { name: SeriesMarkNameEnum.dot, type: MarkTypeEnum.symbol },\n [SeriesMarkNameEnum.title]: { name: SeriesMarkNameEnum.title, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.subTitle]: { name: SeriesMarkNameEnum.subTitle, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.symbol]: { name: SeriesMarkNameEnum.symbol, type: MarkTypeEnum.symbol }\n };\n\n protected declare _theme: Maybe<IDotSeriesTheme>;\n\n private _xDimensionStatisticsDomain: any[];\n\n // csj-Q: 是否需要把这些属性写成接口?\n protected _seriesGroupField?: string;\n getSeriesGroupField() {\n return this._seriesField;\n }\n setSeriesGroupField(field: string) {\n if (isValid(field)) {\n this._seriesGroupField = field;\n }\n }\n\n protected _titleField?: string;\n getTitleField() {\n return this._titleField;\n }\n setTitleField(field: string) {\n if (isValid(field)) {\n this._titleField = field;\n }\n }\n\n protected _subTitleField?: string;\n getSubTitleField() {\n return this._subTitleField;\n }\n setSubTitleField(field: string) {\n if (isValid(field)) {\n this._subTitleField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _highLightSeriesGroup?: string;\n getHighLightSeriesGroup() {\n return this._highLightSeriesGroup;\n }\n setHighLightSeriesGroup(field: string) {\n if (isValid(field)) {\n this._highLightSeriesGroup = field;\n }\n }\n\n protected _gridBackground?: IFillMarkSpec;\n setGridBackground(gridBackground: IFillMarkSpec) {\n if (isValid(gridBackground)) {\n this._gridBackground = gridBackground;\n }\n }\n\n /**\n * @override\n */\n initData(): void {\n super.initData();\n this._xDimensionStatisticsDomain = this.getRawData().latestData.map((d: Datum) => d[this._fieldY[0]]);\n\n // data to dataview\n registerDataSetInstanceTransform(this._option.dataSet, 'objFlat', objFlat);\n registerDataSetInstanceTransform(this._option.dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceParser(this._option.dataSet, 'dataview', dataViewParser);\n\n this.getViewDataFilter()?.transform(\n {\n type: 'objFlat',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setSeriesField(field: string) {\n if (isValid(field)) {\n this._seriesField = field;\n this.getMarksInType([MarkTypeEnum.line, MarkTypeEnum.area]).forEach(m => {\n m.setFacet(this._seriesField);\n });\n }\n }\n\n getStatisticFields() {\n return [\n { key: this._fieldY[0], operations: ['values'], customize: this._xDimensionStatisticsDomain },\n { key: this._fieldX[0], operations: ['max', 'min'] }\n ] as { key: string; operations: Array<'max' | 'min' | 'values'> }[];\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setSeriesGroupField(this._spec.seriesGroupField);\n this.setTitleField(this._spec.titleField);\n this.setSubTitleField(this._spec.subTitleField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setHighLightSeriesGroup(this._spec.highLightSeriesGroup);\n this.setGridBackground(merge(DEFAULT_GRID_BACKGROUND, this._spec?.grid?.background || {}));\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _gridBackgroundMark: IRectMark;\n private _gridMark: IRuleMark;\n private _dotMark: ISymbolMark;\n private _titleMark: ITextMark;\n private _subTitleMark: ITextMark;\n private _symbolMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(DotSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(DotSeries.mark.group, {\n parent: this._clipMark,\n dataView: this.getRawData()\n }) as IGroupMark;\n\n this._gridBackgroundMark = this._createMark(DotSeries.mark.gridBackground, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRectMark;\n\n this._gridMark = this._createMark(DotSeries.mark.grid, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRuleMark;\n\n this._dotMark = this._createMark(DotSeries.mark.dot, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n\n this._titleMark = this._createMark(DotSeries.mark.title, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._subTitleMark = this._createMark(DotSeries.mark.subTitle, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._symbolMark = this._createMark(DotSeries.mark.symbol, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const gridBackgroundMark = this._gridBackgroundMark;\n if (gridBackgroundMark) {\n this.setMarkStyle(\n gridBackgroundMark,\n {\n x: this.getRegionRectLeft.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y: this.dataToGridBackgroundPositionY.bind(this),\n y1: this.dataToGridBackgroundPositionY1.bind(this),\n fill: this._gridBackground.fill,\n fillOpacity: this.dataToGridBackgroundOpacity.bind(this) as FunctionType<number>\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridBackgroundMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const gridMark = this._gridMark;\n if (gridMark) {\n this.setMarkStyle(\n gridMark,\n {\n stroke: this.getColorAttribute(),\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y1: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const dotMark = this._dotMark;\n if (dotMark) {\n this.setMarkStyle(\n dotMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getDotColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(dotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(dotMark);\n }\n\n const titleMark = this._titleMark;\n if (titleMark) {\n this.setMarkStyle(\n titleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(titleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(titleMark);\n }\n\n const subTitleMark = this._subTitleMark;\n if (subTitleMark) {\n this.setMarkStyle(\n subTitleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getSubTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(subTitleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(subTitleMark);\n }\n\n const symbolMark = this._symbolMark;\n if (symbolMark) {\n this.setMarkStyle(\n symbolMark,\n {\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(symbolMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n }\n\n dataToGridBackgroundPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) -\n getBandwidth(0) / 2\n );\n }\n\n dataToGridBackgroundPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) / 2\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return 0;\n }\n return this._theme?.dot?.style?.fillOpacity ?? 1;\n }\n\n dataToGridBackgroundOpacity(datum: Datum): VisualType<number> {\n if (datum[this._seriesGroupField] === this._highLightSeriesGroup) {\n return this._gridBackground.fillOpacity;\n }\n return 0;\n }\n\n /**\n * @override\n * @description 如果用户设置了seriesGroup,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n /**\n * @override\n * @description 对于dot来说,dotType优先级高于seriesGroup,作为颜色映射字段\n */\n protected getDotColorScale() {\n const colorDomain = this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n const colorRange = getDataScheme(this._option.getTheme().colorScheme, this.type);\n return new ColorOrdinalScale().domain(colorDomain).range(colorRange);\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getDotColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDotColorScale(),\n field: this._dotTypeField ?? this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new DotSeriesTooltipHelper(this);\n }\n\n /**\n * @description onEvaluateEnd之后可以拿到canvas element,将滚动条挂载到canvas element上\n */\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotData() {\n return this._dotMark?.getData();\n }\n\n protected _getDataIdKey() {\n // dot 系列没有动画,可以使用默认的 dataKey\n return undefined as any;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/dot/dot.ts"],"names":[],"mappings":"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","file":"dot.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid, merge } from '../../util';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { dataViewParser } from '@visactor/vdataset';\nimport { registerDataSetInstanceParser, registerDataSetInstanceTransform } from '../../data/register';\nimport type { IGroupMark } from '../../mark/group';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport { DotSeriesTooltipHelper } from './tooltip-helper';\nimport type { IRectMark } from '../../mark/rect';\nimport type { FunctionType, IFillMarkSpec, VisualType } from '../../typings/visual';\nimport type { IDotSeriesSpec, IDotSeriesTheme } from './interface';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport { copyDataView } from '../../data/transforms/copy-data-view';\nimport { objFlat } from '../../data/transforms/obj-flat';\nimport { DEFAULT_GRID_BACKGROUND } from './config';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { RuleMark } from '../../mark/rule';\nimport { RectMark } from '../../mark/rect';\n\nVChart.useMark([SymbolMark, TextMark, RuleMark, RectMark]);\n\nexport class DotSeries extends CartesianSeries<IDotSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.dot;\n type = SeriesTypeEnum.dot;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group },\n [SeriesMarkNameEnum.grid]: { name: SeriesMarkNameEnum.grid, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.gridBackground]: { name: SeriesMarkNameEnum.gridBackground, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.dot]: { name: SeriesMarkNameEnum.dot, type: MarkTypeEnum.symbol },\n [SeriesMarkNameEnum.title]: { name: SeriesMarkNameEnum.title, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.subTitle]: { name: SeriesMarkNameEnum.subTitle, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.symbol]: { name: SeriesMarkNameEnum.symbol, type: MarkTypeEnum.symbol }\n };\n\n protected declare _theme: Maybe<IDotSeriesTheme>;\n\n private _xDimensionStatisticsDomain: any[];\n\n // csj-Q: 是否需要把这些属性写成接口?\n protected _seriesGroupField?: string;\n getSeriesGroupField() {\n return this._seriesField;\n }\n setSeriesGroupField(field: string) {\n if (isValid(field)) {\n this._seriesGroupField = field;\n }\n }\n\n protected _titleField?: string;\n getTitleField() {\n return this._titleField;\n }\n setTitleField(field: string) {\n if (isValid(field)) {\n this._titleField = field;\n }\n }\n\n protected _subTitleField?: string;\n getSubTitleField() {\n return this._subTitleField;\n }\n setSubTitleField(field: string) {\n if (isValid(field)) {\n this._subTitleField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _highLightSeriesGroup?: string;\n getHighLightSeriesGroup() {\n return this._highLightSeriesGroup;\n }\n setHighLightSeriesGroup(field: string) {\n if (isValid(field)) {\n this._highLightSeriesGroup = field;\n }\n }\n\n protected _gridBackground?: IFillMarkSpec;\n setGridBackground(gridBackground: IFillMarkSpec) {\n if (isValid(gridBackground)) {\n this._gridBackground = gridBackground;\n }\n }\n\n /**\n * @override\n */\n initData(): void {\n super.initData();\n this._xDimensionStatisticsDomain = this.getRawData().latestData.map((d: Datum) => d[this._fieldY[0]]);\n\n // data to dataview\n registerDataSetInstanceTransform(this._option.dataSet, 'objFlat', objFlat);\n registerDataSetInstanceTransform(this._option.dataSet, 'copyDataView', copyDataView);\n registerDataSetInstanceParser(this._option.dataSet, 'dataview', dataViewParser);\n\n this.getViewDataFilter()?.transform(\n {\n type: 'objFlat',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setSeriesField(field: string) {\n if (isValid(field)) {\n this._seriesField = field;\n this.getMarksInType([MarkTypeEnum.line, MarkTypeEnum.area]).forEach(m => {\n m.setFacet(this._seriesField);\n });\n }\n }\n\n getStatisticFields() {\n return [\n { key: this._fieldY[0], operations: ['values'], customize: this._xDimensionStatisticsDomain },\n { key: this._fieldX[0], operations: ['max', 'min'] }\n ] as { key: string; operations: Array<'max' | 'min' | 'values'> }[];\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setSeriesGroupField(this._spec.seriesGroupField);\n this.setTitleField(this._spec.titleField);\n this.setSubTitleField(this._spec.subTitleField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setHighLightSeriesGroup(this._spec.highLightSeriesGroup);\n this.setGridBackground(merge(DEFAULT_GRID_BACKGROUND, this._spec?.grid?.background || {}));\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _gridBackgroundMark: IRectMark;\n private _gridMark: IRuleMark;\n private _dotMark: ISymbolMark;\n private _titleMark: ITextMark;\n private _subTitleMark: ITextMark;\n private _symbolMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(DotSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(DotSeries.mark.group, {\n parent: this._clipMark,\n dataView: this.getRawData()\n }) as IGroupMark;\n\n this._gridBackgroundMark = this._createMark(DotSeries.mark.gridBackground, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRectMark;\n\n this._gridMark = this._createMark(DotSeries.mark.grid, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as IRuleMark;\n\n this._dotMark = this._createMark(DotSeries.mark.dot, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n\n this._titleMark = this._createMark(DotSeries.mark.title, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._subTitleMark = this._createMark(DotSeries.mark.subTitle, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ITextMark;\n\n this._symbolMark = this._createMark(DotSeries.mark.symbol, {\n parent: this._containerMark,\n dataView: this.getRawData()\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const gridBackgroundMark = this._gridBackgroundMark;\n if (gridBackgroundMark) {\n this.setMarkStyle(\n gridBackgroundMark,\n {\n x: this.getRegionRectLeft.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y: this.dataToGridBackgroundPositionY.bind(this),\n y1: this.dataToGridBackgroundPositionY1.bind(this),\n fill: this._gridBackground.fill,\n fillOpacity: this.dataToGridBackgroundOpacity.bind(this) as FunctionType<number>\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridBackgroundMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const gridMark = this._gridMark;\n if (gridMark) {\n this.setMarkStyle(\n gridMark,\n {\n stroke: this.getColorAttribute(),\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n x1: this.getRegionRectRight.bind(this),\n y1: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(gridMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(gridMark);\n }\n\n const dotMark = this._dotMark;\n if (dotMark) {\n this.setMarkStyle(\n dotMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getDotColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(dotMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(dotMark);\n }\n\n const titleMark = this._titleMark;\n if (titleMark) {\n this.setMarkStyle(\n titleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(titleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(titleMark);\n }\n\n const subTitleMark = this._subTitleMark;\n if (subTitleMark) {\n this.setMarkStyle(\n subTitleMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: any) => {\n return datum[this.getSubTitleField()];\n },\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(subTitleMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(subTitleMark);\n }\n\n const symbolMark = this._symbolMark;\n if (symbolMark) {\n this.setMarkStyle(\n symbolMark,\n {\n x: this.getRegionRectLeft.bind(this),\n y: this.dataToPositionY.bind(this),\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(symbolMark);\n // this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n }\n\n dataToGridBackgroundPositionY(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) -\n getBandwidth(0) / 2\n );\n }\n\n dataToGridBackgroundPositionY1(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldY), {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) / 2\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, this._fieldX), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return 0;\n }\n return this._theme?.dot?.style?.fillOpacity ?? 1;\n }\n\n dataToGridBackgroundOpacity(datum: Datum): VisualType<number> {\n if (datum[this._seriesGroupField] === this._highLightSeriesGroup) {\n return this._gridBackground.fillOpacity;\n }\n return 0;\n }\n\n /**\n * @override\n * @description 如果用户设置了seriesGroup,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n /**\n * @override\n * @description 对于dot来说,dotType优先级高于seriesGroup,作为颜色映射字段\n */\n protected getDotColorScale() {\n const colorDomain = this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesGroupField\n ? this._viewDataStatistics?.latestData[this._seriesGroupField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n const colorRange = getDataScheme(this._option.getTheme().colorScheme, this.type);\n return new ColorOrdinalScale().domain(colorDomain).range(colorRange);\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getDotColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDotColorScale(),\n field: this._dotTypeField ?? this._seriesGroupField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new DotSeriesTooltipHelper(this);\n }\n\n /**\n * @description onEvaluateEnd之后可以拿到canvas element,将滚动条挂载到canvas element上\n */\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotData() {\n return this._dotMark?.getData();\n }\n\n protected _getDataIdKey() {\n // dot 系列没有动画,可以使用默认的 dataKey\n return undefined as any;\n }\n\n getStackValueField(): string {\n return null;\n }\n}\n"]}
|
package/cjs/series/geo/geo.d.ts
CHANGED
|
@@ -18,6 +18,8 @@ export declare abstract class GeoSeries<T extends IGeoSeriesSpec = IGeoSeriesSpe
|
|
|
18
18
|
_valueField: string;
|
|
19
19
|
get valueField(): string;
|
|
20
20
|
set valueField(f: string);
|
|
21
|
+
protected _nameProperty: string;
|
|
22
|
+
getNameProperty(): string;
|
|
21
23
|
_coordinateHelper: IGeoCoordinateHelper;
|
|
22
24
|
getCoordinateHelper(): IGeoCoordinateHelper;
|
|
23
25
|
setCoordinateHelper(h: IGeoCoordinateHelper): void;
|