@visactor/vchart 1.0.1-alpha.2 → 1.1.0-beta.1
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/index.js +6015 -5865
- package/build/index.min.js +2 -2
- package/cjs/chart/area/area.d.ts +1 -0
- package/cjs/chart/area/area.js +4 -1
- package/cjs/chart/area/area.js.map +1 -1
- package/cjs/chart/bar/bar.d.ts +1 -0
- package/cjs/chart/bar/bar.js +4 -1
- package/cjs/chart/bar/bar.js.map +1 -1
- package/cjs/chart/base-chart.js +2 -1
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/chart/box-plot/box-plot.js +2 -2
- package/cjs/chart/box-plot/box-plot.js.map +1 -1
- package/cjs/chart/histogram/histogram.d.ts +1 -0
- package/cjs/chart/histogram/histogram.js +4 -1
- package/cjs/chart/histogram/histogram.js.map +1 -1
- package/cjs/chart/line/line.d.ts +1 -0
- package/cjs/chart/line/line.js +4 -1
- package/cjs/chart/line/line.js.map +1 -1
- package/cjs/chart/range-area/range-area.d.ts +1 -0
- package/cjs/chart/range-area/range-area.js +4 -1
- package/cjs/chart/range-area/range-area.js.map +1 -1
- package/cjs/chart/range-column/range-column.d.ts +1 -0
- package/cjs/chart/range-column/range-column.js +4 -1
- package/cjs/chart/range-column/range-column.js.map +1 -1
- package/cjs/chart/sequence/sequence.js +1 -1
- package/cjs/chart/sequence/sequence.js.map +1 -1
- package/cjs/chart/util.d.ts +2 -0
- package/cjs/chart/util.js +23 -0
- package/cjs/chart/util.js.map +1 -0
- package/cjs/chart/waterfall/waterfall.js +2 -2
- package/cjs/chart/waterfall/waterfall.js.map +1 -1
- package/cjs/compile/compiler.js +2 -2
- package/cjs/compile/compiler.js.map +1 -1
- package/cjs/compile/grammar-item.js +2 -1
- package/cjs/component/axis/cartesian/axis.js +1 -1
- package/cjs/component/axis/cartesian/axis.js.map +1 -1
- package/cjs/component/crosshair/base.js +1 -2
- package/cjs/component/crosshair/base.js.map +1 -1
- package/cjs/component/crosshair/interface/spec.d.ts +1 -1
- package/cjs/component/crosshair/interface/spec.js.map +1 -1
- package/cjs/component/custom-mark/custom-mark.js.map +1 -1
- package/cjs/component/legend/base-legend.js +7 -3
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/util.d.ts +1 -1
- package/cjs/component/player/utils/transform.js +1 -3
- package/cjs/component/player/utils/transform.js.map +1 -1
- package/cjs/component/tooltip/handler/base.d.ts +5 -4
- package/cjs/component/tooltip/handler/base.js +44 -34
- package/cjs/component/tooltip/handler/base.js.map +1 -1
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -2
- package/cjs/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/constants.d.ts +4 -0
- package/cjs/component/tooltip/handler/constants.js +5 -2
- package/cjs/component/tooltip/handler/constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -13
- package/cjs/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/interface.d.ts +16 -5
- package/cjs/component/tooltip/handler/dom/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js +12 -27
- package/cjs/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js +46 -26
- package/cjs/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
- package/cjs/component/tooltip/handler/dom/model/content-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/interface.d.ts +4 -0
- package/cjs/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
- package/cjs/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/cjs/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
- package/cjs/component/tooltip/handler/dom/model/style-constants.js +16 -18
- package/cjs/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/text-model.js +1 -0
- package/cjs/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
- package/cjs/component/tooltip/handler/dom/model/title-model.js +15 -19
- package/cjs/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js +21 -16
- package/cjs/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/cjs/component/tooltip/handler/dom/util.d.ts +5 -0
- package/cjs/component/tooltip/handler/dom/{utils/style.js → util.js} +32 -20
- package/cjs/component/tooltip/handler/dom/util.js.map +1 -0
- package/cjs/component/tooltip/handler/interface/index.d.ts +0 -1
- package/cjs/component/tooltip/handler/interface/index.js +1 -1
- package/cjs/component/tooltip/handler/interface/index.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/attribute.js +12 -8
- package/cjs/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/common.d.ts +6 -2
- package/cjs/component/tooltip/handler/utils/common.js +30 -5
- package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/compose.d.ts +3 -2
- package/cjs/component/tooltip/handler/utils/compose.js +56 -45
- package/cjs/component/tooltip/handler/utils/compose.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/get-spec.js +64 -28
- package/cjs/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.d.ts +2 -1
- package/cjs/component/tooltip/handler/utils/style.js +4 -4
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/tooltip.d.ts +3 -1
- package/cjs/component/tooltip/tooltip.js +33 -18
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/component/tooltip/utils/common.js +4 -2
- package/cjs/component/tooltip/utils/common.js.map +1 -1
- package/cjs/constant/box-plot.js +1 -2
- package/cjs/constant/marker.js +2 -1
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/instance-manager.d.ts +1 -1
- package/cjs/core/instance-manager.js +1 -2
- package/cjs/core/instance-manager.js.map +1 -1
- package/cjs/core/vchart.d.ts +1 -0
- package/cjs/core/vchart.js +10 -2
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/event/event.js +1 -2
- package/cjs/interaction/interface.js +1 -1
- package/cjs/interaction/trigger.js +1 -1
- package/cjs/layout/base-layout.js +8 -8
- package/cjs/layout/base-layout.js.map +1 -1
- package/cjs/layout/grid-layout/grid-layout.d.ts +5 -35
- package/cjs/layout/grid-layout/grid-layout.js +2 -1
- package/cjs/layout/grid-layout/grid-layout.js.map +1 -1
- package/cjs/layout/index.d.ts +1 -2
- package/cjs/layout/index.js.map +1 -1
- package/cjs/layout/interface.d.ts +31 -3
- package/cjs/layout/interface.js.map +1 -1
- package/cjs/mark/arc-3d.js +1 -1
- package/cjs/mark/arc.d.ts +5 -4
- package/cjs/mark/arc.js +11 -13
- package/cjs/mark/arc.js.map +1 -1
- package/cjs/mark/area.js +1 -1
- package/cjs/mark/base/base-line.js +3 -3
- package/cjs/mark/base/base-line.js.map +1 -1
- package/cjs/mark/base/base-mark.d.ts +7 -0
- package/cjs/mark/base/base-mark.js +10 -6
- package/cjs/mark/base/base-mark.js.map +1 -1
- package/cjs/mark/box-plot.js +1 -1
- package/cjs/mark/cell.js +1 -1
- package/cjs/mark/utils/common.d.ts +0 -12
- package/cjs/mark/utils/common.js +2 -13
- package/cjs/mark/utils/common.js.map +1 -1
- package/cjs/model/base-model.js +1 -1
- package/cjs/model/interface.js +1 -1
- package/cjs/model/layout-item.js +2 -1
- package/cjs/model/model-state-manager.js +1 -1
- package/cjs/model/tooltip-helper.d.ts +3 -4
- package/cjs/model/tooltip-helper.js +5 -10
- package/cjs/model/tooltip-helper.js.map +1 -1
- package/cjs/plugin/interface.js +1 -1
- package/cjs/region/interface.js +1 -1
- package/cjs/region/region.js +6 -11
- package/cjs/region/region.js.map +1 -1
- package/cjs/series/base/base-series.js +1 -1
- package/cjs/series/base/base-series.js.map +1 -1
- package/cjs/series/base/tooltip-helper.d.ts +9 -8
- package/cjs/series/base/tooltip-helper.js +23 -12
- package/cjs/series/base/tooltip-helper.js.map +1 -1
- package/cjs/series/dot/dot.js +2 -2
- package/cjs/series/dot/dot.js.map +1 -1
- package/cjs/series/dot/tooltip-helper.d.ts +1 -2
- package/cjs/series/dot/tooltip-helper.js +6 -5
- package/cjs/series/dot/tooltip-helper.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +1 -1
- package/cjs/series/funnel/funnel.js +8 -8
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.d.ts +5 -3
- package/cjs/series/funnel/tooltip-helper.js +10 -8
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/interface/series.d.ts +2 -1
- package/cjs/series/interface/series.js.map +1 -1
- package/cjs/series/interface/tooltip-helper.d.ts +6 -6
- package/cjs/series/interface/tooltip-helper.js.map +1 -1
- package/cjs/series/link/link.js +2 -2
- package/cjs/series/link/link.js.map +1 -1
- package/cjs/series/treemap/treemap.js.map +1 -1
- package/cjs/series/word-cloud/base.js +2 -2
- package/cjs/series/word-cloud/base.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +3 -3
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/buildin-theme/index.d.ts +0 -1
- package/cjs/theme/buildin-theme/index.js +3 -3
- package/cjs/theme/buildin-theme/index.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/crosshair.js +4 -4
- package/cjs/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/cjs/theme/buildin-theme/light/component/tooltip.js +1 -0
- package/cjs/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/cjs/typings/spec/common.d.ts +1 -1
- package/cjs/typings/spec/common.js.map +1 -1
- package/cjs/typings/tooltip/common.d.ts +7 -1
- package/cjs/typings/tooltip/common.js.map +1 -1
- package/cjs/typings/tooltip/handler.d.ts +1 -1
- package/cjs/typings/tooltip/handler.js.map +1 -1
- package/cjs/typings/tooltip/line.d.ts +6 -4
- package/cjs/typings/tooltip/line.js.map +1 -1
- package/cjs/typings/tooltip/shape.d.ts +3 -3
- package/cjs/typings/tooltip/shape.js.map +1 -1
- package/cjs/typings/tooltip/tooltip.d.ts +11 -8
- package/cjs/typings/tooltip/tooltip.js.map +1 -1
- package/cjs/typings/visual.d.ts +4 -11
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/debug.d.ts +3 -3
- package/cjs/util/debug.js +11 -20
- 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/style.js +3 -7
- package/cjs/util/style.js.map +1 -1
- package/esm/chart/area/area.d.ts +1 -0
- package/esm/chart/area/area.js +5 -0
- package/esm/chart/area/area.js.map +1 -1
- package/esm/chart/bar/bar.d.ts +1 -0
- package/esm/chart/bar/bar.js +5 -0
- package/esm/chart/bar/bar.js.map +1 -1
- package/esm/chart/base-chart.js +2 -1
- package/esm/chart/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/histogram/histogram.d.ts +1 -0
- package/esm/chart/histogram/histogram.js +5 -0
- package/esm/chart/histogram/histogram.js.map +1 -1
- package/esm/chart/line/line.d.ts +1 -0
- package/esm/chart/line/line.js +5 -0
- package/esm/chart/line/line.js.map +1 -1
- package/esm/chart/range-area/range-area.d.ts +1 -0
- package/esm/chart/range-area/range-area.js +5 -0
- package/esm/chart/range-area/range-area.js.map +1 -1
- package/esm/chart/range-column/range-column.d.ts +1 -0
- package/esm/chart/range-column/range-column.js +5 -0
- package/esm/chart/range-column/range-column.js.map +1 -1
- package/esm/chart/sequence/sequence.js +2 -2
- package/esm/chart/sequence/sequence.js.map +1 -1
- package/esm/chart/util.d.ts +2 -0
- package/esm/chart/util.js +16 -0
- package/esm/chart/util.js.map +1 -0
- package/esm/chart/waterfall/waterfall.js +3 -1
- package/esm/chart/waterfall/waterfall.js.map +1 -1
- package/esm/compile/compiler.js +2 -2
- package/esm/compile/compiler.js.map +1 -1
- package/esm/compile/grammar-item.js +2 -1
- package/esm/component/axis/cartesian/axis.js +2 -2
- package/esm/component/axis/cartesian/axis.js.map +1 -1
- package/esm/component/crosshair/base.js +1 -2
- package/esm/component/crosshair/base.js.map +1 -1
- package/esm/component/crosshair/interface/spec.d.ts +1 -1
- package/esm/component/crosshair/interface/spec.js.map +1 -1
- package/esm/component/custom-mark/custom-mark.js.map +1 -1
- package/esm/component/legend/base-legend.js +7 -3
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/util.d.ts +1 -1
- package/esm/component/player/utils/transform.js +1 -3
- package/esm/component/player/utils/transform.js.map +1 -1
- package/esm/component/tooltip/handler/base.d.ts +5 -4
- package/esm/component/tooltip/handler/base.js +45 -35
- package/esm/component/tooltip/handler/base.js.map +1 -1
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.d.ts +2 -2
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js +2 -3
- package/esm/component/tooltip/handler/canvas/canvas-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/constants.d.ts +4 -0
- package/esm/component/tooltip/handler/constants.js +9 -0
- package/esm/component/tooltip/handler/constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.d.ts +6 -2
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js +20 -12
- package/esm/component/tooltip/handler/dom/dom-tooltip-handler.js.map +1 -1
- package/esm/component/tooltip/handler/dom/interface.d.ts +16 -5
- package/esm/component/tooltip/handler/dom/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.d.ts +7 -13
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js +11 -29
- package/esm/component/tooltip/handler/dom/model/base-tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-column-model.d.ts +13 -3
- package/esm/component/tooltip/handler/dom/model/content-column-model.js +46 -24
- package/esm/component/tooltip/handler/dom/model/content-column-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/content-model.d.ts +4 -3
- package/esm/component/tooltip/handler/dom/model/content-model.js +5 -5
- package/esm/component/tooltip/handler/dom/model/content-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/interface.d.ts +4 -0
- package/esm/component/tooltip/handler/dom/model/interface.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/shape-model.d.ts +5 -5
- package/esm/component/tooltip/handler/dom/model/shape-model.js +4 -4
- package/esm/component/tooltip/handler/dom/model/shape-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/style-constants.d.ts +4 -4
- package/esm/component/tooltip/handler/dom/model/style-constants.js +18 -20
- package/esm/component/tooltip/handler/dom/model/style-constants.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/text-model.js +1 -0
- package/esm/component/tooltip/handler/dom/model/text-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/title-model.d.ts +3 -2
- package/esm/component/tooltip/handler/dom/model/title-model.js +15 -19
- package/esm/component/tooltip/handler/dom/model/title-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/model/tooltip-model.d.ts +1 -2
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js +22 -16
- package/esm/component/tooltip/handler/dom/model/tooltip-model.js.map +1 -1
- package/esm/component/tooltip/handler/dom/util.d.ts +5 -0
- package/esm/component/tooltip/handler/dom/util.js +71 -0
- package/esm/component/tooltip/handler/dom/util.js.map +1 -0
- package/esm/component/tooltip/handler/interface/index.d.ts +0 -1
- package/esm/component/tooltip/handler/interface/index.js +0 -2
- package/esm/component/tooltip/handler/interface/index.js.map +1 -1
- package/esm/component/tooltip/handler/utils/attribute.js +11 -7
- package/esm/component/tooltip/handler/utils/attribute.js.map +1 -1
- package/esm/component/tooltip/handler/utils/common.d.ts +6 -2
- package/esm/component/tooltip/handler/utils/common.js +25 -2
- package/esm/component/tooltip/handler/utils/common.js.map +1 -1
- package/esm/component/tooltip/handler/utils/compose.d.ts +3 -2
- package/esm/component/tooltip/handler/utils/compose.js +52 -43
- package/esm/component/tooltip/handler/utils/compose.js.map +1 -1
- package/esm/component/tooltip/handler/utils/get-spec.js +60 -23
- package/esm/component/tooltip/handler/utils/get-spec.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.d.ts +2 -1
- package/esm/component/tooltip/handler/utils/style.js +4 -4
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/tooltip.d.ts +3 -1
- package/esm/component/tooltip/tooltip.js +33 -18
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/component/tooltip/utils/common.js +4 -2
- package/esm/component/tooltip/utils/common.js.map +1 -1
- package/esm/constant/box-plot.js +1 -2
- package/esm/constant/marker.js +2 -1
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/instance-manager.d.ts +1 -1
- package/esm/core/instance-manager.js +1 -2
- package/esm/core/instance-manager.js.map +1 -1
- package/esm/core/vchart.d.ts +1 -0
- package/esm/core/vchart.js +9 -2
- package/esm/core/vchart.js.map +1 -1
- package/esm/event/event.js +1 -2
- package/esm/interaction/interface.js +1 -1
- package/esm/interaction/trigger.js +1 -1
- package/esm/layout/base-layout.js +8 -8
- package/esm/layout/base-layout.js.map +1 -1
- package/esm/layout/grid-layout/grid-layout.d.ts +5 -35
- package/esm/layout/grid-layout/grid-layout.js +2 -1
- package/esm/layout/grid-layout/grid-layout.js.map +1 -1
- package/esm/layout/index.d.ts +1 -2
- package/esm/layout/index.js.map +1 -1
- package/esm/layout/interface.d.ts +31 -3
- package/esm/layout/interface.js.map +1 -1
- package/esm/mark/arc-3d.js +1 -1
- package/esm/mark/arc.d.ts +5 -4
- package/esm/mark/arc.js +11 -13
- package/esm/mark/arc.js.map +1 -1
- package/esm/mark/area.js +1 -1
- package/esm/mark/base/base-line.js +2 -4
- package/esm/mark/base/base-line.js.map +1 -1
- package/esm/mark/base/base-mark.d.ts +7 -0
- package/esm/mark/base/base-mark.js +9 -7
- package/esm/mark/base/base-mark.js.map +1 -1
- package/esm/mark/box-plot.js +1 -1
- package/esm/mark/cell.js +1 -1
- package/esm/mark/utils/common.d.ts +0 -12
- package/esm/mark/utils/common.js +0 -13
- package/esm/mark/utils/common.js.map +1 -1
- package/esm/model/base-model.js +1 -1
- package/esm/model/interface.js +1 -1
- package/esm/model/layout-item.js +2 -1
- package/esm/model/model-state-manager.js +1 -1
- package/esm/model/tooltip-helper.d.ts +3 -4
- package/esm/model/tooltip-helper.js +5 -10
- package/esm/model/tooltip-helper.js.map +1 -1
- package/esm/plugin/interface.js +1 -1
- package/esm/region/interface.js +1 -1
- package/esm/region/region.js +7 -11
- package/esm/region/region.js.map +1 -1
- package/esm/series/base/base-series.js +1 -1
- package/esm/series/base/base-series.js.map +1 -1
- package/esm/series/base/tooltip-helper.d.ts +9 -8
- package/esm/series/base/tooltip-helper.js +23 -12
- package/esm/series/base/tooltip-helper.js.map +1 -1
- package/esm/series/dot/dot.js +1 -3
- package/esm/series/dot/dot.js.map +1 -1
- package/esm/series/dot/tooltip-helper.d.ts +1 -2
- package/esm/series/dot/tooltip-helper.js +7 -4
- package/esm/series/dot/tooltip-helper.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +1 -1
- package/esm/series/funnel/funnel.js +8 -8
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.d.ts +5 -3
- package/esm/series/funnel/tooltip-helper.js +11 -7
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/interface/series.d.ts +2 -1
- package/esm/series/interface/series.js.map +1 -1
- package/esm/series/interface/tooltip-helper.d.ts +6 -6
- package/esm/series/interface/tooltip-helper.js.map +1 -1
- package/esm/series/link/link.js +1 -3
- package/esm/series/link/link.js.map +1 -1
- package/esm/series/treemap/treemap.js.map +1 -1
- package/esm/series/word-cloud/base.js +3 -3
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +2 -4
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/buildin-theme/index.d.ts +0 -1
- package/esm/theme/buildin-theme/index.js +1 -5
- package/esm/theme/buildin-theme/index.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/crosshair.js +4 -4
- package/esm/theme/buildin-theme/light/component/crosshair.js.map +1 -1
- package/esm/theme/buildin-theme/light/component/tooltip.js +1 -0
- package/esm/theme/buildin-theme/light/component/tooltip.js.map +1 -1
- package/esm/typings/spec/common.d.ts +1 -1
- package/esm/typings/spec/common.js.map +1 -1
- package/esm/typings/tooltip/common.d.ts +7 -1
- package/esm/typings/tooltip/common.js.map +1 -1
- package/esm/typings/tooltip/handler.d.ts +1 -1
- package/esm/typings/tooltip/handler.js.map +1 -1
- package/esm/typings/tooltip/line.d.ts +6 -4
- package/esm/typings/tooltip/line.js.map +1 -1
- package/esm/typings/tooltip/shape.d.ts +3 -3
- package/esm/typings/tooltip/shape.js.map +1 -1
- package/esm/typings/tooltip/tooltip.d.ts +11 -8
- package/esm/typings/tooltip/tooltip.js.map +1 -1
- package/esm/typings/visual.d.ts +4 -11
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/debug.d.ts +3 -3
- package/esm/util/debug.js +11 -14
- 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/style.js +3 -8
- package/esm/util/style.js.map +1 -1
- package/package.json +35 -39
- package/cjs/component/tooltip/handler/dom/utils/style.d.ts +0 -3
- package/cjs/component/tooltip/handler/dom/utils/style.js.map +0 -1
- package/cjs/component/tooltip/handler/interface/cache.d.ts +0 -28
- package/cjs/component/tooltip/handler/interface/cache.js +0 -6
- package/cjs/component/tooltip/handler/interface/cache.js.map +0 -1
- package/cjs/theme/buildin-theme/dark.d.ts +0 -2
- package/cjs/theme/buildin-theme/dark.js +0 -16
- package/cjs/theme/buildin-theme/dark.js.map +0 -1
- package/esm/component/tooltip/handler/dom/utils/style.d.ts +0 -3
- package/esm/component/tooltip/handler/dom/utils/style.js +0 -59
- package/esm/component/tooltip/handler/dom/utils/style.js.map +0 -1
- package/esm/component/tooltip/handler/interface/cache.d.ts +0 -28
- package/esm/component/tooltip/handler/interface/cache.js +0 -2
- package/esm/component/tooltip/handler/interface/cache.js.map +0 -1
- package/esm/theme/buildin-theme/dark.d.ts +0 -2
- package/esm/theme/buildin-theme/dark.js +0 -12
- package/esm/theme/buildin-theme/dark.js.map +0 -1
package/cjs/series/link/link.js
CHANGED
|
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.LinkSeries = void 0;
|
|
6
6
|
|
|
7
|
-
const index_1 = require("../../constant/index"), cartesian_1 = require("../cartesian/cartesian"), util_1 = require("../../util"), interface_1 = require("../../mark/interface"), type_1 = require("../interface/type"), register_1 = require("../../data/register"), typings_1 = require("../../typings"), tooltip_helper_1 = require("./tooltip-helper"), interface_2 = require("../interface"), base_series_1 = require("../base/base-series"), vchart_1 = require("../../core/vchart"), rule_1 = require("../../mark/rule"), symbol_1 = require("../../mark/symbol")
|
|
7
|
+
const index_1 = require("../../constant/index"), cartesian_1 = require("../cartesian/cartesian"), util_1 = require("../../util"), interface_1 = require("../../mark/interface"), type_1 = require("../interface/type"), register_1 = require("../../data/register"), typings_1 = require("../../typings"), tooltip_helper_1 = require("./tooltip-helper"), interface_2 = require("../interface"), base_series_1 = require("../base/base-series"), vchart_1 = require("../../core/vchart"), rule_1 = require("../../mark/rule"), symbol_1 = require("../../mark/symbol");
|
|
8
8
|
|
|
9
|
-
vchart_1.VChart.useMark([ rule_1.RuleMark, symbol_1.SymbolMark
|
|
9
|
+
vchart_1.VChart.useMark([ rule_1.RuleMark, symbol_1.SymbolMark ]);
|
|
10
10
|
|
|
11
11
|
class LinkSeries extends cartesian_1.CartesianSeries {
|
|
12
12
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/link/link.ts"],"names":[],"mappings":"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","file":"link.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid } from '../../util';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport type { DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { ShapeTypeEnum } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { IDotSeriesSpec } from '../dot/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport { LinkSeriesTooltipHelper } from './tooltip-helper';\nimport type { ILinkSeriesSpec, ILinkSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RuleMark } from '../../mark/rule';\nimport { SymbolMark } from '../../mark/symbol';\nimport { GroupMark } from '../../mark/group';\n\nVChart.useMark([RuleMark, SymbolMark, GroupMark]);\n\nexport class LinkSeries extends CartesianSeries<ILinkSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.link;\n type = SeriesTypeEnum.link;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group },\n [SeriesMarkNameEnum.link]: { name: SeriesMarkNameEnum.link, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.arrow]: { name: SeriesMarkNameEnum.arrow, type: MarkTypeEnum.symbol }\n };\n\n protected declare _theme: Maybe<ILinkSeriesTheme>;\n\n protected _fromField?: string;\n getFromField() {\n return this._fromField;\n }\n setFromField(field: string) {\n if (isValid(field)) {\n this._fromField = field;\n }\n }\n\n protected _toField?: string;\n getToField() {\n return this._toField;\n }\n setToField(field: string) {\n if (isValid(field)) {\n this._toField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _dotSeriesSpec?: IDotSeriesSpec;\n getDotSeriesSpec() {\n return this._dotSeriesSpec;\n }\n setDotSeriesSpec(spec: IDotSeriesSpec) {\n if (isValid(spec)) {\n this._dotSeriesSpec = spec;\n }\n }\n\n initData() {\n super.initData();\n\n /**\n * @description 根据link数据以及对应的dot数据生成node name和node data的哈希表,并将node data的信息放进来\n */\n const linkDotInfo = (data: Array<DataView>, op: string) => {\n const dataLinkObj = (this._spec.data as DataView).latestData;\n const dataDotObj = this._spec.dataDot.latestData;\n const dataLinkDotHash = {};\n\n // 遍历dot数据,生成哈希表\n dataDotObj.forEach((datum: any) => {\n const dataCopy: any = {};\n for (const key in datum) {\n if (key !== op) {\n dataCopy[key] = datum[key];\n }\n }\n const dataOp = datum[op];\n dataOp?.forEach((d: any) => {\n dataLinkDotHash[d.node_name] = Object.assign({}, dataCopy, d);\n });\n });\n\n // 将起始点的node data加入进来\n dataLinkObj.forEach((datum: any) => {\n datum[this._fromField + '_xField'] = dataLinkDotHash?.[datum[this._fromField]]?.[this._dotSeriesSpec.xField];\n datum[this._fromField + '_yField'] = dataLinkDotHash?.[datum[this._fromField]]?.[this._dotSeriesSpec.yField];\n datum[this._toField + '_xField'] = dataLinkDotHash?.[datum[this._toField]]?.[this._dotSeriesSpec.xField];\n datum[this._toField + '_yField'] = dataLinkDotHash?.[datum[this._toField]]?.[this._dotSeriesSpec.yField];\n });\n return dataLinkObj;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'linkDotInfo', linkDotInfo);\n this.getViewDataFilter()?.transform(\n {\n type: 'linkDotInfo',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFromField(this._spec.fromField);\n this.setToField(this._spec.toField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setDotSeriesSpec(this._spec.dotSeriesSpec);\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _linkMark: IRuleMark;\n private _arrowMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(LinkSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(LinkSeries.mark.group, {\n parent: this._clipMark\n }) as IGroupMark;\n\n this._linkMark = this._createMark(LinkSeries.mark.link, {\n skipBeforeLayouted: false,\n parent: this._containerMark\n }) as IRuleMark;\n\n this._arrowMark = this._createMark(LinkSeries.mark.arrow, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding,\n width: this.getLayoutRect().width\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const linkMark = this._linkMark;\n if (linkMark) {\n this.setMarkStyle(\n linkMark,\n {\n stroke: this.getColorAttribute(),\n strokeOpacity: this.dataToOpacity.bind(this),\n x: this.dataToPositionXFrom.bind(this),\n y: this.dataToPositionYFrom.bind(this),\n x1: this.dataToPositionXTo.bind(this),\n y1: this.dataToPositionYTo.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(linkMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(linkMark);\n }\n\n const arrowMark = this._arrowMark;\n if (arrowMark) {\n const arrowSize = (this._theme?.arrow?.style?.size as number) ?? 10;\n this.setMarkStyle(\n arrowMark,\n {\n x: this.dataToPositionXTo.bind(this),\n y: (datum: Datum) => this.dataToPositionArrowYTo(datum, arrowSize), // csj-to do:箭头的dy不生效,暂时改变y position逻辑\n fill: this.getColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this),\n size: arrowSize,\n shape: (datum: Datum) => {\n return this.isPositionYFromHigher(datum) ? ShapeTypeEnum.triangleDown : ShapeTypeEnum.triangleUp;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(arrowMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(arrowMark);\n }\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([this._seriesField as string, this._fromField]);\n }\n\n /** 以下函数用于定位link和arrow */\n\n dataToPositionXFrom(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fromField + '_xField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionYFrom(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fromField + '_yField'));\n }\n\n dataToPositionXTo(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n return dataToPosition(this.getDatumPositionValues(datum, this._toField + '_xField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionYTo(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._toField + '_yField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionArrowYTo(datum: Datum, arrowSize: number): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n const offset = this.isPositionYFromHigher(datum) ? -arrowSize / 2 : arrowSize / 2;\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._toField + '_yField'), {\n bandPosition: this._bandPosition\n }) + offset\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (\n this.isPositionXOuterRange(datum, this._fromField + '_xField') ||\n this.isPositionXOuterRange(datum, this._toField + '_xField') ||\n datum[this._fromField] === datum[this._toField]\n ) {\n return 0;\n }\n return 1;\n }\n\n /**\n * @description 用于判断link的箭头方向\n */\n isPositionYFromHigher(datum: Datum): boolean {\n return this.dataToPositionYFrom(datum) < this.dataToPositionYTo(datum);\n }\n\n /**\n * @description 用于判断link的起点、终点坐标是否超出range范围\n */\n isPositionXOuterRange(datum: Datum, field: string): boolean {\n if (!this._xAxisHelper) {\n return false;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, field), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, field), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * @override\n * @description 如果用户设置了dotType,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._dotTypeField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinkSeriesTooltipHelper(this);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotInfoData() {\n return (this._linkMark ?? this._arrowMark)?.getData();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/link/link.ts"],"names":[],"mappings":"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","file":"link.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { AttributeLevel, DEFAULT_DATA_SERIES_FIELD } from '../../constant/index';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { Maybe, Datum } from '../../typings';\nimport { isValid } from '../../util';\nimport type { IRuleMark } from '../../mark/rule';\nimport type { IMark } from '../../mark/interface';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport { SeriesTypeEnum } from '../interface/type';\nimport type { DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { ShapeTypeEnum } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { IDotSeriesSpec } from '../dot/interface';\nimport type { IGroupMark } from '../../mark/group';\nimport { LinkSeriesTooltipHelper } from './tooltip-helper';\nimport type { ILinkSeriesSpec, ILinkSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RuleMark } from '../../mark/rule';\nimport { SymbolMark } from '../../mark/symbol';\n\nVChart.useMark([RuleMark, SymbolMark]);\n\nexport class LinkSeries extends CartesianSeries<ILinkSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.link;\n type = SeriesTypeEnum.link;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.group]: { name: SeriesMarkNameEnum.group, type: MarkTypeEnum.group },\n [SeriesMarkNameEnum.link]: { name: SeriesMarkNameEnum.link, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.arrow]: { name: SeriesMarkNameEnum.arrow, type: MarkTypeEnum.symbol }\n };\n\n protected declare _theme: Maybe<ILinkSeriesTheme>;\n\n protected _fromField?: string;\n getFromField() {\n return this._fromField;\n }\n setFromField(field: string) {\n if (isValid(field)) {\n this._fromField = field;\n }\n }\n\n protected _toField?: string;\n getToField() {\n return this._toField;\n }\n setToField(field: string) {\n if (isValid(field)) {\n this._toField = field;\n }\n }\n\n protected _dotTypeField?: string;\n getDotTypeField() {\n return this._dotTypeField;\n }\n setDotTypeField(field: string) {\n if (isValid(field)) {\n this._dotTypeField = field;\n }\n }\n\n protected _dotSeriesSpec?: IDotSeriesSpec;\n getDotSeriesSpec() {\n return this._dotSeriesSpec;\n }\n setDotSeriesSpec(spec: IDotSeriesSpec) {\n if (isValid(spec)) {\n this._dotSeriesSpec = spec;\n }\n }\n\n initData() {\n super.initData();\n\n /**\n * @description 根据link数据以及对应的dot数据生成node name和node data的哈希表,并将node data的信息放进来\n */\n const linkDotInfo = (data: Array<DataView>, op: string) => {\n const dataLinkObj = (this._spec.data as DataView).latestData;\n const dataDotObj = this._spec.dataDot.latestData;\n const dataLinkDotHash = {};\n\n // 遍历dot数据,生成哈希表\n dataDotObj.forEach((datum: any) => {\n const dataCopy: any = {};\n for (const key in datum) {\n if (key !== op) {\n dataCopy[key] = datum[key];\n }\n }\n const dataOp = datum[op];\n dataOp?.forEach((d: any) => {\n dataLinkDotHash[d.node_name] = Object.assign({}, dataCopy, d);\n });\n });\n\n // 将起始点的node data加入进来\n dataLinkObj.forEach((datum: any) => {\n datum[this._fromField + '_xField'] = dataLinkDotHash?.[datum[this._fromField]]?.[this._dotSeriesSpec.xField];\n datum[this._fromField + '_yField'] = dataLinkDotHash?.[datum[this._fromField]]?.[this._dotSeriesSpec.yField];\n datum[this._toField + '_xField'] = dataLinkDotHash?.[datum[this._toField]]?.[this._dotSeriesSpec.xField];\n datum[this._toField + '_yField'] = dataLinkDotHash?.[datum[this._toField]]?.[this._dotSeriesSpec.yField];\n });\n return dataLinkObj;\n };\n\n registerDataSetInstanceTransform(this._option.dataSet, 'linkDotInfo', linkDotInfo);\n this.getViewDataFilter()?.transform(\n {\n type: 'linkDotInfo',\n options: 'dots'\n },\n false\n );\n }\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this.setFromField(this._spec.fromField);\n this.setToField(this._spec.toField);\n this.setDotTypeField(this._spec.dotTypeField);\n this.setDotSeriesSpec(this._spec.dotSeriesSpec);\n }\n\n private _clipMark: IGroupMark;\n private _containerMark: IGroupMark;\n private _linkMark: IRuleMark;\n private _arrowMark: ISymbolMark;\n initMark(): void {\n this._clipMark = this._createMark(LinkSeries.mark.group) as IGroupMark;\n\n this._containerMark = this._createMark(LinkSeries.mark.group, {\n parent: this._clipMark\n }) as IGroupMark;\n\n this._linkMark = this._createMark(LinkSeries.mark.link, {\n skipBeforeLayouted: false,\n parent: this._containerMark\n }) as IRuleMark;\n\n this._arrowMark = this._createMark(LinkSeries.mark.arrow, {\n skipBeforeLayouted: false,\n isSeriesMark: true,\n parent: this._containerMark\n }) as ISymbolMark;\n }\n\n initMarkStyle(): void {\n const clipMark = this._clipMark;\n if (clipMark) {\n this.setMarkStyle(\n clipMark,\n {\n x: -this._spec.leftAppendPadding,\n y: 0,\n // 本应使用this.getLayoutRect().width, 但这该返回值为0。考虑到横向不需要裁剪,故先采用一个较大值\n width: 10000,\n height: this._spec.clipHeight,\n clip: true\n },\n 'normal',\n AttributeLevel.Series\n );\n clipMark.setInteractive(false);\n }\n\n const containerMark = this._containerMark;\n if (containerMark) {\n this.setMarkStyle(\n containerMark,\n {\n x: this._spec.leftAppendPadding,\n width: this.getLayoutRect().width\n },\n 'normal',\n AttributeLevel.Series\n );\n containerMark.setInteractive(false);\n }\n\n const linkMark = this._linkMark;\n if (linkMark) {\n this.setMarkStyle(\n linkMark,\n {\n stroke: this.getColorAttribute(),\n strokeOpacity: this.dataToOpacity.bind(this),\n x: this.dataToPositionXFrom.bind(this),\n y: this.dataToPositionYFrom.bind(this),\n x1: this.dataToPositionXTo.bind(this),\n y1: this.dataToPositionYTo.bind(this)\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(linkMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(linkMark);\n }\n\n const arrowMark = this._arrowMark;\n if (arrowMark) {\n const arrowSize = (this._theme?.arrow?.style?.size as number) ?? 10;\n this.setMarkStyle(\n arrowMark,\n {\n x: this.dataToPositionXTo.bind(this),\n y: (datum: Datum) => this.dataToPositionArrowYTo(datum, arrowSize), // csj-to do:箭头的dy不生效,暂时改变y position逻辑\n fill: this.getColorAttribute(),\n fillOpacity: this.dataToOpacity.bind(this),\n size: arrowSize,\n shape: (datum: Datum) => {\n return this.isPositionYFromHigher(datum) ? ShapeTypeEnum.triangleDown : ShapeTypeEnum.triangleUp;\n }\n },\n 'normal',\n AttributeLevel.Series\n );\n this._trigger.registerMark(arrowMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(arrowMark);\n }\n }\n\n afterInitMark(): void {\n super.afterInitMark();\n this._trigger.setStateKeys([this._seriesField as string, this._fromField]);\n }\n\n /** 以下函数用于定位link和arrow */\n\n dataToPositionXFrom(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fromField + '_xField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionYFrom(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._fromField + '_yField'));\n }\n\n dataToPositionXTo(datum: Datum): number {\n if (!this._xAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._xAxisHelper;\n return dataToPosition(this.getDatumPositionValues(datum, this._toField + '_xField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionYTo(datum: Datum): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n\n return dataToPosition(this.getDatumPositionValues(datum, this._toField + '_yField'), {\n bandPosition: this._bandPosition\n });\n }\n\n dataToPositionArrowYTo(datum: Datum, arrowSize: number): number {\n if (!this._yAxisHelper) {\n return Number.NaN;\n }\n const { dataToPosition } = this._yAxisHelper;\n const offset = this.isPositionYFromHigher(datum) ? -arrowSize / 2 : arrowSize / 2;\n return (\n dataToPosition(this.getDatumPositionValues(datum, this._toField + '_yField'), {\n bandPosition: this._bandPosition\n }) + offset\n );\n }\n\n dataToOpacity(datum: Datum): number {\n if (\n this.isPositionXOuterRange(datum, this._fromField + '_xField') ||\n this.isPositionXOuterRange(datum, this._toField + '_xField') ||\n datum[this._fromField] === datum[this._toField]\n ) {\n return 0;\n }\n return 1;\n }\n\n /**\n * @description 用于判断link的箭头方向\n */\n isPositionYFromHigher(datum: Datum): boolean {\n return this.dataToPositionYFrom(datum) < this.dataToPositionYTo(datum);\n }\n\n /**\n * @description 用于判断link的起点、终点坐标是否超出range范围\n */\n isPositionXOuterRange(datum: Datum, field: string): boolean {\n if (!this._xAxisHelper) {\n return false;\n }\n const { dataToPosition, getScale } = this._xAxisHelper;\n\n if (\n dataToPosition(this.getDatumPositionValues(datum, field), {\n bandPosition: this._bandPosition\n }) < getScale(0).range()[0] ||\n dataToPosition(this.getDatumPositionValues(datum, field), {\n bandPosition: this._bandPosition\n }) > getScale(0).range()[1]\n ) {\n return true;\n }\n return false;\n }\n\n /**\n * @override\n * @description 如果用户设置了dotType,则seriesGroup作为颜色映射字段\n */\n getDefaultColorDomain() {\n return this._dotTypeField\n ? this._viewDataStatistics?.latestData[this._dotTypeField].values\n : this._seriesField\n ? this._viewDataStatistics?.latestData[this._seriesField].values\n : [];\n }\n\n /**\n * @override\n */\n // 通用的默认颜色映射 用户设置优先级比这个高,会在setStyle中处理\n getColorAttribute() {\n return {\n scale: this._option.globalScale.getScale('color') ?? this.getDefaultColorScale(),\n field: this._dotTypeField ?? this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n\n protected initTooltip() {\n this._tooltipHelper = new LinkSeriesTooltipHelper(this);\n }\n\n protected onMarkTreePositionUpdate(marks: IMark[]): void {\n marks.forEach(m => {\n if (m.type === 'group') {\n this.onMarkTreePositionUpdate((m as IGroupMark).getMarks());\n } else {\n m.updateLayoutState();\n }\n });\n }\n\n getDotInfoData() {\n return (this._linkMark ?? this._arrowMark)?.getData();\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":"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","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY, PREFIX, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport type { IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport type { ITreemapOpt } from '../../data/transforms/treemap';\nimport { treemap } from '../../data/transforms/treemap';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { TransformSpec } from '@visactor/vgrammar';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport class TreeMapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.nonLeaf]: { name: SeriesMarkNameEnum.nonLeaf, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.leaf]: { name: SeriesMarkNameEnum.leaf, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.nonLeafLabel]: { name: SeriesMarkNameEnum.nonLeafLabel, type: MarkTypeEnum.text }\n };\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ITextMark;\n private _nonLeafLabelMark: ITextMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField!: string;\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField!: string;\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _clickEnable: boolean = true;\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n // spec.data => rawData(hierarchy) => viewDataFilter => treemap transform => flatten transform => viewData\n if (this._viewDataFilter) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemap);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n this.addViewDataFilter({\n type: 'treemap',\n options: {\n range: () => {\n return {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n } as ITreemapOpt\n });\n\n this.addViewDataFilter({\n type: 'flatten',\n options: {\n callback: (node: TreemapNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n protected _statisticRawData() {\n const rawDataName = `${PREFIX}_series_${this.id}_rawDataStatic`;\n this._rawDataStatistics = this._createHierarchyDataStatistics(rawDataName, [this._rawData]);\n this._rawData.target.removeListener('change', this._rawDataStatistics.reRunAllTransform);\n this._rawDataStatistics.reRunAllTransform();\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreeMapSeries.mark.nonLeaf, { isSeriesMark: true });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._trigger.registerMark(nonLeafMark);\n this._nonLeafMark = nonLeafMark;\n this._tooltipHelper?.activeTriggerSet.mark.add(nonLeafMark);\n }\n\n const leafMark = this._createMark(TreeMapSeries.mark.leaf, { isSeriesMark: true });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._leafMark = leafMark;\n this._trigger.registerMark(leafMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(leafMark);\n }\n\n if (this._spec.label?.visible) {\n const textMark = this._createMark(TreeMapSeries.mark.label, {\n skipBeforeLayouted: false\n });\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._labelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n\n if (this._spec.nonLeafLabel?.visible) {\n const textMark = this._createMark(TreeMapSeries.mark.nonLeafLabel);\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter' as string,\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._nonLeafLabelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n this._initLabelMarkStyle();\n this._initNonLeafLabelMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initLabelMarkStyle() {\n if (!this._labelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._labelMark,\n {\n visible: (datum, ctx, { element }) => {\n const isLeaf = datum.isLeaf;\n if (!isLeaf) {\n return false;\n }\n const bounds = element.getBounds() as IBoundsLike;\n const { y0, y1 } = datum;\n // 只需要判断高度,宽度放不下会由 limit 来处理\n return !!bounds && bounds.y1 > y0 && bounds.y2 < y1;\n },\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: datum => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafLabelMarkStyle() {\n if (!this._nonLeafLabelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._nonLeafLabelMark,\n {\n visible: datum => !!datum.labelRect,\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: datum => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.treemap(), userAnimationConfig(mark.name, this._spec))\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this.reFilterViewData();\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this.reFilterViewData();\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._rawData.reRunAllTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.enable();\n });\n // 在所有动画执行之后关闭动画\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.disable();\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n\nmixin(TreeMapSeries, Zoomable);\nmixin(TreeMapSeries, Drillable);\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/treemap/treemap.ts"],"names":[],"mappings":";;;AACA,6CAAsD;AACtD,6CAA+F;AAC/F,oDAAoD;AAIpD,sDAAyD;AAEzD,4CAAkE;AAElE,kDAAuE;AAEvE,2DAAwD;AACxD,2DAAwD;AAExD,6CAAwE;AAGxE,iDAA8C;AAC9C,yGAAoG;AACpG,qEAAuE;AACvE,6DAAiF;AACjF,wDAA2F;AAC3F,qDAAwD;AACxD,iDAA6E;AAC7E,mDAAgE;AAGhE,8DAA2D;AAE3D,iEAA8D;AAC9D,qDAAiD;AACjD,8CAA2C;AAC3C,0CAA2C;AAC3C,0CAA2C;AAE3C,eAAM,CAAC,OAAO,CAAC,CAAC,eAAQ,EAAE,eAAQ,CAAC,CAAC,CAAC;AAErC,MAAa,aAAc,SAAQ,2BAAoB;IAAvD;;QAEE,SAAI,GAAG,0BAAc,CAAC,OAAO,CAAC;QAwCtB,aAAQ,GAAY,IAAI,eAAM,EAAE,CAAC;QAEjC,iBAAY,GAAY,IAAI,CAAC;QAE7B,yBAAoB,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IA2brE,CAAC;IAtdC,gBAAgB;QACd,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IACD,gBAAgB,CAAC,CAAS;QACxB,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;QACxB,OAAO,IAAI,CAAC,cAAc,CAAC;IAC7B,CAAC;IAGD,aAAa;QACX,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IACD,aAAa,CAAC,CAAS;QACrB,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAcD,eAAe;;QACb,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QAChD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,cAAc,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,WAAW,mCAAI,kCAAsB,CAAC,CAAC;QAEtE,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAClB,IAA6B,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC3E,IAAI,CAAC,OAAO,GAAG,IAAI,eAAM,EAAE,CAAC;SAC7B;QACD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,aAAa,CAAC;gBAC5C,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI;gBACvB,UAAU,EAAE,GAAG,EAAE,WAAC,OAAA,MAAA,IAAI,CAAC,KAAK,CAAC,UAAU,mCAAI,2BAAgB,CAAA,EAAA;gBAC3D,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE;aACpC,CAAC,CAAC;SACJ;QAED,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE;YACtC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;SAC1C;IACH,CAAC;IAED,QAAQ;;QACN,KAAK,CAAC,QAAQ,EAAE,CAAC;QAGjB,IAAI,IAAI,CAAC,eAAe,EAAE;YAExB,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;gBACnB,IAA8B,CAAC,iBAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAClE;YAED,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;YACpE,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;YAEpE,IAAI,CAAC,iBAAiB,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,KAAK,EAAE,GAAG,EAAE;wBACV,OAAO;4BACL,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;4BACpB,EAAE,EAAE,IAAI,CAAC,QAAQ,CAAC,EAAE;yBACrB,CAAC;oBACJ,CAAC;oBACD,QAAQ,EAAE,IAAI,CAAC,SAAS;oBACxB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBAC/B,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS;oBAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;oBACnC,YAAY,EAAE,CAAA,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,EAAC,CAAC,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,CAAC,CAAC,CAAC,CAAC;oBACrF,aAAa,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,QAAQ;oBAChD,cAAc,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,cAAc,mCAAI,EAAE;oBAC/C,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;oBACzD,sBAAsB,EAAE,IAAI,CAAC,KAAK,CAAC,sBAAsB;iBAC3C;aACjB,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC;gBACrB,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE;oBACP,QAAQ,EAAE,CAAC,IAAwB,EAAE,EAAE;wBACrC,IAAI,IAAI,CAAC,KAAK,EAAE;4BACd,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;4BACxC,uCAAY,IAAI,GAAK,QAAQ,EAAG;yBACjC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;iBACF;aACF,CAAC,CAAC;SACJ;IACH,CAAC;IAES,mBAAmB;;QAC3B,IAAI,MAAA,IAAI,CAAC,QAAQ,0CAAE,OAAO,EAAE;YAC1B,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,mBAAmB,EAAE,gCAAiB,CAAC,CAAC;YAChG,IAAI,CAAC,QAAQ,CAAC,SAAS,CACrB;gBACE,IAAI,EAAE,mBAAmB;gBACzB,OAAO,EAAE;oBACP,UAAU,EAAE,qBAAU;oBACtB,IAAI,EAAE,8BAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;iBACrC;aACF,CAGF,CAAC;SACH;IACH,CAAC;IAES,iBAAiB;QACzB,MAAM,WAAW,GAAG,GAAG,iBAAM,WAAW,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAChE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,8BAA8B,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC5F,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAC;QACzF,IAAI,CAAC,kBAAkB,CAAC,iBAAiB,EAAE,CAAC;IAC9C,CAAC;IAES,8BAA8B,CAAC,QAAgB,EAAE,OAAmB;QAC5E,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,8BAA8B,EAAE,6DAA4B,CAAC,CAAC;QAC9G,IAAA,2CAAgC,EAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,iBAAO,CAAC,CAAC;QACpE,MAAM,IAAI,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC7D,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YAClB,IAAI,EAAE,UAAU;SACjB,CAAC,CAAC;QACH,IAAI,CAAC,SAAS,CACZ;YACE,IAAI,EAAE,8BAA8B;YACpC,OAAO,EAAE;gBACP,MAAM,EAAE,GAAG,EAAE;oBACX,MAAM,MAAM,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBACzC,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC,cAAc,EAAE;wBAClE,MAAM,CAAC,IAAI,CAAC;4BACV,GAAG,EAAE,IAAI,CAAC,YAAY;4BACtB,UAAU,EAAE,CAAC,QAAQ,CAAC;yBACvB,CAAC,CAAC;qBACJ;oBACD,OAAO,MAAM,CAAC;gBAChB,CAAC;aACF;SACF,EACD,KAAK,CACN,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;QAChB,MAAM,MAAM,GAAG,KAAK,CAAC,kBAAkB,EAAE,CAAC;QAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB;gBACE,GAAG,EAAE,IAAI,CAAC,cAAc;gBACxB,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;YACD;gBACE,GAAG,EAAE,IAAI,CAAC,WAAW;gBACrB,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC;aAC3B;YACD;gBACE,GAAG,EAAE,mCAAuB;gBAC5B,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,CAAC;aACrC;YACD;gBACE,GAAG,EAAE,kCAAsB;gBAC3B,UAAU,EAAE,CAAC,QAAQ,CAAC;aACvB;SACF,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;;QACN,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACzF,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,YAAY,CAAC;gBACvB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;oBACtD,CAAC;iBACe;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;YACxC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;YAChC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;SAC7D;QAED,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC;QACnF,IAAI,QAAQ,EAAE;YACZ,QAAQ,CAAC,YAAY,CAAC;gBACpB;oBACE,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;wBACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;oBACnD,CAAC;iBACe;aACnB,CAAC,CAAC;YACH,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAC1D;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,KAAK,0CAAE,OAAO,EAAE;YAC7B,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,EAAE;gBAC1D,kBAAkB,EAAE,KAAK;aAC1B,CAAC,CAAC;YACH,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,YAAY,CAAC;oBACpB;wBACE,IAAI,EAAE,QAAQ;wBACd,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;wBACnD,CAAC;qBACe;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC;gBAC3B,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC1D;SACF;QAED,IAAI,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,0CAAE,OAAO,EAAE;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACnE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,CAAC,YAAY,CAAC;oBACpB;wBACE,IAAI,EAAE,QAAkB;wBACxB,QAAQ,EAAE,CAAC,KAAyB,EAAE,EAAE;4BACtC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;wBACtD,CAAC;qBACe;iBACnB,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;gBAClC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACrC,MAAA,IAAI,CAAC,cAAc,0CAAE,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aAC1D;SACF;IACH,CAAC;IAED,aAAa;QACX,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7B,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC3B,IAAI,CAAC,0BAA0B,EAAE,CAAC;IACpC,CAAC;IAES,kBAAkB;QAC1B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YACnB,OAAO;SACR;QAED,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,SAAS,EACd;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,qBAAqB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,YAAY,EACjB;YACE,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE;YACrB,IAAI,EAAE,IAAI,CAAC,iBAAiB,EAAE;SAC/B,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,mBAAmB;QAC3B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,UAAU,EACf;YACE,OAAO,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;gBACnC,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;gBAC5B,IAAI,CAAC,MAAM,EAAE;oBACX,OAAO,KAAK,CAAC;iBACd;gBACD,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,EAAiB,CAAC;gBAClD,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC;gBAEzB,OAAO,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,IAAI,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;YACtD,CAAC;YACD,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,CAAC,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC;YACrC,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,EAAE,CAAC,KAAY,EAAE,EAAE;gBACtB,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAES,0BAA0B;QAClC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,OAAO;SACR;QACD,IAAI,CAAC,YAAY,CACf,IAAI,CAAC,iBAAiB,EACtB;YACE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,SAAS;YACnC,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,CAAC,EAAE,KAAK,CAAC,EAAE;gBACT,IAAI,KAAK,CAAC,SAAS,EAAE;oBACnB,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;iBACtD;gBACD,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;YACnC,CAAC;YACD,IAAI,EAAE,KAAK,CAAC,EAAE;;gBACZ,OAAO,MAAA,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,0CAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACjE,CAAC;YACD,KAAK,EAAE,CAAC,KAAU,EAAE,EAAE;gBACpB,OAAO,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,GAAG,KAAK,CAAC,EAAE,CAAC;YACxE,CAAC;SACF,EACD,uBAAgB,CAAC,YAAY,EAC7B,yBAAc,CAAC,MAAM,CACtB,CAAC;IACJ,CAAC;IAED,aAAa;QACX,IAAI,CAAC,cAAc,CAAC,wBAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EAAC,+BAAsB,CAAC,OAAO,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC9F,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,cAAc,CAAC,wBAAY,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACpD,IAAI,CAAC,kBAAkB,CACrB,IAAA,uBAAe,EAAC,+BAAsB,CAAC,KAAK,EAAE,EAAE,IAAA,2BAAmB,EAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAC5F,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAES,SAAS;QACjB,KAAK,CAAC,SAAS,EAAE,CAAC;QAElB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;YAElB,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE;gBAC3B,IAAI,CAAC,SAAS,CAAC,CAAkB,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;YAEF,IAA6B,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;gBACxB,IAAI,CAAC,UAAU,CAAC,CAAmB,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;SACJ;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACnB,IAA8B,CAAC,cAAc,EAAE,CAAC;SAClD;IACH,CAAC;IAES,aAAa;QACrB,OAAO,KAAK,CAAC;IACf,CAAC;IAES,WAAW;QACnB,IAAI,CAAC,cAAc,GAAG,IAAI,qCAAoB,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAEO,oBAAoB,CAAC,KAAyB,EAAE,QAA4B;QAClF,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC;QAE5B,OAAO,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;IAChD,CAAC;IAED,SAAS,CAAC,KAAoB;QAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;QACxB,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;YACpC,OAAO;SACR;QACD,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3C,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAExC,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEhD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,UAAU,CAAC,KAAqB;QAC9B,MAAM,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,KAAK,KAAK,CAAC,EAAE;YACf,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QACjC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;QAC1C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAGxC,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,8BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAC9E,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;QACf,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC5B,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,KAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,CAAC,MAAM,CAAC,CAAC;QACjF,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,CAAC;IACpC,CAAC;IAES,mBAAmB;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YAC7B,MAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,0CAAE,MAAM,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,8BAAmB,CAAC,eAAe,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;IACjF,CAAC;IAES,oBAAoB;QAC5B,IAAI,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;YAC7B,MAAA,IAAI,CAAC,UAAU,EAAE,CAAC,OAAO,0CAAE,OAAO,EAAE,CAAC;QACvC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;QACjB,OAAO,QAAQ,CAAC;IAClB,CAAC;;AAxeH,sCAyeC;AAxeiB,kBAAI,GAAW,0BAAc,CAAC,OAAO,CAAC;AAGtC,kBAAI,mCACf,wBAAU,CAAC,IAAI,KAClB,CAAC,8BAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,EAC3F,CAAC,8BAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,EACrF,CAAC,8BAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,8BAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,wBAAY,CAAC,IAAI,EAAE,IACrG;AAkeJ,IAAA,cAAK,EAAC,aAAa,EAAE,mBAAQ,CAAC,CAAC;AAC/B,IAAA,cAAK,EAAC,aAAa,EAAE,qBAAS,CAAC,CAAC","file":"treemap.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport { AttributeLevel, DEFAULT_DATA_KEY, PREFIX, VGRAMMAR_HOOK_EVENT } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { IRectMark } from '../../mark/rect';\nimport type { ITextMark } from '../../mark/text';\nimport type { Datum, IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { ITreemapSeriesSpec } from './interface';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport type { ITreemapOpt } from '../../data/transforms/treemap';\nimport { treemap } from '../../data/transforms/treemap';\nimport { flatten } from '../../data/transforms/flatten';\nimport type { IBounds, IBoundsLike } from '@visactor/vutils';\nimport { isValidNumber, Bounds, Matrix, mixin } from '@visactor/vutils';\nimport type { PanEventParam, ZoomEventParam } from '../../event/interface';\nimport type { TreemapNodeElement } from '@visactor/vgrammar-hierarchy';\nimport { DataView } from '@visactor/vdataset';\nimport { hierarchyDimensionStatistics } from '../../data/transforms/hierarchy-dimension-statistics';\nimport { addVChartProperty } from '../../data/transforms/add-property';\nimport { addHierarchyDataKey, initKeyMap } from '../../data/transforms/data-key';\nimport { DEFAULT_HIERARCHY_DEPTH, DEFAULT_HIERARCHY_ROOT } from '../../constant/hierarchy';\nimport { TreemapTooltipHelper } from './tooltip-helper';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { TransformSpec } from '@visactor/vgrammar';\nimport type { IZoomable } from '../../interaction/zoom/zoomable';\nimport { Zoomable } from '../../interaction/zoom/zoomable';\nimport type { IDrillable } from '../../interaction/drill/drillable';\nimport { Drillable } from '../../interaction/drill/drillable';\nimport { BaseSeries } from '../base/base-series';\nimport { VChart } from '../../core/vchart';\nimport { RectMark } from '../../mark/rect';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([RectMark, TextMark]);\n\nexport class TreeMapSeries extends CartesianSeries<any> {\n static readonly type: string = SeriesTypeEnum.treemap;\n type = SeriesTypeEnum.treemap;\n\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.nonLeaf]: { name: SeriesMarkNameEnum.nonLeaf, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.leaf]: { name: SeriesMarkNameEnum.leaf, type: MarkTypeEnum.rect },\n [SeriesMarkNameEnum.nonLeafLabel]: { name: SeriesMarkNameEnum.nonLeafLabel, type: MarkTypeEnum.text }\n };\n\n private _leafMark: IRectMark;\n private _nonLeafMark: IRectMark;\n private _labelMark: ITextMark;\n private _nonLeafLabelMark: ITextMark;\n\n protected declare _spec: ITreemapSeriesSpec;\n\n protected _categoryField!: string;\n getCategoryField() {\n return this._categoryField;\n }\n setCategoryField(f: string): string {\n this._categoryField = f;\n return this._categoryField;\n }\n\n protected _valueField!: string;\n getValueField() {\n return this._valueField;\n }\n setValueField(f: string): string {\n this._valueField = f;\n return this._valueField;\n }\n\n private _maxDepth: number;\n\n // global scale and translate matrix\n private _matrix: Matrix;\n\n // range for treemap layout, change while zoom and pan\n private _viewBox: IBounds = new Bounds();\n\n private _clickEnable: boolean = true;\n\n private _enableAnimationHook = this.enableMarkAnimation.bind(this);\n\n setAttrFromSpec(): void {\n super.setAttrFromSpec();\n this.setCategoryField(this._spec.categoryField);\n this.setValueField(this._spec.valueField);\n this.setSeriesField(this._spec.seriesField ?? DEFAULT_HIERARCHY_ROOT);\n\n if (this._spec.roam) {\n (this as unknown as IZoomable).initZoomable(this.event, this._option.mode);\n this._matrix = new Matrix();\n }\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillable({\n event: this.event,\n mode: this._option.mode,\n drillField: () => this._spec.drillField ?? DEFAULT_DATA_KEY,\n getRawData: () => this.getRawData()\n });\n }\n\n if (isValidNumber(this._spec.maxDepth)) {\n this._maxDepth = this._spec.maxDepth - 1;\n }\n }\n\n initData() {\n super.initData();\n // 矩形树图中原始数据为层次结果,图元数据为平坦化后的结构,具体逻辑如下:\n // spec.data => rawData(hierarchy) => viewDataFilter => treemap transform => flatten transform => viewData\n if (this._viewDataFilter) {\n // 对原始数据进行上卷下钻筛选\n if (this._spec.drill) {\n (this as unknown as IDrillable).initDrillableData(this._dataSet);\n }\n\n registerDataSetInstanceTransform(this._dataSet, 'treemap', treemap);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n\n this.addViewDataFilter({\n type: 'treemap',\n options: {\n range: () => {\n return {\n x0: this._viewBox.x1,\n x1: this._viewBox.x2,\n y0: this._viewBox.y1,\n y1: this._viewBox.y2\n };\n },\n maxDepth: this._maxDepth,\n gapWidth: this._spec.gapWidth,\n padding: this._spec.nodePadding,\n splitType: this._spec.splitType,\n aspectRatio: this._spec.aspectRatio,\n labelPadding: this._spec.nonLeafLabel?.visible ? this._spec.nonLeafLabel?.padding : 0,\n labelPosition: this._spec.nonLeafLabel?.position,\n minVisibleArea: this._spec.minVisibleArea ?? 10,\n minChildrenVisibleArea: this._spec.minChildrenVisibleArea,\n minChildrenVisibleSize: this._spec.minChildrenVisibleSize\n } as ITreemapOpt\n });\n\n this.addViewDataFilter({\n type: 'flatten',\n options: {\n callback: (node: TreemapNodeElement) => {\n if (node.datum) {\n const nodeData = node.datum[node.depth];\n return { ...node, ...nodeData };\n }\n return node;\n }\n }\n });\n }\n }\n\n protected _addDataIndexAndKey() {\n if (this._rawData?.dataSet) {\n registerDataSetInstanceTransform(this._rawData.dataSet, 'addVChartProperty', addVChartProperty);\n this._rawData.transform(\n {\n type: 'addVChartProperty',\n options: {\n beforeCall: initKeyMap,\n call: addHierarchyDataKey.bind(this)\n }\n }\n // rawDataStatistic 需要统计 addHierarchyDataKey 的一些字段,所以必须要运行一下\n // false\n );\n }\n }\n\n protected _statisticRawData() {\n const rawDataName = `${PREFIX}_series_${this.id}_rawDataStatic`;\n this._rawDataStatistics = this._createHierarchyDataStatistics(rawDataName, [this._rawData]);\n this._rawData.target.removeListener('change', this._rawDataStatistics.reRunAllTransform);\n this._rawDataStatistics.reRunAllTransform();\n }\n\n protected _createHierarchyDataStatistics(dataName: string, rawData: DataView[]) {\n registerDataSetInstanceTransform(this._dataSet, 'hierarchyDimensionStatistics', hierarchyDimensionStatistics);\n registerDataSetInstanceTransform(this._dataSet, 'flatten', flatten);\n const data = new DataView(this._dataSet, { name: dataName });\n data.parse(rawData, {\n type: 'dataview'\n });\n data.transform(\n {\n type: 'hierarchyDimensionStatistics',\n options: {\n fields: () => {\n const fields = this.getStatisticFields();\n if (this._seriesField && this._seriesField !== this._categoryField) {\n fields.push({\n key: this._seriesField,\n operations: ['values']\n });\n }\n return fields;\n }\n }\n },\n false\n );\n return data;\n }\n\n getStatisticFields() {\n const fields = super.getStatisticFields();\n return fields.concat([\n {\n key: this._categoryField,\n operations: ['values']\n },\n {\n key: this._valueField,\n operations: ['max', 'min']\n },\n {\n key: DEFAULT_HIERARCHY_DEPTH,\n operations: ['max', 'min', 'values']\n },\n {\n key: DEFAULT_HIERARCHY_ROOT,\n operations: ['values']\n }\n ]);\n }\n\n initMark() {\n const nonLeafMark = this._createMark(TreeMapSeries.mark.nonLeaf, { isSeriesMark: true });\n if (nonLeafMark) {\n nonLeafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._trigger.registerMark(nonLeafMark);\n this._nonLeafMark = nonLeafMark;\n this._tooltipHelper?.activeTriggerSet.mark.add(nonLeafMark);\n }\n\n const leafMark = this._createMark(TreeMapSeries.mark.leaf, { isSeriesMark: true });\n if (leafMark) {\n leafMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._leafMark = leafMark;\n this._trigger.registerMark(leafMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(leafMark);\n }\n\n if (this._spec.label?.visible) {\n const textMark = this._createMark(TreeMapSeries.mark.label, {\n skipBeforeLayouted: false\n });\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter',\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'leaf');\n }\n } as TransformSpec\n ]);\n this._labelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n\n if (this._spec.nonLeafLabel?.visible) {\n const textMark = this._createMark(TreeMapSeries.mark.nonLeafLabel);\n if (textMark) {\n textMark.setTransform([\n {\n type: 'filter' as string,\n callback: (datum: TreemapNodeElement) => {\n return !this._shouldFilterElement(datum, 'nonLeaf');\n }\n } as TransformSpec\n ]);\n this._nonLeafLabelMark = textMark;\n this._trigger.registerMark(textMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(textMark);\n }\n }\n }\n\n initMarkStyle() {\n this._initLeafMarkStyle();\n this._initNonLeafMarkStyle();\n this._initLabelMarkStyle();\n this._initNonLeafLabelMarkStyle();\n }\n\n protected _initLeafMarkStyle() {\n if (!this._leafMark) {\n return;\n }\n\n this.setMarkStyle<IRectMarkSpec>(\n this._leafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafMarkStyle() {\n if (!this._nonLeafMark) {\n return;\n }\n this.setMarkStyle<IRectMarkSpec>(\n this._nonLeafMark,\n {\n x: datum => datum.x0,\n y: datum => datum.y0,\n x1: datum => datum.x1,\n y1: datum => datum.y1,\n fill: this.getColorAttribute()\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initLabelMarkStyle() {\n if (!this._labelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._labelMark,\n {\n visible: (datum, ctx, { element }) => {\n const isLeaf = datum.isLeaf;\n if (!isLeaf) {\n return false;\n }\n const bounds = element.getBounds() as IBoundsLike;\n const { y0, y1 } = datum;\n // 只需要判断高度,宽度放不下会由 limit 来处理\n return !!bounds && bounds.y1 > y0 && bounds.y2 < y1;\n },\n x: datum => (datum.x0 + datum.x1) / 2,\n y: datum => (datum.y0 + datum.y1) / 2,\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: Datum) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n protected _initNonLeafLabelMarkStyle() {\n if (!this._nonLeafLabelMark) {\n return;\n }\n this.setMarkStyle<ITextMarkSpec>(\n this._nonLeafLabelMark,\n {\n visible: datum => !!datum.labelRect,\n x: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.x0 + datum.labelRect.x1) / 2;\n }\n return (datum.x0 + datum.x1) / 2;\n },\n y: datum => {\n if (datum.labelRect) {\n return (datum.labelRect.y0 + datum.labelRect.y1) / 2;\n }\n return (datum.y0 + datum.y1) / 2;\n },\n text: datum => {\n return datum.datum[datum.depth]?.[this.getDimensionField()[0]];\n },\n limit: (datum: any) => {\n return datum.x1 === datum.x0 ? Number.MIN_VALUE : datum.x1 - datum.x0;\n }\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n\n initAnimation(): void {\n this.getMarksInType(MarkTypeEnum.rect).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.treemap(), userAnimationConfig(mark.name, this._spec))\n );\n });\n\n this.getMarksInType(MarkTypeEnum.text).forEach(mark => {\n mark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(mark.name, this._spec))\n );\n });\n }\n\n protected initEvent(): void {\n super.initEvent();\n // Roam\n if (this._spec.roam) {\n // 拖拽事件\n (this as unknown as IZoomable).initDragEventOfSeries(this);\n this.event.on('panmove', e => {\n this.handlePan(e as PanEventParam);\n });\n // 缩放事件\n (this as unknown as IZoomable).initZoomEventOfSeries(this);\n this.event.on('zoom', e => {\n this.handleZoom(e as ZoomEventParam);\n });\n }\n // Drill\n if (this._spec.drill) {\n (this as unknown as IDrillable).bindDrillEvent();\n }\n }\n\n protected _getDataIdKey() {\n return 'key';\n }\n\n protected initTooltip() {\n this._tooltipHelper = new TreemapTooltipHelper(this);\n }\n\n private _shouldFilterElement(datum: TreemapNodeElement, nodeType: 'leaf' | 'nonLeaf') {\n const isLeaf = datum.isLeaf;\n // 过滤掉非需要的节点\n return nodeType === 'leaf' ? !isLeaf : isLeaf;\n }\n\n handlePan(event: PanEventParam) {\n const { delta } = event;\n if (delta[0] === 0 && delta[1] === 0) {\n return;\n }\n this._matrix.reset();\n this._matrix.translate(delta[0], delta[1]);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n\n this._viewBox.transformWithMatrix(this._matrix);\n\n this.reFilterViewData();\n }\n\n handleZoom(event: ZoomEventParam) {\n const { scale, scaleCenter } = event;\n if (scale === 1) {\n return;\n }\n\n this._matrix.reset();\n const { x, y } = scaleCenter;\n this._matrix.translate(x, y);\n this._matrix.scale(scale, scale);\n this._matrix.translate(-x, -y);\n const { a, b, c, d, e, f } = this._matrix;\n this._matrix.multiply(a, b, c, d, e, f);\n // 缩放过程中会有新增/减少的element,对应执行enter/exit动画,会使得缩放交互效果体验很差\n // 这里在缩放过程中先关闭所有动画\n this.disableMarkAnimation();\n this.event.on(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n this._viewBox.transformWithMatrix(this._matrix);\n this.reFilterViewData();\n }\n\n getDimensionField() {\n return [this._categoryField];\n }\n\n getMeasureField(): string[] {\n return [this._valueField];\n }\n\n onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this._viewBox.set(0, 0, this.getLayoutRect().width, this.getLayoutRect().height);\n this._rawData.reRunAllTransform();\n }\n\n protected enableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.enable();\n });\n // 在所有动画执行之后关闭动画\n this.event.off(VGRAMMAR_HOOK_EVENT.AFTER_DO_RENDER, this._enableAnimationHook);\n }\n\n protected disableMarkAnimation() {\n this.getMarks().forEach(mark => {\n mark.getProduct().animate?.disable();\n });\n }\n\n getDefaultShapeType(): string {\n return 'square';\n }\n}\n\nmixin(TreeMapSeries, Zoomable);\nmixin(TreeMapSeries, Drillable);\n"]}
|
|
@@ -64,7 +64,7 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
|
|
|
64
64
|
fontSize: datum => datum.fontSize,
|
|
65
65
|
fontStyle: datum => datum.fontStyle,
|
|
66
66
|
fontWeight: datum => datum.fontWeight,
|
|
67
|
-
angle: datum => datum.angle
|
|
67
|
+
angle: datum => datum.angle,
|
|
68
68
|
visible: datum => !datum.isFillingWord
|
|
69
69
|
}, "normal", constant_1.AttributeLevel.Series), fillingWordMark && this.setMarkStyle(fillingWordMark, {
|
|
70
70
|
fill: this._wordCloudShapeConfig.fillingColorHexField ? datum => datum[this._wordCloudShapeConfig.fillingColorHexField] : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, !0),
|
|
@@ -75,7 +75,7 @@ class BaseWordCloudSeries extends base_series_1.BaseSeries {
|
|
|
75
75
|
fontSize: datum => datum.fontSize,
|
|
76
76
|
fontStyle: datum => datum.fontStyle,
|
|
77
77
|
fontWeight: datum => datum.fontWeight,
|
|
78
|
-
angle: datum => datum.angle
|
|
78
|
+
angle: datum => datum.angle,
|
|
79
79
|
visible: datum => datum.isFillingWord
|
|
80
80
|
}, "normal", constant_1.AttributeLevel.Series), this._trigger.registerMark(wordMark),
|
|
81
81
|
null === (_b = this._tooltipHelper) || void 0 === _b || _b.activeTriggerSet.mark.add(wordMark),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { degreeToRadian, isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { ILayoutOrientPadding } from '../../model/interface';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([TextMark]);\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\nexport type IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nexport class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.word]: { name: SeriesMarkNameEnum.word, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.fillingWord]: { name: SeriesMarkNameEnum.fillingWord, type: MarkTypeEnum.text }\n };\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _paddingLeft?: number;\n protected _paddingTop?: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._paddingLeft =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.left as number) ?? (this._spec.chartPadding as number) ?? 0;\n this._paddingTop =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.top as number) ?? (this._spec.chartPadding as number) ?? 0;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar 默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(SeriesMarkNameEnum.word, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorDomain = field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [];\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\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 dataToPosition(data: Datum): IPoint {\n throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/word-cloud/base.ts"],"names":[],"mappings":"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","file":"base.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport { MarkTypeEnum } from '../../mark/interface';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface';\nimport { isTrueBrowser } from '../../util';\nimport {\n DEFAULT_DRAW_OUT_OF_BOUND,\n DEFAULT_FONTSIZE_RANGE,\n DEFAULT_FONT_PADDING,\n DEFAULT_FONT_WEIGHT_RANGE,\n DEFAULT_MASK_SHAPE,\n DEFAULT_MIN_FONT_SIZE,\n DEFAULT_RANDOM,\n DEFAULT_ROTATE_ANGLES,\n DEFAULT_ZOOM_TO_FIT,\n SHAPE_TYPE\n} from './config';\nimport type {\n IWordCloudSeriesSpec,\n WordCloudConfigType,\n WordCloudShapeConfigType,\n WordCloudShapeType\n} from './interface';\nimport { registerWordCloudTransforms } from '@visactor/vgrammar-wordcloud';\nimport { registerWordCloudShapeTransforms } from '@visactor/vgrammar-wordcloud-shape';\nimport type { Datum, IPoint } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport { getDataScheme } from '../../theme/color-scheme/util';\nimport type { ICompilableMark } from '../../compile/mark';\nimport type { ILayoutOrientPadding } from '../../model/interface';\nimport { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\n\nVChart.useMark([TextMark]);\n\nregisterWordCloudTransforms();\nregisterWordCloudShapeTransforms();\n\nexport type IBaseWordCloudSeriesSpec = Omit<IWordCloudSeriesSpec, 'type'> & { type: string };\n\nexport class BaseWordCloudSeries<T extends IBaseWordCloudSeriesSpec = IBaseWordCloudSeriesSpec> extends BaseSeries<T> {\n static readonly mark: SeriesMarkMap = {\n ...BaseSeries.mark,\n [SeriesMarkNameEnum.word]: { name: SeriesMarkNameEnum.word, type: MarkTypeEnum.text },\n [SeriesMarkNameEnum.fillingWord]: { name: SeriesMarkNameEnum.fillingWord, type: MarkTypeEnum.text }\n };\n\n protected _nameField: string;\n protected _valueField?: string;\n setValueField(field: string) {\n if (isValid(field)) {\n this._valueField = field;\n this.setFontSizeRange(DEFAULT_FONTSIZE_RANGE);\n }\n }\n\n protected _fontFamilyField: string;\n protected _fontWeightField: string;\n protected _fontStyleField: string;\n protected _colorHexField: string;\n protected _colorMode: 'linear' | 'ordinal';\n protected _colorList: string[];\n protected _rotateAngles?: number[];\n protected _fontWeightRange?: [number, number];\n\n protected _fontSizeRange?: [number, number] = [DEFAULT_MIN_FONT_SIZE, DEFAULT_MIN_FONT_SIZE];\n setFontSizeRange(fontSizeRange: [number, number]) {\n if (isValid(fontSizeRange) && isValid(this._spec.valueField)) {\n this._fontSizeRange = fontSizeRange;\n }\n }\n\n protected _maskShape?: string | WordCloudShapeType;\n protected _isWordCloudShape: boolean = false;\n\n protected _keepAspect?: boolean;\n protected _random?: boolean;\n protected _fontPadding?: number;\n protected _fillingFontPadding?: number;\n protected _wordCloudConfig?: WordCloudConfigType;\n protected _wordCloudShapeConfig?: WordCloudShapeConfigType;\n\n protected _paddingLeft?: number;\n protected _paddingTop?: number;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._paddingLeft =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.left as number) ?? (this._spec.chartPadding as number) ?? 0;\n this._paddingTop =\n ((this._spec?.chartPadding as ILayoutOrientPadding)?.top as number) ?? (this._spec.chartPadding as number) ?? 0;\n\n // 普通词云 & 形状词云 共有spec相关\n this._nameField = this._spec.nameField;\n this._fontFamilyField = this._spec.fontFamilyField;\n this._fontWeightField = this._spec.fontWeightField;\n this._fontStyleField = this._spec.fontStyleField;\n this._colorHexField = this._spec.colorHexField;\n this._colorMode = this._spec.colorMode ?? 'ordinal';\n this._colorList = this._spec.colorList;\n this.setValueField(this._spec.valueField);\n this._fontWeightRange = this._spec.fontWeightRange ?? DEFAULT_FONT_WEIGHT_RANGE;\n this._rotateAngles = this._spec.rotateAngles ?? DEFAULT_ROTATE_ANGLES;\n this.setFontSizeRange(this._spec.fontSizeRange);\n this._maskShape = this._spec.maskShape ?? DEFAULT_MASK_SHAPE;\n this._keepAspect = this._spec.keepAspect;\n this._random = this._spec.random ?? DEFAULT_RANDOM;\n this._fontPadding = this._spec?.word?.padding ?? this._theme?.wordCloud?.word?.padding ?? DEFAULT_FONT_PADDING;\n\n // 普通词云spec相关\n this._wordCloudConfig = {\n drawOutOfBound: DEFAULT_DRAW_OUT_OF_BOUND,\n layoutMode: 'default',\n zoomToFit: DEFAULT_ZOOM_TO_FIT,\n ...this._spec.wordCloudConfig\n };\n\n // 形状词云spec相关\n this._wordCloudShapeConfig = {\n fillingSeriesField: this.getSeriesField(),\n fillingRotateAngles: DEFAULT_ROTATE_ANGLES,\n layoutMode: 'default',\n ...this._spec?.wordCloudShapeConfig\n };\n this._fillingFontPadding =\n this._spec?.fillingWord?.padding ?? this._theme?.wordCloud?.fillingWord?.padding ?? DEFAULT_FONT_PADDING;\n\n this._isWordCloudShape = !SHAPE_TYPE.includes(this._maskShape);\n }\n\n protected _wordMark: ITextMark;\n protected _fillingWordMark: ITextMark;\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n defaultMorphElementKey: this._seriesField,\n groupKey: this._seriesField,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[textField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.wordCloud(), userAnimationConfig(SeriesMarkNameEnum.word, this._spec))\n );\n }\n }\n\n protected getWordOrdinalColorScale(field: string, isFillingWord: boolean) {\n const colorList = isFillingWord ? this._wordCloudShapeConfig.fillingColorList : this._colorList;\n const colorDomain = field ? this.getViewData()?.latestData.map((datum: Datum) => datum[field]) : [];\n const colorRange =\n colorList ??\n this._option.globalScale.getScale('color')?.range() ??\n getDataScheme(this._option.getTheme().colorScheme, this.type as any);\n return new ColorOrdinalScale().domain(colorDomain).range?.(colorRange);\n }\n\n getWordColorAttribute(field: string, isFillingWord: boolean) {\n if (this._colorMode === 'ordinal') {\n return {\n scale: this.getWordOrdinalColorScale(field, isFillingWord),\n field: this._seriesField ?? DEFAULT_DATA_SERIES_FIELD\n };\n }\n // const valueScale = new LinearScale()\n // .domain(extent(this.getViewData()?.latestData.map((datum: Datum) => datum[field])), true)\n // .range([0, 1]);\n let colorList =\n (isFillingWord ? this._colorList : this._wordCloudShapeConfig.fillingColorList) ??\n this._option.globalScale.getScale('color').range();\n // 如果用户只输入了一个 color,无法构成 colorRange,则进行兜底\n if (colorList.length === 1) {\n colorList = [colorList[0], colorList[0]];\n }\n // 颜色插值 todo@chensiji\n // const interpolate = interpolateColors(colorList)\n // return (datum: Datum) => interpolate(valueScale.scale(datum[field]))\n return (datum: Datum) => colorList[0];\n }\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n // TIP: 非浏览器环境下,使用 fast 布局,否则会出现兼容问题\n layoutType: !isTrueBrowser(this._option.mode) ? 'fast' : this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的transform上\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n // 形状词云中必须要传入dataIndexKey, 否则填充词无法绘制\n dataIndexKey: DEFAULT_DATA_KEY,\n\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n\n text: { field: this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\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 dataToPosition(data: Datum): IPoint {\n throw new Error('Method not implemented.');\n }\n dataToPositionX(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionY(data: any): number {\n throw new Error('Method not implemented.');\n }\n dataToPositionZ(data: any): number {\n throw new Error('Method not implemented.');\n }\n setValueFieldToStackOffsetSilhouette(): void {\n // do nothing\n }\n\n getGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackGroupFields(): string[] {\n // do nothing\n return [];\n }\n\n getStackValueField(): string {\n // do nothing\n return '';\n }\n\n setValueFieldToStack(): void {\n // do nothing\n }\n\n setValueFieldToPercent(): void {\n //do nothing\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.WordCloud3dSeries = void 0;
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const constant_1 = require("../../constant"), interface_1 = require("../interface"), config_1 = require("../../animation/config"), utils_1 = require("../../animation/utils"), vscale_1 = require("@visactor/vscale"), vgrammar_util_1 = require("@visactor/vgrammar-util"), word_cloud_1 = require("../../constant/word-cloud"), base_1 = require("./base");
|
|
8
8
|
|
|
9
9
|
class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
10
10
|
constructor() {
|
|
@@ -146,7 +146,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
146
146
|
fontSize: datum => datum.fontSize,
|
|
147
147
|
fontStyle: datum => datum.fontStyle,
|
|
148
148
|
fontWeight: datum => datum.fontWeight,
|
|
149
|
-
angle: datum => datum.angle
|
|
149
|
+
angle: datum => datum.angle,
|
|
150
150
|
visible: datum => !datum.isFillingWord
|
|
151
151
|
}, "normal", constant_1.AttributeLevel.Series), fillingWordMark && this.setMarkStyle(fillingWordMark, {
|
|
152
152
|
fill: this._wordCloudShapeConfig.fillingColorHexField ? datum => datum[this._wordCloudShapeConfig.fillingColorHexField] : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, !0),
|
|
@@ -161,7 +161,7 @@ class WordCloud3dSeries extends base_1.BaseWordCloudSeries {
|
|
|
161
161
|
fontSize: datum => datum.fontSize,
|
|
162
162
|
fontStyle: datum => datum.fontStyle,
|
|
163
163
|
fontWeight: datum => datum.fontWeight,
|
|
164
|
-
angle: datum => datum.angle
|
|
164
|
+
angle: datum => datum.angle,
|
|
165
165
|
visible: datum => datum.isFillingWord
|
|
166
166
|
}, "normal", constant_1.AttributeLevel.Series), this._trigger.registerMark(wordMark),
|
|
167
167
|
null === (_a = this._tooltipHelper) || void 0 === _a || _a.activeTriggerSet.mark.add(wordMark),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { degreeToRadian } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport type { ITextMark } from '../../mark/text';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar默认不提供弧度转换\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle && degreeToRadian(datum.angle), // VGrammar默认不提供弧度转换\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/word-cloud/word-cloud-3d.ts"],"names":[],"mappings":"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","file":"word-cloud-3d.js","sourcesContent":["import { AttributeLevel, DEFAULT_DATA_KEY } from '../../constant';\nimport type { ITextMark } from '../../mark/text';\n// eslint-disable-next-line no-duplicate-imports\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport type { IWordCloud3dSeriesSpec } from './interface';\nimport type { Datum } from '../../typings';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport { LinearScale } from '@visactor/vscale';\nimport { extent } from '@visactor/vgrammar-util';\nimport {\n WORD_CLOUD_ANGLE,\n WORD_CLOUD_FILLING_ANGLE,\n WORD_CLOUD_TEXT,\n WORD_CLOUD_WEIGHT\n} from '../../constant/word-cloud';\nimport type { ICompilableMark } from '../../compile/mark';\nimport { BaseWordCloudSeries } from './base';\n\nexport class WordCloud3dSeries extends BaseWordCloudSeries<IWordCloud3dSeriesSpec> {\n static readonly type: string = SeriesTypeEnum.wordCloud3d;\n type = SeriesTypeEnum.wordCloud3d;\n\n compile(): void {\n super.compile();\n\n const wordCloudTransforms: any[] = [];\n const valueField = this._valueField;\n const valueScale = new LinearScale();\n const fontWeightRange = this._fontWeightRange;\n const rotateAngles = this._rotateAngles;\n const fontWeightField = this._fontWeightField;\n const fillingRotateAngles = this._wordCloudShapeConfig.fillingRotateAngles;\n\n // fontWeight处理\n if (valueField) {\n const [minValue, maxValue] = extent(this.getViewData()?.latestData.map((datum: any) => datum[valueField]));\n valueScale.domain([minValue, maxValue], true).range(fontWeightRange);\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_WEIGHT,\n callback: (datum: any) => {\n if (minValue === maxValue) {\n return valueScale.scale(maxValue);\n }\n return valueScale.scale(datum[valueField]);\n }\n });\n }\n\n // rotateAngles处理\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_ANGLE,\n callback: () => {\n return rotateAngles[Math.floor(Math.random() * rotateAngles.length)];\n }\n });\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_FILLING_ANGLE,\n callback: () => {\n return fillingRotateAngles[Math.floor(Math.random() * fillingRotateAngles.length)];\n }\n });\n\n // text fromat method 处理\n if (this._spec.word?.formatMethod) {\n wordCloudTransforms.push({\n type: 'map',\n as: WORD_CLOUD_TEXT,\n callback: this._spec.word.formatMethod\n });\n }\n\n const textField = this._spec.word?.formatMethod ? WORD_CLOUD_TEXT : this._nameField;\n\n const srView = this.getCompiler().getVGrammarView();\n // 词云 transform\n if (!this._isWordCloudShape) {\n wordCloudTransforms.push({\n type: 'wordcloud',\n layoutType: this._wordCloudConfig.layoutMode,\n size: [srView.width() - this._paddingLeft, srView.height() - this._paddingTop],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotate: { field: WORD_CLOUD_ANGLE },\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n randomVisible: this._random,\n clip: this._wordCloudConfig.drawOutOfBound === 'clip',\n shrink: this._wordCloudConfig.zoomToFit.shrink,\n enlarge: this._wordCloudConfig.zoomToFit.enlarge,\n minFontSize: this._wordCloudConfig.zoomToFit.fontSizeLimitMin,\n progressiveTime: this._wordCloudConfig.progressiveTime,\n progressiveStep: this._wordCloudConfig.progressiveStep\n });\n // 挂到mark的trnsform上,注册的时候决定transform的执行时机\n (this._wordMark as ICompilableMark).getProduct().transform(wordCloudTransforms);\n }\n // 形状词云 transform\n else {\n wordCloudTransforms.push({\n type: 'wordcloudShape',\n size: [srView.width(), srView.height()],\n shape: this._maskShape,\n postProjection: this._spec.postProjection ?? 'StereographicProjection',\n dataIndexKey: DEFAULT_DATA_KEY,\n text: { field: textField },\n fontSize: valueField ? { field: valueField } : this._fontSizeRange[0],\n fontSizeRange: this._fontSizeRange,\n padding: this._fontPadding,\n rotateList: rotateAngles,\n fontFamily: this._fontFamilyField ?? this._spec.word?.style?.fontFamily,\n fontWeight: fontWeightField ? { field: fontWeightField } : valueField ? { field: WORD_CLOUD_WEIGHT } : null,\n fontStyle: this._fontStyleField ?? this._spec.word?.style?.fontStyle,\n depth_3d: this._spec.depth_3d,\n\n fillingFontFamily: this._wordCloudShapeConfig?.fillingFontFamilyField ?? this._spec.word?.style?.fontFamily,\n fillingPadding: this._fillingFontPadding,\n fillingFontStyle: this._wordCloudShapeConfig?.fillingFontStyleField ?? this._spec.word?.style?.fontStyle,\n fillingFontWeight: this._wordCloudShapeConfig?.fillingFontWeightField ?? this._spec.word?.style?.fontWeight, // 填充词fontWeight默认不跟随valueField\n fillingRotateList: fillingRotateAngles,\n\n fillingTimes: this._wordCloudShapeConfig?.fillingTimes,\n fillingXStep: this._wordCloudShapeConfig?.fillingXStep,\n fillingYStep: this._wordCloudShapeConfig?.fillingYStep,\n fillingXRatioStep: this._wordCloudShapeConfig?.fillingXRatioStep,\n fillingYRatioStep: this._wordCloudShapeConfig?.fillingYRatioStep,\n fillingInitialOpacity: this._wordCloudShapeConfig?.fillingInitialOpacity,\n fillingDeltaOpacity: this._wordCloudShapeConfig?.fillingDeltaOpacity,\n fillingInitialFontSize: this._wordCloudShapeConfig?.fillingInitialFontSize,\n fillingDeltaFontSize: this._wordCloudShapeConfig?.fillingDeltaFontSize,\n\n ratio: this._wordCloudShapeConfig?.ratio,\n fillingRatio: this._wordCloudShapeConfig?.fillingRatio,\n removeWhiteBorder: this._wordCloudShapeConfig?.removeWhiteBorder,\n textLayoutTimes: this._wordCloudShapeConfig?.textLayoutTimes,\n fontSizeShrinkFactor: this._wordCloudShapeConfig?.fontSizeShrinkFactor,\n stepFactor: this._wordCloudShapeConfig?.stepFactor,\n layoutMode: this._wordCloudShapeConfig?.layoutMode,\n importantWordCount: this._wordCloudShapeConfig?.importantWordCount,\n globalShinkLimit: this._wordCloudShapeConfig?.globalShinkLimit,\n fontSizeEnlargeFactor: this._wordCloudShapeConfig?.fontSizeEnlargeFactor,\n fillingDeltaFontSizeFactor: this._wordCloudShapeConfig?.fillingDeltaFontSizeFactor\n });\n }\n // 把transform挂载到data的product上\n this._data.getProduct().transform(wordCloudTransforms);\n }\n\n initMark(): void {\n this._wordMark = this._createMark(BaseWordCloudSeries.mark.word, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n if (this._isWordCloudShape) {\n this._fillingWordMark = this._createMark(BaseWordCloudSeries.mark.fillingWord, {\n groupKey: this._seriesField,\n support3d: true,\n isSeriesMark: true\n }) as ITextMark;\n }\n }\n\n initMarkStyle() {\n const wordMark = this._wordMark;\n const fillingWordMark = this._fillingWordMark;\n if (wordMark) {\n this.setMarkStyle(\n wordMark,\n {\n fill: this._colorHexField\n ? (datum: Datum) => datum[this._colorHexField]\n : this.getWordColorAttribute(this._seriesField, false),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => !datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n if (fillingWordMark) {\n this.setMarkStyle(\n fillingWordMark,\n {\n fill: this._wordCloudShapeConfig.fillingColorHexField\n ? (datum: Datum) => datum[this._wordCloudShapeConfig.fillingColorHexField]\n : this.getWordColorAttribute(this._wordCloudShapeConfig.fillingSeriesField, true),\n text: (datum: Datum) => datum[this._nameField],\n x: (datum: Datum) => datum.x,\n y: (datum: Datum) => datum.y,\n z: (datum: Datum) => datum.z ?? 0,\n fontFamily: (datum: Datum) => datum.fontFamily,\n fontSize: (datum: Datum) => datum.fontSize,\n fontStyle: (datum: Datum) => datum.fontStyle,\n fontWeight: (datum: Datum) => datum.fontWeight,\n angle: (datum: Datum) => datum.angle,\n visible: (datum: Datum) => datum.isFillingWord\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n this._trigger.registerMark(wordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(wordMark);\n this._trigger.registerMark(fillingWordMark);\n this._tooltipHelper?.activeTriggerSet.mark.add(fillingWordMark);\n }\n\n initAnimation() {\n if (this._wordMark) {\n this._wordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.word, this._spec)\n )\n );\n }\n if (this._fillingWordMark) {\n this._fillingWordMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.wordCloud3d(() => {\n const srView = this.getCompiler().getVGrammarView();\n const width = srView.width() - this._paddingLeft;\n const height = srView.height() - this._paddingTop;\n const r = Math.max(width, height) / 2;\n return {\n center: { x: r, y: r, z: (this._spec as any).depth_3d ?? r },\n r\n };\n }) as any,\n userAnimationConfig(SeriesMarkNameEnum.fillingWord, this._spec)\n )\n );\n }\n }\n}\n"]}
|