@visactor/vchart-extension 2.0.7-alpha.6 → 2.0.7-alpha.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/index.js +156 -158
- package/build/index.min.js +2 -2
- package/cjs/charts/3d/arc-3d.js +4 -5
- package/cjs/charts/3d/arc-3d.js.map +1 -1
- package/cjs/charts/3d/layout.d.ts +1 -1
- package/cjs/charts/3d/layout.js.map +1 -1
- package/cjs/charts/3d/plugin.js +4 -4
- package/cjs/charts/3d/plugin.js.map +1 -1
- package/cjs/charts/3d/pyramid-3d.js +4 -5
- package/cjs/charts/3d/pyramid-3d.js.map +1 -1
- package/cjs/charts/3d/rect-3d.js +4 -4
- package/cjs/charts/3d/rect-3d.js.map +1 -1
- package/cjs/charts/axis-3d/band-axis.js +2 -2
- package/cjs/charts/axis-3d/band-axis.js.map +1 -1
- package/cjs/charts/axis-3d/linear-axis.js +2 -2
- package/cjs/charts/axis-3d/linear-axis.js.map +1 -1
- package/cjs/charts/axis-3d/log-axis.js +2 -2
- package/cjs/charts/axis-3d/log-axis.js.map +1 -1
- package/cjs/charts/axis-3d/symlog-axis.js +3 -4
- package/cjs/charts/axis-3d/symlog-axis.js.map +1 -1
- package/cjs/charts/axis-3d/time-axis.js +2 -2
- package/cjs/charts/axis-3d/time-axis.js.map +1 -1
- package/cjs/charts/bar-3d/chart.js +2 -1
- package/cjs/charts/bar-3d/index.js +1 -1
- package/cjs/charts/bar-3d/interface.js +1 -1
- package/cjs/charts/bar-3d/series-spec-transformer.js +1 -1
- package/cjs/charts/bar-3d/series.js +1 -1
- package/cjs/charts/bar-3d/theme.js +1 -1
- package/cjs/charts/candlestick/candlestick-transformer.js +1 -1
- package/cjs/charts/candlestick/candlestick.d.ts +1 -1
- package/cjs/charts/candlestick/candlestick.js +2 -1
- package/cjs/charts/candlestick/candlestick.js.map +1 -1
- package/cjs/charts/candlestick/index.js +1 -1
- package/cjs/charts/candlestick/interface.js +1 -1
- package/cjs/charts/candlestick/mark/candlestick.d.ts +2 -1
- package/cjs/charts/candlestick/mark/candlestick.js +4 -4
- package/cjs/charts/candlestick/mark/candlestick.js.map +1 -1
- package/cjs/charts/candlestick/series/animation.d.ts +2 -2
- package/cjs/charts/candlestick/series/animation.js +17 -17
- package/cjs/charts/candlestick/series/animation.js.map +1 -1
- package/cjs/charts/candlestick/series/candlestick.d.ts +2 -1
- package/cjs/charts/candlestick/series/candlestick.js +4 -4
- package/cjs/charts/candlestick/series/candlestick.js.map +1 -1
- package/cjs/charts/candlestick/util.js +1 -1
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js +14 -14
- package/cjs/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -1
- package/cjs/charts/combination-candlestick/combination-candlestick.js +3 -3
- package/cjs/charts/combination-candlestick/combination-candlestick.js.map +1 -1
- package/cjs/charts/combination-candlestick/constant.js +1 -1
- package/cjs/charts/combination-candlestick/index.js +1 -1
- package/cjs/charts/combination-candlestick/interface.js +1 -1
- package/cjs/charts/conversion-funnel/arrow-data-transform.d.ts +1 -1
- package/cjs/charts/conversion-funnel/arrow-data-transform.js +6 -6
- package/cjs/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
- package/cjs/charts/conversion-funnel/constants.js +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js +3 -3
- package/cjs/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel.d.ts +1 -1
- package/cjs/charts/conversion-funnel/conversion-funnel.js +3 -3
- package/cjs/charts/conversion-funnel/conversion-funnel.js.map +1 -1
- package/cjs/charts/conversion-funnel/index.js +1 -1
- package/cjs/charts/conversion-funnel/interface.js +1 -1
- package/cjs/charts/conversion-funnel/util.js +1 -1
- package/cjs/charts/funnel-3d/chart.js +2 -1
- package/cjs/charts/funnel-3d/constant.js +1 -1
- package/cjs/charts/funnel-3d/index.js +1 -1
- package/cjs/charts/funnel-3d/interface.js +1 -1
- package/cjs/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/cjs/charts/funnel-3d/series.js +1 -1
- package/cjs/charts/funnel-3d/theme.js +1 -1
- package/cjs/charts/histogram-3d/chart.js +1 -1
- package/cjs/charts/image-cloud/series/animation.d.ts +2 -2
- package/cjs/charts/image-cloud/series/animation.js +8 -8
- package/cjs/charts/image-cloud/series/animation.js.map +1 -1
- package/cjs/charts/image-cloud/series/image-cloud.d.ts +4 -4
- package/cjs/charts/image-cloud/series/image-cloud.js +16 -16
- package/cjs/charts/image-cloud/series/image-cloud.js.map +1 -1
- package/cjs/charts/image-cloud/series/interface.d.ts +1 -1
- package/cjs/charts/image-cloud/series/interface.js.map +1 -1
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.js +2 -2
- package/cjs/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -1
- package/cjs/charts/pictogram/series/pictogram-transformer.js +3 -3
- package/cjs/charts/pictogram/series/pictogram-transformer.js.map +1 -1
- package/cjs/charts/pictogram/series/pictogram.d.ts +3 -3
- package/cjs/charts/pictogram/series/pictogram.js +27 -27
- package/cjs/charts/pictogram/series/pictogram.js.map +1 -1
- package/cjs/charts/pictogram/series/svg-source.d.ts +1 -2
- package/cjs/charts/pictogram/series/svg-source.js +3 -3
- package/cjs/charts/pictogram/series/svg-source.js.map +1 -1
- package/cjs/charts/pictogram/series/transform.d.ts +1 -1
- package/cjs/charts/pictogram/series/transform.js +6 -6
- package/cjs/charts/pictogram/series/transform.js.map +1 -1
- package/cjs/charts/ranking-bar/interface.d.ts +1 -1
- package/cjs/charts/ranking-bar/interface.js.map +1 -1
- package/cjs/charts/ranking-bar/ranking-bar-transformer.js +2 -2
- package/cjs/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
- package/cjs/charts/ranking-list/interface.d.ts +4 -4
- package/cjs/charts/ranking-list/interface.js.map +1 -1
- package/cjs/charts/ranking-list/ranking-list-transformer.d.ts +37 -37
- package/cjs/charts/ranking-list/ranking-list-transformer.js +5 -5
- package/cjs/charts/ranking-list/ranking-list-transformer.js.map +1 -1
- package/cjs/charts/ranking-list/utils.js +2 -2
- package/cjs/charts/ranking-list/utils.js.map +1 -1
- package/cjs/charts/sequence-scatter-kde/interface.d.ts +3 -3
- package/cjs/charts/sequence-scatter-kde/interface.js.map +1 -1
- package/cjs/charts/sequence-scatter-link/interface.d.ts +2 -2
- package/cjs/charts/sequence-scatter-link/interface.js.map +1 -1
- package/cjs/charts/sequence-scatter-pixel/interface.d.ts +3 -3
- package/cjs/charts/sequence-scatter-pixel/interface.js.map +1 -1
- package/cjs/charts/word-cloud-3d/animation.js +3 -3
- package/cjs/charts/word-cloud-3d/animation.js.map +1 -1
- package/cjs/components/bar-link/bar-link.d.ts +1 -1
- package/cjs/components/bar-link/bar-link.js +12 -12
- package/cjs/components/bar-link/bar-link.js.map +1 -1
- package/cjs/components/bar-link/constant.js +1 -1
- package/cjs/components/bar-link/index.js +1 -1
- package/cjs/components/bar-link/type.d.ts +1 -6
- package/cjs/components/bar-link/type.js +1 -1
- package/cjs/components/bar-link/type.js.map +1 -1
- package/cjs/components/bar-link/util.d.ts +1 -1
- package/cjs/components/bar-link/util.js +3 -3
- package/cjs/components/bar-link/util.js.map +1 -1
- package/cjs/components/bar-regression-line/index.d.ts +3 -3
- package/cjs/components/bar-regression-line/index.js +8 -8
- package/cjs/components/bar-regression-line/index.js.map +1 -1
- package/cjs/components/bar-regression-line/type.js +1 -1
- package/cjs/components/histogram-regression-line/index.d.ts +2 -2
- package/cjs/components/histogram-regression-line/index.js +9 -9
- package/cjs/components/histogram-regression-line/index.js.map +1 -1
- package/cjs/components/histogram-regression-line/type.js +1 -1
- package/cjs/components/map-label/index.js +1 -1
- package/cjs/components/map-label/layout.d.ts +1 -1
- package/cjs/components/map-label/layout.js +5 -5
- package/cjs/components/map-label/layout.js.map +1 -1
- package/cjs/components/map-label/map-label-transformer.js +1 -2
- package/cjs/components/map-label/map-label.d.ts +3 -4
- package/cjs/components/map-label/map-label.js +22 -22
- package/cjs/components/map-label/map-label.js.map +1 -1
- package/cjs/components/map-label/theme.js +1 -1
- package/cjs/components/map-label/type.d.ts +1 -1
- package/cjs/components/map-label/type.js +1 -1
- package/cjs/components/map-label/type.js.map +1 -1
- package/cjs/components/regression-line/index.js +1 -1
- package/cjs/components/regression-line/regression-line.d.ts +1 -1
- package/cjs/components/regression-line/regression-line.js +11 -11
- package/cjs/components/regression-line/regression-line.js.map +1 -1
- package/cjs/components/regression-line/type.d.ts +1 -1
- package/cjs/components/regression-line/type.js +1 -1
- package/cjs/components/regression-line/type.js.map +1 -1
- package/cjs/components/scatter-regression-line/index.d.ts +3 -3
- package/cjs/components/scatter-regression-line/index.js +11 -11
- package/cjs/components/scatter-regression-line/index.js.map +1 -1
- package/cjs/components/scatter-regression-line/type.js +1 -1
- package/cjs/components/series-break/constant.js +1 -1
- package/cjs/components/series-break/index.js +1 -1
- package/cjs/components/series-break/series-break.d.ts +2 -2
- package/cjs/components/series-break/series-break.js +11 -11
- package/cjs/components/series-break/series-break.js.map +1 -1
- package/cjs/components/series-break/type.d.ts +1 -2
- package/cjs/components/series-break/type.js +1 -1
- package/cjs/components/series-break/type.js.map +1 -1
- package/cjs/components/series-break/util.js +8 -8
- package/cjs/components/series-break/util.js.map +1 -1
- package/cjs/components/series-label/constant.js +1 -1
- package/cjs/components/series-label/index.js +1 -1
- package/cjs/components/series-label/series-label.d.ts +2 -2
- package/cjs/components/series-label/series-label.js +9 -10
- package/cjs/components/series-label/series-label.js.map +1 -1
- package/cjs/components/series-label/type.d.ts +1 -2
- package/cjs/components/series-label/type.js +1 -1
- package/cjs/components/series-label/type.js.map +1 -1
- package/cjs/components/series-label/util.d.ts +4 -4
- package/cjs/components/series-label/util.js +6 -6
- package/cjs/components/series-label/util.js.map +1 -1
- package/cjs/type/type.d.ts +1 -1
- package/cjs/type/type.js.map +1 -1
- package/esm/charts/3d/arc-3d.js +1 -3
- package/esm/charts/3d/arc-3d.js.map +1 -1
- package/esm/charts/3d/layout.d.ts +1 -1
- package/esm/charts/3d/layout.js.map +1 -1
- package/esm/charts/3d/plugin.js +1 -1
- package/esm/charts/3d/plugin.js.map +1 -1
- package/esm/charts/3d/pyramid-3d.js +1 -3
- package/esm/charts/3d/pyramid-3d.js.map +1 -1
- package/esm/charts/3d/rect-3d.js +1 -3
- package/esm/charts/3d/rect-3d.js.map +1 -1
- package/esm/charts/axis-3d/band-axis.js +1 -1
- package/esm/charts/axis-3d/band-axis.js.map +1 -1
- package/esm/charts/axis-3d/linear-axis.js +1 -1
- package/esm/charts/axis-3d/linear-axis.js.map +1 -1
- package/esm/charts/axis-3d/log-axis.js +1 -1
- package/esm/charts/axis-3d/log-axis.js.map +1 -1
- package/esm/charts/axis-3d/symlog-axis.js +2 -3
- package/esm/charts/axis-3d/symlog-axis.js.map +1 -1
- package/esm/charts/axis-3d/time-axis.js +1 -1
- package/esm/charts/axis-3d/time-axis.js.map +1 -1
- package/esm/charts/bar-3d/chart.js +2 -1
- package/esm/charts/bar-3d/index.js +1 -1
- package/esm/charts/bar-3d/interface.js +1 -1
- package/esm/charts/bar-3d/series-spec-transformer.js +1 -1
- package/esm/charts/bar-3d/series.js +1 -1
- package/esm/charts/bar-3d/theme.js +1 -1
- package/esm/charts/candlestick/candlestick-transformer.js +1 -1
- package/esm/charts/candlestick/candlestick.d.ts +1 -1
- package/esm/charts/candlestick/candlestick.js +2 -1
- package/esm/charts/candlestick/candlestick.js.map +1 -1
- package/esm/charts/candlestick/index.js +1 -1
- package/esm/charts/candlestick/interface.js +1 -1
- package/esm/charts/candlestick/mark/candlestick.d.ts +2 -1
- package/esm/charts/candlestick/mark/candlestick.js +1 -5
- package/esm/charts/candlestick/mark/candlestick.js.map +1 -1
- package/esm/charts/candlestick/series/animation.d.ts +2 -2
- package/esm/charts/candlestick/series/animation.js +2 -2
- package/esm/charts/candlestick/series/animation.js.map +1 -1
- package/esm/charts/candlestick/series/candlestick.d.ts +2 -1
- package/esm/charts/candlestick/series/candlestick.js +1 -1
- package/esm/charts/candlestick/series/candlestick.js.map +1 -1
- package/esm/charts/candlestick/util.js +1 -1
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.js +2 -2
- package/esm/charts/combination-candlestick/combination-candlestick-transformer.js.map +1 -1
- package/esm/charts/combination-candlestick/combination-candlestick.js +2 -2
- package/esm/charts/combination-candlestick/combination-candlestick.js.map +1 -1
- package/esm/charts/combination-candlestick/constant.js +1 -1
- package/esm/charts/combination-candlestick/index.js +1 -1
- package/esm/charts/combination-candlestick/interface.js +1 -1
- package/esm/charts/conversion-funnel/arrow-data-transform.d.ts +1 -1
- package/esm/charts/conversion-funnel/arrow-data-transform.js +2 -2
- package/esm/charts/conversion-funnel/arrow-data-transform.js.map +1 -1
- package/esm/charts/conversion-funnel/constants.js +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js +2 -2
- package/esm/charts/conversion-funnel/conversion-funnel-transformer.js.map +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel.d.ts +1 -1
- package/esm/charts/conversion-funnel/conversion-funnel.js +2 -2
- package/esm/charts/conversion-funnel/conversion-funnel.js.map +1 -1
- package/esm/charts/conversion-funnel/index.js +1 -1
- package/esm/charts/conversion-funnel/interface.js +1 -1
- package/esm/charts/conversion-funnel/util.js +1 -1
- package/esm/charts/funnel-3d/chart.js +2 -1
- package/esm/charts/funnel-3d/constant.js +1 -1
- package/esm/charts/funnel-3d/index.js +1 -1
- package/esm/charts/funnel-3d/interface.js +1 -1
- package/esm/charts/funnel-3d/series-spec-transformer.js +1 -1
- package/esm/charts/funnel-3d/series.js +1 -1
- package/esm/charts/funnel-3d/theme.js +1 -1
- package/esm/charts/histogram-3d/chart.js +1 -1
- package/esm/charts/image-cloud/series/animation.d.ts +2 -2
- package/esm/charts/image-cloud/series/animation.js +2 -2
- package/esm/charts/image-cloud/series/animation.js.map +1 -1
- package/esm/charts/image-cloud/series/image-cloud.d.ts +4 -4
- package/esm/charts/image-cloud/series/image-cloud.js +3 -3
- package/esm/charts/image-cloud/series/image-cloud.js.map +1 -1
- package/esm/charts/image-cloud/series/interface.d.ts +1 -1
- package/esm/charts/image-cloud/series/interface.js.map +1 -1
- package/esm/charts/pictogram/element-highlight-by-graphic-name.js +1 -1
- package/esm/charts/pictogram/element-highlight-by-graphic-name.js.map +1 -1
- package/esm/charts/pictogram/series/pictogram-transformer.js +1 -1
- package/esm/charts/pictogram/series/pictogram-transformer.js.map +1 -1
- package/esm/charts/pictogram/series/pictogram.d.ts +3 -3
- package/esm/charts/pictogram/series/pictogram.js +3 -3
- package/esm/charts/pictogram/series/pictogram.js.map +1 -1
- package/esm/charts/pictogram/series/svg-source.d.ts +1 -2
- package/esm/charts/pictogram/series/svg-source.js +1 -1
- package/esm/charts/pictogram/series/svg-source.js.map +1 -1
- package/esm/charts/pictogram/series/transform.d.ts +1 -1
- package/esm/charts/pictogram/series/transform.js +1 -1
- package/esm/charts/pictogram/series/transform.js.map +1 -1
- package/esm/charts/ranking-bar/interface.d.ts +1 -1
- package/esm/charts/ranking-bar/interface.js.map +1 -1
- package/esm/charts/ranking-bar/ranking-bar-transformer.js +1 -1
- package/esm/charts/ranking-bar/ranking-bar-transformer.js.map +1 -1
- package/esm/charts/ranking-list/interface.d.ts +4 -4
- package/esm/charts/ranking-list/interface.js.map +1 -1
- package/esm/charts/ranking-list/ranking-list-transformer.d.ts +37 -37
- package/esm/charts/ranking-list/ranking-list-transformer.js +1 -1
- package/esm/charts/ranking-list/ranking-list-transformer.js.map +1 -1
- package/esm/charts/ranking-list/utils.js +1 -1
- package/esm/charts/ranking-list/utils.js.map +1 -1
- package/esm/charts/sequence-scatter-kde/interface.d.ts +3 -3
- package/esm/charts/sequence-scatter-kde/interface.js.map +1 -1
- package/esm/charts/sequence-scatter-link/interface.d.ts +2 -2
- package/esm/charts/sequence-scatter-link/interface.js.map +1 -1
- package/esm/charts/sequence-scatter-pixel/interface.d.ts +3 -3
- package/esm/charts/sequence-scatter-pixel/interface.js.map +1 -1
- package/esm/charts/word-cloud-3d/animation.js +1 -1
- package/esm/charts/word-cloud-3d/animation.js.map +1 -1
- package/esm/components/bar-link/bar-link.d.ts +1 -1
- package/esm/components/bar-link/bar-link.js +3 -5
- package/esm/components/bar-link/bar-link.js.map +1 -1
- package/esm/components/bar-link/constant.js +1 -1
- package/esm/components/bar-link/index.js +1 -1
- package/esm/components/bar-link/type.d.ts +1 -6
- package/esm/components/bar-link/type.js +1 -1
- package/esm/components/bar-link/type.js.map +1 -1
- package/esm/components/bar-link/util.d.ts +1 -1
- package/esm/components/bar-link/util.js +2 -2
- package/esm/components/bar-link/util.js.map +1 -1
- package/esm/components/bar-regression-line/index.d.ts +3 -3
- package/esm/components/bar-regression-line/index.js +2 -2
- package/esm/components/bar-regression-line/index.js.map +1 -1
- package/esm/components/bar-regression-line/type.js +1 -1
- package/esm/components/histogram-regression-line/index.d.ts +2 -2
- package/esm/components/histogram-regression-line/index.js +2 -2
- package/esm/components/histogram-regression-line/index.js.map +1 -1
- package/esm/components/histogram-regression-line/type.js +1 -1
- package/esm/components/map-label/index.js +1 -1
- package/esm/components/map-label/layout.d.ts +1 -1
- package/esm/components/map-label/layout.js +2 -2
- package/esm/components/map-label/layout.js.map +1 -1
- package/esm/components/map-label/map-label-transformer.js +1 -2
- package/esm/components/map-label/map-label.d.ts +3 -4
- package/esm/components/map-label/map-label.js +4 -6
- package/esm/components/map-label/map-label.js.map +1 -1
- package/esm/components/map-label/theme.js +1 -1
- package/esm/components/map-label/type.d.ts +1 -1
- package/esm/components/map-label/type.js +1 -1
- package/esm/components/map-label/type.js.map +1 -1
- package/esm/components/regression-line/index.js +1 -1
- package/esm/components/regression-line/regression-line.d.ts +1 -1
- package/esm/components/regression-line/regression-line.js +3 -5
- package/esm/components/regression-line/regression-line.js.map +1 -1
- package/esm/components/regression-line/type.d.ts +1 -1
- package/esm/components/regression-line/type.js +1 -1
- package/esm/components/regression-line/type.js.map +1 -1
- package/esm/components/scatter-regression-line/index.d.ts +3 -3
- package/esm/components/scatter-regression-line/index.js +2 -2
- package/esm/components/scatter-regression-line/index.js.map +1 -1
- package/esm/components/scatter-regression-line/type.js +1 -1
- package/esm/components/series-break/constant.js +1 -1
- package/esm/components/series-break/index.js +1 -1
- package/esm/components/series-break/series-break.d.ts +2 -2
- package/esm/components/series-break/series-break.js +3 -5
- package/esm/components/series-break/series-break.js.map +1 -1
- package/esm/components/series-break/type.d.ts +1 -2
- package/esm/components/series-break/type.js +1 -1
- package/esm/components/series-break/type.js.map +1 -1
- package/esm/components/series-break/util.js +2 -2
- package/esm/components/series-break/util.js.map +1 -1
- package/esm/components/series-label/constant.js +1 -1
- package/esm/components/series-label/index.js +1 -1
- package/esm/components/series-label/series-label.d.ts +2 -2
- package/esm/components/series-label/series-label.js +3 -6
- package/esm/components/series-label/series-label.js.map +1 -1
- package/esm/components/series-label/type.d.ts +1 -2
- package/esm/components/series-label/type.js +1 -1
- package/esm/components/series-label/type.js.map +1 -1
- package/esm/components/series-label/util.d.ts +4 -4
- package/esm/components/series-label/util.js +2 -2
- package/esm/components/series-label/util.js.map +1 -1
- package/esm/type/type.d.ts +1 -1
- package/esm/type/type.js.map +1 -1
- package/package.json +4 -4
|
@@ -4,17 +4,17 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerMapLabel = exports.MapLabelComponent = void 0;
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const vchart_1 = require("@visactor/vchart"), vchart_2 = require("@visactor/vchart"), vchart_3 = require("@visactor/vchart"), vchart_4 = require("@visactor/vchart"), layout_1 = require("./layout"), map_label_transformer_1 = require("./map-label-transformer");
|
|
8
8
|
|
|
9
|
-
class MapLabelComponent extends
|
|
9
|
+
class MapLabelComponent extends vchart_4.BaseComponent {
|
|
10
10
|
constructor() {
|
|
11
11
|
super(...arguments), this.type = "mapLabel", this.name = " mapLabel", this.specKey = "mapLabel",
|
|
12
12
|
this.transformerConstructor = map_label_transformer_1.MapLabelSpecTransformer, this.layoutType = "none",
|
|
13
|
-
this.layoutZIndex =
|
|
13
|
+
this.layoutZIndex = vchart_4.LayoutZIndex.MarkPoint, this._activeDatum = [];
|
|
14
14
|
}
|
|
15
15
|
static getSpecInfo(chartSpec) {
|
|
16
|
-
return (0,
|
|
17
|
-
|
|
16
|
+
return (0, vchart_4.getSpecInfo)(chartSpec, this.specKey, this.type, (s => s.visible && (0,
|
|
17
|
+
vchart_3.isValid)(s.seriesId)));
|
|
18
18
|
}
|
|
19
19
|
setAttrFromSpec() {
|
|
20
20
|
var _a, _b, _c, _d;
|
|
@@ -37,15 +37,15 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
37
37
|
if (!series) return;
|
|
38
38
|
const seriesData = series.getViewData();
|
|
39
39
|
if (seriesData) {
|
|
40
|
-
const data = new
|
|
40
|
+
const data = new vchart_1.DataView(this._option.dataSet, {
|
|
41
41
|
name: `${this.name}_data`
|
|
42
42
|
});
|
|
43
43
|
data.parse([ seriesData ], {
|
|
44
44
|
type: "dataview"
|
|
45
45
|
}), data.transform({
|
|
46
46
|
type: "copyDataView",
|
|
47
|
-
level:
|
|
48
|
-
}, !1), this._data = new
|
|
47
|
+
level: vchart_4.TransformLevel.copyDataView
|
|
48
|
+
}, !1), this._data = new vchart_4.CompilableData(this._option, data), data.target.addListener("change", (() => {
|
|
49
49
|
"hover" !== this._spec.trigger && "click" !== this._spec.trigger && (this._activeDatum = this._data.getLatestData());
|
|
50
50
|
}));
|
|
51
51
|
}
|
|
@@ -59,12 +59,12 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
59
59
|
const trigger = this._spec.trigger;
|
|
60
60
|
"none" !== trigger && ("hover" === trigger ? (this.event.on("element-highlight:start", (params => {
|
|
61
61
|
const g = params.graphics[0];
|
|
62
|
-
this._isRelativeSeries(g) && this._updateDatum((0,
|
|
62
|
+
this._isRelativeSeries(g) && this._updateDatum((0, vchart_4.getDatumOfGraphic)(g));
|
|
63
63
|
})), this.event.on("element-highlight:reset", (params => {
|
|
64
64
|
this._activeDatum && this._updateDatum(null);
|
|
65
65
|
}))) : "click" === trigger && (this.event.on("element-select:start", (params => {
|
|
66
66
|
const g = params.graphics[0];
|
|
67
|
-
this._isRelativeSeries(g) && this._updateDatum((0,
|
|
67
|
+
this._isRelativeSeries(g) && this._updateDatum((0, vchart_4.getDatumOfGraphic)(g));
|
|
68
68
|
})), this.event.on("elementSelectReset", (params => {
|
|
69
69
|
this._activeDatum && this._updateDatum([]);
|
|
70
70
|
}))));
|
|
@@ -98,7 +98,7 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
98
98
|
const layoutPairInfo = [], markerMarks = [];
|
|
99
99
|
this._markerComponents || (this._markerComponents = null === (_a = this._data) || void 0 === _a ? void 0 : _a.getLatestData().map(((data, index) => {
|
|
100
100
|
var _a;
|
|
101
|
-
const cmp = new
|
|
101
|
+
const cmp = new vchart_2.MarkPoint({
|
|
102
102
|
position: void 0,
|
|
103
103
|
animation: !1
|
|
104
104
|
});
|
|
@@ -116,33 +116,33 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
116
116
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p;
|
|
117
117
|
let contentItemCount = 0, paddingWidth = 0, paddingHeight = 0, contentWidth = 0, contentHeight = 0;
|
|
118
118
|
const position = this._spec.position || "top", offset = this._spec.offset, padding = (0,
|
|
119
|
-
|
|
119
|
+
vchart_4.normalizeLayoutPaddingSpec)(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0;
|
|
120
120
|
paddingWidth += ((null == padding ? void 0 : padding.left) || 0) + ((null == padding ? void 0 : padding.right) || 0),
|
|
121
121
|
paddingHeight += ((null == padding ? void 0 : padding.top) || 0) + ((null == padding ? void 0 : padding.bottom) || 0);
|
|
122
|
-
const contentMarks = {}, positionAttr = this.dataToPosition(data), container =
|
|
122
|
+
const contentMarks = {}, positionAttr = this.dataToPosition(data), container = vchart_2.graphicCreator.group({});
|
|
123
123
|
if (container.name = `${this.name}_marker_itemContainer_${index}`, contentMarks.container = container,
|
|
124
124
|
null === (_b = this._spec.background) || void 0 === _b ? void 0 : _b.visible) {
|
|
125
|
-
const labelBackground =
|
|
125
|
+
const labelBackground = vchart_2.graphicCreator.rect((0, vchart_4.transformToGraphic)(Object.assign({}, this._spec.background.style)));
|
|
126
126
|
labelBackground.setAttributes(positionAttr), contentMarks.labelBackground = labelBackground,
|
|
127
127
|
container.appendChild(labelBackground);
|
|
128
128
|
}
|
|
129
129
|
if (null === (_c = this._spec.icon) || void 0 === _c ? void 0 : _c.visible) {
|
|
130
|
-
const icon =
|
|
130
|
+
const icon = vchart_2.graphicCreator.symbol((0, vchart_4.transformToGraphic)(Object.assign({}, this._spec.icon.style)));
|
|
131
131
|
icon.setAttributes(positionAttr), icon.setAttribute("symbolType", null !== (_e = null === (_d = this._spec.icon.style) || void 0 === _d ? void 0 : _d.symbolType) && void 0 !== _e ? _e : null === (_f = this._spec.icon.style) || void 0 === _f ? void 0 : _f.shape);
|
|
132
132
|
const iconBound = icon.AABBBounds, iconHeight = null !== (_g = (null == iconBound ? void 0 : iconBound.y2) - (null == iconBound ? void 0 : iconBound.y1)) && void 0 !== _g ? _g : 0, iconWidth = null !== (_h = (null == iconBound ? void 0 : iconBound.x2) - (null == iconBound ? void 0 : iconBound.x1)) && void 0 !== _h ? _h : 0;
|
|
133
133
|
contentMarks.icon = icon, container.appendChild(icon), contentHeight = iconHeight,
|
|
134
134
|
contentWidth += iconWidth, contentItemCount++;
|
|
135
135
|
}
|
|
136
136
|
if (null === (_j = this._spec.nameLabel) || void 0 === _j ? void 0 : _j.visible) {
|
|
137
|
-
const nameLabel =
|
|
137
|
+
const nameLabel = vchart_2.graphicCreator.text((0, vchart_4.transformToGraphic)(Object.assign({}, this._spec.nameLabel.style)));
|
|
138
138
|
nameLabel.setAttributes(positionAttr), nameLabel.setAttribute("text", data[this.nameField]);
|
|
139
139
|
const nameLabelBound = nameLabel.AABBBounds, nameLabelHeight = null !== (_k = (null == nameLabelBound ? void 0 : nameLabelBound.y2) - (null == nameLabelBound ? void 0 : nameLabelBound.y1)) && void 0 !== _k ? _k : 0, nameLabelWidth = null !== (_l = (null == nameLabelBound ? void 0 : nameLabelBound.x2) - (null == nameLabelBound ? void 0 : nameLabelBound.x1)) && void 0 !== _l ? _l : 0;
|
|
140
140
|
contentMarks.nameLabel = nameLabel, container.appendChild(nameLabel), contentHeight = Math.max(contentHeight, nameLabelHeight),
|
|
141
141
|
contentWidth += nameLabelWidth, contentItemCount++;
|
|
142
142
|
}
|
|
143
143
|
if ((null === (_m = this._spec.valueLabel) || void 0 === _m ? void 0 : _m.visible) && (0,
|
|
144
|
-
|
|
145
|
-
const valueLabel =
|
|
144
|
+
vchart_3.isValid)(data[this.valueField])) {
|
|
145
|
+
const valueLabel = vchart_2.graphicCreator.text((0, vchart_4.transformToGraphic)(Object.assign({}, this._spec.valueLabel.style)));
|
|
146
146
|
valueLabel.setAttributes(positionAttr), valueLabel.setAttribute("text", data[this.valueField]);
|
|
147
147
|
const valueLabelBound = valueLabel.AABBBounds, valueLabelHeight = null !== (_o = (null == valueLabelBound ? void 0 : valueLabelBound.y2) - (null == valueLabelBound ? void 0 : valueLabelBound.y1)) && void 0 !== _o ? _o : 0, valueLabelWidth = null !== (_p = (null == valueLabelBound ? void 0 : valueLabelBound.x2) - (null == valueLabelBound ? void 0 : valueLabelBound.x1)) && void 0 !== _p ? _p : 0;
|
|
148
148
|
contentMarks.valueLabel = valueLabel, container.appendChild(valueLabel), contentHeight = Math.max(contentHeight, valueLabelHeight),
|
|
@@ -181,7 +181,7 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
181
181
|
for (let i = 0; i < contentMarks.length; i++) {
|
|
182
182
|
if (!positionedRects[i] || !contentMarks[i]) return;
|
|
183
183
|
const {icon: icon, nameLabel: nameLabel, valueLabel: valueLabel, labelBackground: labelBackground, container: container} = contentMarks[i], itemRect = positionedRects[i], padding = (0,
|
|
184
|
-
|
|
184
|
+
vchart_4.normalizeLayoutPaddingSpec)(null === (_a = this._spec.background) || void 0 === _a ? void 0 : _a.padding), space = this._spec.space || 0, curY = itemRect.height / 2;
|
|
185
185
|
let curX = (null == padding ? void 0 : padding.left) || 0;
|
|
186
186
|
[ icon, nameLabel, valueLabel ].forEach(((item, index) => {
|
|
187
187
|
var _a, _b;
|
|
@@ -220,7 +220,7 @@ class MapLabelComponent extends vchart_1.BaseComponent {
|
|
|
220
220
|
itemLine: {
|
|
221
221
|
visible: showLeader,
|
|
222
222
|
type: "type-po",
|
|
223
|
-
lineStyle: (0,
|
|
223
|
+
lineStyle: (0, vchart_4.transformToGraphic)(Object.assign({}, null === (_c = this._spec.leader) || void 0 === _c ? void 0 : _c.style)),
|
|
224
224
|
startSymbol: {
|
|
225
225
|
visible: !1
|
|
226
226
|
}
|
|
@@ -258,9 +258,9 @@ exports.MapLabelComponent = MapLabelComponent, MapLabelComponent.type = "mapLabe
|
|
|
258
258
|
MapLabelComponent.specKey = "mapLabel", MapLabelComponent.transformerConstructor = map_label_transformer_1.MapLabelSpecTransformer;
|
|
259
259
|
|
|
260
260
|
const registerMapLabel = option => {
|
|
261
|
-
const vchartConstructor = (null == option ? void 0 : option.VChart) ||
|
|
261
|
+
const vchartConstructor = (null == option ? void 0 : option.VChart) || vchart_4.VChart;
|
|
262
262
|
vchartConstructor && vchartConstructor.useComponent([ MapLabelComponent ]);
|
|
263
263
|
};
|
|
264
264
|
|
|
265
265
|
exports.registerMapLabel = registerMapLabel;
|
|
266
|
-
//# sourceMappingURL=map-label.js.map
|
|
266
|
+
//# sourceMappingURL=map-label.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/map-label/map-label.ts"],"names":[],"mappings":"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","file":"map-label.js","sourcesContent":["import { DataView } from '@visactor/vdataset';\nimport type { IGraphic, IGroup, INode, IRect as IRectGraphic } from '@visactor/vrender-core';\nimport { graphicCreator } from '@visactor/vrender-core';\nimport type { Maybe } from '@visactor/vutils';\nimport { isValid } from '@visactor/vutils';\nimport { MarkPoint } from '@visactor/vrender-components';\nimport {\n LayoutZIndex,\n normalizeLayoutPaddingSpec,\n transformToGraphic,\n TransformLevel,\n getSpecInfo,\n CompilableData,\n VChart,\n BaseComponent,\n getDatumOfGraphic\n} from '@visactor/vchart';\nimport type {\n IPadding,\n IRect,\n IOrientType,\n IPoint,\n Datum,\n IModel,\n IModelSpecInfo,\n PanEventParam,\n ICartesianSeries,\n IGeoSeries,\n IMarkGraphic\n} from '@visactor/vchart';\nimport type { IPairInfo } from './layout';\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './type';\nimport { MapLabelSpecTransformer } from './map-label-transformer';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = 'mapLabel';\n type = 'mapLabel';\n name = ' mapLabel';\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n static readonly transformerConstructor = MapLabelSpecTransformer as any;\n readonly transformerConstructor = MapLabelSpecTransformer;\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, () => {\n this.handleZoom();\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('elementSelectReset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom() {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = (this._spec as any).id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = graphicCreator.group({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = graphicCreator.rect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = graphicCreator.symbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.symbolType ?? this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = graphicCreator.text(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = graphicCreator.text(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(g: IMarkGraphic) {\n return g.context?.modelId === this._series.id;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n\n getVRenderComponents() {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useComponent([MapLabelComponent as any]);\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/map-label/map-label.ts"],"names":[],"mappings":"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","file":"map-label.js","sourcesContent":["import { DataView } from '@visactor/vchart';\nimport {\n type IGraphic,\n type IGroup,\n type INode,\n type IRect as IRectGraphic,\n graphicCreator,\n MarkPoint\n} from '@visactor/vchart';\nimport type { Maybe } from '@visactor/vchart';\nimport { isValid } from '@visactor/vchart';\nimport {\n LayoutZIndex,\n normalizeLayoutPaddingSpec,\n transformToGraphic,\n TransformLevel,\n getSpecInfo,\n CompilableData,\n VChart,\n BaseComponent,\n getDatumOfGraphic\n} from '@visactor/vchart';\nimport type {\n IPadding,\n IRect,\n IOrientType,\n IPoint,\n Datum,\n IModel,\n IModelSpecInfo,\n PanEventParam,\n ICartesianSeries,\n IGeoSeries,\n IMarkGraphic\n} from '@visactor/vchart';\nimport type { IPairInfo } from './layout';\nimport { layoutByPosition, layoutOuter, placeRectByOrient } from './layout';\nimport type { IMapLabelSpec, MapLabelSceneNodeMap } from './type';\nimport { MapLabelSpecTransformer } from './map-label-transformer';\n\nexport class MapLabelComponent extends BaseComponent<IMapLabelSpec> {\n static type = 'mapLabel';\n type = 'mapLabel';\n name = ' mapLabel';\n\n static specKey = 'mapLabel';\n specKey = 'mapLabel';\n\n static readonly transformerConstructor = MapLabelSpecTransformer as any;\n readonly transformerConstructor = MapLabelSpecTransformer;\n\n layoutType: 'none' = 'none';\n\n layoutZIndex = LayoutZIndex.MarkPoint;\n\n protected nameField: string;\n protected valueField?: string;\n\n protected _series: ICartesianSeries | IGeoSeries;\n protected _map: any[];\n protected _longitudeField: string;\n protected _latitudeField: string;\n\n protected _markerComponents: MarkPoint[];\n\n private _activeDatum: Datum[] = [];\n\n static getSpecInfo(chartSpec: any): Maybe<IModelSpecInfo[]> {\n return getSpecInfo<IMapLabelSpec>(chartSpec, this.specKey, this.type, (s: IMapLabelSpec) => {\n return s.visible && isValid(s.seriesId);\n });\n }\n\n setAttrFromSpec(): void {\n this.nameField = this._spec.nameField ?? this._series?.getDimensionField()[0];\n this.valueField = this._spec.valueField ?? this._series?.getMeasureField()[0];\n }\n\n created() {\n super.created();\n if (!!this._spec.visible === false) {\n return;\n }\n this.initRelatedInfo();\n this.initData();\n this.initEvent();\n }\n\n initRelatedInfo(): void {\n this._series = this._option.getSeriesInUserIdOrIndex([this._spec.seriesId])[0] as ICartesianSeries;\n if (this._spec.position === 'outer') {\n // 需要获取region上的地理坐标系\n this._map = (this._regions[0].getSeriesInType('map')[0] as IGeoSeries)?.getMapViewData()?.latestData;\n this._longitudeField = this._regions[0].getSpec?.()?.longitudeField;\n this._latitudeField = this._regions[0].getSpec?.()?.latitudeField;\n }\n }\n\n initData() {\n const series = this._series;\n if (!series) {\n return;\n }\n const seriesData = series.getViewData();\n if (seriesData) {\n const data = new DataView(this._option.dataSet, { name: `${this.name}_data` });\n data.parse([seriesData], {\n type: 'dataview'\n });\n data.transform({ type: 'copyDataView', level: TransformLevel.copyDataView }, false);\n\n this._data = new CompilableData(this._option, data);\n data.target.addListener('change', () => {\n if (this._spec.trigger !== 'hover' && this._spec.trigger !== 'click') {\n this._activeDatum = this._data.getLatestData();\n }\n });\n }\n }\n\n initEvent() {\n this.event.on('zoom', { filter: params => this._isRelativeModel(params.model) }, () => {\n this.handleZoom();\n return true;\n });\n\n this.event.on('panmove', { filter: params => this._isRelativeModel(params.model) }, e => {\n this.handlePan(e as unknown as PanEventParam);\n return true;\n });\n\n const trigger = this._spec.trigger;\n if (trigger === 'none') {\n return;\n }\n\n if (trigger === 'hover') {\n this.event.on('element-highlight:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('element-highlight:reset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum(null);\n }\n });\n } else if (trigger === 'click') {\n this.event.on('element-select:start', (params: any) => {\n const g = params.graphics[0];\n if (this._isRelativeSeries(g)) {\n this._updateDatum(getDatumOfGraphic(g) as Datum[]);\n }\n });\n this.event.on('elementSelectReset', (params: any) => {\n if (this._activeDatum) {\n this._updateDatum([]);\n }\n });\n }\n }\n\n handlePan(e: PanEventParam) {\n const { delta } = e;\n this._markerComponents.forEach(marker => {\n marker.translate(delta[0], delta[1]);\n });\n }\n\n handleZoom() {\n this._updateMarkerLayoutAttribute();\n }\n\n private _updateDatum(datum: Datum[]) {\n this._activeDatum = datum;\n this._markerComponents.forEach((marker, index) => {\n const markerDatum = this._data?.getLatestData()[index];\n if (this._activeDatum.includes(markerDatum)) {\n marker.setAttribute('visible', true);\n } else {\n marker.setAttribute('visible', false);\n }\n });\n }\n\n dataToPosition(datum: any) {\n return this._series.dataToPosition(datum);\n }\n\n updateLayoutAttribute() {\n const markData = this._data?.getLatestData();\n if (!markData || markData.length === 0) {\n return;\n }\n super.updateLayoutAttribute();\n this._updateMarkerLayoutAttribute();\n }\n\n protected _updateMarkerLayoutAttribute() {\n const layoutPairInfo: IPairInfo[] = [];\n const markerMarks: MapLabelSceneNodeMap[] = [];\n if (!this._markerComponents) {\n this._markerComponents = this._data?.getLatestData().map((data: Datum, index: number) => {\n const cmp = new MarkPoint({\n position: undefined,\n animation: false // 地图标签使用的是markPoint, 暂不开启动画, 待优化@chensiji\n });\n if (cmp) {\n cmp.name = `${this.name}_marker_${index}`;\n cmp.id = (this._spec as any).id ?? `${this.name}_marker_${this.id}`;\n cmp.setAttribute('zIndex', this.layoutZIndex);\n }\n return cmp;\n });\n }\n const markerComponents = this._markerComponents;\n markerComponents.forEach((marker, index) => {\n const { pairInfo, contentMarks } = this._evaluateMarker(this._data.getLatestData()[index], index);\n pairInfo && layoutPairInfo.push(pairInfo);\n contentMarks && markerMarks.push(contentMarks);\n });\n\n const positionedRects = this._layoutLabels(layoutPairInfo);\n this._layoutMarkers(positionedRects, markerMarks);\n this._renderMarkers();\n }\n\n protected _evaluateMarker(data: Datum, index: number) {\n let contentItemCount = 0;\n let paddingWidth = 0;\n let paddingHeight = 0;\n let contentWidth = 0;\n let contentHeight = 0;\n\n const position = this._spec.position || 'top';\n const offset = this._spec.offset;\n\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n paddingWidth += (padding?.left || 0) + (padding?.right || 0);\n paddingHeight += (padding?.top || 0) + (padding?.bottom || 0);\n\n const contentMarks: MapLabelSceneNodeMap = {};\n const positionAttr = this.dataToPosition(data);\n\n const container = graphicCreator.group({});\n container.name = `${this.name}_marker_itemContainer_${index}`;\n contentMarks.container = container;\n\n if (this._spec.background?.visible) {\n const labelBackground = graphicCreator.rect(transformToGraphic({ ...this._spec.background.style }));\n labelBackground.setAttributes(positionAttr);\n contentMarks.labelBackground = labelBackground;\n container.appendChild(labelBackground);\n }\n\n if (this._spec.icon?.visible) {\n const icon = graphicCreator.symbol(transformToGraphic({ ...this._spec.icon.style }));\n icon.setAttributes(positionAttr);\n icon.setAttribute('symbolType', this._spec.icon.style?.symbolType ?? this._spec.icon.style?.shape);\n const iconBound = icon.AABBBounds;\n const iconHeight = iconBound?.y2 - iconBound?.y1 ?? 0;\n const iconWidth = iconBound?.x2 - iconBound?.x1 ?? 0;\n contentMarks.icon = icon;\n container.appendChild(icon);\n\n contentHeight = iconHeight;\n contentWidth += iconWidth;\n contentItemCount++;\n }\n\n if (this._spec.nameLabel?.visible) {\n const nameLabel = graphicCreator.text(transformToGraphic({ ...this._spec.nameLabel.style }));\n nameLabel.setAttributes(positionAttr);\n nameLabel.setAttribute('text', data[this.nameField]);\n const nameLabelBound = nameLabel.AABBBounds;\n const nameLabelHeight = nameLabelBound?.y2 - nameLabelBound?.y1 ?? 0;\n const nameLabelWidth = nameLabelBound?.x2 - nameLabelBound?.x1 ?? 0;\n contentMarks.nameLabel = nameLabel;\n container.appendChild(nameLabel);\n\n contentHeight = Math.max(contentHeight, nameLabelHeight);\n contentWidth += nameLabelWidth;\n contentItemCount++;\n }\n\n if (this._spec.valueLabel?.visible && isValid(data[this.valueField])) {\n const valueLabel = graphicCreator.text(transformToGraphic({ ...this._spec.valueLabel.style }));\n valueLabel.setAttributes(positionAttr);\n valueLabel.setAttribute('text', data[this.valueField]);\n const valueLabelBound = valueLabel.AABBBounds;\n const valueLabelHeight = valueLabelBound?.y2 - valueLabelBound?.y1 ?? 0;\n const valueLabelWidth = valueLabelBound?.x2 - valueLabelBound?.x1 ?? 0;\n contentMarks.valueLabel = valueLabel;\n container.appendChild(valueLabel);\n\n contentHeight = Math.max(contentHeight, valueLabelHeight);\n contentWidth += valueLabelWidth;\n contentItemCount++;\n }\n\n const firstValidMark = Object.values(contentMarks).find(m => !!m && m.type !== 'group');\n\n const anchor: IPoint = {\n x: firstValidMark?.getComputedAttribute('x'),\n y: firstValidMark?.getComputedAttribute('y')\n };\n const itemRect = {\n x: anchor.x,\n y: anchor.y,\n width: 0,\n height: 0\n };\n\n itemRect.width = paddingWidth + contentWidth + (contentItemCount - 1) * space;\n itemRect.height = paddingHeight + contentHeight;\n\n const pairInfo: IPairInfo = {\n rect: itemRect,\n point: anchor,\n index\n };\n // 计算得到最终所有元素包围盒的布局位置\n if (position !== 'outer') {\n const anchors = ['top', 'right', 'left', 'bottom'].filter(a => a !== position);\n pairInfo.rect = placeRectByOrient(itemRect, position, offset);\n pairInfo.anchors = anchors as IOrientType[];\n pairInfo.offset = offset;\n } else {\n pairInfo.pointCoord = {\n x: +data?.[this._longitudeField],\n y: +data?.[this._latitudeField]\n };\n }\n return { pairInfo, contentMarks };\n }\n\n protected _layoutMarkers(positionedRects: IRect[], contentMarks: MapLabelSceneNodeMap[]) {\n for (let i = 0; i < contentMarks.length; i++) {\n if (!positionedRects[i] || !contentMarks[i]) {\n return;\n }\n const { icon, nameLabel, valueLabel, labelBackground, container } = contentMarks[i];\n\n const itemRect = positionedRects[i];\n const padding = normalizeLayoutPaddingSpec(this._spec.background?.padding) as IPadding;\n const space = this._spec.space || 0;\n\n const curY = itemRect.height / 2;\n let curX = padding?.left || 0;\n [icon, nameLabel, valueLabel].forEach((item, index) => {\n if (item) {\n const bounds = item.AABBBounds;\n let offset = 0;\n if (item.type === 'symbol') {\n // 文字的锚点在文字左侧,baseline在中心\n // symbol的锚点[0,0]在图形中心。所以x方向要偏移半个bound。\n offset += (bounds.x2 - bounds.x1 ?? 0) / 2;\n }\n item.setAttributes({\n x: curX + offset,\n y: curY\n });\n\n curX += bounds.x2 - bounds.x1 ?? 0;\n if (index !== 2) {\n curX += space;\n }\n }\n });\n (labelBackground as IRectGraphic)?.setAttributes({\n x: 0,\n y: 0,\n width: itemRect.width,\n height: itemRect.height\n });\n container?.setAttributes({\n dx: -itemRect.width / 2,\n dy: -itemRect.height / 2\n });\n const datum = this._data.getLatestData()[i];\n const anchor = this.dataToPosition(datum);\n const regionPos = this.getRegions()[0].getLayoutStartPoint();\n const showLeader = !!(this._spec.leader?.visible && (icon || nameLabel || valueLabel));\n this._markerComponents[i].setAttributes({\n x: regionPos.x,\n y: regionPos.y,\n position: anchor,\n visible: this._activeDatum.includes(datum),\n itemContent: {\n refX: 0,\n type: 'custom',\n renderCustomCallback: () => container as unknown as IGroup,\n autoRotate: false,\n offsetX: itemRect.x + itemRect.width / 2 - anchor.x,\n offsetY: itemRect.y + itemRect.height / 2 - anchor.y\n },\n itemLine: {\n visible: showLeader,\n type: 'type-po',\n lineStyle: transformToGraphic({ ...this._spec.leader?.style }),\n startSymbol: { visible: false }\n }\n });\n }\n }\n\n protected _renderMarkers() {\n if (!this._markerComponents || !this._markerComponents.length) {\n return;\n }\n\n for (let i = 0; i < this._markerComponents.length; i++) {\n this.getContainer().add(this._markerComponents[i] as unknown as INode);\n }\n }\n\n protected _layoutLabels(rects: IPairInfo[]) {\n const result =\n this._spec.position === 'outer' && this._map\n ? layoutOuter(rects, this._map, (coord: number[]) =>\n this._series.dataToPosition({\n [this._longitudeField]: coord[0],\n [this._latitudeField]: coord[1]\n })\n )\n : layoutByPosition(rects);\n\n return result;\n }\n\n private _isRelativeModel(model: IModel) {\n const id =\n (this._series as ICartesianSeries).getXAxisHelper()?.getAxisId() ??\n (this._series as IGeoSeries).getCoordinateHelper()?.getCoordinateId();\n return model?.id === id;\n }\n\n private _isRelativeSeries(g: IMarkGraphic) {\n return g.context?.modelId === this._series.id;\n }\n\n protected _getNeedClearVRenderComponents(): IGraphic[] {\n return this._markerComponents as unknown as IGroup[];\n }\n\n getVRenderComponents() {\n return this._markerComponents as unknown as IGroup[];\n }\n}\n\nexport const registerMapLabel = (option?: { VChart?: typeof VChart }) => {\n const vchartConstructor = option?.VChart || VChart;\n if (vchartConstructor) {\n vchartConstructor.useComponent([MapLabelComponent as any]);\n }\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGraphic } from '@visactor/
|
|
1
|
+
import type { IGraphic } from '@visactor/vchart';
|
|
2
2
|
import type { IPadding, IOrientType, StringOrNumber } from '@visactor/vchart';
|
|
3
3
|
import type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '@visactor/vchart';
|
|
4
4
|
export type LabelPosition = IOrientType | 'outer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/map-label/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGraphic } from '@visactor/
|
|
1
|
+
{"version":3,"sources":["../src/components/map-label/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGraphic } from '@visactor/vchart';\nimport type { IPadding, IOrientType, StringOrNumber } from '@visactor/vchart';\nimport type { IPathMarkSpec, IRectMarkSpec, ISymbolMarkSpec, ITextMarkSpec } from '@visactor/vchart';\n\nexport type LabelPosition = IOrientType | 'outer';\n\nexport interface IMapLabelSpec extends IMapLabelStyleSpec {\n /** 关联的系列 id */\n seriesId: StringOrNumber;\n /** 名称文本的数据字段 */\n nameField?: string;\n /** 数值文本的数据字段 */\n valueField?: string;\n /**\n * 交互触发类型\n * @default 'none'\n */\n trigger?: 'hover' | 'click' | 'none';\n}\n\nexport type IMapLabelNodes = 'nameLabel' | 'valueLabel' | 'icon' | 'labelBackground' | 'container';\n\nexport type MapLabelSceneNodeMap = Partial<Record<IMapLabelNodes, IGraphic>>;\n\nexport interface IMapLabelStyleSpec {\n /**\n * 是否显示\n * @default false\n */\n visible?: boolean;\n /**\n * 标签非 outer 位置下与标记点的间距\n * @default 12\n */\n offset?: number;\n /**\n * icon 和 label之间的距离\n * @default 10\n */\n space?: number;\n /**\n * 标签位置。支持 'left' | 'top' | 'right' | 'bottom' | 'outer'\n * @default 'top'\n */\n position?: LabelPosition;\n /** 名称文本样式设置 */\n nameLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 数值文本样式设置 */\n valueLabel?: {\n visible?: boolean;\n style?: ITextMarkSpec;\n };\n /** 图标样式设置 */\n icon?: {\n visible?: boolean;\n style?: ISymbolMarkSpec;\n };\n /** 背景样式设置 */\n background?: {\n /** @default true */\n visible?: boolean;\n /** 背景框边距 */\n padding?: IPadding;\n style?: IRectMarkSpec;\n };\n /** 引导线样式设置 */\n leader?: {\n visible?: boolean;\n style?: IPathMarkSpec;\n };\n}\n"]}
|
|
@@ -18,4 +18,4 @@ var __createBinding = this && this.__createBinding || (Object.create ? function(
|
|
|
18
18
|
Object.defineProperty(exports, "__esModule", {
|
|
19
19
|
value: !0
|
|
20
20
|
}), __exportStar(require("./regression-line"), exports), __exportStar(require("./type"), exports);
|
|
21
|
-
//# sourceMappingURL=index.js.map
|
|
21
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AbstractComponent } from '@visactor/
|
|
1
|
+
import { AbstractComponent } from '@visactor/vchart';
|
|
2
2
|
import type { RegressionLineAttrs } from '../regression-line/type';
|
|
3
3
|
export declare const REGRESSION_LINE = "regressionLine";
|
|
4
4
|
export declare class RegressionLine extends AbstractComponent<Required<RegressionLineAttrs>> {
|
|
@@ -4,40 +4,40 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: !0
|
|
5
5
|
}), exports.registerRegressionLine = exports.RegressionLine = exports.REGRESSION_LINE = void 0;
|
|
6
6
|
|
|
7
|
-
const
|
|
7
|
+
const vchart_1 = require("@visactor/vchart"), vchart_2 = require("@visactor/vchart"), vchart_3 = require("@visactor/vchart");
|
|
8
8
|
|
|
9
9
|
exports.REGRESSION_LINE = "regressionLine";
|
|
10
10
|
|
|
11
|
-
class RegressionLine extends
|
|
11
|
+
class RegressionLine extends vchart_1.AbstractComponent {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments), this.name = exports.REGRESSION_LINE;
|
|
14
14
|
}
|
|
15
15
|
render() {
|
|
16
16
|
this.removeAllChild();
|
|
17
17
|
const {data: data, line: line = {}, label: label, name: name = "regression-line", confidenceInterval: confidenceInterval} = this.attribute;
|
|
18
|
-
(0,
|
|
18
|
+
(0, vchart_2.isEmpty)(data) || data.forEach((d => {
|
|
19
19
|
const {color: color} = d;
|
|
20
20
|
if (d.area && !1 !== (null == confidenceInterval ? void 0 : confidenceInterval.visible)) {
|
|
21
|
-
const areaShape = (0,
|
|
21
|
+
const areaShape = (0, vchart_1.createArea)(Object.assign(Object.assign({
|
|
22
22
|
points: d.area
|
|
23
|
-
}, (0,
|
|
23
|
+
}, (0, vchart_2.isValid)(color) ? {
|
|
24
24
|
fill: color,
|
|
25
25
|
fillOpacity: .12
|
|
26
26
|
} : null), null == confidenceInterval ? void 0 : confidenceInterval.style));
|
|
27
27
|
areaShape.name = "scatter-regression-area", this.add(areaShape);
|
|
28
28
|
}
|
|
29
29
|
if (d.line && !1 !== (null == line ? void 0 : line.visible)) {
|
|
30
|
-
const lineShape = (0,
|
|
30
|
+
const lineShape = (0, vchart_1.createLine)(Object.assign(Object.assign({
|
|
31
31
|
points: d.line,
|
|
32
32
|
lineWidth: 1
|
|
33
|
-
}, (0,
|
|
33
|
+
}, (0, vchart_2.isValid)(color) ? {
|
|
34
34
|
stroke: color
|
|
35
35
|
} : null), null == line ? void 0 : line.style));
|
|
36
36
|
lineShape.name = `${name}-curve`, this.add(lineShape);
|
|
37
37
|
}
|
|
38
|
-
const lastPoint = (0,
|
|
38
|
+
const lastPoint = (0, vchart_2.last)(d.line);
|
|
39
39
|
if (label && !1 !== label.visible && label.text && lastPoint) {
|
|
40
|
-
const tag = (0,
|
|
40
|
+
const tag = (0, vchart_1.createText)(Object.assign(Object.assign(Object.assign({}, lastPoint), {
|
|
41
41
|
text: label.text,
|
|
42
42
|
textAlign: "end",
|
|
43
43
|
textBaseline: "middle"
|
|
@@ -51,8 +51,8 @@ class RegressionLine extends vrender_components_1.AbstractComponent {
|
|
|
51
51
|
exports.RegressionLine = RegressionLine;
|
|
52
52
|
|
|
53
53
|
const registerRegressionLine = () => {
|
|
54
|
-
|
|
54
|
+
vchart_3.Factory.registerGraphicComponent(exports.REGRESSION_LINE, (attrs => new RegressionLine(attrs)));
|
|
55
55
|
};
|
|
56
56
|
|
|
57
57
|
exports.registerRegressionLine = registerRegressionLine;
|
|
58
|
-
//# sourceMappingURL=regression-line.js.map
|
|
58
|
+
//# sourceMappingURL=regression-line.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/regression-line/regression-line.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"sources":["../src/components/regression-line/regression-line.ts"],"names":[],"mappings":";;;AAAA,6CAAwG;AACxG,6CAA0D;AAC1D,6CAA2C;AAG9B,QAAA,eAAe,GAAG,gBAAgB,CAAC;AAEhD,MAAa,cAAe,SAAQ,0BAAgD;IAApF;;QACE,SAAI,GAAG,uBAAe,CAAC;IAoDzB,CAAC;IAnDW,MAAM;QACd,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,MAAM,EACJ,IAAI,EACJ,IAAI,GAAG,EAAE,EACT,KAAK,EACL,IAAI,GAAG,iBAAiB,EACxB,kBAAkB,EACnB,GAAG,IAAI,CAAC,SAAgC,CAAC;QAC1C,IAAI,IAAA,gBAAO,EAAC,IAAI,CAAC,EAAE;YACjB,OAAO;SACR;QAED,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;YACf,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC;YACpB,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,OAAO,MAAK,KAAK,EAAE;gBACnD,MAAM,SAAS,GAAG,IAAA,mBAAU,gCAC1B,MAAM,EAAE,CAAC,CAAC,IAAI,IACX,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAC5D,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,KAAK,EAC5B,CAAC;gBACH,SAAS,CAAC,IAAI,GAAG,yBAAyB,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACrB;YAED,IAAI,CAAC,CAAC,IAAI,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,OAAO,MAAK,KAAK,EAAE;gBACrC,MAAM,SAAS,GAAG,IAAA,mBAAU,gCAC1B,MAAM,EAAE,CAAC,CAAC,IAAI,EACd,SAAS,EAAE,CAAC,IACT,CAAC,IAAA,gBAAO,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAC3C,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,EACd,CAAC;gBACH,SAAS,CAAC,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC;gBACjC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;aACrB;YAED,MAAM,SAAS,GAAG,IAAA,aAAI,EAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAE/B,IAAI,KAAK,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,SAAS,EAAE;gBAC/D,MAAM,GAAG,GAAG,IAAA,mBAAU,gDACjB,SAAS,KACZ,IAAI,EAAE,KAAK,CAAC,IAAI,EAChB,SAAS,EAAE,KAAK,EAChB,YAAY,EAAE,QAAQ,KACnB,KAAK,CAAC,KAAK,EACd,CAAC;gBACH,GAAG,CAAC,IAAI,GAAG,GAAG,IAAI,QAAQ,CAAC;gBAC3B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;aACf;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AArDD,wCAqDC;AAEM,MAAM,sBAAsB,GAAG,GAAG,EAAE;IACzC,gBAAO,CAAC,wBAAwB,CAC9B,uBAAe,EACf,CAAC,KAAoC,EAAE,EAAE,CAAC,IAAI,cAAc,CAAC,KAAK,CAAwB,CAC3F,CAAC;AACJ,CAAC,CAAC;AALW,QAAA,sBAAsB,0BAKjC","file":"regression-line.js","sourcesContent":["import { AbstractComponent, type IGraphic, createText, createLine, createArea } from '@visactor/vchart';\nimport { isEmpty, isValid, last } from '@visactor/vchart';\nimport { Factory } from '@visactor/vchart';\nimport type { RegressionLineAttrs } from '../regression-line/type';\n\nexport const REGRESSION_LINE = 'regressionLine';\n\nexport class RegressionLine extends AbstractComponent<Required<RegressionLineAttrs>> {\n name = REGRESSION_LINE;\n protected render() {\n this.removeAllChild();\n const {\n data,\n line = {},\n label,\n name = 'regression-line',\n confidenceInterval\n } = this.attribute as RegressionLineAttrs;\n if (isEmpty(data)) {\n return;\n }\n\n data.forEach(d => {\n const { color } = d;\n if (d.area && confidenceInterval?.visible !== false) {\n const areaShape = createArea({\n points: d.area,\n ...(isValid(color) ? { fill: color, fillOpacity: 0.12 } : null),\n ...confidenceInterval?.style\n });\n areaShape.name = 'scatter-regression-area';\n this.add(areaShape);\n }\n\n if (d.line && line?.visible !== false) {\n const lineShape = createLine({\n points: d.line,\n lineWidth: 1,\n ...(isValid(color) ? { stroke: color } : null),\n ...line?.style\n });\n lineShape.name = `${name}-curve`;\n this.add(lineShape);\n }\n\n const lastPoint = last(d.line);\n\n if (label && label.visible !== false && label.text && lastPoint) {\n const tag = createText({\n ...lastPoint,\n text: label.text,\n textAlign: 'end',\n textBaseline: 'middle',\n ...label.style\n });\n tag.name = `${name}-label`;\n this.add(tag);\n }\n });\n }\n}\n\nexport const registerRegressionLine = () => {\n Factory.registerGraphicComponent(\n REGRESSION_LINE,\n (attrs: Required<RegressionLineAttrs>) => new RegressionLine(attrs) as unknown as IGraphic\n );\n};\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IAreaGraphicAttribute, IGroupGraphicAttribute, ILineGraphicAttribute, ITextGraphicAttribute } from '@visactor/
|
|
1
|
+
import type { IAreaGraphicAttribute, IGroupGraphicAttribute, ILineGraphicAttribute, ITextGraphicAttribute } from '@visactor/vchart';
|
|
2
2
|
export interface RegressionLineData {
|
|
3
3
|
color?: string;
|
|
4
4
|
line: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/regression-line/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IAreaGraphicAttribute,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/
|
|
1
|
+
{"version":3,"sources":["../src/components/regression-line/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IAreaGraphicAttribute,\n IGroupGraphicAttribute,\n ILineGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vchart';\n\n/**\n * 回归线数据格式\n */\nexport interface RegressionLineData {\n /**\n * 颜色值\n */\n color?: string;\n /**\n * 回归线数据点\n */\n line: { x: number; y: number }[];\n /**\n * 置信区间数据点\n */\n area?: { x: number; y: number; y1: number }[];\n}\n\nexport interface RegressionLineAttrs extends IGroupGraphicAttribute {\n /**\n * 用于区分的名称\n */\n name?: string;\n /**\n * 回归线配置\n */\n line?: {\n /**\n * 是否显示系列标签\n * @default true\n */\n visible?: boolean;\n /**\n * 线样式\n */\n style?: ILineGraphicAttribute;\n };\n /**\n * 回归线公式标签\n */\n label?: {\n /**\n * 是否显示标签\n */\n visible?: boolean;\n /**\n * 标签文本\n */\n text: string;\n /**\n * 标签样式\n */\n style?: ITextGraphicAttribute;\n };\n /**\n * 置信区间\n */\n confidenceInterval?: {\n visible?: boolean;\n style?: IAreaGraphicAttribute;\n };\n\n data: RegressionLineData[];\n}\n"]}
|
|
@@ -9,16 +9,16 @@ export declare function getScatterRegressionLineConfig(type: 'linear' | 'logisit
|
|
|
9
9
|
data: (datum: any, ctx: any) => RegressionLineData[];
|
|
10
10
|
line: {
|
|
11
11
|
visible?: boolean;
|
|
12
|
-
style?: import("@visactor/
|
|
12
|
+
style?: import("@visactor/vchart").ILineGraphicAttribute;
|
|
13
13
|
};
|
|
14
14
|
confidenceInterval: {
|
|
15
15
|
visible?: boolean;
|
|
16
|
-
style?: import("@visactor/
|
|
16
|
+
style?: import("@visactor/vchart").IAreaGraphicAttribute;
|
|
17
17
|
};
|
|
18
18
|
label: {
|
|
19
19
|
visible?: boolean;
|
|
20
20
|
text: string;
|
|
21
|
-
style?: import("@visactor/
|
|
21
|
+
style?: import("@visactor/vchart").ITextGraphicAttribute;
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
24
|
};
|
|
@@ -14,21 +14,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
14
14
|
value: !0
|
|
15
15
|
}), exports.appendScatterRegressionLineConfig = exports.getScatterRegressionLineConfig = void 0;
|
|
16
16
|
|
|
17
|
-
const
|
|
17
|
+
const vchart_1 = require("@visactor/vchart"), vchart_2 = require("@visactor/vchart"), regression_line_1 = require("../regression-line/regression-line"), getRegressionByType = (type, data, x = (d => d.x), y = (d => d.y), degree) => {
|
|
18
18
|
switch (type) {
|
|
19
19
|
case "logisitc":
|
|
20
|
-
return (0,
|
|
20
|
+
return (0, vchart_1.regressionLogistic)(data, x, y);
|
|
21
21
|
|
|
22
22
|
case "lowess":
|
|
23
|
-
return (0,
|
|
23
|
+
return (0, vchart_1.regressionLowess)(data, x, y);
|
|
24
24
|
|
|
25
25
|
case "polynomial":
|
|
26
|
-
return (0,
|
|
26
|
+
return (0, vchart_1.regressionPolynomial)(data, x, y, {
|
|
27
27
|
degree: degree
|
|
28
28
|
});
|
|
29
29
|
|
|
30
30
|
default:
|
|
31
|
-
return (0,
|
|
31
|
+
return (0, vchart_1.regressionLinear)(data, x, y);
|
|
32
32
|
}
|
|
33
33
|
};
|
|
34
34
|
|
|
@@ -40,11 +40,11 @@ function getScatterRegressionLineConfig(type, config) {
|
|
|
40
40
|
interactive: !1,
|
|
41
41
|
style: {
|
|
42
42
|
data: (datum, ctx) => {
|
|
43
|
-
const series = ctx.vchart.getChart().getAllSeries().filter((s => s.type ===
|
|
43
|
+
const series = ctx.vchart.getChart().getAllSeries().filter((s => s.type === vchart_2.SeriesTypeEnum.scatter)), regressionData = [];
|
|
44
44
|
return series && series.length && series.forEach((s => {
|
|
45
45
|
var _a, _b;
|
|
46
46
|
const start = s.getRegion().getLayoutStartPoint(), rect = s.getRegion().getLayoutRect(), yClamper = (0,
|
|
47
|
-
|
|
47
|
+
vchart_1.clamper)(start.y, start.y + rect.height), colorAttrOptions = s.getColorAttribute(), groups = s.getSeriesKeys(), data = s.getViewData().latestData, fieldX = null === (_a = s.fieldX) || void 0 === _a ? void 0 : _a[0], fieldY = null === (_b = s.fieldY) || void 0 === _b ? void 0 : _b[0];
|
|
48
48
|
fieldX && fieldY && data && !(data.length <= 2) && groups.forEach((group => {
|
|
49
49
|
var _a;
|
|
50
50
|
const groupData = data.filter((d => d[null == colorAttrOptions ? void 0 : colorAttrOptions.field] === group));
|
|
@@ -88,9 +88,9 @@ function getScatterRegressionLineConfig(type, config) {
|
|
|
88
88
|
|
|
89
89
|
function appendScatterRegressionLineConfig(chartSpec, spec) {
|
|
90
90
|
var _a, _b;
|
|
91
|
-
spec || (spec = null !== (_a = (0,
|
|
92
|
-
|
|
93
|
-
(0,
|
|
91
|
+
spec || (spec = null !== (_a = (0, vchart_1.get)(chartSpec, regression_line_1.REGRESSION_LINE)) && void 0 !== _a ? _a : (0,
|
|
92
|
+
vchart_1.get)(null === (_b = chartSpec.series) || void 0 === _b ? void 0 : _b.find((s => s.type === vchart_2.SeriesTypeEnum.scatter)), regression_line_1.REGRESSION_LINE));
|
|
93
|
+
(0, vchart_1.array)(spec).forEach((s => {
|
|
94
94
|
if (!1 !== s.visible) {
|
|
95
95
|
chartSpec.customMark || (chartSpec.customMark = []);
|
|
96
96
|
const {type: type} = s, rest = __rest(s, [ "type" ]);
|
|
@@ -100,4 +100,4 @@ function appendScatterRegressionLineConfig(chartSpec, spec) {
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
exports.getScatterRegressionLineConfig = getScatterRegressionLineConfig, exports.appendScatterRegressionLineConfig = appendScatterRegressionLineConfig;
|
|
103
|
-
//# sourceMappingURL=index.js.map
|
|
103
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/scatter-regression-line/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @description 散点图回归线组件\n * @author kangxiaoting\n */\nimport {\n array,\n clamper,\n get,\n regressionLinear,\n regressionLogistic,\n regressionLowess,\n regressionPolynomial\n} from '@visactor/
|
|
1
|
+
{"version":3,"sources":["../src/components/scatter-regression-line/index.ts"],"names":[],"mappings":"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","file":"index.js","sourcesContent":["/**\n * @description 散点图回归线组件\n * @author kangxiaoting\n */\nimport {\n array,\n clamper,\n get,\n regressionLinear,\n regressionLogistic,\n regressionLowess,\n regressionPolynomial\n} from '@visactor/vchart';\nimport type { Datum, ICartesianSeries, ISpec } from '@visactor/vchart';\nimport { SeriesTypeEnum } from '@visactor/vchart';\nimport type { ScatterRegressionLineSpec } from './type';\nimport type { RegressionLineData } from '../regression-line/type';\nimport { REGRESSION_LINE } from '../regression-line/regression-line';\n\nconst getRegressionByType = (\n type: 'linear' | 'logisitc' | 'lowess' | 'polynomial',\n data: any[],\n x: (d: any) => number = d => d.x,\n y: (d: any) => number = d => d.y,\n degree?: number\n) => {\n switch (type) {\n case 'logisitc':\n return regressionLogistic(data, x, y);\n case 'lowess':\n return regressionLowess(data, x, y);\n case 'polynomial':\n return regressionPolynomial(data, x, y, { degree });\n default:\n return regressionLinear(data, x, y);\n }\n};\n\n/**\n * 获取系列标签的 spec 配置\n * @param position 显示位置\n * @param config 系列标签的样式配置\n * @returns\n */\nexport function getScatterRegressionLineConfig(\n type: 'linear' | 'logisitc' | 'lowess' | 'polynomial',\n config: Omit<ScatterRegressionLineSpec, 'visible' | 'type'>\n) {\n const { color, line, confidenceInterval, label } = config;\n return {\n type: 'component',\n componentType: REGRESSION_LINE,\n interactive: false,\n style: {\n data: (datum: any, ctx: any) => {\n const vchart = ctx.vchart;\n const chart = vchart.getChart();\n const series = chart.getAllSeries().filter((s: any) => s.type === SeriesTypeEnum.scatter) as ICartesianSeries[];\n const regressionData: RegressionLineData[] = [];\n\n // 必须存在散点图系列\n if (series && series.length) {\n series.forEach(s => {\n const start = s.getRegion().getLayoutStartPoint();\n const rect = s.getRegion().getLayoutRect();\n const yClamper = clamper(start.y, start.y + rect.height);\n const colorAttrOptions = s.getColorAttribute();\n const groups = s.getSeriesKeys();\n const data = s.getViewData().latestData;\n const fieldX = s.fieldX?.[0];\n const fieldY = s.fieldY?.[0];\n\n if (!fieldX || !fieldY || !data || data.length <= 2) {\n return;\n }\n\n groups.forEach(group => {\n const groupData = data.filter((d: Datum) => d[colorAttrOptions?.field] === group);\n\n if (!groupData.length) {\n return;\n }\n const { evaluateGrid, confidenceInterval } = getRegressionByType(\n type,\n groupData,\n (datum: Datum) => datum?.[fieldX],\n (datum: Datum) => datum?.[fieldY],\n config.polynomialDegree\n );\n const N = Math.max(3, Math.floor(groupData.length / 4));\n const lineData = evaluateGrid(N);\n const confidenceData = confidenceInterval(N);\n\n regressionData.push({\n color: color ?? colorAttrOptions?.scale?.scale(group),\n line: lineData.map((ld: Datum) => {\n const d = { [fieldX]: ld.x, [fieldY]: ld.y };\n return {\n x: s.dataToPositionX(d) + start.x,\n y: yClamper(\n type === 'logisitc' ? start.y + rect.height * (1 - ld.y) : s.dataToPositionY(d) + start.y\n )\n };\n }),\n area: confidenceData.map((c: Datum) => {\n const d = { [fieldX]: c.x, [fieldY]: c.lower };\n return {\n x: s.dataToPositionX(d) + start.x,\n y: yClamper(s.dataToPositionY(d) + start.y),\n y1: yClamper(s.dataToPositionY({ [fieldY]: c.upper }) + start.y)\n };\n })\n });\n });\n });\n }\n\n return regressionData;\n },\n line,\n confidenceInterval,\n label\n }\n };\n}\n\nexport function appendScatterRegressionLineConfig(\n chartSpec: ISpec,\n spec?: ScatterRegressionLineSpec | ScatterRegressionLineSpec[]\n) {\n if (!spec) {\n spec =\n get(chartSpec, REGRESSION_LINE) ??\n get(\n chartSpec.series?.find(s => s.type === SeriesTypeEnum.scatter),\n REGRESSION_LINE\n );\n }\n\n const specs = array(spec);\n\n specs.forEach((s: ScatterRegressionLineSpec) => {\n if (s.visible !== false) {\n if (!(chartSpec as any).customMark) {\n (chartSpec as any).customMark = [];\n }\n\n const { type, ...rest } = s;\n (chartSpec as any).customMark.push(getScatterRegressionLineConfig(type, rest));\n }\n });\n}\n"]}
|
|
@@ -46,4 +46,4 @@ Object.defineProperty(exports, "getSeriesBreakConfig", {
|
|
|
46
46
|
return util_1.appendSeriesBreakConfig;
|
|
47
47
|
}
|
|
48
48
|
}), __exportStar(require("./type"), exports), __exportStar(require("./constant"), exports);
|
|
49
|
-
//# sourceMappingURL=index.js.map
|
|
49
|
+
//# sourceMappingURL=index.js.map
|