@visactor/vchart 1.13.7-alpha.0 → 2.0.0-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/es5/index.js +2 -2
- package/build/index.es.js +34518 -41938
- package/build/index.js +34522 -41972
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/animate-manager.d.ts +2 -4
- package/cjs/animation/animate-manager.js +6 -9
- package/cjs/animation/animate-manager.js.map +1 -1
- package/cjs/animation/config.js +10 -20
- package/cjs/animation/config.js.map +1 -1
- package/cjs/animation/interface.d.ts +86 -2
- package/cjs/animation/interface.js.map +1 -1
- package/cjs/animation/spec.d.ts +27 -3
- package/cjs/animation/spec.js.map +1 -1
- package/cjs/animation/utils.d.ts +3 -4
- package/cjs/animation/utils.js +11 -10
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/area/area.js +3 -2
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar.js +3 -2
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base/base-chart-transformer.js +2 -2
- package/cjs/chart/base/base-chart-transformer.js.map +1 -1
- package/cjs/chart/base/base-chart.d.ts +10 -7
- package/cjs/chart/base/base-chart.js +78 -64
- package/cjs/chart/base/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +3 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/funnel/funnel-transformer.js +1 -1
- package/cjs/chart/funnel/funnel-transformer.js.map +1 -1
- package/cjs/chart/funnel/util.d.ts +2 -0
- package/cjs/chart/funnel/util.js +14 -0
- package/cjs/chart/funnel/util.js.map +1 -0
- package/cjs/chart/histogram/3d/histogram-3d.js +3 -2
- package/cjs/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/cjs/chart/histogram/histogram.js +3 -2
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/index.js +1 -2
- package/cjs/chart/interface/chart.d.ts +3 -4
- package/cjs/chart/interface/chart.js.map +1 -1
- package/cjs/chart/interface/common.d.ts +2 -9
- package/cjs/chart/interface/common.js.map +1 -1
- package/cjs/chart/line/line.js +3 -2
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/mosaic/mosaic.js +3 -2
- package/cjs/chart/mosaic/mosaic.js.map +1 -1
- package/cjs/chart/progress/circular/circular.js +3 -2
- package/cjs/chart/progress/circular/circular.js.map +1 -1
- package/cjs/chart/progress/linear/linear.js +3 -2
- package/cjs/chart/progress/linear/linear.js.map +1 -1
- package/cjs/chart/radar/radar.js +3 -2
- package/cjs/chart/radar/radar.js.map +1 -1
- package/cjs/chart/range-area/range-area.js +3 -2
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/3d/range-column-3d.js +3 -3
- package/cjs/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/cjs/chart/range-column/range-column.js +3 -2
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/rose/rose.js +3 -2
- package/cjs/chart/rose/rose.js.map +1 -1
- package/cjs/chart/sankey/sankey.d.ts +1 -1
- package/cjs/chart/sankey/sankey.js +20 -18
- package/cjs/chart/sankey/sankey.js.map +1 -1
- package/cjs/chart/scatter/scatter.js +3 -2
- package/cjs/chart/scatter/scatter.js.map +1 -1
- package/cjs/chart/sequence/sequence-transformer.js +2 -2
- package/cjs/chart/sequence/sequence-transformer.js.map +1 -1
- package/cjs/chart/util.js +2 -2
- package/cjs/chart/util.js.map +1 -1
- package/cjs/chart/waterfall/waterfall.js +3 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/compile/compilable-base.d.ts +1 -1
- package/cjs/compile/compilable-base.js +2 -2
- package/cjs/compile/compilable-base.js.map +1 -1
- package/cjs/compile/compiler.d.ts +35 -25
- package/cjs/compile/compiler.js +183 -144
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/data/compilable-data.d.ts +7 -7
- package/cjs/compile/data/compilable-data.js +20 -20
- package/cjs/compile/data/compilable-data.js.map +1 -1
- package/cjs/compile/data/interface.d.ts +4 -1
- package/cjs/compile/data/interface.js.map +1 -1
- package/cjs/compile/grammar-item.d.ts +7 -13
- package/cjs/compile/grammar-item.js +14 -34
- package/cjs/compile/grammar-item.js.map +1 -1
- package/cjs/compile/interface/compilable-item.d.ts +22 -28
- package/cjs/compile/interface/compilable-item.js +1 -1
- package/cjs/compile/interface/compilable-item.js.map +1 -1
- package/cjs/compile/interface/compiler.d.ts +13 -4
- package/cjs/compile/interface/compiler.js +6 -1
- package/cjs/compile/interface/compiler.js.map +1 -1
- package/cjs/compile/mark/index.d.ts +0 -1
- package/cjs/compile/mark/index.js +1 -2
- package/cjs/compile/mark/index.js.map +1 -1
- package/cjs/compile/mark/interface.d.ts +42 -33
- package/cjs/compile/mark/interface.js +2 -1
- package/cjs/compile/mark/interface.js.map +1 -1
- package/cjs/compile/mark/mark-state-manager.d.ts +11 -13
- package/cjs/compile/mark/mark-state-manager.js +25 -32
- package/cjs/compile/mark/mark-state-manager.js.map +1 -1
- package/cjs/compile/mark/util.d.ts +1 -1
- package/cjs/compile/mark/util.js.map +1 -1
- package/cjs/compile/state-manager.d.ts +11 -0
- package/cjs/compile/state-manager.js +29 -0
- package/cjs/compile/state-manager.js.map +1 -0
- package/cjs/compile/util.d.ts +14 -0
- package/cjs/compile/util.js +116 -13
- package/cjs/compile/util.js.map +1 -1
- package/cjs/component/axis/base-axis.d.ts +5 -3
- package/cjs/component/axis/base-axis.js +20 -17
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/axis.d.ts +1 -1
- package/cjs/component/axis/cartesian/axis.js +19 -21
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/axis/cartesian/band-axis.js +4 -3
- package/cjs/component/axis/cartesian/band-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/linear-axis.js +3 -2
- package/cjs/component/axis/cartesian/linear-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/log-axis.js +3 -2
- package/cjs/component/axis/cartesian/log-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/symlog-axis.js +3 -2
- package/cjs/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/cjs/component/axis/cartesian/time-axis.d.ts +1 -0
- package/cjs/component/axis/cartesian/time-axis.js +7 -2
- package/cjs/component/axis/cartesian/time-axis.js.map +1 -1
- package/cjs/component/axis/interface/common.d.ts +8 -0
- package/cjs/component/axis/interface/common.js +7 -1
- package/cjs/component/axis/interface/common.js.map +1 -1
- package/cjs/component/axis/polar/axis.js +2 -2
- package/cjs/component/axis/polar/axis.js.map +1 -1
- package/cjs/component/axis/polar/band-axis.js +5 -3
- package/cjs/component/axis/polar/band-axis.js.map +1 -1
- package/cjs/component/axis/polar/linear-axis.js +5 -3
- package/cjs/component/axis/polar/linear-axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +1 -2
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/brush/brush.d.ts +12 -10
- package/cjs/component/brush/brush.js +25 -28
- package/cjs/component/brush/brush.js.map +1 -1
- package/cjs/component/crosshair/base.d.ts +2 -2
- package/cjs/component/crosshair/base.js +2 -2
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.d.ts +0 -1
- package/cjs/component/custom-mark/custom-mark.js +3 -25
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/data-zoom/data-filter-base-component.d.ts +2 -2
- package/cjs/component/data-zoom/data-filter-base-component.js +4 -4
- package/cjs/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +2 -2
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/cjs/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/cjs/component/geo/geo-coordinate.d.ts +2 -2
- package/cjs/component/geo/geo-coordinate.js +4 -4
- package/cjs/component/geo/geo-coordinate.js.map +1 -1
- package/cjs/component/geo/interface.d.ts +1 -1
- package/cjs/component/geo/interface.js.map +1 -1
- package/cjs/component/indicator/indicator.js +13 -14
- package/cjs/component/indicator/indicator.js.map +1 -1
- package/cjs/component/label/base-label.d.ts +5 -0
- package/cjs/component/label/base-label.js +45 -1
- package/cjs/component/label/base-label.js.map +1 -1
- package/cjs/component/label/interface.d.ts +2 -3
- package/cjs/component/label/interface.js.map +1 -1
- package/cjs/component/label/label.d.ts +3 -3
- package/cjs/component/label/label.js +63 -52
- package/cjs/component/label/label.js.map +1 -1
- package/cjs/component/label/total-label.js +40 -36
- package/cjs/component/label/total-label.js.map +1 -1
- package/cjs/component/label/util.d.ts +9 -10
- package/cjs/component/label/util.js +13 -14
- package/cjs/component/label/util.js.map +1 -1
- package/cjs/component/legend/util.d.ts +3 -3
- package/cjs/component/map-label/component.js +14 -14
- package/cjs/component/map-label/component.js.map +1 -1
- package/cjs/component/marker/base-marker.d.ts +1 -1
- package/cjs/component/marker/base-marker.js +2 -2
- package/cjs/component/marker/base-marker.js.map +1 -1
- package/cjs/component/tooltip/processor/interface.d.ts +1 -1
- package/cjs/component/tooltip/processor/interface.js.map +1 -1
- package/cjs/component/tooltip/processor/mark-tooltip.js +4 -4
- package/cjs/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/cjs/component/tooltip/processor/util.d.ts +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +2 -3
- package/cjs/component/tooltip/tooltip.js +1 -2
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/show-tooltip.js +2 -4
- package/cjs/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/cjs/constant/data.d.ts +1 -0
- package/cjs/constant/data.js +2 -2
- package/cjs/constant/data.js.map +1 -1
- package/cjs/constant/event.d.ts +53 -2
- package/cjs/constant/event.js +31 -11
- package/cjs/constant/event.js.map +1 -1
- package/cjs/core/factory.d.ts +28 -3
- package/cjs/core/factory.js +33 -5
- package/cjs/core/factory.js.map +1 -1
- package/cjs/core/index.d.ts +2 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/interface.d.ts +13 -4
- package/cjs/core/interface.js.map +1 -1
- package/cjs/core/vchart.d.ts +6 -6
- package/cjs/core/vchart.js +31 -57
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/transforms/dimension-data.js.map +1 -1
- package/cjs/data/transforms/obj-flat.js +11 -5
- package/cjs/data/transforms/obj-flat.js.map +1 -1
- package/cjs/data/transforms/treemap.d.ts +10 -0
- package/cjs/data/transforms/treemap.js +22 -0
- package/cjs/data/transforms/treemap.js.map +1 -0
- package/cjs/data/transforms/venn.d.ts +10 -0
- package/cjs/data/transforms/venn.js +16 -0
- package/cjs/data/transforms/venn.js.map +1 -0
- package/cjs/event/event-dispatcher.js +17 -23
- package/cjs/event/event-dispatcher.js.map +1 -1
- package/cjs/event/events/base.d.ts +1 -2
- package/cjs/event/events/base.js.map +1 -1
- package/cjs/event/interface.d.ts +6 -9
- package/cjs/event/interface.js.map +1 -1
- package/cjs/index-harmony-simple.d.ts +2 -1
- package/cjs/index-harmony-simple.js +15 -11
- package/cjs/index-harmony-simple.js.map +1 -1
- package/cjs/index-harmony.js +3 -3
- package/cjs/index-harmony.js.map +1 -1
- package/cjs/index-lark.js +2 -2
- package/cjs/index-lark.js.map +1 -1
- package/cjs/index-wx-simple.js +2 -2
- package/cjs/index-wx-simple.js.map +1 -1
- package/cjs/index-wx.js +2 -2
- package/cjs/index-wx.js.map +1 -1
- package/cjs/index.d.ts +0 -3
- package/cjs/index.js +1 -3
- package/cjs/index.js.map +1 -1
- package/cjs/interaction/config.d.ts +13 -0
- package/cjs/interaction/config.js +17 -2
- package/cjs/interaction/config.js.map +1 -1
- package/cjs/interaction/index.d.ts +9 -1
- package/cjs/interaction/index.js +55 -18
- package/cjs/interaction/index.js.map +1 -1
- package/cjs/interaction/interaction.d.ts +17 -25
- package/cjs/interaction/interaction.js +84 -86
- package/cjs/interaction/interaction.js.map +1 -1
- package/cjs/interaction/interface/common.d.ts +22 -0
- package/cjs/{compile/signal/interface.js → interaction/interface/common.js} +1 -1
- package/cjs/interaction/interface/common.js.map +1 -0
- package/cjs/interaction/interface/spec.d.ts +53 -0
- package/cjs/interaction/{interface.js → interface/spec.js} +1 -1
- package/cjs/interaction/interface/spec.js.map +1 -0
- package/cjs/interaction/interface/trigger.d.ts +87 -0
- package/cjs/interaction/interface/trigger.js +6 -0
- package/cjs/interaction/interface/trigger.js.map +1 -0
- package/cjs/interaction/triggers/base.d.ts +28 -0
- package/cjs/interaction/triggers/base.js +77 -0
- package/cjs/interaction/triggers/base.js.map +1 -0
- package/cjs/interaction/triggers/dimension-hover.d.ts +22 -0
- package/cjs/interaction/triggers/dimension-hover.js +77 -0
- package/cjs/interaction/triggers/dimension-hover.js.map +1 -0
- package/cjs/interaction/triggers/element-active-by-legend.d.ts +21 -0
- package/cjs/interaction/triggers/element-active-by-legend.js +66 -0
- package/cjs/interaction/triggers/element-active-by-legend.js.map +1 -0
- package/cjs/interaction/triggers/element-active.d.ts +20 -0
- package/cjs/interaction/triggers/element-active.js +52 -0
- package/cjs/interaction/triggers/element-active.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.js +53 -0
- package/cjs/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-group.d.ts +23 -0
- package/cjs/interaction/triggers/element-highlight-by-group.js +74 -0
- package/cjs/interaction/triggers/element-highlight-by-group.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-key.d.ts +9 -0
- package/cjs/interaction/triggers/element-highlight-by-key.js +26 -0
- package/cjs/interaction/triggers/element-highlight-by-key.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.js +72 -0
- package/cjs/interaction/triggers/element-highlight-by-legend.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight-by-name.d.ts +24 -0
- package/cjs/interaction/triggers/element-highlight-by-name.js +81 -0
- package/cjs/interaction/triggers/element-highlight-by-name.js.map +1 -0
- package/cjs/interaction/triggers/element-highlight.d.ts +25 -0
- package/cjs/interaction/triggers/element-highlight.js +76 -0
- package/cjs/interaction/triggers/element-highlight.js.map +1 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.js +31 -0
- package/cjs/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
- package/cjs/interaction/triggers/element-select.d.ts +24 -0
- package/cjs/interaction/triggers/element-select.js +79 -0
- package/cjs/interaction/triggers/element-select.js.map +1 -0
- package/cjs/interaction/triggers/enum.d.ts +8 -0
- package/cjs/interaction/triggers/enum.js +13 -0
- package/cjs/interaction/triggers/enum.js.map +1 -0
- package/cjs/interaction/triggers/util.d.ts +12 -0
- package/cjs/interaction/triggers/util.js +58 -0
- package/cjs/interaction/triggers/util.js.map +1 -0
- package/cjs/interaction/zoom/zoomable.js +1 -1
- package/cjs/interaction/zoom/zoomable.js.map +1 -1
- package/cjs/layout/interface.d.ts +2 -2
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/layout/layout-item.d.ts +2 -3
- package/cjs/layout/layout-item.js +2 -2
- package/cjs/layout/layout-item.js.map +1 -1
- package/cjs/mark/arc-3d.js +4 -3
- package/cjs/mark/arc-3d.js.map +1 -1
- package/cjs/mark/arc.d.ts +2 -2
- package/cjs/mark/arc.js +8 -7
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.d.ts +2 -0
- package/cjs/mark/area.js +9 -4
- package/cjs/mark/area.js.map +1 -1
- package/cjs/mark/base/base-line.d.ts +16 -2
- package/cjs/mark/base/base-line.js +65 -11
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +131 -13
- package/cjs/mark/base/base-mark.js +422 -43
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.d.ts +11 -5
- package/cjs/mark/box-plot.js +216 -10
- package/cjs/mark/box-plot.js.map +1 -1
- package/cjs/mark/cell.d.ts +5 -2
- package/cjs/mark/cell.js +16 -4
- package/cjs/mark/cell.js.map +1 -1
- package/cjs/mark/component.d.ts +11 -3
- package/cjs/mark/component.js +34 -7
- package/cjs/mark/component.js.map +1 -1
- package/cjs/mark/glyph.d.ts +29 -0
- package/cjs/mark/glyph.js +73 -0
- package/cjs/mark/glyph.js.map +1 -0
- package/cjs/mark/group.d.ts +10 -6
- package/cjs/mark/group.js +30 -16
- package/cjs/mark/group.js.map +1 -1
- package/cjs/mark/image.js +3 -2
- package/cjs/mark/image.js.map +1 -1
- package/cjs/mark/index.d.ts +3 -1
- package/cjs/mark/index.js +19 -1
- package/cjs/mark/index.js.map +1 -1
- package/cjs/mark/interface/common.d.ts +61 -9
- package/cjs/mark/interface/common.js.map +1 -1
- package/cjs/mark/interface/enum.d.ts +6 -0
- package/cjs/mark/interface/enum.js +11 -0
- package/cjs/mark/interface/enum.js.map +1 -0
- package/cjs/mark/interface/index.d.ts +1 -0
- package/cjs/mark/interface/index.js +1 -1
- package/cjs/mark/interface/index.js.map +1 -1
- package/cjs/mark/interface/mark.d.ts +18 -1
- package/cjs/mark/interface/mark.js.map +1 -1
- package/cjs/mark/interface/type.d.ts +1 -0
- package/cjs/mark/interface/type.js +2 -2
- package/cjs/mark/interface/type.js.map +1 -1
- package/cjs/mark/label.d.ts +4 -3
- package/cjs/mark/label.js +3 -2
- package/cjs/mark/label.js.map +1 -1
- package/cjs/mark/line.js +5 -3
- package/cjs/mark/line.js.map +1 -1
- package/cjs/mark/link-path.d.ts +35 -5
- package/cjs/mark/link-path.js +65 -11
- package/cjs/mark/link-path.js.map +1 -1
- package/cjs/mark/liquid.d.ts +47 -5
- package/cjs/mark/liquid.js +62 -9
- package/cjs/mark/liquid.js.map +1 -1
- package/cjs/mark/path.js +3 -2
- package/cjs/mark/path.js.map +1 -1
- package/cjs/mark/polygon/polygon.js +4 -3
- package/cjs/mark/polygon/polygon.js.map +1 -1
- package/cjs/mark/polygon/pyramid-3d.js +4 -3
- package/cjs/mark/polygon/pyramid-3d.js.map +1 -1
- package/cjs/mark/rect-3d.js +4 -3
- package/cjs/mark/rect-3d.js.map +1 -1
- package/cjs/mark/rect.js +4 -3
- package/cjs/mark/rect.js.map +1 -1
- package/cjs/mark/ripple.d.ts +39 -4
- package/cjs/mark/ripple.js +41 -9
- package/cjs/mark/ripple.js.map +1 -1
- package/cjs/mark/rule.d.ts +3 -0
- package/cjs/mark/rule.js +28 -2
- package/cjs/mark/rule.js.map +1 -1
- package/cjs/mark/symbol.d.ts +4 -4
- package/cjs/mark/symbol.js +14 -11
- package/cjs/mark/symbol.js.map +1 -1
- package/cjs/mark/text.d.ts +4 -2
- package/cjs/mark/text.js +15 -9
- package/cjs/mark/text.js.map +1 -1
- package/cjs/mark/transform/data-sampling.d.ts +10 -0
- package/cjs/mark/transform/data-sampling.js +119 -0
- package/cjs/mark/transform/data-sampling.js.map +1 -0
- package/cjs/mark/transform/filter.d.ts +1 -0
- package/cjs/mark/transform/filter.js +14 -0
- package/cjs/mark/transform/filter.js.map +1 -0
- package/cjs/mark/transform/map.d.ts +1 -0
- package/cjs/mark/transform/map.js +16 -0
- package/cjs/mark/transform/map.js.map +1 -0
- package/cjs/mark/transform/symbol-overlap.d.ts +14 -0
- package/cjs/mark/transform/symbol-overlap.js +93 -0
- package/cjs/mark/transform/symbol-overlap.js.map +1 -0
- package/cjs/mark/utils/common.d.ts +4 -0
- package/cjs/mark/utils/common.js +44 -4
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/mark/utils/glyph.d.ts +2 -0
- package/cjs/mark/utils/glyph.js +13 -0
- package/cjs/mark/utils/glyph.js.map +1 -0
- package/cjs/mark/utils/index.d.ts +2 -0
- package/cjs/mark/utils/index.js +2 -1
- package/cjs/mark/utils/index.js.map +1 -1
- package/cjs/mark/utils/line.d.ts +3 -0
- package/cjs/mark/utils/line.js +29 -0
- package/cjs/mark/utils/line.js.map +1 -0
- package/cjs/model/base-model.d.ts +8 -8
- package/cjs/model/base-model.js +20 -9
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/model/interface.d.ts +4 -8
- package/cjs/model/interface.js.map +1 -1
- package/cjs/model/layout-model.d.ts +2 -2
- package/cjs/model/layout-model.js +4 -4
- package/cjs/model/layout-model.js.map +1 -1
- package/cjs/plugin/components/tooltip-handler/base.d.ts +2 -2
- package/cjs/plugin/components/tooltip-handler/base.js +1 -1
- package/cjs/plugin/components/tooltip-handler/base.js.map +1 -1
- package/cjs/plugin/other.d.ts +3 -3
- package/cjs/plugin/other.js +16 -18
- package/cjs/plugin/other.js.map +1 -1
- package/cjs/region/interface.d.ts +0 -2
- package/cjs/region/interface.js.map +1 -1
- package/cjs/region/region.d.ts +3 -9
- package/cjs/region/region.js +12 -32
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/area/animation.d.ts +1 -1
- package/cjs/series/area/animation.js.map +1 -1
- package/cjs/series/area/area.d.ts +1 -1
- package/cjs/series/area/area.js +9 -16
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/bar/animation.d.ts +1 -1
- package/cjs/series/bar/animation.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +3 -3
- package/cjs/series/bar/bar.js +11 -25
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/base/base-series.d.ts +26 -42
- package/cjs/series/base/base-series.js +57 -70
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +1 -2
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +3 -3
- package/cjs/series/box-plot/box-plot.js +12 -15
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +1 -1
- package/cjs/series/circle-packing/animation.d.ts +1 -1
- package/cjs/series/circle-packing/animation.js.map +1 -1
- package/cjs/series/circle-packing/circle-packing.d.ts +1 -1
- package/cjs/series/circle-packing/circle-packing.js +3 -5
- package/cjs/series/circle-packing/circle-packing.js.map +1 -1
- package/cjs/series/correlation/animation.d.ts +1 -1
- package/cjs/series/correlation/animation.js.map +1 -1
- package/cjs/series/correlation/correlation.d.ts +3 -4
- package/cjs/series/correlation/correlation.js +6 -13
- package/cjs/series/correlation/correlation.js.map +1 -1
- package/cjs/series/dot/dot.d.ts +2 -2
- package/cjs/series/dot/dot.js +4 -3
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/funnel/3d/funnel-3d.js +3 -4
- package/cjs/series/funnel/3d/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +3 -2
- package/cjs/series/funnel/funnel.js +57 -45
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +0 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +2 -4
- package/cjs/series/funnel/tooltip-helper.js +5 -6
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/animation.d.ts +1 -1
- package/cjs/series/gauge/animation.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +4 -1
- package/cjs/series/gauge/gauge-pointer.js +2 -2
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +2 -2
- package/cjs/series/gauge/gauge.js +2 -2
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/geo/geo.d.ts +2 -2
- package/cjs/series/geo/geo.js.map +1 -1
- package/cjs/series/heatmap/animation.d.ts +1 -1
- package/cjs/series/heatmap/animation.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +4 -1
- package/cjs/series/heatmap/heatmap.js +5 -18
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -4
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/series.d.ts +6 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/line/animation.d.ts +1 -1
- package/cjs/series/line/animation.js.map +1 -1
- package/cjs/series/line/line.d.ts +1 -1
- package/cjs/series/line/line.js +6 -11
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/link.d.ts +5 -2
- package/cjs/series/link/link.js +3 -3
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/liquid/animation.d.ts +1 -1
- package/cjs/series/liquid/animation.js.map +1 -1
- package/cjs/series/liquid/liquid.d.ts +4 -1
- package/cjs/series/liquid/liquid.js +5 -5
- package/cjs/series/liquid/liquid.js.map +1 -1
- package/cjs/series/map/interface.d.ts +10 -0
- package/cjs/series/map/interface.js.map +1 -1
- package/cjs/series/map/map.js +12 -14
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/line-mixin.d.ts +5 -5
- package/cjs/series/mixin/line-mixin.js +17 -25
- package/cjs/series/mixin/line-mixin.js.map +1 -1
- package/cjs/series/pictogram/pictogram.d.ts +13 -19
- package/cjs/series/pictogram/pictogram.js +18 -28
- package/cjs/series/pictogram/pictogram.js.map +1 -1
- package/cjs/series/pie/animation/animation.d.ts +4 -3
- package/cjs/series/pie/animation/animation.js.map +1 -1
- package/cjs/series/pie/animation/centerOffset.d.ts +1 -1
- package/cjs/series/pie/animation/centerOffset.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +2 -2
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +8 -6
- package/cjs/series/pie/pie.js +14 -17
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/polar/progress-like/animation.d.ts +1 -1
- package/cjs/series/polar/progress-like/animation.js.map +1 -1
- package/cjs/series/polar/progress-like/progress-like.d.ts +1 -2
- package/cjs/series/polar/progress-like/progress-like.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +4 -1
- package/cjs/series/progress/circular/circular.js +5 -12
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/linear/animation.d.ts +1 -1
- package/cjs/series/progress/linear/animation.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +4 -1
- package/cjs/series/progress/linear/linear.js +7 -13
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/animation.d.ts +11 -9
- package/cjs/series/radar/animation.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +2 -2
- package/cjs/series/radar/radar.js +6 -15
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-area/range-area.js +1 -5
- package/cjs/series/range-area/range-area.js.map +1 -1
- package/cjs/series/range-column/animation.d.ts +1 -1
- package/cjs/series/range-column/animation.js.map +1 -1
- package/cjs/series/range-column/range-column.js +6 -8
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/animation.d.ts +1 -1
- package/cjs/series/rose/animation.js.map +1 -1
- package/cjs/series/rose/rose.js +1 -4
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/animation.d.ts +1 -1
- package/cjs/series/sankey/animation.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +11 -12
- package/cjs/series/sankey/sankey.js +85 -99
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/sankey/tooltip-helper.d.ts +1 -1
- package/cjs/series/sankey/tooltip-helper.js.map +1 -1
- package/cjs/series/scatter/animation.d.ts +1 -1
- package/cjs/series/scatter/animation.js.map +1 -1
- package/cjs/series/scatter/scatter.js +7 -13
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/animation/enter.d.ts +1 -1
- package/cjs/series/sunburst/animation/enter.js +4 -4
- package/cjs/series/sunburst/animation/enter.js.map +1 -1
- package/cjs/series/sunburst/animation/exit.d.ts +1 -1
- package/cjs/series/sunburst/animation/exit.js +4 -4
- package/cjs/series/sunburst/animation/exit.js.map +1 -1
- package/cjs/series/sunburst/animation/preset.d.ts +1 -1
- package/cjs/series/sunburst/animation/preset.js.map +1 -1
- package/cjs/series/sunburst/animation/utils.d.ts +2 -2
- package/cjs/series/sunburst/animation/utils.js +9 -9
- package/cjs/series/sunburst/animation/utils.js.map +1 -1
- package/cjs/series/sunburst/sunburst.d.ts +1 -1
- package/cjs/series/sunburst/sunburst.js +3 -7
- package/cjs/series/sunburst/sunburst.js.map +1 -1
- package/cjs/series/treemap/animation.d.ts +1 -1
- package/cjs/series/treemap/animation.js.map +1 -1
- package/cjs/series/treemap/treemap.d.ts +1 -2
- package/cjs/series/treemap/treemap.js +37 -56
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/venn/animation.d.ts +1 -1
- package/cjs/series/venn/animation.js.map +1 -1
- package/cjs/series/venn/venn.d.ts +2 -1
- package/cjs/series/venn/venn.js +24 -15
- package/cjs/series/venn/venn.js.map +1 -1
- package/cjs/series/waterfall/animation.d.ts +1 -1
- package/cjs/series/waterfall/animation.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +2 -3
- package/cjs/series/waterfall/waterfall.js +7 -15
- package/cjs/series/waterfall/waterfall.js.map +1 -1
- package/cjs/series/word-cloud/animation.d.ts +1 -1
- package/cjs/series/word-cloud/animation.js +1 -1
- package/cjs/series/word-cloud/animation.js.map +1 -1
- package/cjs/series/word-cloud/base.d.ts +1 -1
- package/cjs/series/word-cloud/base.js +8 -11
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +5 -5
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud.js +7 -3
- package/cjs/series/word-cloud/word-cloud.js.map +1 -1
- package/cjs/typings/common.d.ts +13 -0
- package/cjs/typings/common.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +37 -36
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/visual.d.ts +2 -2
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/array.d.ts +1 -0
- package/cjs/util/array.js +8 -2
- package/cjs/util/array.js.map +1 -1
- package/cjs/util/debug.js +1 -1
- package/cjs/util/debug.js.map +1 -1
- package/cjs/util/index.d.ts +1 -0
- package/cjs/util/index.js +2 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/mark.d.ts +5 -0
- package/cjs/util/mark.js +27 -0
- package/cjs/util/mark.js.map +1 -0
- package/cjs/util/math.d.ts +1 -1
- package/cjs/util/math.js.map +1 -1
- package/cjs/util/scale.d.ts +0 -1
- package/cjs/util/scale.js +2 -9
- package/cjs/util/scale.js.map +1 -1
- package/esm/animation/animate-manager.d.ts +2 -4
- package/esm/animation/animate-manager.js +6 -11
- package/esm/animation/animate-manager.js.map +1 -1
- package/esm/animation/config.js +9 -21
- package/esm/animation/config.js.map +1 -1
- package/esm/animation/interface.d.ts +86 -2
- package/esm/animation/interface.js.map +1 -1
- package/esm/animation/spec.d.ts +27 -3
- package/esm/animation/spec.js.map +1 -1
- package/esm/animation/utils.d.ts +3 -4
- package/esm/animation/utils.js +9 -8
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/area/area.js +3 -1
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar.js +3 -1
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base/base-chart-transformer.js +2 -2
- package/esm/chart/base/base-chart-transformer.js.map +1 -1
- package/esm/chart/base/base-chart.d.ts +10 -7
- package/esm/chart/base/base-chart.js +81 -65
- package/esm/chart/base/base-chart.js.map +1 -1
- package/esm/chart/box-plot/box-plot.js +3 -1
- package/esm/chart/box-plot/box-plot.js.map +1 -1
- package/esm/chart/funnel/funnel-transformer.js +1 -1
- package/esm/chart/funnel/funnel-transformer.js.map +1 -1
- package/esm/chart/funnel/util.d.ts +2 -0
- package/esm/chart/funnel/util.js +6 -0
- package/esm/chart/funnel/util.js.map +1 -0
- package/esm/chart/histogram/3d/histogram-3d.js +3 -1
- package/esm/chart/histogram/3d/histogram-3d.js.map +1 -1
- package/esm/chart/histogram/histogram.js +3 -1
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/index.js +1 -2
- package/esm/chart/interface/chart.d.ts +3 -4
- package/esm/chart/interface/chart.js.map +1 -1
- package/esm/chart/interface/common.d.ts +2 -9
- package/esm/chart/interface/common.js.map +1 -1
- package/esm/chart/line/line.js +3 -1
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/mosaic/mosaic.js +3 -1
- package/esm/chart/mosaic/mosaic.js.map +1 -1
- package/esm/chart/progress/circular/circular.js +3 -1
- package/esm/chart/progress/circular/circular.js.map +1 -1
- package/esm/chart/progress/linear/linear.js +3 -1
- package/esm/chart/progress/linear/linear.js.map +1 -1
- package/esm/chart/radar/radar.js +3 -1
- package/esm/chart/radar/radar.js.map +1 -1
- package/esm/chart/range-area/range-area.js +3 -1
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/3d/range-column-3d.js +3 -1
- package/esm/chart/range-column/3d/range-column-3d.js.map +1 -1
- package/esm/chart/range-column/range-column.js +3 -1
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/rose/rose.js +3 -1
- package/esm/chart/rose/rose.js.map +1 -1
- package/esm/chart/sankey/sankey.d.ts +1 -1
- package/esm/chart/sankey/sankey.js +21 -17
- package/esm/chart/sankey/sankey.js.map +1 -1
- package/esm/chart/scatter/scatter.js +3 -1
- package/esm/chart/scatter/scatter.js.map +1 -1
- package/esm/chart/sequence/sequence-transformer.js +2 -2
- package/esm/chart/sequence/sequence-transformer.js.map +1 -1
- package/esm/chart/util.js +1 -1
- package/esm/chart/util.js.map +1 -1
- package/esm/chart/waterfall/waterfall.js +3 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/compile/compilable-base.d.ts +1 -1
- package/esm/compile/compilable-base.js +2 -2
- package/esm/compile/compilable-base.js.map +1 -1
- package/esm/compile/compiler.d.ts +35 -25
- package/esm/compile/compiler.js +190 -149
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/data/compilable-data.d.ts +7 -7
- package/esm/compile/data/compilable-data.js +19 -22
- package/esm/compile/data/compilable-data.js.map +1 -1
- package/esm/compile/data/interface.d.ts +4 -1
- package/esm/compile/data/interface.js.map +1 -1
- package/esm/compile/grammar-item.d.ts +7 -13
- package/esm/compile/grammar-item.js +15 -34
- package/esm/compile/grammar-item.js.map +1 -1
- package/esm/compile/interface/compilable-item.d.ts +22 -28
- package/esm/compile/interface/compilable-item.js +1 -1
- package/esm/compile/interface/compilable-item.js.map +1 -1
- package/esm/compile/interface/compiler.d.ts +13 -4
- package/esm/compile/interface/compiler.js +6 -1
- package/esm/compile/interface/compiler.js.map +1 -1
- package/esm/compile/mark/index.d.ts +0 -1
- package/esm/compile/mark/index.js +0 -2
- package/esm/compile/mark/index.js.map +1 -1
- package/esm/compile/mark/interface.d.ts +42 -33
- package/esm/compile/mark/interface.js +2 -1
- package/esm/compile/mark/interface.js.map +1 -1
- package/esm/compile/mark/mark-state-manager.d.ts +11 -13
- package/esm/compile/mark/mark-state-manager.js +26 -32
- package/esm/compile/mark/mark-state-manager.js.map +1 -1
- package/esm/compile/mark/util.d.ts +1 -1
- package/esm/compile/mark/util.js.map +1 -1
- package/esm/compile/state-manager.d.ts +11 -0
- package/esm/compile/state-manager.js +23 -0
- package/esm/compile/state-manager.js.map +1 -0
- package/esm/compile/util.d.ts +14 -0
- package/esm/compile/util.js +104 -0
- package/esm/compile/util.js.map +1 -1
- package/esm/component/axis/base-axis.d.ts +5 -3
- package/esm/component/axis/base-axis.js +19 -16
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/axis/cartesian/axis.d.ts +1 -1
- package/esm/component/axis/cartesian/axis.js +18 -23
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/axis/cartesian/band-axis.js +8 -4
- package/esm/component/axis/cartesian/band-axis.js.map +1 -1
- package/esm/component/axis/cartesian/linear-axis.js +6 -4
- package/esm/component/axis/cartesian/linear-axis.js.map +1 -1
- package/esm/component/axis/cartesian/log-axis.js +6 -4
- package/esm/component/axis/cartesian/log-axis.js.map +1 -1
- package/esm/component/axis/cartesian/symlog-axis.js +6 -4
- package/esm/component/axis/cartesian/symlog-axis.js.map +1 -1
- package/esm/component/axis/cartesian/time-axis.d.ts +1 -0
- package/esm/component/axis/cartesian/time-axis.js +10 -4
- package/esm/component/axis/cartesian/time-axis.js.map +1 -1
- package/esm/component/axis/interface/common.d.ts +8 -0
- package/esm/component/axis/interface/common.js +11 -1
- package/esm/component/axis/interface/common.js.map +1 -1
- package/esm/component/axis/polar/axis.js +2 -2
- package/esm/component/axis/polar/axis.js.map +1 -1
- package/esm/component/axis/polar/band-axis.js +7 -4
- package/esm/component/axis/polar/band-axis.js.map +1 -1
- package/esm/component/axis/polar/linear-axis.js +7 -4
- package/esm/component/axis/polar/linear-axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +1 -2
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/brush/brush.d.ts +12 -10
- package/esm/component/brush/brush.js +25 -28
- package/esm/component/brush/brush.js.map +1 -1
- package/esm/component/crosshair/base.d.ts +2 -2
- package/esm/component/crosshair/base.js +2 -2
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.d.ts +0 -1
- package/esm/component/custom-mark/custom-mark.js +3 -25
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/data-zoom/data-filter-base-component.d.ts +2 -2
- package/esm/component/data-zoom/data-filter-base-component.js +4 -4
- package/esm/component/data-zoom/data-filter-base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.js +2 -2
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.d.ts +1 -1
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js +2 -2
- package/esm/component/data-zoom/scroll-bar/scroll-bar.js.map +1 -1
- package/esm/component/geo/geo-coordinate.d.ts +2 -2
- package/esm/component/geo/geo-coordinate.js +4 -4
- package/esm/component/geo/geo-coordinate.js.map +1 -1
- package/esm/component/geo/interface.d.ts +1 -1
- package/esm/component/geo/interface.js.map +1 -1
- package/esm/component/indicator/indicator.js +14 -13
- package/esm/component/indicator/indicator.js.map +1 -1
- package/esm/component/label/base-label.d.ts +5 -0
- package/esm/component/label/base-label.js +49 -1
- package/esm/component/label/base-label.js.map +1 -1
- package/esm/component/label/interface.d.ts +2 -3
- package/esm/component/label/interface.js.map +1 -1
- package/esm/component/label/label.d.ts +3 -3
- package/esm/component/label/label.js +64 -52
- package/esm/component/label/label.js.map +1 -1
- package/esm/component/label/total-label.js +41 -36
- package/esm/component/label/total-label.js.map +1 -1
- package/esm/component/label/util.d.ts +9 -10
- package/esm/component/label/util.js +13 -13
- package/esm/component/label/util.js.map +1 -1
- package/esm/component/legend/util.d.ts +3 -3
- package/esm/component/map-label/component.js +15 -13
- package/esm/component/map-label/component.js.map +1 -1
- package/esm/component/marker/base-marker.d.ts +1 -1
- package/esm/component/marker/base-marker.js +2 -2
- package/esm/component/marker/base-marker.js.map +1 -1
- package/esm/component/tooltip/processor/interface.d.ts +1 -1
- package/esm/component/tooltip/processor/interface.js.map +1 -1
- package/esm/component/tooltip/processor/mark-tooltip.js +4 -3
- package/esm/component/tooltip/processor/mark-tooltip.js.map +1 -1
- package/esm/component/tooltip/processor/util.d.ts +1 -1
- package/esm/component/tooltip/tooltip.d.ts +2 -3
- package/esm/component/tooltip/tooltip.js +1 -2
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/show-tooltip.js +2 -4
- package/esm/component/tooltip/utils/show-tooltip.js.map +1 -1
- package/esm/constant/data.d.ts +1 -0
- package/esm/constant/data.js +2 -0
- package/esm/constant/data.js.map +1 -1
- package/esm/constant/event.d.ts +53 -2
- package/esm/constant/event.js +30 -2
- package/esm/constant/event.js.map +1 -1
- package/esm/core/factory.d.ts +28 -3
- package/esm/core/factory.js +33 -6
- package/esm/core/factory.js.map +1 -1
- package/esm/core/index.d.ts +2 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/interface.d.ts +13 -4
- package/esm/core/interface.js.map +1 -1
- package/esm/core/vchart.d.ts +6 -6
- package/esm/core/vchart.js +40 -62
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/transforms/dimension-data.js.map +1 -1
- package/esm/data/transforms/obj-flat.js +16 -4
- package/esm/data/transforms/obj-flat.js.map +1 -1
- package/esm/data/transforms/treemap.d.ts +10 -0
- package/esm/data/transforms/treemap.js +18 -0
- package/esm/data/transforms/treemap.js.map +1 -0
- package/esm/data/transforms/venn.d.ts +10 -0
- package/esm/data/transforms/venn.js +10 -0
- package/esm/data/transforms/venn.js.map +1 -0
- package/esm/event/event-dispatcher.js +19 -23
- package/esm/event/event-dispatcher.js.map +1 -1
- package/esm/event/events/base.d.ts +1 -2
- package/esm/event/events/base.js.map +1 -1
- package/esm/event/interface.d.ts +6 -9
- package/esm/event/interface.js.map +1 -1
- package/esm/index-harmony-simple.d.ts +2 -1
- package/esm/index-harmony-simple.js +4 -2
- package/esm/index-harmony-simple.js.map +1 -1
- package/esm/index-harmony.js +4 -2
- package/esm/index-harmony.js.map +1 -1
- package/esm/index-lark.js +3 -1
- package/esm/index-lark.js.map +1 -1
- package/esm/index-wx-simple.js +3 -1
- package/esm/index-wx-simple.js.map +1 -1
- package/esm/index-wx.js +3 -1
- package/esm/index-wx.js.map +1 -1
- package/esm/index.d.ts +0 -3
- package/esm/index.js +0 -6
- package/esm/index.js.map +1 -1
- package/esm/interaction/config.d.ts +13 -0
- package/esm/interaction/config.js +15 -0
- package/esm/interaction/config.js.map +1 -1
- package/esm/interaction/index.d.ts +9 -1
- package/esm/interaction/index.js +17 -1
- package/esm/interaction/index.js.map +1 -1
- package/esm/interaction/interaction.d.ts +17 -25
- package/esm/interaction/interaction.js +84 -88
- package/esm/interaction/interaction.js.map +1 -1
- package/esm/interaction/interface/common.d.ts +22 -0
- package/esm/interaction/interface/common.js +2 -0
- package/esm/interaction/interface/common.js.map +1 -0
- package/esm/interaction/interface/spec.d.ts +53 -0
- package/esm/interaction/interface/spec.js +2 -0
- package/esm/interaction/interface/spec.js.map +1 -0
- package/esm/interaction/interface/trigger.d.ts +87 -0
- package/esm/interaction/interface/trigger.js +2 -0
- package/esm/interaction/interface/trigger.js.map +1 -0
- package/esm/interaction/triggers/base.d.ts +28 -0
- package/esm/interaction/triggers/base.js +73 -0
- package/esm/interaction/triggers/base.js.map +1 -0
- package/esm/interaction/triggers/dimension-hover.d.ts +22 -0
- package/esm/interaction/triggers/dimension-hover.js +80 -0
- package/esm/interaction/triggers/dimension-hover.js.map +1 -0
- package/esm/interaction/triggers/element-active-by-legend.d.ts +21 -0
- package/esm/interaction/triggers/element-active-by-legend.js +68 -0
- package/esm/interaction/triggers/element-active-by-legend.js.map +1 -0
- package/esm/interaction/triggers/element-active.d.ts +20 -0
- package/esm/interaction/triggers/element-active.js +50 -0
- package/esm/interaction/triggers/element-active.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.d.ts +13 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.js +51 -0
- package/esm/interaction/triggers/element-highlight-by-graphic-name.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-group.d.ts +23 -0
- package/esm/interaction/triggers/element-highlight-by-group.js +73 -0
- package/esm/interaction/triggers/element-highlight-by-group.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-key.d.ts +9 -0
- package/esm/interaction/triggers/element-highlight-by-key.js +22 -0
- package/esm/interaction/triggers/element-highlight-by-key.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-legend.d.ts +22 -0
- package/esm/interaction/triggers/element-highlight-by-legend.js +73 -0
- package/esm/interaction/triggers/element-highlight-by-legend.js.map +1 -0
- package/esm/interaction/triggers/element-highlight-by-name.d.ts +24 -0
- package/esm/interaction/triggers/element-highlight-by-name.js +82 -0
- package/esm/interaction/triggers/element-highlight-by-name.js.map +1 -0
- package/esm/interaction/triggers/element-highlight.d.ts +25 -0
- package/esm/interaction/triggers/element-highlight.js +75 -0
- package/esm/interaction/triggers/element-highlight.js.map +1 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.d.ts +8 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.js +27 -0
- package/esm/interaction/triggers/element-select-by-graphic-name.js.map +1 -0
- package/esm/interaction/triggers/element-select.d.ts +24 -0
- package/esm/interaction/triggers/element-select.js +81 -0
- package/esm/interaction/triggers/element-select.js.map +1 -0
- package/esm/interaction/triggers/enum.d.ts +8 -0
- package/esm/interaction/triggers/enum.js +9 -0
- package/esm/interaction/triggers/enum.js.map +1 -0
- package/esm/interaction/triggers/util.d.ts +12 -0
- package/esm/interaction/triggers/util.js +52 -0
- package/esm/interaction/triggers/util.js.map +1 -0
- package/esm/interaction/zoom/zoomable.js +1 -1
- package/esm/interaction/zoom/zoomable.js.map +1 -1
- package/esm/layout/interface.d.ts +2 -2
- package/esm/layout/interface.js.map +1 -1
- package/esm/layout/layout-item.d.ts +2 -3
- package/esm/layout/layout-item.js +2 -2
- package/esm/layout/layout-item.js.map +1 -1
- package/esm/mark/arc-3d.js +6 -3
- package/esm/mark/arc-3d.js.map +1 -1
- package/esm/mark/arc.d.ts +2 -2
- package/esm/mark/arc.js +12 -7
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.d.ts +2 -0
- package/esm/mark/area.js +16 -5
- package/esm/mark/area.js.map +1 -1
- package/esm/mark/base/base-line.d.ts +16 -2
- package/esm/mark/base/base-line.js +65 -9
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +131 -13
- package/esm/mark/base/base-mark.js +441 -43
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.d.ts +11 -5
- package/esm/mark/box-plot.js +220 -11
- package/esm/mark/box-plot.js.map +1 -1
- package/esm/mark/cell.d.ts +5 -2
- package/esm/mark/cell.js +22 -4
- package/esm/mark/cell.js.map +1 -1
- package/esm/mark/component.d.ts +11 -3
- package/esm/mark/component.js +39 -8
- package/esm/mark/component.js.map +1 -1
- package/esm/mark/glyph.d.ts +29 -0
- package/esm/mark/glyph.js +72 -0
- package/esm/mark/glyph.js.map +1 -0
- package/esm/mark/group.d.ts +10 -6
- package/esm/mark/group.js +35 -17
- package/esm/mark/group.js.map +1 -1
- package/esm/mark/image.js +5 -2
- package/esm/mark/image.js.map +1 -1
- package/esm/mark/index.d.ts +3 -1
- package/esm/mark/index.js +5 -1
- package/esm/mark/index.js.map +1 -1
- package/esm/mark/interface/common.d.ts +61 -9
- package/esm/mark/interface/common.js.map +1 -1
- package/esm/mark/interface/enum.d.ts +6 -0
- package/esm/mark/interface/enum.js +7 -0
- package/esm/mark/interface/enum.js.map +1 -0
- package/esm/mark/interface/index.d.ts +1 -0
- package/esm/mark/interface/index.js +2 -0
- package/esm/mark/interface/index.js.map +1 -1
- package/esm/mark/interface/mark.d.ts +18 -1
- package/esm/mark/interface/mark.js.map +1 -1
- package/esm/mark/interface/type.d.ts +1 -0
- package/esm/mark/interface/type.js +2 -2
- package/esm/mark/interface/type.js.map +1 -1
- package/esm/mark/label.d.ts +4 -3
- package/esm/mark/label.js +3 -4
- package/esm/mark/label.js.map +1 -1
- package/esm/mark/line.js +9 -3
- package/esm/mark/line.js.map +1 -1
- package/esm/mark/link-path.d.ts +35 -5
- package/esm/mark/link-path.js +65 -11
- package/esm/mark/link-path.js.map +1 -1
- package/esm/mark/liquid.d.ts +47 -5
- package/esm/mark/liquid.js +64 -11
- package/esm/mark/liquid.js.map +1 -1
- package/esm/mark/path.js +5 -2
- package/esm/mark/path.js.map +1 -1
- package/esm/mark/polygon/polygon.js +6 -3
- package/esm/mark/polygon/polygon.js.map +1 -1
- package/esm/mark/polygon/pyramid-3d.js +6 -4
- package/esm/mark/polygon/pyramid-3d.js.map +1 -1
- package/esm/mark/rect-3d.js +6 -3
- package/esm/mark/rect-3d.js.map +1 -1
- package/esm/mark/rect.js +8 -3
- package/esm/mark/rect.js.map +1 -1
- package/esm/mark/ripple.d.ts +39 -4
- package/esm/mark/ripple.js +45 -10
- package/esm/mark/ripple.js.map +1 -1
- package/esm/mark/rule.d.ts +3 -0
- package/esm/mark/rule.js +30 -2
- package/esm/mark/rule.js.map +1 -1
- package/esm/mark/symbol.d.ts +4 -4
- package/esm/mark/symbol.js +18 -8
- package/esm/mark/symbol.js.map +1 -1
- package/esm/mark/text.d.ts +4 -2
- package/esm/mark/text.js +17 -8
- package/esm/mark/text.js.map +1 -1
- package/esm/mark/transform/data-sampling.d.ts +10 -0
- package/esm/mark/transform/data-sampling.js +115 -0
- package/esm/mark/transform/data-sampling.js.map +1 -0
- package/esm/mark/transform/filter.d.ts +1 -0
- package/esm/mark/transform/filter.js +8 -0
- package/esm/mark/transform/filter.js.map +1 -0
- package/esm/mark/transform/map.d.ts +1 -0
- package/esm/mark/transform/map.js +10 -0
- package/esm/mark/transform/map.js.map +1 -0
- package/esm/mark/transform/symbol-overlap.d.ts +14 -0
- package/esm/mark/transform/symbol-overlap.js +87 -0
- package/esm/mark/transform/symbol-overlap.js.map +1 -0
- package/esm/mark/utils/common.d.ts +4 -0
- package/esm/mark/utils/common.js +37 -0
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/mark/utils/glyph.d.ts +2 -0
- package/esm/mark/utils/glyph.js +5 -0
- package/esm/mark/utils/glyph.js.map +1 -0
- package/esm/mark/utils/index.d.ts +2 -0
- package/esm/mark/utils/index.js +4 -0
- package/esm/mark/utils/index.js.map +1 -1
- package/esm/mark/utils/line.d.ts +3 -0
- package/esm/mark/utils/line.js +20 -0
- package/esm/mark/utils/line.js.map +1 -0
- package/esm/model/base-model.d.ts +8 -8
- package/esm/model/base-model.js +20 -9
- package/esm/model/base-model.js.map +1 -1
- package/esm/model/interface.d.ts +4 -8
- package/esm/model/interface.js.map +1 -1
- package/esm/model/layout-model.d.ts +2 -2
- package/esm/model/layout-model.js +4 -4
- package/esm/model/layout-model.js.map +1 -1
- package/esm/plugin/components/tooltip-handler/base.d.ts +2 -2
- package/esm/plugin/components/tooltip-handler/base.js +1 -1
- package/esm/plugin/components/tooltip-handler/base.js.map +1 -1
- package/esm/plugin/other.d.ts +3 -3
- package/esm/plugin/other.js +13 -5
- package/esm/plugin/other.js.map +1 -1
- package/esm/region/interface.d.ts +0 -2
- package/esm/region/interface.js.map +1 -1
- package/esm/region/region.d.ts +3 -9
- package/esm/region/region.js +11 -36
- package/esm/region/region.js.map +1 -1
- package/esm/series/area/animation.d.ts +1 -1
- package/esm/series/area/animation.js.map +1 -1
- package/esm/series/area/area.d.ts +1 -1
- package/esm/series/area/area.js +13 -18
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/bar/animation.d.ts +1 -1
- package/esm/series/bar/animation.js.map +1 -1
- package/esm/series/bar/bar.d.ts +3 -3
- package/esm/series/bar/bar.js +14 -28
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/base/base-series.d.ts +26 -42
- package/esm/series/base/base-series.js +61 -71
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +1 -2
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +3 -3
- package/esm/series/box-plot/box-plot.js +13 -16
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +1 -1
- package/esm/series/circle-packing/animation.d.ts +1 -1
- package/esm/series/circle-packing/animation.js.map +1 -1
- package/esm/series/circle-packing/circle-packing.d.ts +1 -1
- package/esm/series/circle-packing/circle-packing.js +3 -5
- package/esm/series/circle-packing/circle-packing.js.map +1 -1
- package/esm/series/correlation/animation.d.ts +1 -1
- package/esm/series/correlation/animation.js.map +1 -1
- package/esm/series/correlation/correlation.d.ts +3 -4
- package/esm/series/correlation/correlation.js +7 -14
- package/esm/series/correlation/correlation.js.map +1 -1
- package/esm/series/dot/dot.d.ts +2 -2
- package/esm/series/dot/dot.js +4 -3
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/funnel/3d/funnel-3d.js +3 -4
- package/esm/series/funnel/3d/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +3 -2
- package/esm/series/funnel/funnel.js +60 -46
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +0 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +2 -4
- package/esm/series/funnel/tooltip-helper.js +5 -6
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/animation.d.ts +1 -1
- package/esm/series/gauge/animation.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +4 -1
- package/esm/series/gauge/gauge-pointer.js +2 -2
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +2 -2
- package/esm/series/gauge/gauge.js +2 -2
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/geo/geo.d.ts +2 -2
- package/esm/series/geo/geo.js.map +1 -1
- package/esm/series/heatmap/animation.d.ts +1 -1
- package/esm/series/heatmap/animation.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +4 -1
- package/esm/series/heatmap/heatmap.js +5 -18
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -4
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/series.d.ts +6 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/line/animation.d.ts +1 -1
- package/esm/series/line/animation.js.map +1 -1
- package/esm/series/line/line.d.ts +1 -1
- package/esm/series/line/line.js +10 -13
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/link.d.ts +5 -2
- package/esm/series/link/link.js +3 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/liquid/animation.d.ts +1 -1
- package/esm/series/liquid/animation.js.map +1 -1
- package/esm/series/liquid/liquid.d.ts +4 -1
- package/esm/series/liquid/liquid.js +5 -5
- package/esm/series/liquid/liquid.js.map +1 -1
- package/esm/series/map/interface.d.ts +10 -0
- package/esm/series/map/interface.js.map +1 -1
- package/esm/series/map/map.js +13 -15
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/line-mixin.d.ts +5 -5
- package/esm/series/mixin/line-mixin.js +17 -25
- package/esm/series/mixin/line-mixin.js.map +1 -1
- package/esm/series/pictogram/pictogram.d.ts +13 -19
- package/esm/series/pictogram/pictogram.js +22 -31
- package/esm/series/pictogram/pictogram.js.map +1 -1
- package/esm/series/pie/animation/animation.d.ts +4 -3
- package/esm/series/pie/animation/animation.js.map +1 -1
- package/esm/series/pie/animation/centerOffset.d.ts +1 -1
- package/esm/series/pie/animation/centerOffset.js.map +1 -1
- package/esm/series/pie/interface.d.ts +2 -2
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie.d.ts +8 -6
- package/esm/series/pie/pie.js +15 -18
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/polar/progress-like/animation.d.ts +1 -1
- package/esm/series/polar/progress-like/animation.js.map +1 -1
- package/esm/series/polar/progress-like/progress-like.d.ts +1 -2
- package/esm/series/polar/progress-like/progress-like.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +4 -1
- package/esm/series/progress/circular/circular.js +5 -12
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/linear/animation.d.ts +1 -1
- package/esm/series/progress/linear/animation.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +4 -1
- package/esm/series/progress/linear/linear.js +8 -14
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/animation.d.ts +11 -9
- package/esm/series/radar/animation.js.map +1 -1
- package/esm/series/radar/radar.d.ts +2 -2
- package/esm/series/radar/radar.js +6 -15
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-area/range-area.js +1 -5
- package/esm/series/range-area/range-area.js.map +1 -1
- package/esm/series/range-column/animation.d.ts +1 -1
- package/esm/series/range-column/animation.js.map +1 -1
- package/esm/series/range-column/range-column.js +6 -8
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/animation.d.ts +1 -1
- package/esm/series/rose/animation.js.map +1 -1
- package/esm/series/rose/rose.js +1 -4
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/animation.d.ts +1 -1
- package/esm/series/sankey/animation.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +11 -12
- package/esm/series/sankey/sankey.js +87 -100
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/sankey/tooltip-helper.d.ts +1 -1
- package/esm/series/sankey/tooltip-helper.js.map +1 -1
- package/esm/series/scatter/animation.d.ts +1 -1
- package/esm/series/scatter/animation.js.map +1 -1
- package/esm/series/scatter/scatter.js +7 -13
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/animation/enter.d.ts +1 -1
- package/esm/series/sunburst/animation/enter.js +4 -4
- package/esm/series/sunburst/animation/enter.js.map +1 -1
- package/esm/series/sunburst/animation/exit.d.ts +1 -1
- package/esm/series/sunburst/animation/exit.js +4 -4
- package/esm/series/sunburst/animation/exit.js.map +1 -1
- package/esm/series/sunburst/animation/preset.d.ts +1 -1
- package/esm/series/sunburst/animation/preset.js.map +1 -1
- package/esm/series/sunburst/animation/utils.d.ts +2 -2
- package/esm/series/sunburst/animation/utils.js +9 -9
- package/esm/series/sunburst/animation/utils.js.map +1 -1
- package/esm/series/sunburst/sunburst.d.ts +1 -1
- package/esm/series/sunburst/sunburst.js +3 -7
- package/esm/series/sunburst/sunburst.js.map +1 -1
- package/esm/series/treemap/animation.d.ts +1 -1
- package/esm/series/treemap/animation.js.map +1 -1
- package/esm/series/treemap/treemap.d.ts +1 -2
- package/esm/series/treemap/treemap.js +43 -60
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/venn/animation.d.ts +1 -1
- package/esm/series/venn/animation.js.map +1 -1
- package/esm/series/venn/venn.d.ts +2 -1
- package/esm/series/venn/venn.js +28 -14
- package/esm/series/venn/venn.js.map +1 -1
- package/esm/series/waterfall/animation.d.ts +1 -1
- package/esm/series/waterfall/animation.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +2 -3
- package/esm/series/waterfall/waterfall.js +9 -17
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/animation.d.ts +1 -1
- package/esm/series/word-cloud/animation.js +1 -1
- package/esm/series/word-cloud/animation.js.map +1 -1
- package/esm/series/word-cloud/base.d.ts +1 -1
- package/esm/series/word-cloud/base.js +8 -11
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +3 -9
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/series/word-cloud/word-cloud.js +10 -6
- package/esm/series/word-cloud/word-cloud.js.map +1 -1
- package/esm/typings/common.d.ts +13 -0
- package/esm/typings/common.js.map +1 -1
- package/esm/typings/spec/common.d.ts +37 -36
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/visual.d.ts +2 -2
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/array.d.ts +1 -0
- package/esm/util/array.js +5 -0
- package/esm/util/array.js.map +1 -1
- package/esm/util/debug.js +1 -1
- package/esm/util/debug.js.map +1 -1
- package/esm/util/index.d.ts +1 -0
- package/esm/util/index.js +2 -0
- package/esm/util/index.js.map +1 -1
- package/esm/util/mark.d.ts +5 -0
- package/esm/util/mark.js +16 -0
- package/esm/util/mark.js.map +1 -0
- package/esm/util/math.d.ts +1 -1
- package/esm/util/math.js.map +1 -1
- package/esm/util/scale.d.ts +0 -1
- package/esm/util/scale.js +0 -6
- package/esm/util/scale.js.map +1 -1
- package/package.json +15 -15
- package/cjs/compile/mark/compilable-mark.d.ts +0 -87
- package/cjs/compile/mark/compilable-mark.js +0 -261
- package/cjs/compile/mark/compilable-mark.js.map +0 -1
- package/cjs/compile/mark/mark-data.d.ts +0 -9
- package/cjs/compile/mark/mark-data.js +0 -28
- package/cjs/compile/mark/mark-data.js.map +0 -1
- package/cjs/compile/signal/compilable-signal.d.ts +0 -21
- package/cjs/compile/signal/compilable-signal.js +0 -42
- package/cjs/compile/signal/compilable-signal.js.map +0 -1
- package/cjs/compile/signal/index.d.ts +0 -4
- package/cjs/compile/signal/index.js +0 -22
- package/cjs/compile/signal/index.js.map +0 -1
- package/cjs/compile/signal/interface.d.ts +0 -12
- package/cjs/compile/signal/interface.js.map +0 -1
- package/cjs/compile/signal/signal-manager.d.ts +0 -11
- package/cjs/compile/signal/signal-manager.js +0 -36
- package/cjs/compile/signal/signal-manager.js.map +0 -1
- package/cjs/compile/signal/state-manager.d.ts +0 -12
- package/cjs/compile/signal/state-manager.js +0 -37
- package/cjs/compile/signal/state-manager.js.map +0 -1
- package/cjs/interaction/dimension-trigger.d.ts +0 -27
- package/cjs/interaction/dimension-trigger.js +0 -73
- package/cjs/interaction/dimension-trigger.js.map +0 -1
- package/cjs/interaction/interface.d.ts +0 -73
- package/cjs/interaction/interface.js.map +0 -1
- package/cjs/series/base/series-data.d.ts +0 -5
- package/cjs/series/base/series-data.js +0 -22
- package/cjs/series/base/series-data.js.map +0 -1
- package/cjs/vrender-tools.d.ts +0 -1
- package/cjs/vrender-tools.js +0 -110
- package/cjs/vrender-tools.js.map +0 -1
- package/esm/compile/mark/compilable-mark.d.ts +0 -87
- package/esm/compile/mark/compilable-mark.js +0 -274
- package/esm/compile/mark/compilable-mark.js.map +0 -1
- package/esm/compile/mark/mark-data.d.ts +0 -9
- package/esm/compile/mark/mark-data.js +0 -24
- package/esm/compile/mark/mark-data.js.map +0 -1
- package/esm/compile/signal/compilable-signal.d.ts +0 -21
- package/esm/compile/signal/compilable-signal.js +0 -38
- package/esm/compile/signal/compilable-signal.js.map +0 -1
- package/esm/compile/signal/index.d.ts +0 -4
- package/esm/compile/signal/index.js +0 -8
- package/esm/compile/signal/index.js.map +0 -1
- package/esm/compile/signal/interface.d.ts +0 -12
- package/esm/compile/signal/interface.js +0 -2
- package/esm/compile/signal/interface.js.map +0 -1
- package/esm/compile/signal/signal-manager.d.ts +0 -11
- package/esm/compile/signal/signal-manager.js +0 -30
- package/esm/compile/signal/signal-manager.js.map +0 -1
- package/esm/compile/signal/state-manager.d.ts +0 -12
- package/esm/compile/signal/state-manager.js +0 -30
- package/esm/compile/signal/state-manager.js.map +0 -1
- package/esm/interaction/dimension-trigger.d.ts +0 -27
- package/esm/interaction/dimension-trigger.js +0 -70
- package/esm/interaction/dimension-trigger.js.map +0 -1
- package/esm/interaction/interface.d.ts +0 -73
- package/esm/interaction/interface.js +0 -2
- package/esm/interaction/interface.js.map +0 -1
- package/esm/series/base/series-data.d.ts +0 -5
- package/esm/series/base/series-data.js +0 -16
- package/esm/series/base/series-data.js.map +0 -1
- package/esm/vrender-tools.d.ts +0 -1
- package/esm/vrender-tools.js +0 -2
- package/esm/vrender-tools.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IGaugeSeriesSpec } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant/data';\nimport type { Datum } from '@visactor/vgrammar-core';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { gaugeSeriesMark } from './constant';\nimport { clamper, degreeToRadian, isValid } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { registerProgressLikeAnimation } from '../polar/progress-like';\nimport type { IArcMark, IMark } from '../../mark/interface';\nimport { GaugeSeriesSpecTransformer } from './gauge-transformer';\nimport { registerArcMark } from '../../mark/arc';\nimport { registerPolarLinearAxis } from '../../component/axis/polar';\nimport { AttributeLevel } from '../../constant/attribute';\n\nexport class GaugeSeries<T extends IGaugeSeriesSpec = IGaugeSeriesSpec> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n static readonly mark: SeriesMarkMap = gaugeSeriesMark;\n static readonly transformerConstructor = GaugeSeriesSpecTransformer as any;\n readonly transformerConstructor = GaugeSeriesSpecTransformer;\n\n private _segmentMark: IArcMark | null = null;\n private _trackMark: IArcMark | null = null;\n\n protected _padAngle: number = 0;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._padAngle = degreeToRadian(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Datum[], op: string) => {\n // 数据处理\n const dataCollect = data.slice();\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'spiltSegment', spiltSegment);\n this.getViewData()?.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n }\n\n initMark(): void {\n super.initMark();\n this._trackMark = this._createMark(GaugeSeries.mark.track, {\n parent: this._arcGroupMark,\n dataView: false\n }) as IArcMark;\n this._segmentMark = this._createMark(GaugeSeries.mark.segment, {\n parent: this._arcGroupMark,\n isSeriesMark: true\n }) as IArcMark;\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1), // 需要优先兼容this._spec.radius\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n }\n }\n\n protected generateRadiusStyle(spec: any) {\n if (!spec) {\n return;\n }\n const style: any = {};\n spec.outerRadius && (style.outerRadius = () => this._computeLayoutRadius() * spec.outerRadius);\n spec.innerRadius && (style.innerRadius = () => this._computeLayoutRadius() * spec.innerRadius);\n return style;\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any, key?: string): void {\n super.initMarkStyleWithSpec(mark, spec, key);\n if (mark && mark.name === SeriesMarkNameEnum.segment) {\n // radius 配置需要额外处理比例值\n const segmentSpec = this.getSpec()[SeriesMarkNameEnum.segment];\n if (segmentSpec) {\n for (const state in segmentSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(segmentSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._segmentMark && this._tooltipHelper.activeTriggerSet.mark.add(this._segmentMark);\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1), // 需要优先兼容this._spec.radius\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n }\n }\n\n protected _getAngleValueStartWithoutMask(datum: Datum) {\n const startAngle = this._getAngleValueStartWithoutPadAngle(datum);\n const endAngle = this._getAngleValueEndWithoutPadAngle(datum);\n return clamper(\n startAngle,\n (startAngle + endAngle) / 2\n )(startAngle + (endAngle > startAngle ? 1 : -1) * Math.abs(this._padAngle / 2));\n }\n\n protected _getAngleValueEndWithoutMask(datum: Datum) {\n const startAngle = this._getAngleValueStartWithoutPadAngle(datum);\n const endAngle = this._getAngleValueEndWithoutPadAngle(datum);\n return clamper(\n endAngle,\n (startAngle + endAngle) / 2\n )(endAngle - (endAngle > startAngle ? 1 : -1) * Math.abs(this._padAngle / 2));\n }\n\n protected _getAngleValueStartWithoutPadAngle(datum: Datum) {\n return isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n }\n\n protected _getAngleValueEndWithoutPadAngle(datum: Datum) {\n return this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._segmentMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circularProgress')?.(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.segment, this._spec, this._markAttributeContext)\n )\n );\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [];\n }\n}\n\nexport const registerGaugeSeries = () => {\n Factory.registerSeries(GaugeSeries.type, GaugeSeries);\n registerArcMark();\n registerProgressLikeAnimation();\n // 仪表盘只使用了角度轴\n registerPolarLinearAxis();\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/gauge/gauge.ts"],"names":[],"mappings":"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","file":"gauge.js","sourcesContent":["import type { SeriesMarkMap } from '../interface';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IGaugeSeriesSpec } from './interface';\nimport { ProgressLikeSeries } from '../polar/progress-like/progress-like';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SEGMENT_FIELD_END, SEGMENT_FIELD_START } from '../../constant/data';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { gaugeSeriesMark } from './constant';\nimport { clamper, degreeToRadian, isValid } from '@visactor/vutils';\nimport { Factory } from '../../core/factory';\nimport { registerProgressLikeAnimation } from '../polar/progress-like';\nimport type { IArcMark, IMark } from '../../mark/interface';\nimport { GaugeSeriesSpecTransformer } from './gauge-transformer';\nimport { registerArcMark } from '../../mark/arc';\nimport { registerPolarLinearAxis } from '../../component/axis/polar';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { Datum } from '../../typings/common';\n\nexport class GaugeSeries<T extends IGaugeSeriesSpec = IGaugeSeriesSpec> extends ProgressLikeSeries<T> {\n static readonly type: string = SeriesTypeEnum.gauge;\n type = SeriesTypeEnum.gauge;\n\n static readonly mark: SeriesMarkMap = gaugeSeriesMark;\n static readonly transformerConstructor = GaugeSeriesSpecTransformer as any;\n readonly transformerConstructor = GaugeSeriesSpecTransformer;\n\n private _segmentMark: IArcMark | null = null;\n private _trackMark: IArcMark | null = null;\n\n protected _padAngle: number = 0;\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this._padAngle = degreeToRadian(this._spec.padAngle ?? 0);\n }\n\n initData(): void {\n super.initData();\n\n /**\n * @description 将数据排序并调整图元的起始点为上一个数据的终点,但是终点维持不变\n */\n const spiltSegment = (data: Datum[], op: string) => {\n // 数据处理\n const dataCollect = data.slice();\n dataCollect.sort((a, b) => a[this._angleField[0]] - b[this._angleField[0]]);\n dataCollect.forEach((datum: any, i) => {\n datum[SEGMENT_FIELD_END] = datum[this._angleField[0]];\n if (i > 0) {\n datum[SEGMENT_FIELD_START] = dataCollect[i - 1][SEGMENT_FIELD_END];\n } else {\n datum[SEGMENT_FIELD_START] = undefined;\n }\n });\n return dataCollect;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'spiltSegment', spiltSegment);\n this.getViewData()?.transform(\n {\n type: 'spiltSegment'\n },\n false\n );\n }\n\n initMark(): void {\n super.initMark();\n this._trackMark = this._createMark(GaugeSeries.mark.track, {\n parent: this._arcGroupMark,\n dataView: false\n }) as IArcMark;\n this._segmentMark = this._createMark(GaugeSeries.mark.segment, {\n parent: this._arcGroupMark,\n isSeriesMark: true\n }) as IArcMark;\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n this.initTrackMarkStyle();\n this.initSegmentMarkStyle();\n }\n\n private initSegmentMarkStyle() {\n const segmentMark = this._segmentMark;\n if (segmentMark) {\n this.setMarkStyle(segmentMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._getAngleValueStart.bind(this),\n endAngle: this._getAngleValueEnd.bind(this),\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1), // 需要优先兼容this._spec.radius\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n fill: this.getColorAttribute(),\n zIndex: 200,\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n // forceShowCap 是内部属性,不在接口中暴露\n forceShowCap: true\n });\n }\n }\n\n protected generateRadiusStyle(spec: any) {\n if (!spec) {\n return;\n }\n const style: any = {};\n spec.outerRadius && (style.outerRadius = () => this._computeLayoutRadius() * spec.outerRadius);\n spec.innerRadius && (style.innerRadius = () => this._computeLayoutRadius() * spec.innerRadius);\n return style;\n }\n\n initMarkStyleWithSpec(mark?: IMark, spec?: any): void {\n super.initMarkStyleWithSpec(mark, spec);\n if (mark && mark.name === SeriesMarkNameEnum.segment) {\n // radius 配置需要额外处理比例值\n const segmentSpec = this.getSpec()[SeriesMarkNameEnum.segment];\n if (segmentSpec) {\n for (const state in segmentSpec.state || {}) {\n this.setMarkStyle(mark, this.generateRadiusStyle(segmentSpec.state[state]), state, AttributeLevel.User_Mark);\n }\n }\n }\n }\n\n protected initTooltip() {\n super.initTooltip();\n\n this._segmentMark && this._tooltipHelper.activeTriggerSet.mark.add(this._segmentMark);\n }\n\n private initTrackMarkStyle() {\n const trackMark = this._trackMark;\n if (trackMark) {\n this.setMarkStyle(trackMark, {\n x: () => this.angleAxisHelper.center().x,\n y: () => this.angleAxisHelper.center().y,\n startAngle: this._startAngle,\n endAngle: this._endAngle,\n innerRadius: () => this._computeLayoutRadius() * (this._spec.innerRadius ?? 0),\n outerRadius: () => this._computeLayoutRadius() * (this._spec.radius ?? this._spec.outerRadius ?? 1), // 需要优先兼容this._spec.radius\n cap: this._spec.roundCap ?? false,\n boundsMode: 'imprecise',\n cornerRadius: this._spec.cornerRadius,\n zIndex: 100\n });\n }\n }\n\n protected _getAngleValueStartWithoutMask(datum: Datum) {\n const startAngle = this._getAngleValueStartWithoutPadAngle(datum);\n const endAngle = this._getAngleValueEndWithoutPadAngle(datum);\n return clamper(\n startAngle,\n (startAngle + endAngle) / 2\n )(startAngle + (endAngle > startAngle ? 1 : -1) * Math.abs(this._padAngle / 2));\n }\n\n protected _getAngleValueEndWithoutMask(datum: Datum) {\n const startAngle = this._getAngleValueStartWithoutPadAngle(datum);\n const endAngle = this._getAngleValueEndWithoutPadAngle(datum);\n return clamper(\n endAngle,\n (startAngle + endAngle) / 2\n )(endAngle - (endAngle > startAngle ? 1 : -1) * Math.abs(this._padAngle / 2));\n }\n\n protected _getAngleValueStartWithoutPadAngle(datum: Datum) {\n return isValid(datum[SEGMENT_FIELD_START])\n ? this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_START]])\n : this._startAngle;\n }\n\n protected _getAngleValueEndWithoutPadAngle(datum: Datum) {\n return this.angleAxisHelper.dataToPosition([datum[SEGMENT_FIELD_END]]);\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<any>)?.preset;\n\n this._segmentMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('circularProgress')?.(\n {\n startAngle: this._startAngle\n },\n appearPreset\n ),\n userAnimationConfig(SeriesMarkNameEnum.segment, this._spec, this._markAttributeContext)\n )\n );\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [];\n }\n}\n\nexport const registerGaugeSeries = () => {\n Factory.registerSeries(GaugeSeries.type, GaugeSeries);\n registerArcMark();\n registerProgressLikeAnimation();\n // 仪表盘只使用了角度轴\n registerPolarLinearAxis();\n};\n"]}
|
package/cjs/series/geo/geo.d.ts
CHANGED
|
@@ -3,14 +3,14 @@ import type { IPoint } from '../../typings';
|
|
|
3
3
|
import type { IGeoSeries } from '../interface';
|
|
4
4
|
import { SeriesTypeEnum } from '../interface/type';
|
|
5
5
|
import { BaseSeries } from '../base/base-series';
|
|
6
|
-
import type { SeriesData } from '../base/series-data';
|
|
7
6
|
import type { DataView } from '@visactor/vdataset';
|
|
8
7
|
import type { IGeoSeriesSpec } from './interface';
|
|
9
8
|
import type { IMark } from '../../mark/interface';
|
|
9
|
+
import type { ICompilableData } from '../../compile/data';
|
|
10
10
|
export declare abstract class GeoSeries<T extends IGeoSeriesSpec = IGeoSeriesSpec> extends BaseSeries<T> implements IGeoSeries {
|
|
11
11
|
type: SeriesTypeEnum;
|
|
12
12
|
readonly coordinate = "geo";
|
|
13
|
-
protected _mapViewData:
|
|
13
|
+
protected _mapViewData: ICompilableData;
|
|
14
14
|
getMapViewData(): DataView;
|
|
15
15
|
protected _mapViewDataStatistics: DataView;
|
|
16
16
|
_nameField: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/geo/geo.ts"],"names":[],"mappings":"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","file":"geo.js","sourcesContent":["import type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { IPoint } from '../../typings';\nimport type { IGeoSeries } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { BaseSeries } from '../base/base-series';\nimport { isNil } from '@visactor/vutils';\nimport type { SeriesData } from '../base/series-data';\nimport type { DataView } from '@visactor/vdataset';\nimport { PREFIX } from '../../constant/base';\nimport type { IGeoSeriesSpec } from './interface';\nimport type { IMark } from '../../mark/interface';\n\nexport abstract class GeoSeries<T extends IGeoSeriesSpec = IGeoSeriesSpec> extends BaseSeries<T> implements IGeoSeries {\n type = SeriesTypeEnum.geo;\n readonly coordinate = 'geo';\n\n protected _mapViewData: SeriesData;\n getMapViewData() {\n return this._mapViewData?.getDataView();\n }\n\n protected _mapViewDataStatistics!: DataView;\n\n _nameField!: string;\n get nameField() {\n return this._nameField;\n }\n set nameField(f: string) {\n this._nameField = f;\n }\n\n _valueField!: string;\n get valueField() {\n return this._valueField;\n }\n set valueField(f: string) {\n this._valueField = f;\n }\n\n protected _nameProperty: string = 'name';\n getNameProperty() {\n return this._nameProperty;\n }\n\n protected _centroidProperty?: string;\n getCentroidProperty() {\n return this._centroidProperty;\n }\n\n _coordinateHelper!: IGeoCoordinateHelper;\n getCoordinateHelper() {\n return this._coordinateHelper;\n }\n setCoordinateHelper(h: IGeoCoordinateHelper) {\n this._coordinateHelper = h;\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n\n getGroupFields(): string[] {\n return null;\n }\n\n // position\n dataToPosition(datum: any, checkInViewData?: boolean): IPoint | null {\n let result: IPoint | null = null;\n\n if (!datum) {\n return result;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return result;\n }\n const { dataToPosition, latitudeField, longitudeField } = this._coordinateHelper;\n\n // 从地理数据映射中获取\n result = this.nameToPosition(datum);\n\n // 从用户传入的经纬度获取\n if (result === null) {\n const lonValue = longitudeField ? datum?.[longitudeField] : Number.NaN;\n const latValue = latitudeField ? datum?.[latitudeField] : Number.NaN;\n result = dataToPosition?.([lonValue, latValue]) ?? null;\n }\n\n return result;\n }\n\n protected nameToPosition(datum: any): IPoint | null {\n const name = this.getDatumName(datum);\n if (isNil(name)) {\n return null;\n }\n return this.nameValueToPosition(name);\n }\n\n nameValueToPosition(name: string): IPoint | null {\n const mapData = this.getMapViewData()?.latestData?.filter((data: any) => this.getDatumName(data) === name)[0];\n if (isNil(mapData)) {\n return null;\n }\n\n const { dataToPosition } = this._coordinateHelper;\n const center = this.getDatumCenter(mapData);\n\n const pos = dataToPosition?.(center);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return null;\n }\n return pos;\n }\n\n abstract getDatumCenter(datum: any): [number, number];\n abstract getDatumName(datum: any): string;\n\n dataToLatitude(latValue: number) {\n if (!this._coordinateHelper) {\n return Number.NaN;\n }\n const { dataToLatitude } = this._coordinateHelper;\n return dataToLatitude(latValue);\n }\n\n dataToLongitude(lonValue: number) {\n if (!this._coordinateHelper) {\n return Number.NaN;\n }\n const { dataToLatitude } = this._coordinateHelper;\n return dataToLatitude(lonValue);\n }\n\n valueToPosition(lonValue: number, latValue: number): IPoint {\n return {\n x: this.dataToLongitude(lonValue),\n y: this.dataToLatitude(latValue)\n };\n }\n\n positionToData(p: IPoint) {\n // TODO\n }\n latitudeToData(lat: number) {\n // TODO\n }\n longitudeToData(lon: number) {\n // TODO\n }\n\n dataToPositionX(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionY(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionZ(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n\n release() {\n super.release();\n this._mapViewData.release();\n this._mapViewData = this._mapViewDataStatistics = null;\n }\n\n // TODO: geo 不支持 stack,这些方法没有意义\n getStackGroupFields() {\n return [this._nameField];\n }\n\n getStackValueField() {\n // TODO: hack\n return this._spec.valueField;\n }\n\n compileData() {\n this._mapViewData?.compile();\n }\n\n protected initStatisticalData(): void {\n super.initStatisticalData();\n if (this._mapViewData) {\n const viewDataName = `${PREFIX}_series_${this.id}_mapViewDataStatic`;\n this._mapViewDataStatistics = this.createStatisticalData(viewDataName, this._mapViewData.getDataView());\n this._mapViewData.getDataView().target.removeListener('change', this._mapViewDataStatistics.reRunAllTransform);\n }\n }\n\n /** seriesField */\n getSeriesKeys(): string[] {\n if (this._seriesField) {\n return (\n this.getRawDataStatisticsByField(this._seriesField)?.values ??\n this._mapViewDataStatistics?.latestData[this._seriesField]?.values ??\n []\n );\n }\n if (this.name) {\n return [this.name];\n }\n if (this.userId) {\n return [`${this.userId}`];\n }\n return [`${this.type}_${this.id}`];\n }\n\n fillData() {\n super.fillData();\n this._mapViewData.getDataView()?.reRunAllTransform();\n this._mapViewDataStatistics?.reRunAllTransform();\n }\n\n getActiveMarks(): IMark[] {\n return [];\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/geo/geo.ts"],"names":[],"mappings":"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","file":"geo.js","sourcesContent":["import type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { IPoint } from '../../typings';\nimport type { IGeoSeries } from '../interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport { BaseSeries } from '../base/base-series';\nimport { isNil } from '@visactor/vutils';\nimport type { DataView } from '@visactor/vdataset';\nimport { PREFIX } from '../../constant/base';\nimport type { IGeoSeriesSpec } from './interface';\nimport type { IMark } from '../../mark/interface';\nimport type { ICompilableData } from '../../compile/data';\n\nexport abstract class GeoSeries<T extends IGeoSeriesSpec = IGeoSeriesSpec> extends BaseSeries<T> implements IGeoSeries {\n type = SeriesTypeEnum.geo;\n readonly coordinate = 'geo';\n\n protected _mapViewData: ICompilableData;\n getMapViewData() {\n return this._mapViewData?.getDataView();\n }\n\n protected _mapViewDataStatistics!: DataView;\n\n _nameField!: string;\n get nameField() {\n return this._nameField;\n }\n set nameField(f: string) {\n this._nameField = f;\n }\n\n _valueField!: string;\n get valueField() {\n return this._valueField;\n }\n set valueField(f: string) {\n this._valueField = f;\n }\n\n protected _nameProperty: string = 'name';\n getNameProperty() {\n return this._nameProperty;\n }\n\n protected _centroidProperty?: string;\n getCentroidProperty() {\n return this._centroidProperty;\n }\n\n _coordinateHelper!: IGeoCoordinateHelper;\n getCoordinateHelper() {\n return this._coordinateHelper;\n }\n setCoordinateHelper(h: IGeoCoordinateHelper) {\n this._coordinateHelper = h;\n }\n\n getStatisticFields() {\n const fields: { key: string; operations: Array<'max' | 'min' | 'values'> }[] = [];\n fields.push({ key: this._nameField, operations: ['values'] });\n fields.push({ key: this._valueField, operations: ['max', 'min'] });\n return fields;\n }\n\n getGroupFields(): string[] {\n return null;\n }\n\n // position\n dataToPosition(datum: any, checkInViewData?: boolean): IPoint | null {\n let result: IPoint | null = null;\n\n if (!datum) {\n return result;\n }\n if (checkInViewData && !this.isDatumInViewData(datum)) {\n return result;\n }\n const { dataToPosition, latitudeField, longitudeField } = this._coordinateHelper;\n\n // 从地理数据映射中获取\n result = this.nameToPosition(datum);\n\n // 从用户传入的经纬度获取\n if (result === null) {\n const lonValue = longitudeField ? datum?.[longitudeField] : Number.NaN;\n const latValue = latitudeField ? datum?.[latitudeField] : Number.NaN;\n result = dataToPosition?.([lonValue, latValue]) ?? null;\n }\n\n return result;\n }\n\n protected nameToPosition(datum: any): IPoint | null {\n const name = this.getDatumName(datum);\n if (isNil(name)) {\n return null;\n }\n return this.nameValueToPosition(name);\n }\n\n nameValueToPosition(name: string): IPoint | null {\n const mapData = this.getMapViewData()?.latestData?.filter((data: any) => this.getDatumName(data) === name)[0];\n if (isNil(mapData)) {\n return null;\n }\n\n const { dataToPosition } = this._coordinateHelper;\n const center = this.getDatumCenter(mapData);\n\n const pos = dataToPosition?.(center);\n if (isNil(pos) || isNaN(pos.x) || isNaN(pos.y)) {\n return null;\n }\n return pos;\n }\n\n abstract getDatumCenter(datum: any): [number, number];\n abstract getDatumName(datum: any): string;\n\n dataToLatitude(latValue: number) {\n if (!this._coordinateHelper) {\n return Number.NaN;\n }\n const { dataToLatitude } = this._coordinateHelper;\n return dataToLatitude(latValue);\n }\n\n dataToLongitude(lonValue: number) {\n if (!this._coordinateHelper) {\n return Number.NaN;\n }\n const { dataToLatitude } = this._coordinateHelper;\n return dataToLatitude(lonValue);\n }\n\n valueToPosition(lonValue: number, latValue: number): IPoint {\n return {\n x: this.dataToLongitude(lonValue),\n y: this.dataToLatitude(latValue)\n };\n }\n\n positionToData(p: IPoint) {\n // TODO\n }\n latitudeToData(lat: number) {\n // TODO\n }\n longitudeToData(lon: number) {\n // TODO\n }\n\n dataToPositionX(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionY(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n dataToPositionZ(data: any): number {\n this._option?.onError('Method not implemented.');\n return 0;\n }\n\n release() {\n super.release();\n this._mapViewData.release();\n this._mapViewData = this._mapViewDataStatistics = null;\n }\n\n // TODO: geo 不支持 stack,这些方法没有意义\n getStackGroupFields() {\n return [this._nameField];\n }\n\n getStackValueField() {\n // TODO: hack\n return this._spec.valueField;\n }\n\n compileData() {\n this._mapViewData?.compile();\n }\n\n protected initStatisticalData(): void {\n super.initStatisticalData();\n if (this._mapViewData) {\n const viewDataName = `${PREFIX}_series_${this.id}_mapViewDataStatic`;\n this._mapViewDataStatistics = this.createStatisticalData(viewDataName, this._mapViewData.getDataView());\n this._mapViewData.getDataView().target.removeListener('change', this._mapViewDataStatistics.reRunAllTransform);\n }\n }\n\n /** seriesField */\n getSeriesKeys(): string[] {\n if (this._seriesField) {\n return (\n this.getRawDataStatisticsByField(this._seriesField)?.values ??\n this._mapViewDataStatistics?.latestData[this._seriesField]?.values ??\n []\n );\n }\n if (this.name) {\n return [this.name];\n }\n if (this.userId) {\n return [`${this.userId}`];\n }\n return [`${this.type}_${this.id}`];\n }\n\n fillData() {\n super.fillData();\n this._mapViewData.getDataView()?.reRunAllTransform();\n this._mapViewDataStatistics?.reRunAllTransform();\n }\n\n getActiveMarks(): IMark[] {\n return [];\n }\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IAnimationTypeConfig } from '@visactor/vgrammar-core';
|
|
2
1
|
import type { HeatmapAppearPreset } from './interface';
|
|
2
|
+
import type { IAnimationTypeConfig } from '../../animation/interface';
|
|
3
3
|
export declare function heatmapPresetAnimation(preset: HeatmapAppearPreset | boolean): IAnimationTypeConfig;
|
|
4
4
|
export declare const registerHeatmapAnimation: () => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/heatmap/animation.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"sources":["../src/series/heatmap/animation.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAC7C,mDAA4D;AAI5D,SAAgB,sBAAsB,CAAC,MAAqC;IAC1E,IAAI,MAAM,KAAK,KAAK,EAAE;QACpB,OAAO,EAAE,CAAC;KACX;IACD,OAAO;QACL,IAAI,EAAE,QAAQ;KACf,CAAC;AACJ,CAAC;AAPD,wDAOC;AAEM,MAAM,wBAAwB,GAAG,GAAG,EAAE;IAC3C,iBAAO,CAAC,iBAAiB,CAAC,SAAS,EAAE,CAAC,MAAW,EAAE,MAA2B,EAAE,EAAE;QAChF,uCACK,2BAAkB,KACrB,MAAM,EAAE,sBAAsB,CAAC,MAAM,CAAC,IACtC;IACJ,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAPW,QAAA,wBAAwB,4BAOnC","file":"animation.js","sourcesContent":["import { Factory } from '../../core/factory';\nimport { FadeInOutAnimation } from '../../animation/config';\nimport type { HeatmapAppearPreset } from './interface';\nimport type { IAnimationTypeConfig } from '../../animation/interface';\n\nexport function heatmapPresetAnimation(preset: HeatmapAppearPreset | boolean): IAnimationTypeConfig {\n if (preset === false) {\n return {};\n }\n return {\n type: 'fadeIn'\n };\n}\n\nexport const registerHeatmapAnimation = () => {\n Factory.registerAnimation('heatmap', (params: any, preset: HeatmapAppearPreset) => {\n return {\n ...FadeInOutAnimation,\n appear: heatmapPresetAnimation(preset)\n };\n });\n};\n"]}
|
|
@@ -27,7 +27,10 @@ export declare class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeries
|
|
|
27
27
|
scale: any;
|
|
28
28
|
field: any;
|
|
29
29
|
};
|
|
30
|
-
|
|
30
|
+
getInteractionTriggers(): {
|
|
31
|
+
trigger: Partial<import("../../interaction/interface/trigger").IBaseTriggerOptions>;
|
|
32
|
+
marks: IMark[];
|
|
33
|
+
}[];
|
|
31
34
|
initAnimation(): void;
|
|
32
35
|
protected getCellSize(axisHelper: IAxisHelper): number;
|
|
33
36
|
protected initTooltip(): void;
|
|
@@ -22,25 +22,12 @@ class HeatmapSeries extends cartesian_1.CartesianSeries {
|
|
|
22
22
|
super.setAttrFromSpec(), this.setFieldValue(this._spec.valueField);
|
|
23
23
|
}
|
|
24
24
|
initMark() {
|
|
25
|
-
var _a, _b, _c, _d;
|
|
26
|
-
const progressive = {
|
|
27
|
-
progressiveStep: this._spec.progressiveStep,
|
|
28
|
-
progressiveThreshold: this._spec.progressiveThreshold,
|
|
29
|
-
large: this._spec.large,
|
|
30
|
-
largeThreshold: this._spec.largeThreshold
|
|
31
|
-
};
|
|
32
25
|
this._cellMark = this._createMark(HeatmapSeries.mark.cell, {
|
|
33
|
-
isSeriesMark: !0
|
|
34
|
-
|
|
35
|
-
}, Object.assign(Object.assign({}, progressive), {
|
|
36
|
-
setCustomizedShape: null === (_b = this._spec.cell) || void 0 === _b ? void 0 : _b.customShape,
|
|
26
|
+
isSeriesMark: !0
|
|
27
|
+
}, {
|
|
37
28
|
morph: (0, utils_1.shouldMarkDoMorph)(this._spec, HeatmapSeries.mark.cell.name),
|
|
38
29
|
morphElementKey: this.getDimensionField()[0]
|
|
39
|
-
})
|
|
40
|
-
stateSort: null === (_c = this._spec.cellBackground) || void 0 === _c ? void 0 : _c.stateSort
|
|
41
|
-
}, Object.assign(Object.assign({}, progressive), {
|
|
42
|
-
setCustomizedShape: null === (_d = this._spec.cellBackground) || void 0 === _d ? void 0 : _d.customShape
|
|
43
|
-
}));
|
|
30
|
+
}), this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground);
|
|
44
31
|
}
|
|
45
32
|
initMarkStyle() {
|
|
46
33
|
this.initCellMarkStyle(), this.initCellBackgroundMarkStyle();
|
|
@@ -82,8 +69,8 @@ class HeatmapSeries extends cartesian_1.CartesianSeries {
|
|
|
82
69
|
field: this.getFieldValue[0]
|
|
83
70
|
};
|
|
84
71
|
}
|
|
85
|
-
|
|
86
|
-
this._parseInteractionConfig(this._cellMark ? [ this._cellMark ] : []);
|
|
72
|
+
getInteractionTriggers() {
|
|
73
|
+
return this._parseInteractionConfig(this._cellMark ? [ this._cellMark ] : []);
|
|
87
74
|
}
|
|
88
75
|
initAnimation() {
|
|
89
76
|
var _a, _b, _c;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"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","file":"heatmap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { registerCellMark } from './../../mark/cell';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { Datum } from '../../typings';\nimport { registerHeatmapAnimation } from './animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { HeatmapAppearPreset, IHeatmapSeriesSpec } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport { registerTextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { normalizePadding, array } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { heatmapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ICellMark, IMark, ITextMark } from '../../mark/interface';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { HeatmapSeriesSpecTransformer } from './heatmap-transformer';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = heatmapSeriesMark;\n static readonly transformerConstructor = HeatmapSeriesSpecTransformer as any;\n readonly transformerConstructor = HeatmapSeriesSpecTransformer;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._cellMark = this._createMark(\n HeatmapSeries.mark.cell,\n {\n isSeriesMark: true,\n stateSort: this._spec.cell?.stateSort\n },\n {\n ...progressive,\n setCustomizedShape: this._spec.cell?.customShape,\n morph: shouldMarkDoMorph(this._spec, HeatmapSeries.mark.cell.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ICellMark;\n\n this._backgroundMark = this._createMark(\n HeatmapSeries.mark.cellBackground,\n {\n stateSort: this._spec.cellBackground?.stateSort\n },\n {\n ...progressive,\n setCustomizedShape: this._spec.cellBackground?.customShape\n }\n ) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this._getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n initInteraction(): void {\n this._parseInteractionConfig(this._cellMark ? [this._cellMark] : []);\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n const animationParams = getGroupAnimationParams(this);\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('heatmap')?.(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n this._cellMark && this._tooltipHelper.activeTriggerSet.mark.add(this._cellMark);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n\n getActiveMarks(): IMark[] {\n return [this._cellMark];\n }\n}\n\nexport const registerHeatmapSeries = () => {\n registerTextMark();\n registerCellMark();\n registerHeatmapAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(HeatmapSeries.type, HeatmapSeries);\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/heatmap/heatmap.ts"],"names":[],"mappings":"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","file":"heatmap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { registerCellMark } from './../../mark/cell';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { AttributeLevel } from '../../constant/attribute';\nimport type { Datum } from '../../typings';\nimport { registerHeatmapAnimation } from './animation';\nimport { animationConfig, shouldMarkDoMorph, userAnimationConfig } from '../../animation/utils';\nimport type { HeatmapAppearPreset, IHeatmapSeriesSpec } from './interface';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport { registerTextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { normalizePadding, array } from '@visactor/vutils';\nimport { HeatmapSeriesTooltipHelper } from './tooltip-helper';\nimport { heatmapSeriesMark } from './constant';\nimport { Factory } from '../../core/factory';\nimport type { ICellMark, IMark, ITextMark } from '../../mark/interface';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { HeatmapSeriesSpecTransformer } from './heatmap-transformer';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class HeatmapSeries<T extends IHeatmapSeriesSpec = IHeatmapSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.heatmap;\n type = SeriesTypeEnum.heatmap;\n\n static readonly mark: SeriesMarkMap = heatmapSeriesMark;\n static readonly transformerConstructor = HeatmapSeriesSpecTransformer as any;\n readonly transformerConstructor = HeatmapSeriesSpecTransformer;\n\n protected _cellMark: ICellMark;\n protected _backgroundMark: ICellMark;\n\n protected _fieldValue!: string[];\n getFieldValue() {\n return this._fieldValue;\n }\n setFieldValue(f: string | string[]) {\n this._fieldValue = array(f);\n }\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFieldValue(this._spec.valueField);\n }\n\n initMark(): void {\n this._cellMark = this._createMark(\n HeatmapSeries.mark.cell,\n {\n isSeriesMark: true\n },\n {\n morph: shouldMarkDoMorph(this._spec, HeatmapSeries.mark.cell.name),\n morphElementKey: this.getDimensionField()[0]\n }\n ) as ICellMark;\n\n this._backgroundMark = this._createMark(HeatmapSeries.mark.cellBackground) as ICellMark;\n }\n\n initMarkStyle(): void {\n this.initCellMarkStyle();\n this.initCellBackgroundMarkStyle();\n }\n\n initLabelMarkStyle(textMark: ITextMark) {\n if (!textMark) {\n return;\n }\n this.setMarkStyle(textMark, {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getMeasureField()[0]];\n }\n });\n }\n\n initCellMarkStyle() {\n this.setMarkStyle(\n this._cellMark,\n {\n x: (datum: Datum) => {\n const pos = this.dataToPositionX(datum);\n return pos;\n },\n y: (datum: Datum) => {\n const pos = this.dataToPositionY(datum);\n return pos;\n },\n size: () => {\n return [this.getCellSize(this._xAxisHelper), this.getCellSize(this._yAxisHelper)];\n },\n fill: this.getColorAttribute()\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n initCellBackgroundMarkStyle() {\n const padding = normalizePadding(this._spec.cellBackground?.style?.padding ?? 0);\n this.setMarkStyle(\n this._backgroundMark,\n {\n x: (datum: Datum) => {\n const width = this.getCellSize(this._xAxisHelper);\n const pos = this.dataToPositionX(datum);\n return pos - width / 2 + padding[3];\n },\n y: (datum: Datum) => {\n const height = this.getCellSize(this._yAxisHelper);\n const pos = this.dataToPositionY(datum);\n return pos - height / 2 + padding[0];\n },\n width: () => {\n return this.getCellSize(this._xAxisHelper) - padding[1] - padding[3];\n },\n height: () => {\n return this.getCellSize(this._yAxisHelper) - padding[0] - padding[2];\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n // TODO: 为热力图实现默认线性颜色 scale\n scale: this._option.globalScale.getScale('color') ?? this._getDefaultColorScale(),\n field: this.getFieldValue[0]\n };\n }\n\n getInteractionTriggers() {\n return this._parseInteractionConfig(this._cellMark ? [this._cellMark] : []);\n }\n\n initAnimation() {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<HeatmapAppearPreset>)?.preset;\n const animationParams = getGroupAnimationParams(this);\n\n this._cellMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('heatmap')?.(appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.cell, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n\n protected getCellSize(axisHelper: IAxisHelper) {\n return axisHelper.getBandwidth?.(0) ?? DefaultBandWidth;\n }\n\n protected initTooltip() {\n this._tooltipHelper = new HeatmapSeriesTooltipHelper(this);\n this._cellMark && this._tooltipHelper.activeTriggerSet.mark.add(this._cellMark);\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n\n getDimensionField(): string[] {\n return [].concat(this.fieldX, this.fieldY);\n }\n\n getMeasureField(): string[] {\n return this.getFieldValue();\n }\n\n getActiveMarks(): IMark[] {\n return [this._cellMark];\n }\n}\n\nexport const registerHeatmapSeries = () => {\n registerTextMark();\n registerCellMark();\n registerHeatmapAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(HeatmapSeries.type, HeatmapSeries);\n};\n"]}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import type { DataView } from '@visactor/vdataset';
|
|
2
|
-
import type { IGrammarItem } from '../../compile/interface';
|
|
3
2
|
import type { IBaseModelSpecTransformerResult, IModelConstructor, IModelMarkInfo, IModelOption, IModelSpecInfo } from '../../model/interface';
|
|
4
3
|
import type { IRegion } from '../../region/interface';
|
|
5
4
|
import type { RenderMode } from '../../typings/spec/common';
|
|
6
5
|
import type { ISeries } from './series';
|
|
7
|
-
import type {
|
|
6
|
+
import type { IMarkOption } from '../../mark/interface';
|
|
8
7
|
import type { ISeriesSpec, StringOrNumber } from '../../typings';
|
|
9
8
|
import type { TransformedLabelSpec } from '../../component/label/interface';
|
|
10
9
|
import type { SeriesMarkNameEnum, SeriesTypeEnum } from './type';
|
|
@@ -55,9 +54,7 @@ export interface ISeriesMarkInitOption extends Partial<IMarkOption> {
|
|
|
55
54
|
themeSpec?: any;
|
|
56
55
|
markSpec?: any;
|
|
57
56
|
skipBeforeLayouted?: boolean;
|
|
58
|
-
parent?: IGroupMark | false;
|
|
59
57
|
isSeriesMark?: boolean;
|
|
60
|
-
depend?: IGrammarItem | IGrammarItem[];
|
|
61
58
|
key?: string | ((datum: any) => string);
|
|
62
59
|
groupKey?: string;
|
|
63
60
|
dataView?: DataView | false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type {\n IBaseModelSpecTransformerResult,\n IModelConstructor,\n IModelMarkInfo,\n IModelOption,\n IModelSpecInfo\n} from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IGroupMark, IMarkOption } from '../../mark/interface';\nimport type { ISeriesSpec, StringOrNumber } from '../../typings';\nimport type { TransformedLabelSpec } from '../../component/label/interface';\nimport type { SeriesMarkNameEnum, SeriesTypeEnum } from './type';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n /** 直接取 datum 里的原始值 */\n originalKey: any;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n sourceDataList: DataView[];\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor extends IModelConstructor {\n readonly type: string;\n mark?: SeriesMarkMap;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n groupField?: string;\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n groupField?: string;\n values: any[];\n total?: number;\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\n/**\n * 设置图表中系列分组的样式,这里的分组对应了相同的分组字段值\n */\nexport type ISeriesStyle = ISeriesStyleItem[];\n\n/**\n * 特定系列分组的样式配置\n */\nexport type ISeriesStyleItem = {\n /**\n * 系列的分组名称\n */\n name: string;\n} & {\n /**\n * 设置该系列分组下各种图元对应的样式\n */\n [markName: string]: {\n /**\n * 图元的样式\n */\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption extends Partial<IMarkOption> {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /**
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/common.ts"],"names":[],"mappings":"","file":"common.js","sourcesContent":["import type { DataView } from '@visactor/vdataset';\nimport type { IGrammarItem } from '../../compile/interface';\nimport type {\n IBaseModelSpecTransformerResult,\n IModelConstructor,\n IModelMarkInfo,\n IModelOption,\n IModelSpecInfo\n} from '../../model/interface';\nimport type { IRegion } from '../../region/interface';\nimport type { RenderMode } from '../../typings/spec/common';\nimport type { ISeries } from './series';\nimport type { IGroupMark, IMarkOption } from '../../mark/interface';\nimport type { ISeriesSpec, StringOrNumber } from '../../typings';\nimport type { TransformedLabelSpec } from '../../component/label/interface';\nimport type { SeriesMarkNameEnum, SeriesTypeEnum } from './type';\n\n// export type SeriesStyle = 'color' | 'size' | 'shape';\n\nexport interface ISeriesSeriesInfo {\n key: string;\n /** 直接取 datum 里的原始值 */\n originalKey: any;\n index?: number;\n // 样式的值类型可能是 StringOrNumber | number[] | xxxx\n style: (attribute: string) => any;\n /** series 对应的缩略图类型 */\n shapeType: string;\n}\n\nexport interface ISeriesOption extends IModelOption {\n mode: RenderMode;\n region: IRegion;\n sourceDataList: DataView[];\n getSeriesData: (id: StringOrNumber | undefined, index: number | undefined) => DataView | undefined;\n}\n\nexport interface ISeriesConstructor extends IModelConstructor {\n readonly type: string;\n mark?: SeriesMarkMap;\n new (spec: any, options: ISeriesOption): ISeries;\n}\n\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesInitOption {}\n// eslint-disable-next-line @typescript-eslint/no-empty-interface\nexport interface ISeriesUpdateDataOption {}\n\nexport interface ISeriesStackDataNode {\n groupField?: string;\n nodes: {\n [key: string]: ISeriesStackDataMeta;\n };\n}\nexport interface ISeriesStackDataLeaf {\n groupField?: string;\n values: any[];\n total?: number;\n}\n\nexport type ISeriesStackDataMeta = ISeriesStackDataNode | ISeriesStackDataLeaf;\nexport type ISeriesStackData = ISeriesStackDataNode;\n\n/**\n * 设置图表中系列分组的样式,这里的分组对应了相同的分组字段值\n */\nexport type ISeriesStyle = ISeriesStyleItem[];\n\n/**\n * 特定系列分组的样式配置\n */\nexport type ISeriesStyleItem = {\n /**\n * 系列的分组名称\n */\n name: string;\n} & {\n /**\n * 设置该系列分组下各种图元对应的样式\n */\n [markName: string]: {\n /**\n * 图元的样式\n */\n style?: any;\n };\n};\n\nexport interface ISeriesMarkInitOption extends Partial<IMarkOption> {\n /** theme spec */\n themeSpec?: any;\n\n /** mark spec */\n markSpec?: any;\n\n /** 是否在编译时更新实际数据 */\n skipBeforeLayouted?: boolean;\n\n /** 是否是 series field 所作用的 mark(用于 tooltip shape 取色等) */\n isSeriesMark?: boolean;\n\n /** 数据 key 值 */\n key?: string | ((datum: any) => string);\n\n /** 分组 key 值 */\n groupKey?: string;\n\n /** 绑定系列数据(如果是 undefined 则默认是系列的 data,如果是 false 则不配置数据) */\n dataView?: DataView | false;\n /** 系列数据编译产物的名称 */\n dataProductId?: string;\n /** mark scale 如果需要使用统计信息设置domain的话,使用的series对应的统计数据 */\n seriesId?: number;\n\n /**\n * 状态排序方法,默认状态都是按照添加的顺序处理的,如果有特殊的需求,需要指定状态顺序,可以通过这个方法实现\n * @since 1.9.0\n */\n stateSort?: (stateA: string, stateB: string) => number;\n /**\n * use component in extension mark\n * @since 1.9.0\n */\n componentType?: string;\n}\n\nexport interface ISeriesMarkInfo extends IModelMarkInfo {\n /** mark 名称 */\n name: SeriesMarkNameEnum | string;\n}\n\nexport type SeriesMarkMap = Partial<Record<SeriesMarkNameEnum, ISeriesMarkInfo>>;\n\nexport interface ISeriesSpecInfo<T extends ISeriesSpec = ISeriesSpec>\n extends IModelSpecInfo,\n ISeriesSpecTransformerResult<T, any> {\n /** model 具体类型 */\n type: string | SeriesTypeEnum;\n /** model spec */\n spec: T;\n /** model theme */\n theme: any;\n}\n\nexport interface ISeriesSpecTransformerResult<T, K> extends IBaseModelSpecTransformerResult<T, K> {\n /** 当前的 mark 标签 spec */\n markLabelSpec?: Partial<Record<SeriesMarkNameEnum, TransformedLabelSpec[]>>;\n /** 是否堆叠 */\n stack?: boolean;\n}\n"]}
|
|
@@ -15,13 +15,14 @@ import type { IGeoCoordinateHelper } from '../../component/geo/interface';
|
|
|
15
15
|
import type { ILabelSpec, ILabelInfo } from '../../component/label/interface';
|
|
16
16
|
import type { StatisticOperations } from '../../data/transforms/interface';
|
|
17
17
|
import type { ILegend } from '../../component/legend/interface';
|
|
18
|
+
import type { IBaseTriggerOptions } from '../../interaction/interface/trigger';
|
|
18
19
|
export interface ISeries extends IModel {
|
|
19
20
|
readonly type: string;
|
|
20
21
|
readonly name?: string;
|
|
21
22
|
tooltipHelper: ISeriesTooltipHelper;
|
|
22
23
|
getSpec: () => any;
|
|
23
24
|
readonly coordinate: CoordinateType;
|
|
24
|
-
onLayoutEnd: (
|
|
25
|
+
onLayoutEnd: () => void;
|
|
25
26
|
getRawData: () => DataView | undefined;
|
|
26
27
|
getViewDataFilter: () => DataView | undefined;
|
|
27
28
|
getViewData: () => DataView | undefined;
|
|
@@ -104,6 +105,10 @@ export interface ISeries extends IModel {
|
|
|
104
105
|
getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;
|
|
105
106
|
legendSelectedFilter?: (component: ILegend, selectedKeys: StringOrNumber[]) => StringOrNumber[];
|
|
106
107
|
parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;
|
|
108
|
+
getInteractionTriggers?: () => {
|
|
109
|
+
trigger: Partial<IBaseTriggerOptions>;
|
|
110
|
+
marks: IMark[];
|
|
111
|
+
}[];
|
|
107
112
|
}
|
|
108
113
|
export interface ICartesianSeries extends ISeries {
|
|
109
114
|
readonly coordinate: 'cartesian';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IGroupMark, ILabelMark, IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelSpec, ILabelInfo } from '../../component/label/interface';\nimport type { StatisticOperations } from '../../data/transforms/interface';\nimport type { ILegend } from '../../component/legend/interface';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: (ctx: any) => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n getMarkData?: (d: Datum) => Datum;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n getDatumPositionValues: (datum: Datum, fields: string | string[]) => any[];\n getDatumPositionValue: (datum: Datum, field: string) => any;\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: ILegend, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/interface/series.ts"],"names":[],"mappings":"","file":"series.js","sourcesContent":["import type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { IModel } from '../../model/interface';\nimport type { DataSet, DataView, ITransformOptions } from '@visactor/vdataset';\nimport type { IGroupMark, ILabelMark, IMark } from '../../mark/interface';\nimport type { CoordinateType, IPoint, IPolarPoint } from '../../typings/coordinate';\nimport type { IRegion } from '../../region/interface';\nimport type { IBaseScale } from '@visactor/vscale';\nimport type { IAxisHelper } from '../../component/axis/cartesian/interface';\nimport type { IPolarAxisHelper } from '../../component/axis/polar/interface';\nimport type { ISeriesSeriesInfo, ISeriesSpecInfo, ISeriesStackData } from './common';\nimport type { ISeriesTooltipHelper } from './tooltip-helper';\nimport type { IInvalidType, Datum, DirectionType, IGroup, StringOrNumber } from '../../typings';\nimport type { ISeriesMarkAttributeContext, StateValueType } from '../../compile/mark/interface';\nimport type { IGeoCoordinateHelper } from '../../component/geo/interface';\nimport type { ILabelSpec, ILabelInfo } from '../../component/label/interface';\nimport type { StatisticOperations } from '../../data/transforms/interface';\nimport type { ILegend } from '../../component/legend/interface';\nimport type { IBaseTriggerOptions } from '../../interaction/interface/trigger';\n\n// 使用类型约束系列支持的样式,但是感觉这样不合理 不使用这样的方式去做\n// export interface ISeries<A extends string> extends IModel\n\nexport interface ISeries extends IModel {\n readonly type: string;\n readonly name?: string;\n\n // tooltip\n tooltipHelper: ISeriesTooltipHelper;\n\n // 配置\n getSpec: () => any;\n\n // 坐标系信息\n readonly coordinate: CoordinateType;\n\n // layout\n onLayoutEnd: () => void;\n\n // 数据\n getRawData: () => DataView | undefined;\n getViewDataFilter: () => DataView | undefined;\n getViewData: () => DataView | undefined;\n getViewDataProductId: () => string | undefined;\n getRawDataStatisticsByField: (field: string, isNumeric?: boolean) => { values?: any[]; min?: number; max?: number };\n getViewDataStatistics?: () => DataView | undefined;\n getDataSet?: () => DataSet;\n getFieldAlias: (field: string) => string;\n // 更新原始数据\n updateRawData: (d: any) => void;\n setData?: (dv: DataView) => void;\n rawDataUpdate: (d: DataView) => void;\n viewDataUpdate: (d: DataView) => void;\n viewDataStatisticsUpdate: (d: DataView) => void;\n addViewDataFilter: (option: ITransformOptions) => void;\n reFilterViewData: () => void;\n reTransformViewData: () => void;\n fillData: () => void;\n isHierarchyData?: () => boolean;\n getMarkData?: (d: Datum) => Datum;\n\n /**\n * 常见数据使用问题\n *\n * 一、使用图表最终展示数据\n * 比如 markline,数值轴 这样的组件\n * 需要操作展示数据,做 筛选 | 变换 的\n * 比如图例,datazoom\n series.getViewData().transform({},false)\n * 需要获取展示数据,生成自身数据做自身展示的 使用消息机制。比如 轴\n series.event.on('viewDataStatisticsUpdate' | 'viewDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n *\n * 二、使用图表原始数据\n * 比如图例,datazoom\n * 需要使用原始数据信息,生成自身数据\n * 比如图例,datazoom\n series.getRawData().parserData | latestData // parserData latestData 区别见下面说明\n series.getRawDataStatistics().latestData\n\n series.event.on('rawDataUpdate', { filter: ({ model }) => model?.id === series.id }, () => {\n this.updateData();\n });\n * 或者使用系列自身的特殊api 特殊情况外不建议这样用\n series.getSeriesInfoList()\n\n * 建议:使用数据时需要注意数据更新,使用系列数据更新组件数据的场景,只建议使用消息监听\n series.event.on(\n 'viewDataStatisticsUpdate' |\n 'viewDataUpdate' |\n 'rawDataUpdate',\n { filter: ({ model }) => model?.id === series.id })\n */\n\n // 区域\n getRegion: () => IRegion;\n\n // mark\n initMark: () => void;\n getMarks: () => IMark[];\n getMarksWithoutRoot: () => IMark[];\n getMarkNameMap: () => Record<string, IMark>;\n getMarksInType: (type: string | string[]) => IMark[];\n getMarkInName: (name: string) => IMark | undefined;\n getMarkInId: (id: number) => IMark | undefined;\n\n getRootMark: () => IGroupMark;\n getActiveMarks: () => IMark[];\n getSeriesMark: () => IMark;\n\n // example\n /**\n * [\n * {\n * fields: {\n * x: '周一',\n * __VChart_STACK: 'stack'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackA'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackA'}];\n * },\n * {\n * fields: {\n * x: '周一',\n * stack: 'stackB'\n * },\n * valueField: 'y',\n * values: [{x: '周一', y: 20, stack: 'stackB'}];\n * },\n * ]\n */\n getStackData: () => ISeriesStackData;\n\n getStack: () => boolean;\n getStackValue: () => StringOrNumber | undefined;\n getPercent: () => boolean;\n getStackOffsetSilhouette: () => boolean;\n\n getStackValueField: () => string;\n setValueFieldToStack: () => void;\n setValueFieldToPercent: () => void;\n setValueFieldToStackOffsetSilhouette: () => void;\n\n getStackGroupFields: () => string[];\n getSeriesField: () => string | undefined;\n getSeriesKeys: () => string[];\n getSeriesStyle: (datum: Datum) => ISeriesSeriesInfo['style'];\n getSeriesInfoInField: (field: string) => ISeriesSeriesInfo[];\n getSeriesInfoList: () => ISeriesSeriesInfo[];\n getGroups: () => IGroup | undefined;\n getDimensionField: () => string[];\n getMeasureField: () => string[];\n getStatisticFields: () => { key: string; operations: StatisticOperations }[];\n getDatumPositionValues: (datum: Datum, fields: string | string[]) => any[];\n getDatumPositionValue: (datum: Datum, field: string) => any;\n\n setSeriesField: (field: string) => void;\n handleZoom?: (e: ZoomEventParam) => void;\n handlePan?: (e: PanEventParam) => void;\n\n // 数据映射\n dataToPosition: (datum: Datum, checkInViewData?: boolean) => IPoint | null;\n dataToPositionX: (datum: Datum) => number | null;\n dataToPositionY: (datum: Datum) => number | null;\n dataToPositionZ?: (datum: Datum) => number | null;\n valueToPosition: (value1: any, value2?: any) => IPoint;\n\n getColorAttribute: () => { scale: IBaseScale; field: string };\n getDefaultColorDomain: () => any[];\n\n getInvalidType: () => IInvalidType;\n\n // 交互\n\n /**\n * 获取系列默认的缩略图形\n * @returns 默认的缩略图形\n */\n getDefaultShapeType: () => string;\n /** 获取系列标签配置 */\n initLabelMarkStyle?: (labelMark: ILabelMark, labelSpec: ILabelSpec) => void;\n /** 设置总计标签配置 */\n initTotalLabelMarkStyle?: (labelMark: ILabelMark) => void;\n getTotalLabelComponentStyle?: (info: Pick<ILabelInfo, 'baseMark' | 'labelMark'>) => any;\n\n getGroupFields: () => string[];\n\n getSpecInfo: () => ISeriesSpecInfo;\n getMarkAttributeContext: () => ISeriesMarkAttributeContext;\n\n getSeriesFieldValue: (datum: Datum, seriesField?: string) => any;\n\n legendSelectedFilter?: (component: ILegend, selectedKeys: StringOrNumber[]) => StringOrNumber[];\n parseLabelStyle?: (labelStyle: any, labelSpec: any, labelMark?: ILabelMark) => any;\n\n getInteractionTriggers?: () => { trigger: Partial<IBaseTriggerOptions>; marks: IMark[] }[];\n}\n\nexport interface ICartesianSeries extends ISeries {\n readonly coordinate: 'cartesian';\n readonly direction: DirectionType;\n\n scaleX: IBaseScale;\n setScaleX: (s: IBaseScale) => void;\n scaleY: IBaseScale;\n setScaleY: (s: IBaseScale) => void;\n scaleZ?: IBaseScale;\n setScaleZ: (s: IBaseScale) => void;\n // 要考虑基于多个field的场景\n fieldX: string[];\n setFieldX: (field: string | string[], level?: number) => void;\n fieldX2: string;\n setFieldX2: (field: string) => void;\n fieldY: string[];\n setFieldY: (field: string | string[], level?: number) => void;\n fieldY2: string;\n setFieldY2: (field: string) => void;\n fieldZ?: string[];\n setFieldZ: (field: string | string[], level?: number) => void;\n\n positionToData: (p: IPoint) => any | null;\n positionToDataX: (xPos: number) => any | null;\n positionToDataY: (yPos: number) => any | null;\n\n // 轴API\n getXAxisHelper: () => IAxisHelper;\n setXAxisHelper: (h: IAxisHelper) => void;\n getYAxisHelper: () => IAxisHelper;\n setYAxisHelper: (h: IAxisHelper) => void;\n getZAxisHelper: () => IAxisHelper | undefined;\n setZAxisHelper: (h: IAxisHelper) => void;\n\n dataToPositionX1: (datum: Datum) => number | null;\n dataToPositionY1: (datum: Datum) => number | null;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n valueToPositionX: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n valueToPositionY: (value: StringOrNumber | StringOrNumber[], datum?: any) => any;\n}\n\nexport interface IPolarSeries extends ISeries {\n readonly coordinate: 'polar';\n\n outerRadius: number;\n innerRadius: number;\n\n getRadiusField: () => string[];\n setRadiusField: (field: string | string[], level?: number) => void;\n getAngleField: () => string[];\n setAngleField: (field: string | string[], level?: number) => void;\n\n // 轴将是一个实现了 scale 的组件。这里接收的可以是一个轴\n radiusScale: IBaseScale;\n setRadiusScale: (s: IBaseScale) => void;\n angleScale: IBaseScale;\n setAngleScale: (s: IBaseScale) => void;\n\n // TODO:\n positionToData: (point: IPolarPoint) => any;\n radiusToData: (radius: number) => any;\n angleToData: (angle: number) => any;\n\n // 轴\n radiusAxisHelper: IPolarAxisHelper;\n angleAxisHelper: IPolarAxisHelper;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n}\n\nexport interface IGeoSeries extends ISeries {\n readonly coordinate: 'geo';\n\n nameField?: string;\n valueField?: string;\n\n getMapViewData: () => DataView;\n getNameProperty: () => string;\n\n dataToPosition: (datum: any, checkInViewData?: boolean) => IPoint | null;\n dataToLatitude: (latValue: any) => number | null;\n dataToLongitude: (lonValue: any) => number | null;\n nameValueToPosition: (name: string) => IPoint | null;\n\n positionToData: (p: IPoint) => any;\n latitudeToData: (lat: number) => any;\n longitudeToData: (lon: number) => any;\n\n getCoordinateHelper: () => IGeoCoordinateHelper;\n setCoordinateHelper: (helper: IGeoCoordinateHelper) => void;\n\n valueToPosition: (value1: any, value2: any) => IPoint;\n getDatumCenter: (datum: any) => [number, number];\n}\n\n// 收拢扇区标签形式依赖的 api\nexport interface IArcSeries extends IPolarSeries {\n getCenter: () => IPoint;\n getRadius: (state?: StateValueType) => number;\n getInnerRadius: (state?: StateValueType) => number;\n\n computeRadius: (r: number, k?: number) => number;\n computeDatumRadius: (datum: any, state?: StateValueType) => number;\n}\n\nexport interface IFunnelSeries extends ISeries {\n getPoints: (datum: any) => IPoint[];\n getCategoryField: () => string;\n\n valueToPosition: (value: any) => IPoint;\n}\n"]}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import type { IAnimationTypeConfig } from '
|
|
1
|
+
import type { IAnimationTypeConfig } from '../../animation/interface';
|
|
2
2
|
import type { ILineAnimationParams, LineAppearPreset } from './interface';
|
|
3
3
|
export declare function linePresetAnimation(params: ILineAnimationParams, preset: LineAppearPreset): IAnimationTypeConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/line/animation.ts"],"names":[],"mappings":";;;AAIA,MAAM,aAAa,GAAG,CAAC,MAA4B,EAAwB,EAAE;IAC3E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAA4B,EAAwB,EAAE;IACzE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;QACnF,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;SAC5E;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAgB,mBAAmB,CAAC,MAA4B,EAAE,MAAwB;IACxF,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;KAChC;AACH,CAAC;AATD,kDASC","file":"animation.js","sourcesContent":["import {
|
|
1
|
+
{"version":3,"sources":["../src/series/line/animation.ts"],"names":[],"mappings":";;;AAIA,MAAM,aAAa,GAAG,CAAC,MAA4B,EAAwB,EAAE;IAC3E,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;SACrE;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAyB;IAC1C,IAAI,EAAE,QAAQ;CACf,CAAC;AAEF,MAAM,WAAW,GAAG,CAAC,MAA4B,EAAwB,EAAE;IACzE,OAAO;QACL,IAAI,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,eAAe;QACnF,OAAO,EAAE;YACP,MAAM,EAAE,MAAM,CAAC,SAAS,iBAAyB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU;SAC5E;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,SAAgB,mBAAmB,CAAC,MAA4B,EAAE,MAAwB;IACxF,QAAQ,MAAM,EAAE;QACd,KAAK,MAAM;YACT,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC;QAC7B,KAAK,QAAQ;YACX,OAAO,aAAa,CAAC;QACvB;YACE,OAAO,aAAa,CAAC,MAAM,CAAC,CAAC;KAChC;AACH,CAAC;AATD,kDASC","file":"animation.js","sourcesContent":["import type { IAnimationTypeConfig } from '../../animation/interface';\nimport { Direction } from '../../typings/space';\nimport type { ILineAnimationParams, LineAppearPreset } from './interface';\n\nconst Appear_ClipIn = (params: ILineAnimationParams): IAnimationTypeConfig => {\n return {\n type: 'clipIn',\n options: {\n clipDimension: params.direction === Direction.horizontal ? 'y' : 'x'\n }\n };\n};\n\nconst Appear_FadeIn: IAnimationTypeConfig = {\n type: 'fadeIn'\n};\n\nconst Appear_Grow = (params: ILineAnimationParams): IAnimationTypeConfig => {\n return {\n type: params.direction === Direction.horizontal ? 'growPointsXIn' : 'growPointsYIn',\n options: {\n orient: params.direction === Direction.horizontal ? 'positive' : 'negative'\n }\n };\n};\n\nexport function linePresetAnimation(params: ILineAnimationParams, preset: LineAppearPreset): IAnimationTypeConfig {\n switch (preset) {\n case 'grow':\n return Appear_Grow(params);\n case 'fadeIn':\n return Appear_FadeIn;\n default:\n return Appear_ClipIn(params);\n }\n}\n"]}
|
|
@@ -20,7 +20,7 @@ export declare class LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec> ext
|
|
|
20
20
|
protected initTooltip(): void;
|
|
21
21
|
initMarkStyle(): void;
|
|
22
22
|
initAnimation(): void;
|
|
23
|
-
onLayoutEnd(
|
|
23
|
+
onLayoutEnd(): void;
|
|
24
24
|
getSeriesStyle(datum: Datum): (attribute: string) => unknown;
|
|
25
25
|
getDefaultShapeType(): string;
|
|
26
26
|
getActiveMarks(): IMark[];
|
package/cjs/series/line/line.js
CHANGED
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerLineSeries = exports.LineSeries = void 0;
|
|
6
6
|
|
|
7
|
-
const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), line_mixin_1 = require("../mixin/line-mixin"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), constant_1 = require("./constant"), line_1 = require("../../mark/line"), symbol_1 = require("../../mark/symbol"), factory_1 = require("../../core/factory"),
|
|
7
|
+
const cartesian_1 = require("../cartesian/cartesian"), type_1 = require("../interface/type"), line_mixin_1 = require("../mixin/line-mixin"), vutils_1 = require("@visactor/vutils"), utils_1 = require("../../animation/utils"), config_1 = require("../../animation/config"), constant_1 = require("./constant"), line_1 = require("../../mark/line"), symbol_1 = require("../../mark/symbol"), factory_1 = require("../../core/factory"), line_mixin_transformer_1 = require("../mixin/line-mixin-transformer"), utils_2 = require("../util/utils"), cartesian_2 = require("../../component/axis/cartesian"), symbol_overlap_1 = require("../../mark/transform/symbol-overlap"), data_sampling_1 = require("../../mark/transform/data-sampling");
|
|
8
8
|
|
|
9
9
|
class LineSeries extends cartesian_1.CartesianSeries {
|
|
10
10
|
constructor() {
|
|
@@ -16,13 +16,8 @@ class LineSeries extends cartesian_1.CartesianSeries {
|
|
|
16
16
|
}
|
|
17
17
|
initMark() {
|
|
18
18
|
var _a;
|
|
19
|
-
const
|
|
20
|
-
|
|
21
|
-
progressiveThreshold: this._spec.progressiveThreshold,
|
|
22
|
-
large: this._spec.large,
|
|
23
|
-
largeThreshold: this._spec.largeThreshold
|
|
24
|
-
}, seriesMark = null !== (_a = this._spec.seriesMark) && void 0 !== _a ? _a : "line";
|
|
25
|
-
this.initLineMark(progressive, "line" === seriesMark), this.initSymbolMark(progressive, "point" === seriesMark);
|
|
19
|
+
const seriesMark = null !== (_a = this._spec.seriesMark) && void 0 !== _a ? _a : "line";
|
|
20
|
+
this.initLineMark("line" === seriesMark), this.initSymbolMark("point" === seriesMark);
|
|
26
21
|
}
|
|
27
22
|
initTooltip() {
|
|
28
23
|
super.initTooltip();
|
|
@@ -46,8 +41,8 @@ class LineSeries extends cartesian_1.CartesianSeries {
|
|
|
46
41
|
utils_1.userAnimationConfig)("point", this._spec, this._markAttributeContext), animationParams));
|
|
47
42
|
}
|
|
48
43
|
}
|
|
49
|
-
onLayoutEnd(
|
|
50
|
-
super.onLayoutEnd(
|
|
44
|
+
onLayoutEnd() {
|
|
45
|
+
super.onLayoutEnd(), this.reCompileSampling();
|
|
51
46
|
}
|
|
52
47
|
getSeriesStyle(datum) {
|
|
53
48
|
var _a;
|
|
@@ -70,7 +65,7 @@ LineSeries.transformerConstructor = line_mixin_transformer_1.LineLikeSeriesSpecT
|
|
|
70
65
|
(0, vutils_1.mixin)(LineSeries, line_mixin_1.LineLikeSeriesMixin);
|
|
71
66
|
|
|
72
67
|
const registerLineSeries = () => {
|
|
73
|
-
(0,
|
|
68
|
+
(0, data_sampling_1.registerDataSamplingTransform)(), (0, symbol_overlap_1.registerSymbolOverlapTransform)(),
|
|
74
69
|
(0, line_1.registerLineMark)(), (0, symbol_1.registerSymbolMark)(), (0, config_1.registerLineAnimation)(),
|
|
75
70
|
(0, config_1.registerScaleInOutAnimation)(), (0, cartesian_2.registerCartesianBandAxis)(),
|
|
76
71
|
(0, cartesian_2.registerCartesianLinearAxis)(), factory_1.Factory.registerSeries(LineSeries.type, LineSeries);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":";;;AACA,sDAAyD;AAEzD,4CAAuE;AACvE,oDAA0D;AAC1D,6CAAyC;AAEzC,iDAA6E;AAC7E,mDAA4F;AAG5F,yCAA4C;AAC5C,0CAAmD;AACnD,8CAAuD;AACvD,gDAA6C;AAE7C,
|
|
1
|
+
{"version":3,"sources":["../src/series/line/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { LineLikeSeriesMixin } from '../mixin/line-mixin';\nimport { mixin } from '@visactor/vutils';\nimport type { Datum } from '../../typings';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { registerLineAnimation, registerScaleInOutAnimation } from '../../animation/config';\nimport type { ILineSeriesSpec, LineAppearPreset } from './interface';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport { lineSeriesMark } from './constant';\nimport { registerLineMark } from '../../mark/line';\nimport { registerSymbolMark } from '../../mark/symbol';\nimport { Factory } from '../../core/factory';\nimport type { IMark } from '../../mark/interface';\nimport { LineLikeSeriesSpecTransformer } from '../mixin/line-mixin-transformer';\nimport { getGroupAnimationParams } from '../util/utils';\nimport { registerCartesianLinearAxis, registerCartesianBandAxis } from '../../component/axis/cartesian';\nimport { registerSymbolOverlapTransform } from '../../mark/transform/symbol-overlap';\nimport { registerDataSamplingTransform } from '../../mark/transform/data-sampling';\n\nexport interface LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec>\n extends Pick<\n LineLikeSeriesMixin,\n | 'initLineMark'\n | 'initSymbolMark'\n | 'initLabelMarkStyle'\n | 'initLineMarkStyle'\n | 'initSymbolMarkStyle'\n | '_lineMark'\n | '_symbolMark'\n | 'addSamplingCompile'\n | 'addOverlapCompile'\n | 'reCompileSampling'\n >,\n CartesianSeries<T> {}\n\nexport class LineSeries<T extends ILineSeriesSpec = ILineSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.line;\n type = SeriesTypeEnum.line;\n\n static readonly mark: SeriesMarkMap = lineSeriesMark;\n static readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n readonly transformerConstructor = LineLikeSeriesSpecTransformer;\n\n protected _sortDataByAxis: boolean = false;\n\n compile(): void {\n super.compile();\n this.addSamplingCompile();\n this.addOverlapCompile();\n }\n\n initMark(): void {\n const seriesMark = this._spec.seriesMark ?? 'line';\n this.initLineMark(seriesMark === 'line');\n this.initSymbolMark(seriesMark === 'point');\n }\n\n protected initTooltip() {\n super.initTooltip();\n const { group, mark } = this._tooltipHelper.activeTriggerSet;\n if (this._lineMark) {\n group.add(this._lineMark);\n }\n if (this._symbolMark) {\n mark.add(this._symbolMark);\n group.add(this._symbolMark);\n }\n }\n\n initMarkStyle(): void {\n this.initLineMarkStyle(this._direction);\n this.initSymbolMarkStyle();\n }\n\n initAnimation() {\n const lineAnimationParams = { direction: this.direction };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<LineAppearPreset>)?.preset;\n this._lineMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('line')?.(lineAnimationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.line, this._spec, this._markAttributeContext)\n )\n );\n\n if (this._symbolMark) {\n const animationParams = getGroupAnimationParams(this);\n this._symbolMark.setAnimationConfig(\n animationConfig(\n Factory.getAnimationInKey('scaleInOut')?.(),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec, this._markAttributeContext),\n animationParams\n )\n );\n }\n }\n\n onLayoutEnd(): void {\n super.onLayoutEnd();\n this.reCompileSampling();\n }\n\n getSeriesStyle(datum: Datum) {\n const isLineAsSeriesMark = this._spec?.seriesMark !== 'point'; // 加判空防止某些特殊时刻(如 updateSpec 时)鼠标滑过图表导致报错\n return (attribute: string) => {\n if (isLineAsSeriesMark) {\n // 增加一个标识位,用于是否替换,因为图例获取颜色的时候是不需要替换的\n attribute === 'fill' && (attribute = 'stroke');\n }\n return this._seriesMark?.getAttribute(attribute as any, datum) ?? undefined;\n };\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n\n getActiveMarks(): IMark[] {\n return [this._lineMark, this._symbolMark];\n }\n}\n\nmixin(LineSeries, LineLikeSeriesMixin);\n\nexport const registerLineSeries = () => {\n registerDataSamplingTransform();\n registerSymbolOverlapTransform();\n registerLineMark();\n registerSymbolMark();\n registerLineAnimation();\n registerScaleInOutAnimation();\n registerCartesianBandAxis();\n registerCartesianLinearAxis();\n Factory.registerSeries(LineSeries.type, LineSeries);\n};\n"]}
|
|
@@ -44,10 +44,13 @@ export declare class LinkSeries<T extends ILinkSeriesSpec = ILinkSeriesSpec> ext
|
|
|
44
44
|
scale: any;
|
|
45
45
|
field: string;
|
|
46
46
|
};
|
|
47
|
-
|
|
47
|
+
getInteractionTriggers(): {
|
|
48
|
+
trigger: Partial<import("../../interaction/interface/trigger").IBaseTriggerOptions>;
|
|
49
|
+
marks: IMark[];
|
|
50
|
+
}[];
|
|
48
51
|
protected initTooltip(): void;
|
|
49
52
|
protected onMarkTreePositionUpdate(marks: IMark[]): void;
|
|
50
|
-
getDotInfoData(): import("../../compile/
|
|
53
|
+
getDotInfoData(): import("../../compile/data").ICompilableData;
|
|
51
54
|
getActiveMarks(): IMark[];
|
|
52
55
|
}
|
|
53
56
|
export declare const registerLinkSeries: () => void;
|
package/cjs/series/link/link.js
CHANGED
|
@@ -176,9 +176,9 @@ class LinkSeries extends cartesian_1.CartesianSeries {
|
|
|
176
176
|
field: null !== (_c = null !== (_b = this._dotTypeField) && void 0 !== _b ? _b : this._seriesField) && void 0 !== _c ? _c : data_1.DEFAULT_DATA_SERIES_FIELD
|
|
177
177
|
};
|
|
178
178
|
}
|
|
179
|
-
|
|
179
|
+
getInteractionTriggers() {
|
|
180
180
|
const marks = [];
|
|
181
|
-
this._linkMark && marks.push(this._linkMark), this._arrowMark && marks.push(this._arrowMark),
|
|
181
|
+
return this._linkMark && marks.push(this._linkMark), this._arrowMark && marks.push(this._arrowMark),
|
|
182
182
|
this._parseInteractionConfig(marks);
|
|
183
183
|
}
|
|
184
184
|
initTooltip() {
|
|
@@ -187,7 +187,7 @@ class LinkSeries extends cartesian_1.CartesianSeries {
|
|
|
187
187
|
}
|
|
188
188
|
onMarkTreePositionUpdate(marks) {
|
|
189
189
|
marks.forEach((m => {
|
|
190
|
-
|
|
190
|
+
m.commit(!1, !0);
|
|
191
191
|
}));
|
|
192
192
|
}
|
|
193
193
|
getDotInfoData() {
|