@visactor/vchart 1.3.1-test.5 → 1.3.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/es5/index.js +1 -1
- package/build/index.js +319 -138
- package/build/index.min.js +1 -1
- package/build/tsconfig.tsbuildinfo +1 -1
- package/cjs/animation/utils.d.ts +1 -1
- package/cjs/animation/utils.js.map +1 -1
- package/cjs/chart/base-chart.js +2 -1
- package/cjs/chart/base-chart.js.map +1 -1
- package/cjs/component/axis/base-axis.js +5 -5
- package/cjs/component/axis/base-axis.js.map +1 -1
- package/cjs/component/base/base-component.d.ts +0 -1
- package/cjs/component/base/base-component.js +2 -6
- package/cjs/component/base/base-component.js.map +1 -1
- package/cjs/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/cjs/component/data-zoom/data-zoom/data-zoom.js +15 -0
- package/cjs/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/cjs/component/legend/base-legend.d.ts +3 -0
- package/cjs/component/legend/base-legend.js +25 -4
- package/cjs/component/legend/base-legend.js.map +1 -1
- package/cjs/component/legend/discrete/legend.js +4 -3
- package/cjs/component/legend/discrete/legend.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/common.js +1 -1
- package/cjs/component/tooltip/handler/utils/common.js.map +1 -1
- package/cjs/component/tooltip/handler/utils/style.js.map +1 -1
- package/cjs/component/tooltip/interface/theme.d.ts +1 -1
- package/cjs/component/tooltip/interface/theme.js.map +1 -1
- package/cjs/component/tooltip/tooltip.js +2 -1
- package/cjs/component/tooltip/tooltip.js.map +1 -1
- package/cjs/core/factory.js +1 -2
- package/cjs/core/index.d.ts +1 -1
- package/cjs/core/index.js +1 -1
- package/cjs/core/index.js.map +1 -1
- package/cjs/core/vchart.js +4 -3
- package/cjs/core/vchart.js.map +1 -1
- package/cjs/data/initialize.js +2 -1
- package/cjs/data/transforms/pie.js +17 -5
- package/cjs/data/transforms/pie.js.map +1 -1
- package/cjs/model/base-model.d.ts +3 -1
- package/cjs/model/base-model.js +14 -4
- package/cjs/model/base-model.js.map +1 -1
- package/cjs/series/area/area.js +7 -8
- package/cjs/series/area/area.js.map +1 -1
- package/cjs/series/area/constant.d.ts +1 -1
- package/cjs/series/area/constant.js +3 -3
- package/cjs/series/area/constant.js.map +1 -1
- package/cjs/series/area/interface.d.ts +1 -1
- package/cjs/series/area/interface.js.map +1 -1
- package/cjs/series/bar/bar-3d.d.ts +1 -1
- package/cjs/series/bar/bar-3d.js +3 -3
- package/cjs/series/bar/bar-3d.js.map +1 -1
- package/cjs/series/bar/bar.d.ts +1 -1
- package/cjs/series/bar/bar.js +3 -3
- package/cjs/series/bar/bar.js.map +1 -1
- package/cjs/series/bar/constant.d.ts +1 -1
- package/cjs/series/bar/constant.js +5 -5
- package/cjs/series/bar/constant.js.map +1 -1
- package/cjs/series/bar/interface.d.ts +1 -1
- package/cjs/series/bar/interface.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/constant.d.ts +1 -1
- package/cjs/series/base/constant.js +3 -3
- package/cjs/series/base/constant.js.map +1 -1
- package/cjs/series/box-plot/box-plot.d.ts +1 -1
- package/cjs/series/box-plot/box-plot.js +4 -4
- package/cjs/series/box-plot/box-plot.js.map +1 -1
- package/cjs/series/box-plot/constant.d.ts +1 -1
- package/cjs/series/box-plot/constant.js +5 -5
- package/cjs/series/box-plot/constant.js.map +1 -1
- package/cjs/series/box-plot/interface.d.ts +1 -1
- package/cjs/series/box-plot/interface.js.map +1 -1
- package/cjs/series/cartesian/cartesian.d.ts +2 -1
- package/cjs/series/cartesian/cartesian.js +2 -2
- package/cjs/series/cartesian/cartesian.js.map +1 -1
- package/cjs/series/circle-packing/constant.d.ts +1 -1
- package/cjs/series/circle-packing/constant.js +3 -3
- package/cjs/series/circle-packing/constant.js.map +1 -1
- package/cjs/series/circle-packing/interface.d.ts +1 -1
- package/cjs/series/circle-packing/interface.js.map +1 -1
- package/cjs/series/dot/constant.d.ts +1 -1
- package/cjs/series/dot/constant.js +15 -15
- package/cjs/series/dot/constant.js.map +1 -1
- package/cjs/series/dot/interface.d.ts +1 -1
- package/cjs/series/dot/interface.js.map +1 -1
- package/cjs/series/funnel/constant.d.ts +1 -1
- package/cjs/series/funnel/constant.js +21 -21
- package/cjs/series/funnel/constant.js.map +1 -1
- package/cjs/series/funnel/funnel-3d.d.ts +1 -1
- package/cjs/series/funnel/funnel-3d.js +4 -4
- package/cjs/series/funnel/funnel-3d.js.map +1 -1
- package/cjs/series/funnel/funnel.d.ts +1 -1
- package/cjs/series/funnel/funnel.js +7 -7
- package/cjs/series/funnel/funnel.js.map +1 -1
- package/cjs/series/funnel/interface.d.ts +1 -1
- package/cjs/series/funnel/interface.js.map +1 -1
- package/cjs/series/funnel/tooltip-helper.js +4 -4
- package/cjs/series/funnel/tooltip-helper.js.map +1 -1
- package/cjs/series/gauge/constant.d.ts +1 -1
- package/cjs/series/gauge/constant.js +11 -11
- package/cjs/series/gauge/constant.js.map +1 -1
- package/cjs/series/gauge/gauge-pointer.d.ts +1 -1
- package/cjs/series/gauge/gauge-pointer.js +4 -4
- package/cjs/series/gauge/gauge-pointer.js.map +1 -1
- package/cjs/series/gauge/gauge.d.ts +1 -1
- package/cjs/series/gauge/gauge.js +4 -4
- package/cjs/series/gauge/gauge.js.map +1 -1
- package/cjs/series/gauge/interface.d.ts +1 -1
- package/cjs/series/gauge/interface.js.map +1 -1
- package/cjs/series/heatmap/constant.d.ts +1 -1
- package/cjs/series/heatmap/constant.js +5 -5
- package/cjs/series/heatmap/constant.js.map +1 -1
- package/cjs/series/heatmap/heatmap.d.ts +1 -1
- package/cjs/series/heatmap/heatmap.js +4 -4
- package/cjs/series/heatmap/heatmap.js.map +1 -1
- package/cjs/series/heatmap/interface.d.ts +1 -1
- package/cjs/series/heatmap/interface.js.map +1 -1
- package/cjs/series/interface/common.d.ts +1 -51
- package/cjs/series/interface/common.js +1 -24
- package/cjs/series/interface/common.js.map +1 -1
- package/cjs/series/interface/type.d.ts +51 -0
- package/cjs/series/interface/type.js +26 -3
- package/cjs/series/interface/type.js.map +1 -1
- package/cjs/series/line/interface.d.ts +1 -1
- package/cjs/series/line/interface.js.map +1 -1
- package/cjs/series/line/line.js +5 -6
- package/cjs/series/line/line.js.map +1 -1
- package/cjs/series/link/constant.d.ts +1 -1
- package/cjs/series/link/constant.js +7 -7
- package/cjs/series/link/constant.js.map +1 -1
- package/cjs/series/link/interface.d.ts +1 -1
- package/cjs/series/link/interface.js.map +1 -1
- package/cjs/series/map/constant.d.ts +1 -1
- package/cjs/series/map/constant.js +3 -3
- package/cjs/series/map/constant.js.map +1 -1
- package/cjs/series/map/map.d.ts +1 -1
- package/cjs/series/map/map.js +5 -7
- package/cjs/series/map/map.js.map +1 -1
- package/cjs/series/mixin/constant.js +5 -30
- package/cjs/series/mixin/constant.js.map +1 -1
- package/cjs/series/pie/constant.d.ts +1 -1
- package/cjs/series/pie/constant.js +9 -9
- package/cjs/series/pie/constant.js.map +1 -1
- package/cjs/series/pie/interface.d.ts +1 -1
- package/cjs/series/pie/interface.js.map +1 -1
- package/cjs/series/pie/pie-3d.d.ts +1 -2
- package/cjs/series/pie/pie-3d.js +2 -2
- package/cjs/series/pie/pie-3d.js.map +1 -1
- package/cjs/series/pie/pie.d.ts +1 -2
- package/cjs/series/pie/pie.js +6 -6
- package/cjs/series/pie/pie.js.map +1 -1
- package/cjs/series/progress/circular/circular.d.ts +1 -1
- package/cjs/series/progress/circular/circular.js +5 -5
- package/cjs/series/progress/circular/circular.js.map +1 -1
- package/cjs/series/progress/circular/constant.d.ts +1 -1
- package/cjs/series/progress/circular/constant.js +5 -5
- package/cjs/series/progress/circular/constant.js.map +1 -1
- package/cjs/series/progress/circular/interface.d.ts +1 -1
- package/cjs/series/progress/circular/interface.js.map +1 -1
- package/cjs/series/progress/linear/constant.d.ts +1 -1
- package/cjs/series/progress/linear/constant.js +7 -7
- package/cjs/series/progress/linear/constant.js.map +1 -1
- package/cjs/series/progress/linear/interface.d.ts +1 -1
- package/cjs/series/progress/linear/interface.js.map +1 -1
- package/cjs/series/progress/linear/linear.d.ts +1 -1
- package/cjs/series/progress/linear/linear.js +5 -5
- package/cjs/series/progress/linear/linear.js.map +1 -1
- package/cjs/series/radar/constant.d.ts +1 -1
- package/cjs/series/radar/constant.js +3 -3
- package/cjs/series/radar/constant.js.map +1 -1
- package/cjs/series/radar/interface.d.ts +1 -1
- package/cjs/series/radar/interface.js.map +1 -1
- package/cjs/series/radar/radar.d.ts +1 -1
- package/cjs/series/radar/radar.js +4 -4
- package/cjs/series/radar/radar.js.map +1 -1
- package/cjs/series/range-column/constant.d.ts +1 -1
- package/cjs/series/range-column/constant.js +9 -9
- package/cjs/series/range-column/constant.js.map +1 -1
- package/cjs/series/range-column/interface.d.ts +1 -1
- package/cjs/series/range-column/interface.js.map +1 -1
- package/cjs/series/range-column/range-column.d.ts +1 -1
- package/cjs/series/range-column/range-column.js +9 -9
- package/cjs/series/range-column/range-column.js.map +1 -1
- package/cjs/series/rose/constant.d.ts +1 -1
- package/cjs/series/rose/constant.js +3 -3
- package/cjs/series/rose/constant.js.map +1 -1
- package/cjs/series/rose/interface.d.ts +1 -1
- package/cjs/series/rose/interface.js.map +1 -1
- package/cjs/series/rose/rose.d.ts +1 -1
- package/cjs/series/rose/rose.js +5 -6
- package/cjs/series/rose/rose.js.map +1 -1
- package/cjs/series/sankey/constant.d.ts +1 -1
- package/cjs/series/sankey/constant.js +5 -5
- package/cjs/series/sankey/constant.js.map +1 -1
- package/cjs/series/sankey/interface.d.ts +1 -1
- package/cjs/series/sankey/interface.js.map +1 -1
- package/cjs/series/sankey/sankey.d.ts +1 -1
- package/cjs/series/sankey/sankey.js +6 -7
- package/cjs/series/sankey/sankey.js.map +1 -1
- package/cjs/series/scatter/constant.d.ts +1 -1
- package/cjs/series/scatter/constant.js +3 -3
- package/cjs/series/scatter/constant.js.map +1 -1
- package/cjs/series/scatter/interface.d.ts +1 -1
- package/cjs/series/scatter/interface.js.map +1 -1
- package/cjs/series/scatter/scatter.d.ts +1 -1
- package/cjs/series/scatter/scatter.js +4 -4
- package/cjs/series/scatter/scatter.js.map +1 -1
- package/cjs/series/sunburst/constant.d.ts +1 -1
- package/cjs/series/sunburst/constant.js +3 -3
- package/cjs/series/sunburst/constant.js.map +1 -1
- package/cjs/series/sunburst/interface.d.ts +1 -1
- package/cjs/series/sunburst/interface.js.map +1 -1
- package/cjs/series/treemap/constant.d.ts +1 -1
- package/cjs/series/treemap/constant.js +7 -7
- package/cjs/series/treemap/constant.js.map +1 -1
- package/cjs/series/treemap/interface.d.ts +1 -1
- package/cjs/series/treemap/interface.js.map +1 -1
- package/cjs/series/waterfall/constant.d.ts +1 -1
- package/cjs/series/waterfall/constant.js +5 -5
- package/cjs/series/waterfall/constant.js.map +1 -1
- package/cjs/series/waterfall/interface.d.ts +1 -1
- package/cjs/series/waterfall/interface.js.map +1 -1
- package/cjs/series/waterfall/waterfall.d.ts +1 -1
- package/cjs/series/waterfall/waterfall.js +5 -5
- package/cjs/series/waterfall/waterfall.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/constant.d.ts +1 -1
- package/cjs/series/word-cloud/constant.js +5 -5
- package/cjs/series/word-cloud/constant.js.map +1 -1
- package/cjs/series/word-cloud/interface.d.ts +1 -1
- package/cjs/series/word-cloud/interface.js.map +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.d.ts +1 -1
- package/cjs/series/word-cloud/word-cloud-3d.js +5 -5
- package/cjs/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/cjs/theme/builtin/common/component/data-zoom.js +36 -36
- package/cjs/theme/builtin/common/component/data-zoom.js.map +1 -1
- package/cjs/theme/builtin/common/component/legend/size-legend.js +4 -4
- package/cjs/theme/builtin/common/component/legend/size-legend.js.map +1 -1
- package/cjs/theme/builtin/common/component/poptip.js +0 -2
- package/cjs/theme/builtin/common/component/poptip.js.map +1 -1
- package/cjs/theme/builtin/common/component/title.js.map +1 -1
- package/cjs/theme/builtin/common/constants.js +6 -6
- package/cjs/theme/builtin/common/constants.js.map +1 -1
- package/cjs/theme/builtin/common/legacy/index.d.ts +1 -0
- package/cjs/theme/builtin/common/legacy/index.js +21 -0
- package/cjs/theme/builtin/common/legacy/index.js.map +1 -0
- package/cjs/theme/builtin/common/legacy/legend/color-legend.d.ts +2 -0
- package/cjs/theme/builtin/common/legacy/legend/color-legend.js +43 -0
- package/cjs/theme/builtin/common/legacy/legend/color-legend.js.map +1 -0
- package/cjs/theme/builtin/common/legacy/legend/continuous.d.ts +2 -0
- package/cjs/theme/builtin/common/legacy/legend/continuous.js +60 -0
- package/cjs/theme/builtin/common/legacy/legend/continuous.js.map +1 -0
- package/cjs/theme/builtin/common/legacy/legend/index.d.ts +2 -0
- package/cjs/theme/builtin/common/legacy/legend/index.js +24 -0
- package/cjs/theme/builtin/common/legacy/legend/index.js.map +1 -0
- package/cjs/theme/builtin/common/legacy/legend/size-legend.d.ts +2 -0
- package/cjs/theme/builtin/common/legacy/legend/size-legend.js +56 -0
- package/cjs/theme/builtin/common/legacy/legend/size-legend.js.map +1 -0
- package/cjs/theme/builtin/common/series/treemap.js +1 -1
- package/cjs/theme/builtin/common/series/treemap.js.map +1 -1
- package/cjs/theme/builtin/dark/index.js +13 -1
- package/cjs/theme/builtin/dark/index.js.map +1 -1
- package/cjs/theme/builtin/index.d.ts +3 -0
- package/cjs/theme/builtin/index.js +10 -3
- package/cjs/theme/builtin/index.js.map +1 -1
- package/cjs/theme/interface.d.ts +6 -6
- package/cjs/theme/interface.js.map +1 -1
- package/cjs/theme/theme-manager.d.ts +1 -1
- package/cjs/theme/theme-manager.js +3 -7
- package/cjs/theme/theme-manager.js.map +1 -1
- package/cjs/typings/visual.d.ts +1 -1
- package/cjs/typings/visual.js.map +1 -1
- package/cjs/util/spec/preprocess.d.ts +2 -2
- package/cjs/util/spec/preprocess.js +11 -6
- package/cjs/util/spec/preprocess.js.map +1 -1
- package/cjs/util/text.d.ts +2 -2
- package/cjs/util/text.js.map +1 -1
- package/esm/animation/utils.d.ts +1 -1
- package/esm/animation/utils.js.map +1 -1
- package/esm/chart/base-chart.js +2 -1
- package/esm/chart/base-chart.js.map +1 -1
- package/esm/component/axis/base-axis.js +5 -5
- package/esm/component/axis/base-axis.js.map +1 -1
- package/esm/component/base/base-component.d.ts +0 -1
- package/esm/component/base/base-component.js +1 -7
- package/esm/component/base/base-component.js.map +1 -1
- package/esm/component/data-zoom/data-zoom/data-zoom.d.ts +1 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js +15 -0
- package/esm/component/data-zoom/data-zoom/data-zoom.js.map +1 -1
- package/esm/component/legend/base-legend.d.ts +3 -0
- package/esm/component/legend/base-legend.js +24 -4
- package/esm/component/legend/base-legend.js.map +1 -1
- package/esm/component/legend/discrete/legend.js +4 -3
- package/esm/component/legend/discrete/legend.js.map +1 -1
- package/esm/component/tooltip/handler/utils/common.js +1 -1
- package/esm/component/tooltip/handler/utils/common.js.map +1 -1
- package/esm/component/tooltip/handler/utils/style.js.map +1 -1
- package/esm/component/tooltip/interface/theme.d.ts +1 -1
- package/esm/component/tooltip/interface/theme.js.map +1 -1
- package/esm/component/tooltip/tooltip.js +1 -1
- package/esm/component/tooltip/tooltip.js.map +1 -1
- package/esm/core/factory.js +1 -2
- package/esm/core/index.d.ts +1 -1
- package/esm/core/index.js +1 -1
- package/esm/core/index.js.map +1 -1
- package/esm/core/vchart.js +3 -3
- package/esm/core/vchart.js.map +1 -1
- package/esm/data/initialize.js +2 -1
- package/esm/data/transforms/pie.js +15 -5
- package/esm/data/transforms/pie.js.map +1 -1
- package/esm/model/base-model.d.ts +3 -1
- package/esm/model/base-model.js +14 -5
- package/esm/model/base-model.js.map +1 -1
- package/esm/series/area/area.js +1 -1
- package/esm/series/area/area.js.map +1 -1
- package/esm/series/area/constant.d.ts +1 -1
- package/esm/series/area/constant.js +1 -1
- package/esm/series/area/constant.js.map +1 -1
- package/esm/series/area/interface.d.ts +1 -1
- package/esm/series/area/interface.js.map +1 -1
- package/esm/series/bar/bar-3d.d.ts +1 -1
- package/esm/series/bar/bar-3d.js +1 -1
- package/esm/series/bar/bar-3d.js.map +1 -1
- package/esm/series/bar/bar.d.ts +1 -1
- package/esm/series/bar/bar.js +1 -1
- package/esm/series/bar/bar.js.map +1 -1
- package/esm/series/bar/constant.d.ts +1 -1
- package/esm/series/bar/constant.js +1 -1
- package/esm/series/bar/constant.js.map +1 -1
- package/esm/series/bar/interface.d.ts +1 -1
- package/esm/series/bar/interface.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/constant.d.ts +1 -1
- package/esm/series/base/constant.js +1 -1
- package/esm/series/base/constant.js.map +1 -1
- package/esm/series/box-plot/box-plot.d.ts +1 -1
- package/esm/series/box-plot/box-plot.js +1 -1
- package/esm/series/box-plot/box-plot.js.map +1 -1
- package/esm/series/box-plot/constant.d.ts +1 -1
- package/esm/series/box-plot/constant.js +1 -1
- package/esm/series/box-plot/constant.js.map +1 -1
- package/esm/series/box-plot/interface.d.ts +1 -1
- package/esm/series/box-plot/interface.js.map +1 -1
- package/esm/series/cartesian/cartesian.d.ts +2 -1
- package/esm/series/cartesian/cartesian.js +2 -2
- package/esm/series/cartesian/cartesian.js.map +1 -1
- package/esm/series/circle-packing/constant.d.ts +1 -1
- package/esm/series/circle-packing/constant.js +1 -1
- package/esm/series/circle-packing/constant.js.map +1 -1
- package/esm/series/circle-packing/interface.d.ts +1 -1
- package/esm/series/circle-packing/interface.js.map +1 -1
- package/esm/series/dot/constant.d.ts +1 -1
- package/esm/series/dot/constant.js +1 -1
- package/esm/series/dot/constant.js.map +1 -1
- package/esm/series/dot/interface.d.ts +1 -1
- package/esm/series/dot/interface.js.map +1 -1
- package/esm/series/funnel/constant.d.ts +1 -1
- package/esm/series/funnel/constant.js +1 -1
- package/esm/series/funnel/constant.js.map +1 -1
- package/esm/series/funnel/funnel-3d.d.ts +1 -1
- package/esm/series/funnel/funnel-3d.js +1 -1
- package/esm/series/funnel/funnel-3d.js.map +1 -1
- package/esm/series/funnel/funnel.d.ts +1 -1
- package/esm/series/funnel/funnel.js +1 -1
- package/esm/series/funnel/funnel.js.map +1 -1
- package/esm/series/funnel/interface.d.ts +1 -1
- package/esm/series/funnel/interface.js.map +1 -1
- package/esm/series/funnel/tooltip-helper.js +1 -1
- package/esm/series/funnel/tooltip-helper.js.map +1 -1
- package/esm/series/gauge/constant.d.ts +1 -1
- package/esm/series/gauge/constant.js +1 -1
- package/esm/series/gauge/constant.js.map +1 -1
- package/esm/series/gauge/gauge-pointer.d.ts +1 -1
- package/esm/series/gauge/gauge-pointer.js +1 -1
- package/esm/series/gauge/gauge-pointer.js.map +1 -1
- package/esm/series/gauge/gauge.d.ts +1 -1
- package/esm/series/gauge/gauge.js +1 -1
- package/esm/series/gauge/gauge.js.map +1 -1
- package/esm/series/gauge/interface.d.ts +1 -1
- package/esm/series/gauge/interface.js.map +1 -1
- package/esm/series/heatmap/constant.d.ts +1 -1
- package/esm/series/heatmap/constant.js +1 -1
- package/esm/series/heatmap/constant.js.map +1 -1
- package/esm/series/heatmap/heatmap.d.ts +1 -1
- package/esm/series/heatmap/heatmap.js +1 -1
- package/esm/series/heatmap/heatmap.js.map +1 -1
- package/esm/series/heatmap/interface.d.ts +1 -1
- package/esm/series/heatmap/interface.js.map +1 -1
- package/esm/series/interface/common.d.ts +1 -51
- package/esm/series/interface/common.js +1 -26
- package/esm/series/interface/common.js.map +1 -1
- package/esm/series/interface/type.d.ts +51 -0
- package/esm/series/interface/type.js +27 -0
- package/esm/series/interface/type.js.map +1 -1
- package/esm/series/line/interface.d.ts +1 -1
- package/esm/series/line/interface.js.map +1 -1
- package/esm/series/line/line.js +1 -1
- package/esm/series/line/line.js.map +1 -1
- package/esm/series/link/constant.d.ts +1 -1
- package/esm/series/link/constant.js +1 -1
- package/esm/series/link/constant.js.map +1 -1
- package/esm/series/link/interface.d.ts +1 -1
- package/esm/series/link/interface.js.map +1 -1
- package/esm/series/map/constant.d.ts +1 -1
- package/esm/series/map/constant.js +1 -1
- package/esm/series/map/constant.js.map +1 -1
- package/esm/series/map/map.d.ts +1 -1
- package/esm/series/map/map.js +1 -1
- package/esm/series/map/map.js.map +1 -1
- package/esm/series/mixin/constant.js +5 -5
- package/esm/series/mixin/constant.js.map +1 -1
- package/esm/series/pie/constant.d.ts +1 -1
- package/esm/series/pie/constant.js +1 -1
- package/esm/series/pie/constant.js.map +1 -1
- package/esm/series/pie/interface.d.ts +1 -1
- package/esm/series/pie/interface.js.map +1 -1
- package/esm/series/pie/pie-3d.d.ts +1 -2
- package/esm/series/pie/pie-3d.js +1 -3
- package/esm/series/pie/pie-3d.js.map +1 -1
- package/esm/series/pie/pie.d.ts +1 -2
- package/esm/series/pie/pie.js +1 -3
- package/esm/series/pie/pie.js.map +1 -1
- package/esm/series/progress/circular/circular.d.ts +1 -1
- package/esm/series/progress/circular/circular.js +1 -1
- package/esm/series/progress/circular/circular.js.map +1 -1
- package/esm/series/progress/circular/constant.d.ts +1 -1
- package/esm/series/progress/circular/constant.js +1 -1
- package/esm/series/progress/circular/constant.js.map +1 -1
- package/esm/series/progress/circular/interface.d.ts +1 -1
- package/esm/series/progress/circular/interface.js.map +1 -1
- package/esm/series/progress/linear/constant.d.ts +1 -1
- package/esm/series/progress/linear/constant.js +1 -1
- package/esm/series/progress/linear/constant.js.map +1 -1
- package/esm/series/progress/linear/interface.d.ts +1 -1
- package/esm/series/progress/linear/interface.js.map +1 -1
- package/esm/series/progress/linear/linear.d.ts +1 -1
- package/esm/series/progress/linear/linear.js +1 -1
- package/esm/series/progress/linear/linear.js.map +1 -1
- package/esm/series/radar/constant.d.ts +1 -1
- package/esm/series/radar/constant.js +1 -1
- package/esm/series/radar/constant.js.map +1 -1
- package/esm/series/radar/interface.d.ts +1 -1
- package/esm/series/radar/interface.js.map +1 -1
- package/esm/series/radar/radar.d.ts +1 -1
- package/esm/series/radar/radar.js +1 -1
- package/esm/series/radar/radar.js.map +1 -1
- package/esm/series/range-column/constant.d.ts +1 -1
- package/esm/series/range-column/constant.js +1 -1
- package/esm/series/range-column/constant.js.map +1 -1
- package/esm/series/range-column/interface.d.ts +1 -1
- package/esm/series/range-column/interface.js.map +1 -1
- package/esm/series/range-column/range-column.d.ts +1 -1
- package/esm/series/range-column/range-column.js +1 -1
- package/esm/series/range-column/range-column.js.map +1 -1
- package/esm/series/rose/constant.d.ts +1 -1
- package/esm/series/rose/constant.js +1 -1
- package/esm/series/rose/constant.js.map +1 -1
- package/esm/series/rose/interface.d.ts +1 -1
- package/esm/series/rose/interface.js.map +1 -1
- package/esm/series/rose/rose.d.ts +1 -1
- package/esm/series/rose/rose.js +1 -1
- package/esm/series/rose/rose.js.map +1 -1
- package/esm/series/sankey/constant.d.ts +1 -1
- package/esm/series/sankey/constant.js +1 -1
- package/esm/series/sankey/constant.js.map +1 -1
- package/esm/series/sankey/interface.d.ts +1 -1
- package/esm/series/sankey/interface.js.map +1 -1
- package/esm/series/sankey/sankey.d.ts +1 -1
- package/esm/series/sankey/sankey.js +1 -1
- package/esm/series/sankey/sankey.js.map +1 -1
- package/esm/series/scatter/constant.d.ts +1 -1
- package/esm/series/scatter/constant.js +1 -1
- package/esm/series/scatter/constant.js.map +1 -1
- package/esm/series/scatter/interface.d.ts +1 -1
- package/esm/series/scatter/interface.js.map +1 -1
- package/esm/series/scatter/scatter.d.ts +1 -1
- package/esm/series/scatter/scatter.js +1 -1
- package/esm/series/scatter/scatter.js.map +1 -1
- package/esm/series/sunburst/constant.d.ts +1 -1
- package/esm/series/sunburst/constant.js +1 -1
- package/esm/series/sunburst/constant.js.map +1 -1
- package/esm/series/sunburst/interface.d.ts +1 -1
- package/esm/series/sunburst/interface.js.map +1 -1
- package/esm/series/treemap/constant.d.ts +1 -1
- package/esm/series/treemap/constant.js +1 -1
- package/esm/series/treemap/constant.js.map +1 -1
- package/esm/series/treemap/interface.d.ts +1 -1
- package/esm/series/treemap/interface.js.map +1 -1
- package/esm/series/waterfall/constant.d.ts +1 -1
- package/esm/series/waterfall/constant.js +1 -1
- package/esm/series/waterfall/constant.js.map +1 -1
- package/esm/series/waterfall/interface.d.ts +1 -1
- package/esm/series/waterfall/interface.js.map +1 -1
- package/esm/series/waterfall/waterfall.d.ts +1 -1
- package/esm/series/waterfall/waterfall.js +1 -1
- package/esm/series/waterfall/waterfall.js.map +1 -1
- package/esm/series/word-cloud/base.js +1 -1
- package/esm/series/word-cloud/base.js.map +1 -1
- package/esm/series/word-cloud/constant.d.ts +1 -1
- package/esm/series/word-cloud/constant.js +1 -1
- package/esm/series/word-cloud/constant.js.map +1 -1
- package/esm/series/word-cloud/interface.d.ts +1 -1
- package/esm/series/word-cloud/interface.js.map +1 -1
- package/esm/series/word-cloud/word-cloud-3d.d.ts +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js +1 -1
- package/esm/series/word-cloud/word-cloud-3d.js.map +1 -1
- package/esm/theme/builtin/common/component/data-zoom.js +36 -36
- package/esm/theme/builtin/common/component/data-zoom.js.map +1 -1
- package/esm/theme/builtin/common/component/legend/size-legend.js +4 -4
- package/esm/theme/builtin/common/component/legend/size-legend.js.map +1 -1
- package/esm/theme/builtin/common/component/poptip.js +0 -2
- package/esm/theme/builtin/common/component/poptip.js.map +1 -1
- package/esm/theme/builtin/common/component/title.js.map +1 -1
- package/esm/theme/builtin/common/constants.js +6 -6
- package/esm/theme/builtin/common/constants.js.map +1 -1
- package/esm/theme/builtin/common/legacy/index.d.ts +1 -0
- package/esm/theme/builtin/common/legacy/index.js +2 -0
- package/esm/theme/builtin/common/legacy/index.js.map +1 -0
- package/esm/theme/builtin/common/legacy/legend/color-legend.d.ts +2 -0
- package/esm/theme/builtin/common/legacy/legend/color-legend.js +39 -0
- package/esm/theme/builtin/common/legacy/legend/color-legend.js.map +1 -0
- package/esm/theme/builtin/common/legacy/legend/continuous.d.ts +2 -0
- package/esm/theme/builtin/common/legacy/legend/continuous.js +54 -0
- package/esm/theme/builtin/common/legacy/legend/continuous.js.map +1 -0
- package/esm/theme/builtin/common/legacy/legend/index.d.ts +2 -0
- package/esm/theme/builtin/common/legacy/legend/index.js +4 -0
- package/esm/theme/builtin/common/legacy/legend/index.js.map +1 -0
- package/esm/theme/builtin/common/legacy/legend/size-legend.d.ts +2 -0
- package/esm/theme/builtin/common/legacy/legend/size-legend.js +54 -0
- package/esm/theme/builtin/common/legacy/legend/size-legend.js.map +1 -0
- package/esm/theme/builtin/common/series/treemap.js +1 -1
- package/esm/theme/builtin/common/series/treemap.js.map +1 -1
- package/esm/theme/builtin/dark/index.js +13 -1
- package/esm/theme/builtin/dark/index.js.map +1 -1
- package/esm/theme/builtin/index.d.ts +3 -0
- package/esm/theme/builtin/index.js +12 -0
- package/esm/theme/builtin/index.js.map +1 -1
- package/esm/theme/interface.d.ts +6 -6
- package/esm/theme/interface.js.map +1 -1
- package/esm/theme/theme-manager.d.ts +1 -1
- package/esm/theme/theme-manager.js +3 -9
- package/esm/theme/theme-manager.js.map +1 -1
- package/esm/typings/visual.d.ts +1 -1
- package/esm/typings/visual.js.map +1 -1
- package/esm/util/spec/preprocess.d.ts +2 -2
- package/esm/util/spec/preprocess.js +12 -5
- package/esm/util/spec/preprocess.js.map +1 -1
- package/esm/util/text.d.ts +2 -2
- package/esm/util/text.js.map +1 -1
- package/package.json +35 -35
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Maybe, Datum, ScaleType, VisualType } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IScatterSeriesSpec, IScatterSeriesTheme } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, mergeSpec } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset } from './animation';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { scatterSeriesMark } from './constant';\n\nVChart.useMark([SymbolMark, TextMark]);\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n\n protected declare _theme: Maybe<IScatterSeriesTheme>;\n\n private _symbolMark: ISymbolMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (spec.length > 2) {\n this._option.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._symbolMark = this._createMark(ScatterSeries.mark.point, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('point', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive,\n isSeriesMark: true\n }) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.scatter({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec)\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n this._trigger.registerMark(symbolMark);\n\n this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n if (\n this._invalidType === 'zero' ||\n this.getViewDataStatistics()?.latestData?.[this.getStackValueField()]?.allValid\n ) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(this._symbolMark, { visible: this._getInvalidDefined }, 'normal', AttributeLevel.Series);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n handleZoom(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n handlePan(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/scatter/scatter.ts"],"names":[],"mappings":"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","file":"scatter.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport { PREFIX } from '../../constant/base';\nimport type { IElement } from '@visactor/vgrammar';\nimport type { DataView } from '@visactor/vdataset';\nimport type { Maybe, Datum, ScaleType, VisualType } from '../../typings';\nimport type { ISymbolMark } from '../../mark/symbol';\nimport type { ITextMark } from '../../mark/text';\nimport type { IScatterSeriesSpec, IScatterSeriesTheme } from './interface';\nimport { CartesianSeries } from '../cartesian/cartesian';\nimport { isNil, isValid, isObject, isFunction, isString, isArray, isNumber, isNumeric, mergeSpec } from '../../util';\nimport { AttributeLevel } from '../../constant';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { STATE_VALUE_ENUM } from '../../compile/mark';\nimport {\n SCATTER_DEFAULT_RANGE_SHAPE,\n SCATTER_DEFAULT_RANGE_SIZE,\n SCATTER_DEFAULT_SHAPE,\n SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n SCATTER_DEFAULT_SIZE,\n SCATTER_DEFAULT_SIZE_SCALE_TYPE\n} from '../../constant/scatter';\nimport { animationConfig, shouldDoMorph, userAnimationConfig } from '../../animation/utils';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ScatterAppearPreset } from './animation';\nimport { VChart } from '../../core/vchart';\nimport { SymbolMark } from '../../mark/symbol';\nimport { TextMark } from '../../mark/text';\nimport { scatterSeriesMark } from './constant';\n\nVChart.useMark([SymbolMark, TextMark]);\n\nexport class ScatterSeries<T extends IScatterSeriesSpec = IScatterSeriesSpec> extends CartesianSeries<T> {\n static readonly type: string = SeriesTypeEnum.scatter;\n type = SeriesTypeEnum.scatter;\n\n static readonly mark: SeriesMarkMap = scatterSeriesMark;\n\n protected declare _theme: Maybe<IScatterSeriesTheme>;\n\n private _symbolMark: ISymbolMark;\n\n private _size: IScatterSeriesSpec['size'];\n private _sizeField: string;\n private _shape: IScatterSeriesSpec['shape'];\n private _shapeField: string;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n\n // size\n this._size = this._spec.size;\n this._sizeField = this._spec.sizeField;\n // shape\n this._shape = this._spec.shape;\n this._shapeField = this._spec.shapeField;\n }\n\n private _getSeriesAttribute<T>(\n field: string,\n spec: VisualType<T>,\n {\n defaultScaleType,\n defaultRange\n }: {\n defaultScaleType: ScaleType;\n defaultRange: T[];\n },\n key: string\n ): VisualType<T> {\n // 若sizeSpec是函数\n if (isFunction(spec)) {\n return spec;\n }\n\n if (isArray(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n\n if (spec.length > 2) {\n this._option.onError(`${key} length is invalid, specify up to 2 ${key}s.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n this._option.globalScale.registerModelScale({\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: spec\n });\n return {\n scale: scaleName,\n field\n };\n }\n\n // 若sizeSpec是对象\n if (isObject(spec)) {\n if (isNil(field)) {\n this._option.onError(`${key}Field is required.`);\n return spec;\n }\n const scaleName = `${PREFIX}_series_scatter_${this.id}_scale_${key}`;\n const visualSpec = {\n id: scaleName,\n type: defaultScaleType,\n domain: [\n {\n dataId: this._rawData.name,\n fields: [field]\n }\n ],\n range: defaultRange,\n ...spec\n };\n\n this._option.globalScale.registerModelScale(visualSpec);\n return {\n scale: visualSpec.id,\n field\n };\n }\n\n // 其余情况报错\n this._option.onError(`${key} attribute is invalid.`);\n return spec;\n }\n\n /**\n * 计算sizeScale\n * @param field 数据对应字段\n * @param sizeSpec size配置\n */\n private getSizeAttribute(field: string, sizeSpec: IScatterSeriesSpec['size']): VisualType<number> {\n // 若sizeSpec不存在\n if (isNil(sizeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SIZE;\n }\n\n // 若sizeSpec是数值\n if (isNumber(sizeSpec)) {\n return sizeSpec;\n }\n\n // 若sizeSpec是字符串中的数值\n if (isString(sizeSpec) && isNumeric(sizeSpec)) {\n return parseFloat(sizeSpec);\n }\n\n return this._getSeriesAttribute<number>(\n field,\n sizeSpec as VisualType<number>,\n {\n defaultScaleType: SCATTER_DEFAULT_SIZE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SIZE\n },\n 'size'\n );\n }\n\n /**\n * 计算shapeScale\n * @param field 数据对应字段\n * @param shapeSpec shape配置\n */\n private getShapeAttribute(field: string, shapeSpec: IScatterSeriesSpec['shape']): VisualType<string> {\n // 若shapeSpec不存在\n if (isNil(shapeSpec)) {\n // Tips: spec会被theme配置merge, 所以Spec没配置, 不一定会触发这里.\n return SCATTER_DEFAULT_SHAPE;\n }\n\n // 若shapeSpec是字符串\n if (isString(shapeSpec)) {\n return shapeSpec;\n }\n\n return this._getSeriesAttribute<string>(\n field,\n shapeSpec as VisualType<string>,\n {\n defaultScaleType: SCATTER_DEFAULT_SHAPE_SCALE_TYPE,\n defaultRange: SCATTER_DEFAULT_RANGE_SHAPE\n },\n 'shape'\n );\n }\n\n /**\n * 初始化Mark\n */\n initMark(): void {\n const progressive = {\n progressiveStep: this._spec.progressiveStep,\n progressiveThreshold: this._spec.progressiveThreshold,\n large: this._spec.large,\n largeThreshold: this._spec.largeThreshold\n };\n\n this._symbolMark = this._createMark(ScatterSeries.mark.point, {\n morph: shouldDoMorph(this._spec.animation, this._spec.morph, userAnimationConfig('point', this._spec)),\n defaultMorphElementKey: this.getDimensionField()[0],\n groupKey: this._seriesField,\n label: mergeSpec({ animation: this._spec.animation }, this._spec.label),\n progressive,\n isSeriesMark: true\n }) as ISymbolMark;\n }\n\n /**\n * 初始化散点图各类Mark的Style\n */\n initMarkStyle(): void {\n this.initSymbolMarkStyle();\n }\n\n /**\n * 初始化动画\n */\n initAnimation(): void {\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<ScatterAppearPreset>)?.preset;\n this._symbolMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.scatter({}, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.point, this._spec)\n )\n );\n }\n\n /**\n * 初始化SymbolMark\n */\n private initSymbolMarkStyle(): void {\n const symbolMark = this._symbolMark;\n if (!symbolMark) {\n return;\n }\n\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(symbolMark, {\n visible: this._getInvalidDefined\n });\n }\n\n this.setMarkStyle(\n symbolMark,\n {\n x: this.dataToPositionX.bind(this),\n y: this.dataToPositionY.bind(this),\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null,\n fill: this.getColorAttribute(),\n size: isNumber(this._size) || isFunction(this._size) ? this._size : SCATTER_DEFAULT_SIZE,\n symbolType: isString(this._shape) || isFunction(this._shape) ? this._shape : SCATTER_DEFAULT_SHAPE\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n\n if (isValid(this._sizeField) || isValid(this._size)) {\n this.setMarkStyle(\n symbolMark,\n {\n size: this.getSizeAttribute(this._sizeField, this._size) as VisualType<number>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n if (isValid(this._shapeField) || isValid(this._shape)) {\n this.setMarkStyle(\n symbolMark,\n {\n symbolType: this.getShapeAttribute(this._shapeField, this._shape) as VisualType<string>\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.User_Mark\n );\n }\n\n this._trigger.registerMark(symbolMark);\n\n this._tooltipHelper?.activeTriggerSet.mark.add(symbolMark);\n }\n\n viewDataStatisticsUpdate(d: DataView) {\n super.viewDataStatisticsUpdate(d);\n if (\n this._invalidType === 'zero' ||\n this.getViewDataStatistics()?.latestData?.[this.getStackValueField()]?.allValid\n ) {\n this.setMarkStyle(this._symbolMark, { visible: true }, 'normal', AttributeLevel.Series);\n } else {\n this.setMarkStyle(this._symbolMark, { visible: this._getInvalidDefined }, 'normal', AttributeLevel.Series);\n }\n }\n\n /**\n * 初始化LabelMark\n */\n initLabelMarkStyle(labelMark?: ITextMark): void {\n if (!labelMark) {\n return;\n }\n this.setMarkStyle(\n labelMark,\n {\n fill: this.getColorAttribute(),\n text: (datum: Datum) => {\n return datum[this.getStackValueField()];\n },\n z: this._fieldZ ? this.dataToPositionZ.bind(this) : null\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n if (this._invalidType !== 'zero') {\n this.setMarkStyle(\n labelMark,\n {\n visible: this._getInvalidDefined\n },\n STATE_VALUE_ENUM.STATE_NORMAL,\n AttributeLevel.Series\n );\n }\n }\n\n /**\n * 处理缩放\n */\n handleZoom(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n handlePan(e: any) {\n this.getMarksWithoutRoot().forEach(mark => {\n const vGrammarMark = mark.getProduct();\n\n if (!vGrammarMark || !vGrammarMark.elements || !vGrammarMark.elements.length) {\n return;\n }\n const elements = vGrammarMark.elements;\n\n elements.forEach((el: IElement, i: number) => {\n const graphicItem = el.getGraphicItem();\n const datum = el.getDatum();\n const newPosition = this.dataToPosition(datum);\n if (newPosition && graphicItem) {\n graphicItem.translateTo(newPosition.x, newPosition.y);\n }\n });\n });\n }\n\n getDefaultShapeType() {\n return 'circle';\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SeriesMarkMap } from '../interface/common';
|
|
2
2
|
export declare const sunburstSeriesMark: SeriesMarkMap;
|
|
@@ -2,7 +2,7 @@ import { MarkTypeEnum } from "../../mark/interface";
|
|
|
2
2
|
|
|
3
3
|
import { baseSeriesMark } from "../base/constant";
|
|
4
4
|
|
|
5
|
-
import { SeriesMarkNameEnum } from "../interface/
|
|
5
|
+
import { SeriesMarkNameEnum } from "../interface/type";
|
|
6
6
|
|
|
7
7
|
export const sunburstSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), {
|
|
8
8
|
[SeriesMarkNameEnum.sunburst]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/sunburst/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/series/sunburst/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,MAAM,kBAAkB,mCAC1B,cAAc,KACjB,CAAC,kBAAkB,CAAC,QAAQ,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,QAAQ,EAAE,IAAI,EAAE,YAAY,CAAC,GAAG,EAAE,GAC7F,CAAC","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { SeriesMarkMap } from '../interface/common';\nimport { SeriesMarkNameEnum } from '../interface/type';\n\nexport const sunburstSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\n [SeriesMarkNameEnum.sunburst]: { name: SeriesMarkNameEnum.sunburst, type: MarkTypeEnum.arc }\n};\n"]}
|
|
@@ -4,7 +4,7 @@ import type { SunburstLabelConfig } from '@visactor/vgrammar-hierarchy';
|
|
|
4
4
|
import type { SunburstAppearPreset, SunburstMark } from './animation';
|
|
5
5
|
import type { IArcMarkSpec, ITextMarkSpec } from '../../typings';
|
|
6
6
|
import type { IPolarSeriesTheme } from '../polar/interface';
|
|
7
|
-
import type { SeriesMarkNameEnum } from '../interface';
|
|
7
|
+
import type { SeriesMarkNameEnum } from '../interface/type';
|
|
8
8
|
export interface ISunburstSeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<SunburstMark, SunburstAppearPreset> {
|
|
9
9
|
type: 'sunburst';
|
|
10
10
|
categoryField: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/sunburst/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IAnimationSpec } from '../../animation/spec';\nimport type { IMarkSpec, IMarkTheme, ISeriesSpec } from '../../typings/spec';\nimport type { SunburstLabelConfig } from '@visactor/vgrammar-hierarchy';\nimport type { SunburstAppearPreset, SunburstMark } from './animation';\nimport type { IArcMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IPolarSeriesTheme } from '../polar/interface';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface ISunburstSeriesSpec\n extends Omit<ISeriesSpec, 'data'>,\n IAnimationSpec<SunburstMark, SunburstAppearPreset> {\n type: 'sunburst';\n\n /**\n * 分类字段\n * @requires\n */\n categoryField: string;\n\n /**\n * 权重字段\n * @requires\n */\n valueField: string;\n\n /**\n * 旭日图中心点, x坐标.\n * @default 正中心\n */\n centerX?: number;\n\n /**\n * 旭日图中心点, y坐标.\n * @default 正中心\n */\n centerY?: number;\n\n /**\n * 旭日图中心点, x坐标偏移量.\n * @default 0\n */\n offsetX?: number;\n\n /**\n * 旭日图中心点, y坐标偏移量.\n * @default 0\n */\n offsetY?: number;\n\n /**\n * 起始角度\n * @default -90\n */\n startAngle?: number;\n\n /**\n * 终止角度\n * @default startAngle + 360\n */\n endAngle?: number;\n\n /**\n * 扇区半径\n * @default 0\n * @description 最内层\n */\n innerRadius?: number | number[];\n\n /**\n * 扇区外半径\n * @default 1\n * @description 最外层\n */\n outerRadius?: number | number[];\n\n /**\n * 层级间隔\n * @default 0\n * @description 对所有层生效\n */\n gap?: number | number[];\n\n /**\n * label布局相关参数\n */\n labelLayout?: SunburstLabelConfig | (SunburstLabelConfig | null)[];\n\n /**\n * 自动隐藏密集标签\n */\n labelAutoVisible?: LabelAutoVisibleType;\n\n /**\n * 下钻配置\n * @default false\n * @description 下钻功能开关\n */\n drill?: boolean;\n\n /**\n * 钻取字段的field\n * @default DEFAULT_DATA_KEY\n * @description 通过API进行钻取, 需要此配置项.\n */\n drillField?: string;\n\n /**\n * 标签配置\n * @description 对所有层生效\n */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec>;\n\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.sunburst]?: IMarkSpec<IArcMarkSpec>;\n}\n\nexport interface ISunburstSeriesTheme extends Omit<IPolarSeriesTheme, 'label' | 'innerRadius' | 'outerRadius'> {\n startAngle?: number;\n endAngle?: number;\n innerRadius?: number | number[];\n outerRadius?: number | number[];\n gap?: number | number[];\n labelLayout?: SunburstLabelConfig | SunburstLabelConfig[];\n [SeriesMarkNameEnum.label]?: IMarkTheme<ITextMarkSpec>;\n [SeriesMarkNameEnum.sunburst]?: IMarkTheme<IArcMarkSpec>;\n}\n\nexport type LabelAutoVisibleType = {\n /**\n * 是否启用\n * @default false\n */\n enable?: boolean;\n\n /**\n * 周长阈值,扇区周长小于该值时, 则隐藏标签.\n * @default 10\n */\n circumference?: number;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/sunburst/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IAnimationSpec } from '../../animation/spec';\nimport type { IMarkSpec, IMarkTheme, ISeriesSpec } from '../../typings/spec';\nimport type { SunburstLabelConfig } from '@visactor/vgrammar-hierarchy';\nimport type { SunburstAppearPreset, SunburstMark } from './animation';\nimport type { IArcMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IPolarSeriesTheme } from '../polar/interface';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\nexport interface ISunburstSeriesSpec\n extends Omit<ISeriesSpec, 'data'>,\n IAnimationSpec<SunburstMark, SunburstAppearPreset> {\n type: 'sunburst';\n\n /**\n * 分类字段\n * @requires\n */\n categoryField: string;\n\n /**\n * 权重字段\n * @requires\n */\n valueField: string;\n\n /**\n * 旭日图中心点, x坐标.\n * @default 正中心\n */\n centerX?: number;\n\n /**\n * 旭日图中心点, y坐标.\n * @default 正中心\n */\n centerY?: number;\n\n /**\n * 旭日图中心点, x坐标偏移量.\n * @default 0\n */\n offsetX?: number;\n\n /**\n * 旭日图中心点, y坐标偏移量.\n * @default 0\n */\n offsetY?: number;\n\n /**\n * 起始角度\n * @default -90\n */\n startAngle?: number;\n\n /**\n * 终止角度\n * @default startAngle + 360\n */\n endAngle?: number;\n\n /**\n * 扇区半径\n * @default 0\n * @description 最内层\n */\n innerRadius?: number | number[];\n\n /**\n * 扇区外半径\n * @default 1\n * @description 最外层\n */\n outerRadius?: number | number[];\n\n /**\n * 层级间隔\n * @default 0\n * @description 对所有层生效\n */\n gap?: number | number[];\n\n /**\n * label布局相关参数\n */\n labelLayout?: SunburstLabelConfig | (SunburstLabelConfig | null)[];\n\n /**\n * 自动隐藏密集标签\n */\n labelAutoVisible?: LabelAutoVisibleType;\n\n /**\n * 下钻配置\n * @default false\n * @description 下钻功能开关\n */\n drill?: boolean;\n\n /**\n * 钻取字段的field\n * @default DEFAULT_DATA_KEY\n * @description 通过API进行钻取, 需要此配置项.\n */\n drillField?: string;\n\n /**\n * 标签配置\n * @description 对所有层生效\n */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec>;\n\n /**\n * 图元配置\n */\n [SeriesMarkNameEnum.sunburst]?: IMarkSpec<IArcMarkSpec>;\n}\n\nexport interface ISunburstSeriesTheme extends Omit<IPolarSeriesTheme, 'label' | 'innerRadius' | 'outerRadius'> {\n startAngle?: number;\n endAngle?: number;\n innerRadius?: number | number[];\n outerRadius?: number | number[];\n gap?: number | number[];\n labelLayout?: SunburstLabelConfig | SunburstLabelConfig[];\n [SeriesMarkNameEnum.label]?: IMarkTheme<ITextMarkSpec>;\n [SeriesMarkNameEnum.sunburst]?: IMarkTheme<IArcMarkSpec>;\n}\n\nexport type LabelAutoVisibleType = {\n /**\n * 是否启用\n * @default false\n */\n enable?: boolean;\n\n /**\n * 周长阈值,扇区周长小于该值时, 则隐藏标签.\n * @default 10\n */\n circumference?: number;\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SeriesMarkMap } from '../interface/common';
|
|
2
2
|
export declare const treemapSeriesMark: SeriesMarkMap;
|
|
@@ -2,7 +2,7 @@ import { MarkTypeEnum } from "../../mark/interface";
|
|
|
2
2
|
|
|
3
3
|
import { baseSeriesMark } from "../base/constant";
|
|
4
4
|
|
|
5
|
-
import { SeriesMarkNameEnum } from "../interface/
|
|
5
|
+
import { SeriesMarkNameEnum } from "../interface/type";
|
|
6
6
|
|
|
7
7
|
export const treemapSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), {
|
|
8
8
|
[SeriesMarkNameEnum.nonLeaf]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/treemap/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/series/treemap/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,MAAM,iBAAiB,mCACzB,cAAc,KACjB,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EAC3F,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,IAAI,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACrF,CAAC,kBAAkB,CAAC,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,YAAY,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,GACtG,CAAC","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { baseSeriesMark } from '../base/constant';\nimport type { SeriesMarkMap } from '../interface/common';\nimport { SeriesMarkNameEnum } from '../interface/type';\n\nexport const treemapSeriesMark: SeriesMarkMap = {\n ...baseSeriesMark,\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"]}
|
|
@@ -4,7 +4,7 @@ import type { TreemapOptions } from '@visactor/vgrammar-hierarchy';
|
|
|
4
4
|
import type { ICartesianSeriesTheme } from '../cartesian/interface';
|
|
5
5
|
import type { IAnimationSpec } from '../../animation/spec';
|
|
6
6
|
import type { TreemapAppearPreset, TreemapMark } from './animation';
|
|
7
|
-
import type { SeriesMarkNameEnum } from '../interface';
|
|
7
|
+
import type { SeriesMarkNameEnum } from '../interface/type';
|
|
8
8
|
export interface ITreemapSeriesSpec extends Omit<ISeriesSpec, 'data'>, IAnimationSpec<TreemapMark, TreemapAppearPreset> {
|
|
9
9
|
type: 'treemap';
|
|
10
10
|
categoryField: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/treemap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IHierarchyData, IMarkSpec, IMarkTheme, ISeriesSpec } from '../../typings/spec';\nimport type { TreemapOptions } from '@visactor/vgrammar-hierarchy';\nimport type { ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { TreemapAppearPreset, TreemapMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface';\n\nexport interface ITreemapSeriesSpec\n extends Omit<ISeriesSpec, 'data'>,\n IAnimationSpec<TreemapMark, TreemapAppearPreset> {\n type: 'treemap';\n /**\n * 文本字段\n */\n categoryField: string;\n /**\n * 权重字段\n */\n valueField: string;\n /**\n * 数据\n */\n data: IHierarchyData;\n /**\n * 矩形分割比例\n * @default (1 + Math.sqrt(5)) / 2\n */\n aspectRatio?: number;\n\n /**\n * 矩形分割算法\n * @default 'binary'\n * @description\n * 'binary': 递归地将指定的节点分割成一个近似平衡的二叉树,对宽的矩形选择水平分割,对高的矩形选择垂直分割。\n *\n * 'dice': 根据指定节点的每个子节点的值水平划分由x0, y0, x1, y1指定的矩形区域。子节点按顺序定位,从给定矩形\n * 的左边缘(x0)开始。如果子节点的值之和小于指定节点的值(即,如果指定节点有一个非零的内部值),剩余的空位将被\n * 定位在给定矩形的右边缘(x1)。\n *\n * 'slice': 和'dice'类似,方向为竖直方向分割。\n *\n * 'sliceDice': 节点奇数深度,用'slice';节点偶数深度,用'dice'。\n *\n * 'squarify': 尽可能按照一个特定长宽比的分割矩形。\n */\n splitType?: TreemapOptions['splitType'];\n /**\n * 节点间距\n * @default 1\n */\n gapWidth?: TreemapOptions['gapWidth'];\n /**\n * 节点内边距\n * @default [5]\n */\n nodePadding?: TreemapOptions['padding'];\n /**\n * 展示的最大层级\n * @description 当节点在层次数据中的深度大于 maxDepth 时,节点将不会被显示\n */\n maxDepth?: TreemapOptions['maxDepth'];\n /**\n * 当区域面积(px * px)小于设定值后,节点将被隐藏\n * @default 10\n */\n minVisibleArea?: TreemapOptions['minVisibleArea'];\n /**\n * 当区域面积(px * px)小于设定值后,节点的子节点将被隐藏\n */\n minChildrenVisibleArea?: TreemapOptions['minChildrenVisibleArea'];\n /**\n * 当区域宽或高(px)小于设定值后,节点的子节点将被隐藏\n */\n minChildrenVisibleSize?: TreemapOptions['minChildrenVisibleSize'];\n /**\n * 是否开启拖拽和缩放\n * @default false\n */\n roam?: boolean;\n /**\n * 下钻配置\n * @default false\n * @description 下钻功能开关\n */\n drill?: boolean;\n /**\n * 钻取字段的field\n * @default DEFAULT_DATA_KEY\n * @description 通过API进行钻取, 需要此配置项.\n */\n drillField?: string;\n /**\n * 叶子节点样式配置\n */\n [SeriesMarkNameEnum.leaf]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 非叶子节点样式配置\n */\n [SeriesMarkNameEnum.nonLeaf]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 叶子节点标签样式配置,默认不显示\n */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec>;\n /**\n * 非叶子节点标签样式配置,默认不显示\n */\n [SeriesMarkNameEnum.nonLeafLabel]?: IMarkSpec<ITextMarkSpec> & {\n position?: TreemapOptions['labelPosition'];\n padding?: TreemapOptions['labelPadding'];\n };\n}\n\nexport interface ITreemapSeriesTheme extends ICartesianSeriesTheme {\n gapWidth?: TreemapOptions['padding'];\n nodePadding?: TreemapOptions['padding'];\n [SeriesMarkNameEnum.leaf]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.nonLeaf]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.label]?: Partial<IMarkTheme<ITextMarkSpec>>;\n [SeriesMarkNameEnum.nonLeafLabel]?: Partial<IMarkTheme<ITextMarkSpec> & { padding?: TreemapOptions['labelPadding'] }>;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/treemap/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { IRectMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IHierarchyData, IMarkSpec, IMarkTheme, ISeriesSpec } from '../../typings/spec';\nimport type { TreemapOptions } from '@visactor/vgrammar-hierarchy';\nimport type { ICartesianSeriesTheme } from '../cartesian/interface';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { TreemapAppearPreset, TreemapMark } from './animation';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\nexport interface ITreemapSeriesSpec\n extends Omit<ISeriesSpec, 'data'>,\n IAnimationSpec<TreemapMark, TreemapAppearPreset> {\n type: 'treemap';\n /**\n * 文本字段\n */\n categoryField: string;\n /**\n * 权重字段\n */\n valueField: string;\n /**\n * 数据\n */\n data: IHierarchyData;\n /**\n * 矩形分割比例\n * @default (1 + Math.sqrt(5)) / 2\n */\n aspectRatio?: number;\n\n /**\n * 矩形分割算法\n * @default 'binary'\n * @description\n * 'binary': 递归地将指定的节点分割成一个近似平衡的二叉树,对宽的矩形选择水平分割,对高的矩形选择垂直分割。\n *\n * 'dice': 根据指定节点的每个子节点的值水平划分由x0, y0, x1, y1指定的矩形区域。子节点按顺序定位,从给定矩形\n * 的左边缘(x0)开始。如果子节点的值之和小于指定节点的值(即,如果指定节点有一个非零的内部值),剩余的空位将被\n * 定位在给定矩形的右边缘(x1)。\n *\n * 'slice': 和'dice'类似,方向为竖直方向分割。\n *\n * 'sliceDice': 节点奇数深度,用'slice';节点偶数深度,用'dice'。\n *\n * 'squarify': 尽可能按照一个特定长宽比的分割矩形。\n */\n splitType?: TreemapOptions['splitType'];\n /**\n * 节点间距\n * @default 1\n */\n gapWidth?: TreemapOptions['gapWidth'];\n /**\n * 节点内边距\n * @default [5]\n */\n nodePadding?: TreemapOptions['padding'];\n /**\n * 展示的最大层级\n * @description 当节点在层次数据中的深度大于 maxDepth 时,节点将不会被显示\n */\n maxDepth?: TreemapOptions['maxDepth'];\n /**\n * 当区域面积(px * px)小于设定值后,节点将被隐藏\n * @default 10\n */\n minVisibleArea?: TreemapOptions['minVisibleArea'];\n /**\n * 当区域面积(px * px)小于设定值后,节点的子节点将被隐藏\n */\n minChildrenVisibleArea?: TreemapOptions['minChildrenVisibleArea'];\n /**\n * 当区域宽或高(px)小于设定值后,节点的子节点将被隐藏\n */\n minChildrenVisibleSize?: TreemapOptions['minChildrenVisibleSize'];\n /**\n * 是否开启拖拽和缩放\n * @default false\n */\n roam?: boolean;\n /**\n * 下钻配置\n * @default false\n * @description 下钻功能开关\n */\n drill?: boolean;\n /**\n * 钻取字段的field\n * @default DEFAULT_DATA_KEY\n * @description 通过API进行钻取, 需要此配置项.\n */\n drillField?: string;\n /**\n * 叶子节点样式配置\n */\n [SeriesMarkNameEnum.leaf]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 非叶子节点样式配置\n */\n [SeriesMarkNameEnum.nonLeaf]?: IMarkSpec<IRectMarkSpec>;\n /**\n * 叶子节点标签样式配置,默认不显示\n */\n [SeriesMarkNameEnum.label]?: IMarkSpec<ITextMarkSpec>;\n /**\n * 非叶子节点标签样式配置,默认不显示\n */\n [SeriesMarkNameEnum.nonLeafLabel]?: IMarkSpec<ITextMarkSpec> & {\n position?: TreemapOptions['labelPosition'];\n padding?: TreemapOptions['labelPadding'];\n };\n}\n\nexport interface ITreemapSeriesTheme extends ICartesianSeriesTheme {\n gapWidth?: TreemapOptions['padding'];\n nodePadding?: TreemapOptions['padding'];\n [SeriesMarkNameEnum.leaf]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.nonLeaf]?: Partial<IMarkTheme<IRectMarkSpec>>;\n [SeriesMarkNameEnum.label]?: Partial<IMarkTheme<ITextMarkSpec>>;\n [SeriesMarkNameEnum.nonLeafLabel]?: Partial<IMarkTheme<ITextMarkSpec> & { padding?: TreemapOptions['labelPadding'] }>;\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SeriesMarkMap } from '../interface/common';
|
|
2
2
|
export declare const waterfallSeriesMark: SeriesMarkMap;
|
|
@@ -2,7 +2,7 @@ import { MarkTypeEnum } from "../../mark/interface";
|
|
|
2
2
|
|
|
3
3
|
import { barSeriesMark } from "../bar/constant";
|
|
4
4
|
|
|
5
|
-
import { SeriesMarkNameEnum } from "../interface/
|
|
5
|
+
import { SeriesMarkNameEnum } from "../interface/type";
|
|
6
6
|
|
|
7
7
|
export const waterfallSeriesMark = Object.assign(Object.assign({}, barSeriesMark), {
|
|
8
8
|
[SeriesMarkNameEnum.leaderLine]: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/waterfall/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/series/waterfall/constant.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,MAAM,CAAC,MAAM,mBAAmB,mCAC3B,aAAa,KAChB,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,EACjG,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,YAAY,CAAC,IAAI,EAAE,GAClG,CAAC","file":"constant.js","sourcesContent":["import { MarkTypeEnum } from '../../mark/interface';\nimport { barSeriesMark } from '../bar/constant';\nimport type { SeriesMarkMap } from '../interface/common';\nimport { SeriesMarkNameEnum } from '../interface/type';\n\nexport const waterfallSeriesMark: SeriesMarkMap = {\n ...barSeriesMark,\n [SeriesMarkNameEnum.leaderLine]: { name: SeriesMarkNameEnum.leaderLine, type: MarkTypeEnum.rule },\n [SeriesMarkNameEnum.stackLabel]: { name: SeriesMarkNameEnum.stackLabel, type: MarkTypeEnum.text }\n};\n"]}
|
|
@@ -3,7 +3,7 @@ import type { IAnimationSpec } from '../../animation/spec';
|
|
|
3
3
|
import type { WaterfallAppearPreset } from './animation';
|
|
4
4
|
import type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';
|
|
5
5
|
import type { ILabelSpec } from '../../component/label';
|
|
6
|
-
import type { SeriesMarkNameEnum } from '../interface';
|
|
6
|
+
import type { SeriesMarkNameEnum } from '../interface/type';
|
|
7
7
|
type WaterfallMarks = 'bar';
|
|
8
8
|
export interface IWaterfallTotalText {
|
|
9
9
|
text?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/waterfall/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { Datum, IMarkSpec, IMarkTheme, IRuleMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { WaterfallAppearPreset } from './animation';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';\nimport type { ILabelSpec } from '../../component/label';\nimport type { SeriesMarkNameEnum } from '../interface';\n\ntype WaterfallMarks = 'bar';\n\nexport interface IWaterfallTotalText {\n /** 总计文本 */\n text?: string;\n}\n\nexport interface IWaterfallTotalEnd extends IWaterfallTotalText {\n /** 此类型下,默认在数据最后增加一条总计信息 */\n type: 'end';\n}\nexport interface IWaterfallTotalCustom extends IWaterfallTotalText {\n /** 此类型下,总计的运算方式由自定义函数决定 */\n type: 'custom';\n /** 总计值的标志位,对应 field 的值为 true 时,认为数据是总计数据 */\n tagField: string;\n /** 总计数据在运算时会调用这个函数,参数为当前总计数据,当前累计信息,需要返回总计的起点值与终点值 */\n product: (datum: Datum, current: { start: number; end: number }) => { start: number; end: number };\n}\n\nexport interface IWaterfallTotalField extends IWaterfallTotalText {\n /** 此类型下,总计的运算方式由对应的数据字段决定 */\n type: 'field';\n /** 总计值的标志位,对应 field 的值为 true 时,认为数据是总计数据 */\n tagField: string;\n /** 可以指定总计值 */\n valueField?: string;\n /** 可以指定总计起点 */\n startField?: string;\n /** 可以指定总计计算前 n 个维度 */\n collectCountField?: string;\n}\n\nexport type IWaterfallStackLabelPosition = 'withChange' | 'middle' | 'max' | 'min';\nexport type IWaterfallStackLabelValueType = 'change' | 'absolute';\n\nexport interface IWaterfallSeriesSpec\n extends Omit<IBarSeriesSpec, 'type' | 'label'>,\n IAnimationSpec<WaterfallMarks, WaterfallAppearPreset> {\n /**\n * 系列类型\n */\n type: 'waterfall';\n /**\n * 总计配置\n */\n total?: IWaterfallTotalEnd | IWaterfallTotalField | IWaterfallTotalCustom;\n /**\n * 引导线配置\n */\n [SeriesMarkNameEnum.leaderLine]?: IMarkSpec<IRuleMarkSpec>;\n /**\n * 堆积值标签配置\n */\n [SeriesMarkNameEnum.stackLabel]?: ILabelSpec & {\n /** 标签位置 */\n position?: IWaterfallStackLabelPosition;\n /** 标签偏移量 */\n offset?: number;\n /** 标签值 */\n valueType?: IWaterfallStackLabelValueType;\n };\n /**\n * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 是否可见 */\n visible: boolean;\n /** 标签位置(支持两端显示 bothEnds) */\n // position?: PositionEnum;\n /** 标签偏移量 */\n offset?: number;\n };\n}\n\nexport interface IWaterfallSeriesTheme extends IBarSeriesTheme {\n seriesFieldName: {\n total: string;\n increase: string;\n decrease: string;\n };\n [SeriesMarkNameEnum.leaderLine]?: Partial<IMarkTheme<IRuleMarkSpec>>;\n [SeriesMarkNameEnum.stackLabel]?: Partial<\n IMarkTheme<ITextMarkSpec> & { offset?: number; position?: IWaterfallStackLabelPosition }\n >;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/waterfall/interface.ts"],"names":[],"mappings":"","file":"interface.js","sourcesContent":["import type { Datum, IMarkSpec, IMarkTheme, IRuleMarkSpec, ITextMarkSpec } from '../../typings';\nimport type { IAnimationSpec } from '../../animation/spec';\nimport type { WaterfallAppearPreset } from './animation';\nimport type { IBarSeriesSpec, IBarSeriesTheme } from '../bar/interface';\nimport type { ILabelSpec } from '../../component/label';\nimport type { SeriesMarkNameEnum } from '../interface/type';\n\ntype WaterfallMarks = 'bar';\n\nexport interface IWaterfallTotalText {\n /** 总计文本 */\n text?: string;\n}\n\nexport interface IWaterfallTotalEnd extends IWaterfallTotalText {\n /** 此类型下,默认在数据最后增加一条总计信息 */\n type: 'end';\n}\nexport interface IWaterfallTotalCustom extends IWaterfallTotalText {\n /** 此类型下,总计的运算方式由自定义函数决定 */\n type: 'custom';\n /** 总计值的标志位,对应 field 的值为 true 时,认为数据是总计数据 */\n tagField: string;\n /** 总计数据在运算时会调用这个函数,参数为当前总计数据,当前累计信息,需要返回总计的起点值与终点值 */\n product: (datum: Datum, current: { start: number; end: number }) => { start: number; end: number };\n}\n\nexport interface IWaterfallTotalField extends IWaterfallTotalText {\n /** 此类型下,总计的运算方式由对应的数据字段决定 */\n type: 'field';\n /** 总计值的标志位,对应 field 的值为 true 时,认为数据是总计数据 */\n tagField: string;\n /** 可以指定总计值 */\n valueField?: string;\n /** 可以指定总计起点 */\n startField?: string;\n /** 可以指定总计计算前 n 个维度 */\n collectCountField?: string;\n}\n\nexport type IWaterfallStackLabelPosition = 'withChange' | 'middle' | 'max' | 'min';\nexport type IWaterfallStackLabelValueType = 'change' | 'absolute';\n\nexport interface IWaterfallSeriesSpec\n extends Omit<IBarSeriesSpec, 'type' | 'label'>,\n IAnimationSpec<WaterfallMarks, WaterfallAppearPreset> {\n /**\n * 系列类型\n */\n type: 'waterfall';\n /**\n * 总计配置\n */\n total?: IWaterfallTotalEnd | IWaterfallTotalField | IWaterfallTotalCustom;\n /**\n * 引导线配置\n */\n [SeriesMarkNameEnum.leaderLine]?: IMarkSpec<IRuleMarkSpec>;\n /**\n * 堆积值标签配置\n */\n [SeriesMarkNameEnum.stackLabel]?: ILabelSpec & {\n /** 标签位置 */\n position?: IWaterfallStackLabelPosition;\n /** 标签偏移量 */\n offset?: number;\n /** 标签值 */\n valueType?: IWaterfallStackLabelValueType;\n };\n /**\n * 标签配置\n */\n [SeriesMarkNameEnum.label]?: ILabelSpec & {\n /** 是否可见 */\n visible: boolean;\n /** 标签位置(支持两端显示 bothEnds) */\n // position?: PositionEnum;\n /** 标签偏移量 */\n offset?: number;\n };\n}\n\nexport interface IWaterfallSeriesTheme extends IBarSeriesTheme {\n seriesFieldName: {\n total: string;\n increase: string;\n decrease: string;\n };\n [SeriesMarkNameEnum.leaderLine]?: Partial<IMarkTheme<IRuleMarkSpec>>;\n [SeriesMarkNameEnum.stackLabel]?: Partial<\n IMarkTheme<ITextMarkSpec> & { offset?: number; position?: IWaterfallStackLabelPosition }\n >;\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import type { IRuleMark } from '../../mark/rule';
|
|
|
2
2
|
import { BarSeries } from '../bar/bar';
|
|
3
3
|
import type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';
|
|
4
4
|
import type { SeriesMarkMap } from '../interface';
|
|
5
|
-
import { SeriesTypeEnum } from '../interface';
|
|
5
|
+
import { SeriesTypeEnum } from '../interface/type';
|
|
6
6
|
import type { ITransformOptions, DataView } from '@visactor/vdataset';
|
|
7
7
|
import { SeriesData } from '../base/series-data';
|
|
8
8
|
import type { ITextMark } from '../../mark/text';
|
|
@@ -10,7 +10,7 @@ import { valueInScaleRange } from "../../util";
|
|
|
10
10
|
|
|
11
11
|
import { animationConfig, userAnimationConfig } from "../../animation/utils";
|
|
12
12
|
|
|
13
|
-
import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface";
|
|
13
|
+
import { SeriesMarkNameEnum, SeriesTypeEnum } from "../interface/type";
|
|
14
14
|
|
|
15
15
|
import { DEFAULT_MARK_ANIMATION } from "../../animation/config";
|
|
16
16
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IRuleMark } from '../../mark/rule';\nimport { isNil } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport type { WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\nimport { VChart } from '../../core/vchart';\nimport { RuleMark } from '../../mark/rule';\nimport { waterfallSeriesMark } from './constant';\n\nVChart.useMark([RuleMark]);\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries<T extends IWaterfallSeriesSpec = IWaterfallSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n static readonly mark: SeriesMarkMap = waterfallSeriesMark;\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _stack: boolean = true;\n\n protected _totalData?: SeriesData;\n\n protected declare _spec: T;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._stack = false;\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.waterfall(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(WaterfallSeries.mark.leaderLine, {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n const stackLabel = this._createMark(WaterfallSeries.mark.stackLabel, {\n key: 'index'\n }) as ITextMark;\n if (stackLabel) {\n this._stackLabelMark = stackLabel;\n stackLabel.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n }\n\n protected _totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('width', datum) as number) * (0.5 - pos)\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n protected _totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('height', datum) as number) * (0.5 - pos)\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this._totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this._totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this._totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this._totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this._totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this._totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n if (this._stackLabelMark) {\n this.setMarkStyle(this._stackLabelMark, {\n text: (datum: Datum) => {\n const text = this._spec.stackLabel?.valueType === 'absolute' ? datum.end : datum.end - datum.start;\n if (this._spec.stackLabel?.formatMethod) {\n return this._spec.stackLabel.formatMethod(text, datum);\n }\n return text;\n }\n });\n const pos = this._spec.stackLabel?.position || 'withChange';\n const offset = this._spec.stackLabel?.offset || 0;\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => this._totalPositionX(datum, 'index', 0.5),\n y: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionY(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'start' : 'end') + offset;\n }\n return this._totalPositionY(datum, 'end') + (datum.end >= datum.start ? -offset : offset);\n },\n textBaseline: (datum: Datum) => {\n if (pos === 'middle') {\n return 'middle';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'bottom';\n }\n return 'top';\n }\n });\n } else {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionX(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'start' : 'end') - offset;\n }\n return this._totalPositionX(datum, 'end') + (datum.end >= datum.start ? offset : -offset);\n },\n y: (datum: Datum) => this._totalPositionY(datum, 'index', 0.5),\n textAlign: (datum: Datum) => {\n if (pos === 'middle') {\n return 'center';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'left';\n }\n return 'right';\n }\n });\n }\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/series/waterfall/waterfall.ts"],"names":[],"mappings":"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","file":"waterfall.js","sourcesContent":["/* eslint-disable no-duplicate-imports */\nimport type { IRuleMark } from '../../mark/rule';\nimport { isNil } from '@visactor/vutils';\nimport {\n AttributeLevel,\n PREFIX,\n STACK_FIELD_END,\n STACK_FIELD_START,\n WaterfallDefaultSeriesField\n} from '../../constant/index';\nimport { waterfall, waterfallFillTotal } from '../../data/transforms/waterfall';\nimport { BarSeries } from '../bar/bar';\nimport { valueInScaleRange } from '../../util';\nimport type { WaterfallAppearPreset } from './animation';\nimport { animationConfig, userAnimationConfig } from '../../animation/utils';\nimport type { IWaterfallSeriesSpec, IWaterfallSeriesTheme } from './interface';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum, SeriesTypeEnum } from '../interface/type';\nimport { DEFAULT_MARK_ANIMATION } from '../../animation/config';\nimport type { ITransformOptions, DataView } from '@visactor/vdataset';\nimport { registerDataSetInstanceTransform } from '../../data/register';\nimport { SeriesData } from '../base/series-data';\nimport { dataViewFromDataView } from '../../data/initialize';\nimport type { IStateAnimateSpec } from '../../animation/spec';\nimport type { ITextMark } from '../../mark/text';\nimport type { IModelEvaluateOption } from '../../model/interface';\nimport type { Datum, Maybe } from '../../typings';\nimport { Direction } from '../../typings';\nimport type { IBarAnimationParams } from '../bar/animation';\nimport { VChart } from '../../core/vchart';\nimport { RuleMark } from '../../mark/rule';\nimport { waterfallSeriesMark } from './constant';\n\nVChart.useMark([RuleMark]);\n\nexport const DefaultBandWidth = 6; // 默认的bandWidth,避免连续轴没有bandWidth\n\nexport class WaterfallSeries<T extends IWaterfallSeriesSpec = IWaterfallSeriesSpec> extends BarSeries<any> {\n static readonly type: string = SeriesTypeEnum.waterfall;\n type = SeriesTypeEnum.waterfall;\n\n static readonly mark: SeriesMarkMap = waterfallSeriesMark;\n\n protected declare _theme: Maybe<IWaterfallSeriesTheme>;\n\n protected _stack: boolean = true;\n\n protected _totalData?: SeriesData;\n\n protected declare _spec: T;\n\n protected _leaderLineMark: IRuleMark = null;\n protected _stackLabelMark: ITextMark = null;\n protected _labelMark: ITextMark = null;\n\n setAttrFromSpec() {\n super.setAttrFromSpec();\n this._stack = false;\n // 不支持多维度;\n this._fieldX = [this._fieldX[0]];\n this._fieldY = [this._fieldY[0]];\n if (isNil(this._seriesField)) {\n this._seriesField = WaterfallDefaultSeriesField;\n }\n }\n\n getSeriesKeys(): string[] {\n if (this._seriesField === WaterfallDefaultSeriesField) {\n return [\n this._theme.seriesFieldName.increase,\n this._theme.seriesFieldName.decrease,\n this._theme.seriesFieldName.total\n ];\n }\n return super.getSeriesKeys();\n }\n\n protected initData(): void {\n super.initData();\n registerDataSetInstanceTransform(this._dataSet, 'waterfallFillTotal', waterfallFillTotal);\n registerDataSetInstanceTransform(this._dataSet, 'waterfall', waterfall);\n // 如果要在最后添加总计\n if (isNil(this._spec.total) || this._spec.total.type === 'end') {\n this._rawData?.transform(\n {\n type: 'waterfallFillTotal',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n total: this._spec.total\n }\n },\n false\n );\n }\n // 总计数据\n const totalData = dataViewFromDataView(this.getViewData(), this._dataSet, {\n name: `${PREFIX}_series_${this.id}_totalData`\n });\n this.getViewData().target.removeListener('change', totalData.reRunAllTransform);\n this._totalData = new SeriesData(this._option, totalData);\n totalData.transform(\n {\n type: 'waterfall',\n options: {\n indexField: this.getGroupFields()[0],\n valueField: this.getStackValueField(),\n seriesField: this.getSeriesField(),\n seriesFieldName: this._theme.seriesFieldName,\n startAs: STACK_FIELD_START,\n endAs: STACK_FIELD_END,\n total: this._spec.total,\n groupData: () => this.getGroups().groupData\n }\n },\n false\n );\n }\n\n initAnimation() {\n // 这个数据在这个时候拿不到,因为组件还没创建结束,统计和筛选也还没添加。\n // 而且这个值理论上是动态的,建议 监听 viewDataStatisticsUpdate 消息动态更新\n const animationParams: IBarAnimationParams = {\n yField: this.direction === 'horizontal' ? this._fieldY[0] : this.getStackValueField(),\n xField: this.direction === 'horizontal' ? this.getStackValueField() : this._fieldX[0],\n direction: this.direction,\n growFrom: () =>\n this.direction === 'horizontal'\n ? this._xAxisHelper?.getScale(0).scale(0)\n : this._yAxisHelper?.getScale(0).scale(0)\n };\n const appearPreset = (this._spec?.animationAppear as IStateAnimateSpec<WaterfallAppearPreset>)?.preset;\n\n // 分组数据的dataIndex应该与x轴顺序一致,而非data[DEFAULT_DATA_INDEX]顺序\n const dataIndex = (datum: any) => {\n const xValue = datum?.[this._fieldX[0]];\n const xIndex = this.getViewDataStatistics()?.latestData?.[this._fieldX[0]]?.values.indexOf(xValue);\n // 不应该出现xIndex === -1 || undefined的情况\n return xIndex || 0;\n };\n\n this._rectMark.setAnimationConfig(\n animationConfig(\n DEFAULT_MARK_ANIMATION.waterfall(animationParams, appearPreset),\n userAnimationConfig(SeriesMarkNameEnum.bar, this._spec),\n { dataIndex }\n )\n );\n\n if (this._labelMark) {\n this._labelMark.setAnimationConfig(\n animationConfig(DEFAULT_MARK_ANIMATION.label(), userAnimationConfig(SeriesMarkNameEnum.label, this._spec), {\n dataIndex\n })\n );\n }\n }\n\n viewDataUpdate(d: DataView): void {\n this._totalData.getDataView().reRunAllTransform();\n this._totalData.updateData();\n super.viewDataUpdate(d);\n }\n /**\n * data\n */\n // waterfall 不支持任何的 data filter\n addViewDataFilter(_option: ITransformOptions) {\n // do nothing\n }\n reFilterViewData() {\n // do nothing\n }\n\n onEvaluateEnd(ctx: IModelEvaluateOption): void {\n super.onEvaluateEnd(ctx);\n this._totalData.updateData();\n }\n\n initMark(): void {\n super.initMark();\n const leaderLine = this._createMark(WaterfallSeries.mark.leaderLine, {\n key: 'index'\n }) as IRuleMark;\n if (leaderLine) {\n this._leaderLineMark = leaderLine;\n leaderLine.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n const stackLabel = this._createMark(WaterfallSeries.mark.stackLabel, {\n key: 'index'\n }) as ITextMark;\n if (stackLabel) {\n this._stackLabelMark = stackLabel;\n stackLabel.setDataView(this._totalData.getDataView(), this._totalData.getProductId());\n }\n }\n\n protected _totalPositionX(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._xAxisHelper;\n if (this._direction === Direction.vertical) {\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('width', datum) as number) * (0.5 - pos)\n );\n }\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n\n protected _totalPositionY(datum: Datum, field: string, pos: number = 0.5) {\n const { dataToPosition, getBandwidth } = this._yAxisHelper;\n if (this._direction === Direction.vertical) {\n return valueInScaleRange(\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n })\n );\n }\n return (\n dataToPosition([datum[field]], {\n bandPosition: this._bandPosition\n }) +\n getBandwidth(0) * 0.5 -\n (this._rectMark.getAttribute('height', datum) as number) * (0.5 - pos)\n );\n }\n\n initMarkStyle(): void {\n super.initMarkStyle();\n if (this._leaderLineMark) {\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionX(datum, 'lastIndex', 1);\n },\n x1: (datum: Datum) => this._totalPositionX(datum, 'index', 0),\n y: (datum: Datum) => this._totalPositionY(datum, 'lastEnd', 0),\n y1: (datum: Datum) => this._totalPositionY(datum, datum.isTotal ? 'end' : 'start', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n } else {\n this.setMarkStyle(\n this._leaderLineMark,\n {\n visible: (datum: Datum) => !isNil(datum.lastIndex),\n x: (datum: Datum) => this._totalPositionX(datum, 'lastEnd', 0),\n x1: (datum: Datum) => this._totalPositionX(datum, datum.isTotal ? 'end' : 'start', 0),\n y: (datum: Datum) => {\n if (!datum.lastIndex) {\n return 0;\n }\n return this._totalPositionY(datum, 'lastIndex', 1);\n },\n y1: (datum: Datum) => this._totalPositionY(datum, 'index', 0)\n },\n 'normal',\n AttributeLevel.Series\n );\n }\n }\n\n if (this._stackLabelMark) {\n this.setMarkStyle(this._stackLabelMark, {\n text: (datum: Datum) => {\n const text = this._spec.stackLabel?.valueType === 'absolute' ? datum.end : datum.end - datum.start;\n if (this._spec.stackLabel?.formatMethod) {\n return this._spec.stackLabel.formatMethod(text, datum);\n }\n return text;\n }\n });\n const pos = this._spec.stackLabel?.position || 'withChange';\n const offset = this._spec.stackLabel?.offset || 0;\n if (this._direction === Direction.vertical) {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => this._totalPositionX(datum, 'index', 0.5),\n y: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionY(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'end' : 'start') - offset;\n } else if (pos === 'min') {\n return this._totalPositionY(datum, datum.end >= datum.start ? 'start' : 'end') + offset;\n }\n return this._totalPositionY(datum, 'end') + (datum.end >= datum.start ? -offset : offset);\n },\n textBaseline: (datum: Datum) => {\n if (pos === 'middle') {\n return 'middle';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'bottom';\n }\n return 'top';\n }\n });\n } else {\n this.setMarkStyle(this._stackLabelMark, {\n x: (datum: Datum) => {\n if (pos === 'middle') {\n return (this._totalPositionX(datum, 'end') + this._totalPositionY(datum, 'start')) * 0.5;\n } else if (pos === 'max') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'end' : 'start') + offset;\n } else if (pos === 'min') {\n return this._totalPositionX(datum, datum.end >= datum.start ? 'start' : 'end') - offset;\n }\n return this._totalPositionX(datum, 'end') + (datum.end >= datum.start ? offset : -offset);\n },\n y: (datum: Datum) => this._totalPositionY(datum, 'index', 0.5),\n textAlign: (datum: Datum) => {\n if (pos === 'middle') {\n return 'center';\n } else if ((pos === 'withChange' && datum.end - datum.start >= 0) || pos === 'max') {\n return 'left';\n }\n return 'right';\n }\n });\n }\n }\n }\n}\n"]}
|
|
@@ -4,7 +4,7 @@ import { isValid } from "@visactor/vutils";
|
|
|
4
4
|
|
|
5
5
|
import { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from "../../constant";
|
|
6
6
|
|
|
7
|
-
import { SeriesMarkNameEnum } from "../interface";
|
|
7
|
+
import { SeriesMarkNameEnum } from "../interface/type";
|
|
8
8
|
|
|
9
9
|
import { isTrueBrowser } from "../../util";
|
|
10
10
|
|
|
@@ -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 type { IPadding } from '@visactor/vutils';\nimport { isEqual, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\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 { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\nimport { wordCloudSeriesMark } from './constant';\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 = wordCloudSeriesMark;\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 _padding?: IPadding;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._padding = this._option.getChart().padding;\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 const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\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 // 词云 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: [width, height],\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: [width, 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 return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\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 onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (!isEqual(originalSpec, spec)) {\n result.reMake = true;\n result.reCompile = true;\n return result;\n }\n return result;\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 type { IPadding } from '@visactor/vutils';\nimport { isEqual, isValidNumber } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { AttributeLevel, DEFAULT_DATA_KEY, DEFAULT_DATA_SERIES_FIELD } from '../../constant';\nimport type { ITextMark } from '../../mark/text';\nimport type { SeriesMarkMap } from '../interface';\nimport { SeriesMarkNameEnum } from '../interface/type';\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 { BaseSeries } from '../base/base-series';\nimport { ColorOrdinalScale } from '../../scale/color-ordinal-scale';\nimport { VChart } from '../../core/vchart';\nimport { TextMark } from '../../mark/text';\nimport { wordCloudSeriesMark } from './constant';\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 = wordCloudSeriesMark;\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 _padding?: IPadding;\n\n /**\n * @override\n */\n setAttrFromSpec() {\n super.setAttrFromSpec();\n // series布局相关\n this._padding = this._option.getChart().padding;\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 const { width, height } = this._region.getLayoutRect();\n // 非正常尺寸下不进行布局\n if (!isValidNumber(width) || !isValidNumber(height) || !(height > 0 && width > 0)) {\n return;\n }\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 // 词云 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: [width, height],\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: [width, 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 return null;\n }\n dataToPositionX(data: any): number {\n return null;\n }\n dataToPositionY(data: any): number {\n return null;\n }\n dataToPositionZ(data: any): number {\n return null;\n }\n valueToPosition(value1: any, value2?: any): IPoint {\n return null;\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 onLayoutEnd(ctx: any): void {\n super.onLayoutEnd(ctx);\n this.compile();\n }\n\n updateSpec(spec: any) {\n const originalSpec = this._originalSpec;\n const result = super.updateSpec(spec);\n if (!isEqual(originalSpec, spec)) {\n result.reMake = true;\n result.reCompile = true;\n return result;\n }\n return result;\n }\n}\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { SeriesMarkMap } from '../interface/common';
|
|
2
2
|
export declare const wordCloudSeriesMark: SeriesMarkMap;
|
|
@@ -2,7 +2,7 @@ import { MarkTypeEnum } from "../../mark/interface";
|
|
|
2
2
|
|
|
3
3
|
import { baseSeriesMark } from "../base/constant";
|
|
4
4
|
|
|
5
|
-
import { SeriesMarkNameEnum } from "../interface/
|
|
5
|
+
import { SeriesMarkNameEnum } from "../interface/type";
|
|
6
6
|
|
|
7
7
|
export const wordCloudSeriesMark = Object.assign(Object.assign({}, baseSeriesMark), {
|
|
8
8
|
[SeriesMarkNameEnum.word]: {
|