@visactor/vrender-components 0.15.0-alpha.6 → 0.15.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/cjs/axis/animate/group-fade.js.map +1 -1
- package/cjs/axis/animate/group-transition.js.map +1 -1
- package/cjs/axis/animate/index.js.map +1 -1
- package/cjs/axis/base.js.map +1 -1
- package/cjs/axis/circle.js.map +1 -1
- package/cjs/axis/config.js.map +1 -1
- package/cjs/axis/constant.js.map +1 -1
- package/cjs/axis/grid/base.js.map +1 -1
- package/cjs/axis/grid/circle.js.map +1 -1
- package/cjs/axis/grid/index.js.map +1 -1
- package/cjs/axis/grid/line.js.map +1 -1
- package/cjs/axis/grid/type.js.map +1 -1
- package/cjs/axis/index.js.map +1 -1
- package/cjs/axis/line.js +50 -1
- package/cjs/axis/line.js.map +1 -1
- package/cjs/axis/mixin/circle.js.map +1 -1
- package/cjs/axis/mixin/line.js.map +1 -1
- package/cjs/axis/overlap/auto-hide.js.map +1 -1
- package/cjs/axis/overlap/auto-limit.js.map +1 -1
- package/cjs/axis/overlap/auto-rotate.js +2 -2
- package/cjs/axis/overlap/auto-rotate.js.map +1 -1
- package/cjs/axis/type.d.ts +1 -0
- package/cjs/axis/type.js.map +1 -1
- package/cjs/brush/brush.d.ts +1 -0
- package/cjs/brush/brush.js +5 -0
- package/cjs/brush/brush.js.map +1 -1
- package/cjs/brush/config.js.map +1 -1
- package/cjs/brush/index.js.map +1 -1
- package/cjs/brush/type.js.map +1 -1
- package/cjs/constant.js.map +1 -1
- package/cjs/core/base.d.ts +2 -1
- package/cjs/core/base.js +4 -2
- package/cjs/core/base.js.map +1 -1
- package/cjs/core/type.js.map +1 -1
- package/cjs/crosshair/base.js.map +1 -1
- package/cjs/crosshair/circle.js.map +1 -1
- package/cjs/crosshair/index.js.map +1 -1
- package/cjs/crosshair/line.js.map +1 -1
- package/cjs/crosshair/polygon.js.map +1 -1
- package/cjs/crosshair/rect.js.map +1 -1
- package/cjs/crosshair/sector.js.map +1 -1
- package/cjs/crosshair/type.js.map +1 -1
- package/cjs/data-zoom/config.js.map +1 -1
- package/cjs/data-zoom/data-zoom.js.map +1 -1
- package/cjs/data-zoom/index.js.map +1 -1
- package/cjs/data-zoom/type.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/indicator/config.js.map +1 -1
- package/cjs/indicator/index.js.map +1 -1
- package/cjs/indicator/indicator.js.map +1 -1
- package/cjs/indicator/type.js.map +1 -1
- package/cjs/interface.js.map +1 -1
- package/cjs/jsx/component-type.js.map +1 -1
- package/cjs/jsx/index.js.map +1 -1
- package/cjs/label/animate/animate.js.map +1 -1
- package/cjs/label/animate/index.js.map +1 -1
- package/cjs/label/arc.d.ts +12 -5
- package/cjs/label/arc.js +83 -41
- package/cjs/label/arc.js.map +1 -1
- package/cjs/label/base.d.ts +12 -9
- package/cjs/label/base.js +126 -140
- package/cjs/label/base.js.map +1 -1
- package/cjs/label/dataLabel.js +4 -4
- package/cjs/label/dataLabel.js.map +1 -1
- package/cjs/label/index.js.map +1 -1
- package/cjs/label/line.js.map +1 -1
- package/cjs/label/overlap/bitmap.js.map +1 -1
- package/cjs/label/overlap/index.js.map +1 -1
- package/cjs/label/overlap/place.d.ts +2 -2
- package/cjs/label/overlap/place.js +15 -8
- package/cjs/label/overlap/place.js.map +1 -1
- package/cjs/label/overlap/scaler.js.map +1 -1
- package/cjs/label/polygon.d.ts +12 -0
- package/cjs/label/polygon.js +35 -0
- package/cjs/label/polygon.js.map +1 -0
- package/cjs/label/rect.js.map +1 -1
- package/cjs/label/symbol.js.map +1 -1
- package/cjs/label/type.d.ts +9 -5
- package/cjs/label/type.js.map +1 -1
- package/cjs/label/util.js.map +1 -1
- package/cjs/legend/base.js.map +1 -1
- package/cjs/legend/color/color.js.map +1 -1
- package/cjs/legend/color/index.js.map +1 -1
- package/cjs/legend/color/type.js.map +1 -1
- package/cjs/legend/constant.js.map +1 -1
- package/cjs/legend/discrete/discrete.js +28 -27
- package/cjs/legend/discrete/discrete.js.map +1 -1
- package/cjs/legend/discrete/index.js.map +1 -1
- package/cjs/legend/discrete/type.js.map +1 -1
- package/cjs/legend/index.js.map +1 -1
- package/cjs/legend/size/index.js.map +1 -1
- package/cjs/legend/size/size.d.ts +2 -2
- package/cjs/legend/size/size.js.map +1 -1
- package/cjs/legend/size/type.js.map +1 -1
- package/cjs/legend/type.js.map +1 -1
- package/cjs/link-path/index.js +1 -2
- package/cjs/link-path/index.js.map +1 -1
- package/cjs/link-path/link-path.js +2 -1
- package/cjs/link-path/link-path.js.map +1 -1
- package/cjs/link-path/type.js.map +1 -1
- package/cjs/marker/area.d.ts +1 -20
- package/cjs/marker/area.js +37 -37
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.d.ts +1 -0
- package/cjs/marker/base.js +28 -18
- package/cjs/marker/base.js.map +1 -1
- package/cjs/marker/config.d.ts +1 -1
- package/cjs/marker/config.js.map +1 -1
- package/cjs/marker/index.js.map +1 -1
- package/cjs/marker/line.js +31 -16
- package/cjs/marker/line.js.map +1 -1
- package/cjs/marker/point.d.ts +7 -7
- package/cjs/marker/point.js +6 -5
- package/cjs/marker/point.js.map +1 -1
- package/cjs/marker/type.d.ts +8 -5
- package/cjs/marker/type.js.map +1 -1
- package/cjs/marker/util.d.ts +1 -0
- package/cjs/marker/util.js +3 -0
- package/cjs/marker/util.js.map +1 -0
- package/cjs/pager/index.js.map +1 -1
- package/cjs/pager/pager.js +4 -2
- package/cjs/pager/pager.js.map +1 -1
- package/cjs/pager/type.js.map +1 -1
- package/cjs/player/base-player.d.ts +9 -1
- package/cjs/player/base-player.js +25 -22
- package/cjs/player/base-player.js.map +1 -1
- package/cjs/player/constant.d.ts +1 -0
- package/cjs/player/constant.js +1 -0
- package/cjs/player/constant.js.map +1 -1
- package/cjs/player/continuous-player.js +6 -6
- package/cjs/player/continuous-player.js.map +1 -1
- package/cjs/player/controller/assets/index.js.map +1 -1
- package/cjs/player/controller/constant.js.map +1 -1
- package/cjs/player/controller/controller.d.ts +2 -2
- package/cjs/player/controller/controller.js +15 -7
- package/cjs/player/controller/controller.js.map +1 -1
- package/cjs/player/controller/icon/icon.js.map +1 -1
- package/cjs/player/controller/icon/index.js.map +1 -1
- package/cjs/player/controller/icon/type.js.map +1 -1
- package/cjs/player/controller/index.js.map +1 -1
- package/cjs/player/controller/type.d.ts +14 -6
- package/cjs/player/controller/type.js.map +1 -1
- package/cjs/player/discrete-player.js +11 -11
- package/cjs/player/discrete-player.js.map +1 -1
- package/cjs/player/index.js.map +1 -1
- package/cjs/player/type/base.js.map +1 -1
- package/cjs/player/type/continuous-player.d.ts +2 -2
- package/cjs/player/type/continuous-player.js.map +1 -1
- package/cjs/player/type/direction.js.map +1 -1
- package/cjs/player/type/discrete-player.js.map +1 -1
- package/cjs/player/type/event.d.ts +12 -6
- package/cjs/player/type/event.js +5 -3
- package/cjs/player/type/event.js.map +1 -1
- package/cjs/player/type/index.js.map +1 -1
- package/cjs/player/type/layout.d.ts +5 -2
- package/cjs/player/type/layout.js.map +1 -1
- package/cjs/player/utils.js.map +1 -1
- package/cjs/poptip/contribution.js +3 -1
- package/cjs/poptip/contribution.js.map +1 -1
- package/cjs/poptip/index.js.map +1 -1
- package/cjs/poptip/poptip-plugin.js.map +1 -1
- package/cjs/poptip/poptip.js +30 -11
- package/cjs/poptip/poptip.js.map +1 -1
- package/cjs/poptip/register.d.ts +1 -1
- package/cjs/poptip/register.js +8 -6
- package/cjs/poptip/register.js.map +1 -1
- package/cjs/poptip/theme.js.map +1 -1
- package/cjs/poptip/type.d.ts +3 -0
- package/cjs/poptip/type.js.map +1 -1
- package/cjs/scrollbar/index.js.map +1 -1
- package/cjs/scrollbar/scrollbar.js.map +1 -1
- package/cjs/scrollbar/type.js.map +1 -1
- package/cjs/segment/index.js.map +1 -1
- package/cjs/segment/segment.d.ts +11 -6
- package/cjs/segment/segment.js +82 -40
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/segment/type.d.ts +5 -3
- package/cjs/segment/type.js.map +1 -1
- package/cjs/slider/constant.js.map +1 -1
- package/cjs/slider/index.js.map +1 -1
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/slider/type.js.map +1 -1
- package/cjs/tag/index.js.map +1 -1
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/tag/type.js.map +1 -1
- package/cjs/title/index.js.map +1 -1
- package/cjs/title/title.js.map +1 -1
- package/cjs/title/type.js.map +1 -1
- package/cjs/tooltip/config.js.map +1 -1
- package/cjs/tooltip/index.js.map +1 -1
- package/cjs/tooltip/tooltip.js.map +1 -1
- package/cjs/tooltip/type.js.map +1 -1
- package/cjs/tooltip/util.js.map +1 -1
- package/cjs/util/align.js.map +1 -1
- package/cjs/util/common.js.map +1 -1
- package/cjs/util/index.d.ts +1 -1
- package/cjs/util/index.js +1 -1
- package/cjs/util/index.js.map +1 -1
- package/cjs/util/{labelSmartInvert.d.ts → label-smartInvert.d.ts} +1 -0
- package/cjs/util/{labelSmartInvert.js → label-smartInvert.js} +21 -3
- package/cjs/util/label-smartInvert.js.map +1 -0
- package/cjs/util/limit-shape.d.ts +3 -0
- package/cjs/util/limit-shape.js +14 -0
- package/cjs/util/limit-shape.js.map +1 -0
- package/cjs/util/matrix.js.map +1 -1
- package/cjs/util/text.js +3 -3
- package/cjs/util/text.js.map +1 -1
- package/dist/index.js +787 -484
- package/dist/index.min.js +1 -1
- package/es/axis/animate/group-fade.js.map +1 -1
- package/es/axis/animate/group-transition.js.map +1 -1
- package/es/axis/animate/index.js.map +1 -1
- package/es/axis/base.js.map +1 -1
- package/es/axis/circle.js.map +1 -1
- package/es/axis/config.js.map +1 -1
- package/es/axis/constant.js.map +1 -1
- package/es/axis/grid/base.js.map +1 -1
- package/es/axis/grid/circle.js.map +1 -1
- package/es/axis/grid/index.js.map +1 -1
- package/es/axis/grid/line.js.map +1 -1
- package/es/axis/grid/type.js.map +1 -1
- package/es/axis/index.js.map +1 -1
- package/es/axis/line.js +50 -2
- package/es/axis/line.js.map +1 -1
- package/es/axis/mixin/circle.js.map +1 -1
- package/es/axis/mixin/line.js.map +1 -1
- package/es/axis/overlap/auto-hide.js.map +1 -1
- package/es/axis/overlap/auto-limit.js.map +1 -1
- package/es/axis/overlap/auto-rotate.js +2 -2
- package/es/axis/overlap/auto-rotate.js.map +1 -1
- package/es/axis/type.d.ts +1 -0
- package/es/axis/type.js.map +1 -1
- package/es/brush/brush.d.ts +1 -0
- package/es/brush/brush.js +5 -0
- package/es/brush/brush.js.map +1 -1
- package/es/brush/config.js.map +1 -1
- package/es/brush/index.js.map +1 -1
- package/es/brush/type.js.map +1 -1
- package/es/constant.js.map +1 -1
- package/es/core/base.d.ts +2 -1
- package/es/core/base.js +3 -3
- package/es/core/base.js.map +1 -1
- package/es/core/type.js.map +1 -1
- package/es/crosshair/base.js.map +1 -1
- package/es/crosshair/circle.js.map +1 -1
- package/es/crosshair/index.js.map +1 -1
- package/es/crosshair/line.js.map +1 -1
- package/es/crosshair/polygon.js.map +1 -1
- package/es/crosshair/rect.js.map +1 -1
- package/es/crosshair/sector.js.map +1 -1
- package/es/crosshair/type.js.map +1 -1
- package/es/data-zoom/config.js.map +1 -1
- package/es/data-zoom/data-zoom.js.map +1 -1
- package/es/data-zoom/index.js.map +1 -1
- package/es/data-zoom/type.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/indicator/config.js.map +1 -1
- package/es/indicator/index.js.map +1 -1
- package/es/indicator/indicator.js.map +1 -1
- package/es/indicator/type.js.map +1 -1
- package/es/interface.js.map +1 -1
- package/es/jsx/component-type.js.map +1 -1
- package/es/jsx/index.js.map +1 -1
- package/es/label/animate/animate.js.map +1 -1
- package/es/label/animate/index.js.map +1 -1
- package/es/label/arc.d.ts +12 -5
- package/es/label/arc.js +83 -39
- package/es/label/arc.js.map +1 -1
- package/es/label/base.d.ts +12 -9
- package/es/label/base.js +124 -135
- package/es/label/base.js.map +1 -1
- package/es/label/dataLabel.js +5 -3
- package/es/label/dataLabel.js.map +1 -1
- package/es/label/index.js.map +1 -1
- package/es/label/line.js.map +1 -1
- package/es/label/overlap/bitmap.js.map +1 -1
- package/es/label/overlap/index.js.map +1 -1
- package/es/label/overlap/place.d.ts +2 -2
- package/es/label/overlap/place.js +15 -8
- package/es/label/overlap/place.js.map +1 -1
- package/es/label/overlap/scaler.js.map +1 -1
- package/es/label/polygon.d.ts +12 -0
- package/es/label/polygon.js +31 -0
- package/es/label/polygon.js.map +1 -0
- package/es/label/rect.js.map +1 -1
- package/es/label/symbol.js.map +1 -1
- package/es/label/type.d.ts +9 -5
- package/es/label/type.js.map +1 -1
- package/es/label/util.js.map +1 -1
- package/es/legend/base.js.map +1 -1
- package/es/legend/color/color.js.map +1 -1
- package/es/legend/color/index.js.map +1 -1
- package/es/legend/color/type.js.map +1 -1
- package/es/legend/constant.js.map +1 -1
- package/es/legend/discrete/discrete.js +26 -25
- package/es/legend/discrete/discrete.js.map +1 -1
- package/es/legend/discrete/index.js.map +1 -1
- package/es/legend/discrete/type.js.map +1 -1
- package/es/legend/index.js.map +1 -1
- package/es/legend/size/index.js.map +1 -1
- package/es/legend/size/size.d.ts +2 -2
- package/es/legend/size/size.js.map +1 -1
- package/es/legend/size/type.js.map +1 -1
- package/es/legend/type.js.map +1 -1
- package/es/link-path/index.js +1 -2
- package/es/link-path/index.js.map +1 -1
- package/es/link-path/link-path.js +2 -1
- package/es/link-path/link-path.js.map +1 -1
- package/es/link-path/type.js.map +1 -1
- package/es/marker/area.d.ts +1 -20
- package/es/marker/area.js +38 -36
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.d.ts +1 -0
- package/es/marker/base.js +27 -19
- package/es/marker/base.js.map +1 -1
- package/es/marker/config.d.ts +1 -1
- package/es/marker/config.js.map +1 -1
- package/es/marker/index.js.map +1 -1
- package/es/marker/line.js +32 -15
- package/es/marker/line.js.map +1 -1
- package/es/marker/point.d.ts +7 -7
- package/es/marker/point.js +6 -5
- package/es/marker/point.js.map +1 -1
- package/es/marker/type.d.ts +8 -5
- package/es/marker/type.js.map +1 -1
- package/es/marker/util.d.ts +1 -0
- package/es/marker/util.js +3 -0
- package/es/marker/util.js.map +1 -0
- package/es/pager/index.js.map +1 -1
- package/es/pager/pager.js +4 -2
- package/es/pager/pager.js.map +1 -1
- package/es/pager/type.js.map +1 -1
- package/es/player/base-player.d.ts +9 -1
- package/es/player/base-player.js +25 -22
- package/es/player/base-player.js.map +1 -1
- package/es/player/constant.d.ts +1 -0
- package/es/player/constant.js +1 -0
- package/es/player/constant.js.map +1 -1
- package/es/player/continuous-player.js +6 -6
- package/es/player/continuous-player.js.map +1 -1
- package/es/player/controller/assets/index.js.map +1 -1
- package/es/player/controller/constant.js.map +1 -1
- package/es/player/controller/controller.d.ts +2 -2
- package/es/player/controller/controller.js +15 -7
- package/es/player/controller/controller.js.map +1 -1
- package/es/player/controller/icon/icon.js.map +1 -1
- package/es/player/controller/icon/index.js.map +1 -1
- package/es/player/controller/icon/type.js.map +1 -1
- package/es/player/controller/index.js.map +1 -1
- package/es/player/controller/type.d.ts +14 -6
- package/es/player/controller/type.js.map +1 -1
- package/es/player/discrete-player.js +10 -10
- package/es/player/discrete-player.js.map +1 -1
- package/es/player/index.js.map +1 -1
- package/es/player/type/base.js.map +1 -1
- package/es/player/type/continuous-player.d.ts +2 -2
- package/es/player/type/continuous-player.js.map +1 -1
- package/es/player/type/direction.js.map +1 -1
- package/es/player/type/discrete-player.js.map +1 -1
- package/es/player/type/event.d.ts +12 -6
- package/es/player/type/event.js +5 -3
- package/es/player/type/event.js.map +1 -1
- package/es/player/type/index.js.map +1 -1
- package/es/player/type/layout.d.ts +5 -2
- package/es/player/type/layout.js.map +1 -1
- package/es/player/utils.js.map +1 -1
- package/es/poptip/contribution.js +3 -1
- package/es/poptip/contribution.js.map +1 -1
- package/es/poptip/index.js.map +1 -1
- package/es/poptip/poptip-plugin.js.map +1 -1
- package/es/poptip/poptip.js +31 -9
- package/es/poptip/poptip.js.map +1 -1
- package/es/poptip/register.d.ts +1 -1
- package/es/poptip/register.js +7 -6
- package/es/poptip/register.js.map +1 -1
- package/es/poptip/theme.js.map +1 -1
- package/es/poptip/type.d.ts +3 -0
- package/es/poptip/type.js.map +1 -1
- package/es/scrollbar/index.js.map +1 -1
- package/es/scrollbar/scrollbar.js.map +1 -1
- package/es/scrollbar/type.js.map +1 -1
- package/es/segment/index.js.map +1 -1
- package/es/segment/segment.d.ts +11 -6
- package/es/segment/segment.js +81 -41
- package/es/segment/segment.js.map +1 -1
- package/es/segment/type.d.ts +5 -3
- package/es/segment/type.js.map +1 -1
- package/es/slider/constant.js.map +1 -1
- package/es/slider/index.js.map +1 -1
- package/es/slider/slider.js.map +1 -1
- package/es/slider/type.js.map +1 -1
- package/es/tag/index.js.map +1 -1
- package/es/tag/tag.js.map +1 -1
- package/es/tag/type.js.map +1 -1
- package/es/title/index.js.map +1 -1
- package/es/title/title.js.map +1 -1
- package/es/title/type.js.map +1 -1
- package/es/tooltip/config.js.map +1 -1
- package/es/tooltip/index.js.map +1 -1
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/tooltip/type.js.map +1 -1
- package/es/tooltip/util.js.map +1 -1
- package/es/util/align.js.map +1 -1
- package/es/util/common.js.map +1 -1
- package/es/util/index.d.ts +1 -1
- package/es/util/index.js +1 -1
- package/es/util/index.js.map +1 -1
- package/es/util/{labelSmartInvert.d.ts → label-smartInvert.d.ts} +1 -0
- package/es/util/{labelSmartInvert.js → label-smartInvert.js} +18 -1
- package/es/util/label-smartInvert.js.map +1 -0
- package/es/util/limit-shape.d.ts +3 -0
- package/es/util/limit-shape.js +8 -0
- package/es/util/limit-shape.js.map +1 -0
- package/es/util/matrix.js.map +1 -1
- package/es/util/text.js +3 -3
- package/es/util/text.js.map +1 -1
- package/package.json +4 -4
- package/cjs/util/labelSmartInvert.js.map +0 -1
- package/es/util/labelSmartInvert.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["legend/size/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { IPathGraphicAttribute } from '@visactor/vrender';\nimport { SliderAttributes } from '../../slider/type';\nimport { LegendBaseAttributes } from '../type';\n\nexport type SizeLegendAttributes = {\n // /**\n // * 背景三角形两端的大小\n // */\n // sizeRange: [number, number];\n sizeBackground?: Partial<IPathGraphicAttribute>;\n} & Omit<SliderAttributes, 'step' | 'range'> &\n LegendBaseAttributes;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/legend/size/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import { IPathGraphicAttribute } from '@visactor/vrender';\nimport { SliderAttributes } from '../../slider/type';\nimport { LegendBaseAttributes } from '../type';\n\nexport type SizeLegendAttributes = {\n // /**\n // * 背景三角形两端的大小\n // */\n // sizeRange: [number, number];\n sizeBackground?: Partial<IPathGraphicAttribute>;\n} & Omit<SliderAttributes, 'step' | 'range'> &\n LegendBaseAttributes;\n"]}
|
package/es/legend/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["legend/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import {\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender';\nimport { Padding } from '../core/type';\n\nexport type LegendTitle = {\n /**\n * 是否显示 title\n */\n visible?: boolean;\n /**\n * 标题在当前显示区域的对齐方式,起始 | 居中 | 末尾\n */\n align?: 'start' | 'center' | 'end';\n /**\n * 标题与内容的距离\n */\n space?: number;\n /**\n * 内部边距\n */\n padding?: Padding;\n /**\n * 标题内容,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n text?: string | string[] | number | number[];\n /** 标题文本样式 */\n textStyle?: Partial<ITextGraphicAttribute>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: Omit<Partial<ISymbolGraphicAttribute>, 'visible'>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<Partial<IRectGraphicAttribute>, 'visible' | 'width' | 'height'>;\n };\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n};\n\nexport type LegendBaseAttributes = IGroupGraphicAttribute & {\n /**\n * 是否禁止交互,默认为 true\n */\n interactive?: boolean;\n /**\n * 图例布局方式。\n * - 'horizontal' 水平布局\n * - 'vertical' 垂直布局\n */\n layout?: 'horizontal' | 'vertical' | string;\n /**\n * 图例标题\n */\n title?: LegendTitle;\n /**\n * 图例容器内边距, [top, right, bottom, left]\n */\n padding?: Padding;\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/legend/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import {\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender';\nimport { Padding } from '../core/type';\n\nexport type LegendTitle = {\n /**\n * 是否显示 title\n */\n visible?: boolean;\n /**\n * 标题在当前显示区域的对齐方式,起始 | 居中 | 末尾\n */\n align?: 'start' | 'center' | 'end';\n /**\n * 标题与内容的距离\n */\n space?: number;\n /**\n * 内部边距\n */\n padding?: Padding;\n /**\n * 标题内容,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n text?: string | string[] | number | number[];\n /** 标题文本样式 */\n textStyle?: Partial<ITextGraphicAttribute>;\n /** 文本前 mark 图元 */\n shape?: {\n /**\n * 是否展示 shape\n */\n visible?: boolean;\n /**\n * shape 同 文本的间距\n */\n space?: number;\n style?: Omit<Partial<ISymbolGraphicAttribute>, 'visible'>;\n };\n /**\n * 标题的背景面板配置\n */\n background?: {\n /**\n * 是否绘制背景层\n */\n visible?: boolean;\n /**\n * 背景层样式\n */\n style?: Omit<Partial<IRectGraphicAttribute>, 'visible' | 'width' | 'height'>;\n };\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n};\n\nexport type LegendBaseAttributes = IGroupGraphicAttribute & {\n /**\n * 是否禁止交互,默认为 true\n */\n interactive?: boolean;\n /**\n * 图例布局方式。\n * - 'horizontal' 水平布局\n * - 'vertical' 垂直布局\n */\n layout?: 'horizontal' | 'vertical' | string;\n /**\n * 图例标题\n */\n title?: LegendTitle;\n /**\n * 图例容器内边距, [top, right, bottom, left]\n */\n padding?: Padding;\n};\n"]}
|
package/es/link-path/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["link-path/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["export * from './link-path';\nexport * from './type';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/link-path/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["export * from './link-path';\nexport * from './type';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["link-path/link-path.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAGjD,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,OAA2B,EAAE,KAAc,EAAE,EAAE;IAC/E,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAC5F,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAE7C,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;QACjC,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;KAClC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAClC,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;QACrD,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;KACtD;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC1B,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAE1B,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,IAAI,SAAS;QAC3B,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,EAAE;QACnG,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,IAAI,SAAS;QAC7B,CAAC,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,EAAE;QACnG,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC9B,OAAO,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,YAAY,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,GAAG,cAAc,GAAG,CAAC;KAChG;IAED,OAAO,IAAI,EAAE,IAAI,GAAG;KACjB,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;IACxC,YAAY;KACX,EAAE,IAAI,GAAG;KACT,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG;IACxC,cAAc;IACd,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA2B,EAAE,KAAc,EAAE,EAAE;IAC7E,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;IACpB,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAC7C,IAAI,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,CAAC;IAC7C,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC;IAE5F,IAAI,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC9B,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;QACjC,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,SAAS,GAAG,CAAC,CAAC;KAClC;SAAM,IAAI,OAAO,CAAC,KAAK,KAAK,KAAK,EAAE;QAClC,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;QACrD,GAAG,GAAG,OAAO,CAAC,EAAE,GAAG,OAAO,CAAC,SAAS,GAAG,CAAC,GAAG,SAAS,CAAC;KACtD;IAED,IAAI,IAAI,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC;IACzB,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAC1B,IAAI,GAAG,GAAG,GAAG,GAAG,SAAS,CAAC;IAE1B,IAAI,OAAO,CAAC,KAAK,EAAE;QACjB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtB,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;KACzB;IAED,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,YAAY,GAChB,OAAO,CAAC,QAAQ,IAAI,SAAS;QAC3B,CAAC,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;QACnG,CAAC,CAAC,EAAE,CAAC;IACT,MAAM,cAAc,GAClB,OAAO,CAAC,UAAU,IAAI,SAAS;QAC7B,CAAC,CAAC,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,SAAS,IAAI,GAAG,GAAG,SAAS,GAAG,CAAC,IAAI,EAAE,EAAE;QACnG,CAAC,CAAC,EAAE,CAAC;IAET,IAAI,OAAO,CAAC,QAAQ,KAAK,KAAK,EAAE;QAC9B,OAAO,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,YAAY,IAAI,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,cAAc,GAAG,CAAC;KAChG;IACD,OAAO,IAAI,GAAG,IAAI,EAAE;KACjB,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;IACxC,YAAY;KACX,GAAG,IAAI,EAAE;KACT,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,EAAE;IACxC,cAAc;IACd,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,QAAS,SAAQ,iBAA+C;IAW3E,YAAY,UAA8B;QACxC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC,CAAC;IAC3D,CAAC;IAES,MAAM;QACd,MAAM,EAAE,SAAS,GAAG,YAAY,EAAE,GAAG,IAAI,CAAC,SAA+B,CAAC;QAC1E,MAAM,SAAS,GAAG,SAAS,KAAK,UAAU,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;QACjF,MAAM,WAAW,GACf,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,CAAC;QACrG,MAAM,aAAa,GAAG;YACpB,WAAW;YACX,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,IAAI;YACJ,WAAW;YACX,OAAO;YACP,OAAO;YACP,OAAO;YACP,UAAU;YACV,gBAAgB;SACjB,CAAC;QACF,MAAM,WAAW,GAAQ,EAAE,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACxC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;gBAChC,WAAW,CAAC,GAAG,CAAC,GAAI,IAAI,CAAC,SAAiB,CAAC,GAAG,CAAC,CAAC;aACjD;QACH,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE;YACf,MAAM,UAAU,GAAG,IAAI,CAAC,mBAAmB,CACzC,wBAAwB,EACxB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;gBAC5D,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAA+B,EAAE,CAAC,CAAC;gBACxD,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,CAAC,CAAC;aACX,CAAC,EACF,MAAM,CACE,CAAC;YACX,IAAI,CAAC,SAAS,GAAG,UAAU,CAAC;SAC7B;aAAM,IAAI,IAAI,CAAC,SAAS,EAAE;YACzB,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;SAC/C;QAED,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CACpC,mBAAmB,EACnB,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,WAAW,EAAE;YAC7B,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,SAA+B,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7F,QAAQ,EAAE,KAAK;SAChB,CAAC,EACF,MAAM,CACE,CAAC;QACX,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;;AAhEM,0BAAiB,GAAG;IACzB,SAAS,EAAE,YAAY;IACvB,KAAK,EAAE,OAAO;CACf,CAAC","file":"link-path.js","sourcesContent":["/**\n * @description 桑基图Link组件,也适用于其他有宽度的连边展示\n * @author 康晓婷\n */\nimport { IGroup, IPath } from '@visactor/vrender';\nimport { merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { LinkPathAttributes } from './type';\n\nexport const getHorizontalPath = (options: LinkPathAttributes, ratio?: number) => {\n let x0 = options.x0;\n let x1 = options.x1;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n let y00 = options.y0 - options.thickness / 2;\n let y10 = options.y1 - options.thickness / 2;\n\n if (options.align === 'center') {\n y00 = options.y0 - thickness / 2;\n y10 = options.y1 - thickness / 2;\n } else if (options.align === 'end') {\n y00 = options.y0 + options.thickness / 2 - thickness;\n y10 = options.y1 + options.thickness / 2 - thickness;\n }\n\n let midX = (x0 + x1) / 2;\n let y01 = y00 + thickness;\n let y11 = y10 + thickness;\n\n if (options.round) {\n x0 = Math.round(x0);\n x1 = Math.round(x1);\n y00 = Math.round(y00);\n y10 = Math.round(y10);\n y01 = Math.round(y01);\n y11 = Math.round(y11);\n midX = Math.round(midX);\n }\n\n const hasLength = Math.abs(x1 - x0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x1},${y10 - thickness / 2}L${x1 + thickness},${(y10 + y11) / 2}L${x1},${y11 + thickness / 2}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x0},${y01 + thickness / 2}L${x0 - thickness},${(y00 + y01) / 2}L${x0},${y00 - thickness / 2}`\n : '';\n\n if (options.isSmooth === false) {\n return `M${x0},${y00}L${x1},${y10}${endArrowPath}L${x1},${y11}L${x0},${y01}${startArrowPath}Z`;\n }\n\n return `M${x0},${y00}\n C${midX},${y00},${midX},${y10},${x1},${y10}\n ${endArrowPath}\n L${x1},${y11}\n C${midX},${y11},${midX},${y01},${x0},${y01}\n ${startArrowPath}\n Z`;\n};\n\nexport const getVerticalPath = (options: LinkPathAttributes, ratio?: number) => {\n let y0 = options.y0;\n let y1 = options.y1;\n let x00 = options.x0 - options.thickness / 2;\n let x10 = options.x1 - options.thickness / 2;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n\n if (options.align === 'center') {\n x00 = options.x0 - thickness / 2;\n x10 = options.x1 - thickness / 2;\n } else if (options.align === 'end') {\n x00 = options.x0 + options.thickness / 2 - thickness;\n x10 = options.x1 + options.thickness / 2 - thickness;\n }\n\n let midY = (y0 + y1) / 2;\n let x01 = x00 + thickness;\n let x11 = x10 + thickness;\n\n if (options.round) {\n y0 = Math.round(y0);\n y1 = Math.round(y1);\n x00 = Math.round(x00);\n x10 = Math.round(x10);\n x01 = Math.round(x01);\n x11 = Math.round(x11);\n midY = Math.round(midY);\n }\n\n const hasLength = Math.abs(y1 - y0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x10 - thickness / 2},${y1}L${(x10 + x11) / 2},${y1 + thickness}L${x11 + thickness / 2},${y1}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x01 + thickness / 2},${y0}L${(x01 + x00) / 2},${y0 - thickness}L${x00 - thickness / 2},${y0}`\n : '';\n\n if (options.isSmooth === false) {\n return `M${x00},${y0}L${x10},${y1}${endArrowPath}L${x11},${y1}L${x01},${y0}${startArrowPath}Z`;\n }\n return `M${x00},${y0}\n C${x00},${midY},${x10},${midY},${x10},${y1}\n ${endArrowPath}\n L${x11},${y1}\n C${x11},${midY},${x01},${midY},${x01},${y0}\n ${startArrowPath}\n Z`;\n};\n\nexport class LinkPath extends AbstractComponent<Required<LinkPathAttributes>> {\n static defaultAttributes = {\n direction: 'horizontal',\n align: 'start'\n };\n\n private _container!: IGroup;\n\n private _backPath?: IPath;\n private _frontPath?: IPath;\n\n constructor(attributes: LinkPathAttributes) {\n super(merge({}, LinkPath.defaultAttributes, attributes));\n }\n\n protected render() {\n const { direction = 'horizontal' } = this.attribute as LinkPathAttributes;\n const parsePath = direction === 'vertical' ? getVerticalPath : getHorizontalPath;\n const isRatioShow =\n typeof this.attribute.ratio === 'number' && this.attribute.ratio >= 0 && this.attribute.ratio <= 1;\n const groupAttrKeys = [\n 'direction',\n 'x0',\n 'x1',\n 'y0',\n 'y1',\n 'thickness',\n 'round',\n 'ratio',\n 'align',\n 'isSmooth',\n 'backgroudStyle'\n ];\n const commonStyle: any = {};\n Object.keys(this.attribute).forEach(key => {\n if (!groupAttrKeys.includes(key)) {\n commonStyle[key] = (this.attribute as any)[key];\n }\n });\n\n if (isRatioShow) {\n const background = this.createOrUpdateChild(\n 'sankey-link-background',\n Object.assign({}, commonStyle, this.attribute.backgroudStyle, {\n path: parsePath(this.attribute as LinkPathAttributes, 1),\n visible: true,\n pickable: false,\n zIndex: -1\n }),\n 'path'\n ) as IPath;\n this._backPath = background;\n } else if (this._backPath) {\n this._backPath.setAttribute('visible', false);\n }\n\n const front = this.createOrUpdateChild(\n 'sankey-link-front',\n Object.assign({}, commonStyle, {\n path: parsePath(this.attribute as LinkPathAttributes, isRatioShow ? this.attribute.ratio : 1),\n pickable: false\n }),\n 'path'\n ) as IPath;\n this._frontPath = front;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/link-path/link-path.ts"],"names":[],"mappings":"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","file":"link-path.js","sourcesContent":["/**\n * @description 桑基图Link组件,也适用于其他有宽度的连边展示\n * @author 康晓婷\n */\nimport { IGroup, IPath } from '@visactor/vrender';\nimport { merge } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { LinkPathAttributes } from './type';\n\nexport const getHorizontalPath = (options: LinkPathAttributes, ratio?: number) => {\n let x0 = options.x0;\n let x1 = options.x1;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n let y00 = options.y0 - options.thickness / 2;\n let y10 = options.y1 - options.thickness / 2;\n\n if (options.align === 'center') {\n y00 = options.y0 - thickness / 2;\n y10 = options.y1 - thickness / 2;\n } else if (options.align === 'end') {\n y00 = options.y0 + options.thickness / 2 - thickness;\n y10 = options.y1 + options.thickness / 2 - thickness;\n }\n\n let midX = (x0 + x1) / 2;\n let y01 = y00 + thickness;\n let y11 = y10 + thickness;\n\n if (options.round) {\n x0 = Math.round(x0);\n x1 = Math.round(x1);\n y00 = Math.round(y00);\n y10 = Math.round(y10);\n y01 = Math.round(y01);\n y11 = Math.round(y11);\n midX = Math.round(midX);\n }\n\n const hasLength = Math.abs(x1 - x0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x1},${y10 - thickness / 2}L${x1 + thickness},${(y10 + y11) / 2}L${x1},${y11 + thickness / 2}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x0},${y01 + thickness / 2}L${x0 - thickness},${(y00 + y01) / 2}L${x0},${y00 - thickness / 2}`\n : '';\n\n if (options.isSmooth === false) {\n return `M${x0},${y00}L${x1},${y10}${endArrowPath}L${x1},${y11}L${x0},${y01}${startArrowPath}Z`;\n }\n\n return `M${x0},${y00}\n C${midX},${y00},${midX},${y10},${x1},${y10}\n ${endArrowPath}\n L${x1},${y11}\n C${midX},${y11},${midX},${y01},${x0},${y01}\n ${startArrowPath}\n Z`;\n};\n\nexport const getVerticalPath = (options: LinkPathAttributes, ratio?: number) => {\n let y0 = options.y0;\n let y1 = options.y1;\n let x00 = options.x0 - options.thickness / 2;\n let x10 = options.x1 - options.thickness / 2;\n const thickness = typeof ratio === 'number' ? options.thickness * ratio : options.thickness;\n\n if (options.align === 'center') {\n x00 = options.x0 - thickness / 2;\n x10 = options.x1 - thickness / 2;\n } else if (options.align === 'end') {\n x00 = options.x0 + options.thickness / 2 - thickness;\n x10 = options.x1 + options.thickness / 2 - thickness;\n }\n\n let midY = (y0 + y1) / 2;\n let x01 = x00 + thickness;\n let x11 = x10 + thickness;\n\n if (options.round) {\n y0 = Math.round(y0);\n y1 = Math.round(y1);\n x00 = Math.round(x00);\n x10 = Math.round(x10);\n x01 = Math.round(x01);\n x11 = Math.round(x11);\n midY = Math.round(midY);\n }\n\n const hasLength = Math.abs(y1 - y0) > 1e-6;\n const endArrowPath =\n options.endArrow && hasLength\n ? `L${x10 - thickness / 2},${y1}L${(x10 + x11) / 2},${y1 + thickness}L${x11 + thickness / 2},${y1}`\n : '';\n const startArrowPath =\n options.startArrow && hasLength\n ? `L${x01 + thickness / 2},${y0}L${(x01 + x00) / 2},${y0 - thickness}L${x00 - thickness / 2},${y0}`\n : '';\n\n if (options.isSmooth === false) {\n return `M${x00},${y0}L${x10},${y1}${endArrowPath}L${x11},${y1}L${x01},${y0}${startArrowPath}Z`;\n }\n return `M${x00},${y0}\n C${x00},${midY},${x10},${midY},${x10},${y1}\n ${endArrowPath}\n L${x11},${y1}\n C${x11},${midY},${x01},${midY},${x01},${y0}\n ${startArrowPath}\n Z`;\n};\n\nexport class LinkPath extends AbstractComponent<Required<LinkPathAttributes>> {\n static defaultAttributes = {\n direction: 'horizontal',\n align: 'start'\n };\n\n private _container!: IGroup;\n\n private _backPath?: IPath;\n private _frontPath?: IPath;\n\n constructor(attributes: LinkPathAttributes) {\n super(merge({}, LinkPath.defaultAttributes, attributes));\n }\n\n protected render() {\n const { direction = 'horizontal' } = this.attribute as LinkPathAttributes;\n const parsePath = direction === 'vertical' ? getVerticalPath : getHorizontalPath;\n const isRatioShow =\n typeof this.attribute.ratio === 'number' && this.attribute.ratio >= 0 && this.attribute.ratio <= 1;\n const groupAttrKeys = [\n 'direction',\n 'x0',\n 'x1',\n 'y0',\n 'y1',\n 'thickness',\n 'round',\n 'ratio',\n 'align',\n 'isSmooth',\n 'backgroudStyle'\n ];\n const commonStyle: any = {};\n Object.keys(this.attribute).forEach(key => {\n if (!groupAttrKeys.includes(key)) {\n commonStyle[key] = (this.attribute as any)[key];\n }\n });\n\n if (isRatioShow) {\n const background = this.createOrUpdateChild(\n 'sankey-link-background',\n Object.assign({}, commonStyle, this.attribute.backgroudStyle, {\n path: parsePath(this.attribute as LinkPathAttributes, 1),\n visible: true,\n pickable: false,\n zIndex: -1\n }),\n 'path'\n ) as IPath;\n this._backPath = background;\n } else if (this._backPath) {\n this._backPath.setAttribute('visible', false);\n }\n\n const front = this.createOrUpdateChild(\n 'sankey-link-front',\n Object.assign({}, commonStyle, {\n path: parsePath(this.attribute as LinkPathAttributes, isRatioShow ? this.attribute.ratio : 1),\n pickable: false\n }),\n 'path'\n ) as IPath;\n this._frontPath = front;\n }\n}\n"]}
|
package/es/link-path/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["link-path/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, IGraphicAttribute } from '@visactor/vrender';\nimport type { Direction } from '../interface';\n\nexport interface LinkPathAttributes extends IGroupGraphicAttribute {\n /**\n * 滚动条的布局方向,默认为 `horizontal`,水平布局。\n * @default horizontal\n */\n direction?: Direction;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n thickness: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n align?: 'start' | 'end' | 'center';\n isSmooth?: boolean;\n backgroudStyle?: Partial<IGraphicAttribute>;\n endArrow?: boolean;\n startArrow?: boolean;\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/link-path/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type { IGroupGraphicAttribute, IGraphicAttribute } from '@visactor/vrender';\nimport type { Direction } from '../interface';\n\nexport interface LinkPathAttributes extends IGroupGraphicAttribute {\n /**\n * 滚动条的布局方向,默认为 `horizontal`,水平布局。\n * @default horizontal\n */\n direction?: Direction;\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n thickness: number;\n /** round all the coordinates */\n round?: boolean;\n /** the ratio of normal style path */\n ratio?: number;\n align?: 'start' | 'end' | 'center';\n isSmooth?: boolean;\n backgroudStyle?: Partial<IGraphicAttribute>;\n endArrow?: boolean;\n startArrow?: boolean;\n}\n"]}
|
package/es/marker/area.d.ts
CHANGED
|
@@ -28,26 +28,7 @@ export declare class MarkArea extends Marker<MarkAreaAttrs> {
|
|
|
28
28
|
};
|
|
29
29
|
private _area;
|
|
30
30
|
constructor(attributes: MarkAreaAttrs);
|
|
31
|
-
|
|
32
|
-
x: number;
|
|
33
|
-
y: number;
|
|
34
|
-
};
|
|
35
|
-
protected getRightPos(): {
|
|
36
|
-
x: number;
|
|
37
|
-
y: number;
|
|
38
|
-
};
|
|
39
|
-
protected getTopPos(): {
|
|
40
|
-
x: number;
|
|
41
|
-
y: number;
|
|
42
|
-
};
|
|
43
|
-
protected getBottomPos(): {
|
|
44
|
-
x: number;
|
|
45
|
-
y: number;
|
|
46
|
-
};
|
|
47
|
-
protected getMiddlePos(): {
|
|
48
|
-
x: number;
|
|
49
|
-
y: number;
|
|
50
|
-
};
|
|
31
|
+
private _getPositionByDirection;
|
|
51
32
|
protected setLabelPos(): void;
|
|
52
33
|
protected initMarker(container: IGroup): void;
|
|
53
34
|
protected updateMarker(): void;
|
package/es/marker/area.js
CHANGED
|
@@ -8,47 +8,47 @@ import { Marker } from "./base";
|
|
|
8
8
|
|
|
9
9
|
import { DEFAULT_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from "./config";
|
|
10
10
|
|
|
11
|
+
import { limitShapeInBounds } from "../util/limit-shape";
|
|
12
|
+
|
|
11
13
|
export class MarkArea extends Marker {
|
|
12
14
|
constructor(attributes) {
|
|
13
15
|
super(merge({}, MarkArea.defaultAttributes, attributes));
|
|
14
16
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
getBottomPos() {
|
|
34
|
-
return {
|
|
35
|
-
x: (this._area.AABBBounds.x1 + this._area.AABBBounds.x2) / 2,
|
|
36
|
-
y: this._area.AABBBounds.y2
|
|
37
|
-
};
|
|
38
|
-
}
|
|
39
|
-
getMiddlePos() {
|
|
40
|
-
return {
|
|
41
|
-
x: (this._area.AABBBounds.x1 + this._area.AABBBounds.x2) / 2,
|
|
42
|
-
y: (this._area.AABBBounds.y1 + this._area.AABBBounds.y2) / 2
|
|
17
|
+
_getPositionByDirection(area, direction) {
|
|
18
|
+
const {x1: x1, x2: x2, y1: y1, y2: y2} = this._area.AABBBounds;
|
|
19
|
+
return direction.includes("left") || direction.includes("Left") ? {
|
|
20
|
+
x: x1,
|
|
21
|
+
y: (y1 + y2) / 2
|
|
22
|
+
} : direction.includes("right") || direction.includes("Right") ? {
|
|
23
|
+
x: x2,
|
|
24
|
+
y: (y1 + y2) / 2
|
|
25
|
+
} : direction.includes("top") || direction.includes("Top") ? {
|
|
26
|
+
x: (x1 + x2) / 2,
|
|
27
|
+
y: y1
|
|
28
|
+
} : direction.includes("bottom") || direction.includes("Bottom") ? {
|
|
29
|
+
x: (x1 + x2) / 2,
|
|
30
|
+
y: y2
|
|
31
|
+
} : {
|
|
32
|
+
x: (x1 + x2) / 2,
|
|
33
|
+
y: (y1 + y2) / 2
|
|
43
34
|
};
|
|
44
35
|
}
|
|
45
36
|
setLabelPos() {
|
|
46
|
-
var _a
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
37
|
+
var _a;
|
|
38
|
+
if (this._label && this._area) {
|
|
39
|
+
const {label: label} = this.attribute, labelPosition = null !== (_a = null == label ? void 0 : label.position) && void 0 !== _a ? _a : "middle", labelPoint = this._getPositionByDirection(this._area, labelPosition);
|
|
40
|
+
if (this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), {
|
|
41
|
+
textStyle: Object.assign(Object.assign({}, DEFAULT_MARK_AREA_TEXT_STYLE_MAP[labelPosition]), label.textStyle)
|
|
42
|
+
})), this.attribute.limitRect && (null == label ? void 0 : label.confine)) {
|
|
43
|
+
const {x: x, y: y, width: width, height: height} = this.attribute.limitRect;
|
|
44
|
+
limitShapeInBounds(this._label, {
|
|
45
|
+
x1: x,
|
|
46
|
+
y1: y,
|
|
47
|
+
x2: x + width,
|
|
48
|
+
y2: y + height
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
52
|
}
|
|
53
53
|
initMarker(container) {
|
|
54
54
|
const {points: points, label: label, areaStyle: areaStyle} = this.attribute, area = createPolygon(Object.assign({
|
|
@@ -64,8 +64,10 @@ export class MarkArea extends Marker {
|
|
|
64
64
|
const {points: points, label: label, areaStyle: areaStyle} = this.attribute;
|
|
65
65
|
null === (_a = this._area) || void 0 === _a || _a.setAttributes(Object.assign({
|
|
66
66
|
points: points
|
|
67
|
-
}, areaStyle)), null === (_b = this._label) || void 0 === _b || _b.setAttributes(Object.assign({
|
|
68
|
-
|
|
67
|
+
}, areaStyle)), null === (_b = this._label) || void 0 === _b || _b.setAttributes(Object.assign({
|
|
68
|
+
dx: 0,
|
|
69
|
+
dy: 0
|
|
70
|
+
}, label)), this.setLabelPos();
|
|
69
71
|
}
|
|
70
72
|
}
|
|
71
73
|
|
package/es/marker/area.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["marker/area.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAC;AAC7B,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,gCAAgC,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/marker/area.ts"],"names":[],"mappings":"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","file":"area.js","sourcesContent":["import type { IGroup, INode, IPolygon } from '@visactor/vrender';\nimport { createPolygon } from '@visactor/vrender';\nimport { merge } from '@visactor/vutils';\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_AREA_TEXT_STYLE_MAP, DEFAULT_MARK_AREA_THEME } from './config';\nimport type { MarkAreaAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\n\nexport class MarkArea extends Marker<MarkAreaAttrs> {\n static defaultAttributes = DEFAULT_MARK_AREA_THEME;\n private _area!: IPolygon;\n\n constructor(attributes: MarkAreaAttrs) {\n super(merge({}, MarkArea.defaultAttributes, attributes));\n }\n\n private _getPositionByDirection(area: IPolygon, direction: string) {\n const { x1, x2, y1, y2 } = this._area.AABBBounds;\n\n if (direction.includes('left') || direction.includes('Left')) {\n return {\n x: x1,\n y: (y1 + y2) / 2\n };\n }\n if (direction.includes('right') || direction.includes('Right')) {\n return {\n x: x2,\n y: (y1 + y2) / 2\n };\n }\n if (direction.includes('top') || direction.includes('Top')) {\n return {\n x: (x1 + x2) / 2,\n y: y1\n };\n }\n if (direction.includes('bottom') || direction.includes('Bottom')) {\n return {\n x: (x1 + x2) / 2,\n y: y2\n };\n }\n\n return {\n x: (x1 + x2) / 2,\n y: (y1 + y2) / 2\n };\n }\n\n protected setLabelPos() {\n if (this._label && this._area) {\n const { label } = this.attribute as MarkAreaAttrs;\n const labelPosition = label?.position ?? 'middle';\n const labelPoint = this._getPositionByDirection(this._area, labelPosition);\n this._label.setAttributes({\n ...labelPoint,\n textStyle: {\n ...DEFAULT_MARK_AREA_TEXT_STYLE_MAP[labelPosition],\n ...label.textStyle\n }\n });\n\n if (this.attribute.limitRect && label?.confine) {\n const { x, y, width, height } = this.attribute.limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n }\n\n protected initMarker(container: IGroup) {\n const { points, label, areaStyle } = this.attribute as MarkAreaAttrs;\n const area = createPolygon({\n points: points,\n ...areaStyle\n });\n area.name = 'mark-area-area';\n this._area = area;\n container.add(area);\n\n const markLabel = new Tag({\n ...label\n });\n markLabel.name = 'mark-area-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { points, label, areaStyle } = this.attribute as MarkAreaAttrs;\n this._area?.setAttributes({\n points: points,\n ...areaStyle\n });\n this._label?.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...label\n });\n this.setLabelPos();\n }\n}\n"]}
|
package/es/marker/base.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { AbstractComponent } from '../core/base';
|
|
|
3
3
|
import type { Tag } from '../tag';
|
|
4
4
|
import type { MarkerAttrs } from './type';
|
|
5
5
|
export declare abstract class Marker<T extends MarkerAttrs> extends AbstractComponent<Required<T>> {
|
|
6
|
+
name: string;
|
|
6
7
|
private _containerClip;
|
|
7
8
|
private _container;
|
|
8
9
|
protected _label: Tag;
|
package/es/marker/base.js
CHANGED
|
@@ -1,36 +1,44 @@
|
|
|
1
1
|
import { createGroup } from "@visactor/vrender";
|
|
2
2
|
|
|
3
|
-
import { isValid } from "@visactor/vutils";
|
|
4
|
-
|
|
5
3
|
import { AbstractComponent } from "../core/base";
|
|
6
4
|
|
|
7
5
|
export class Marker extends AbstractComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments), this.name = "marker";
|
|
8
|
+
}
|
|
8
9
|
_initContainer() {
|
|
9
|
-
var _a, _b
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
10
|
+
var _a, _b;
|
|
11
|
+
const {limitRect: limitRect, clipInRange: clipInRange} = this.attribute;
|
|
12
|
+
let group;
|
|
13
|
+
if (clipInRange) {
|
|
14
|
+
const groupClip = createGroup(Object.assign(Object.assign({}, limitRect), {
|
|
15
|
+
clip: !0,
|
|
16
|
+
pickable: !1
|
|
17
|
+
}));
|
|
18
|
+
group = createGroup({
|
|
19
|
+
x: -(null !== (_a = null == limitRect ? void 0 : limitRect.x) && void 0 !== _a ? _a : 0),
|
|
20
|
+
y: -(null !== (_b = null == limitRect ? void 0 : limitRect.y) && void 0 !== _b ? _b : 0)
|
|
21
|
+
}), groupClip.add(group), this._containerClip = groupClip, this.add(groupClip);
|
|
22
|
+
} else group = createGroup({
|
|
23
|
+
x: 0,
|
|
24
|
+
y: 0
|
|
25
|
+
}), this.add(group);
|
|
26
|
+
group.name = "marker-container", this._container = group;
|
|
19
27
|
}
|
|
20
28
|
_updateContainer() {
|
|
21
|
-
var _a, _b, _c
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
x: -(null !== (
|
|
26
|
-
y: -(null !== (
|
|
29
|
+
var _a, _b, _c;
|
|
30
|
+
const {limitRect: limitRect, clipInRange: clipInRange} = this.attribute;
|
|
31
|
+
null === (_a = this._containerClip) || void 0 === _a || _a.setAttributes(Object.assign({}, limitRect)),
|
|
32
|
+
this._container.setAttributes({
|
|
33
|
+
x: clipInRange ? -(null !== (_b = null == limitRect ? void 0 : limitRect.x) && void 0 !== _b ? _b : 0) : 0,
|
|
34
|
+
y: clipInRange ? -(null !== (_c = null == limitRect ? void 0 : limitRect.y) && void 0 !== _c ? _c : 0) : 0
|
|
27
35
|
});
|
|
28
36
|
}
|
|
29
37
|
render() {
|
|
30
38
|
var _a, _b;
|
|
31
39
|
const markerVisible = null === (_a = this.attribute.visible) || void 0 === _a || _a;
|
|
32
40
|
null !== (_b = this.attribute.interactive) && void 0 !== _b && _b || (this.setAttribute("pickable", !1),
|
|
33
|
-
this.setAttribute("childrenPickable", !1)), markerVisible && (this.
|
|
41
|
+
this.setAttribute("childrenPickable", !1)), markerVisible && (this._container ? (this._updateContainer(),
|
|
34
42
|
this.updateMarker()) : (this._initContainer(), this.initMarker(this._container)));
|
|
35
43
|
}
|
|
36
44
|
}
|
package/es/marker/base.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["marker/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"sources":["../src/marker/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAIjD,MAAM,OAAgB,MAA8B,SAAQ,iBAA8B;IAA1F;;QACE,SAAI,GAAG,QAAQ,CAAC;IAoElB,CAAC;IA1DS,cAAc;;QACpB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,IAAI,KAAK,CAAC;QACV,IAAI,WAAW,EAAE;YAEf,MAAM,SAAS,GAAG,WAAW,iCACxB,SAAS,KACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,KAAK,IACf,CAAC;YACH,KAAK,GAAG,WAAW,CAAC;gBAClB,CAAC,EAAE,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAC,mCAAI,CAAC,CAAC;gBACvB,CAAC,EAAE,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAC,mCAAI,CAAC,CAAC;aACxB,CAAC,CAAC;YACH,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrB,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;YAChC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;SACrB;aAAM;YACL,KAAK,GAAG,WAAW,CAAC;gBAClB,CAAC,EAAE,CAAC;gBACJ,CAAC,EAAE,CAAC;aACL,CAAC,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACjB;QACD,KAAK,CAAC,IAAI,GAAG,kBAAkB,CAAC;QAChC,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;IAC1B,CAAC;IAEO,gBAAgB;;QACtB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;QAClD,MAAA,IAAI,CAAC,cAAc,0CAAE,aAAa,mBAC7B,SAAS,EACZ,CAAC;QACH,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC;YAC5B,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACzC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,CAAC,mCAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;IAES,MAAM;;QACd,MAAM,aAAa,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,OAAO,mCAAI,IAAI,CAAC;QACrD,MAAM,iBAAiB,GAAG,MAAA,IAAI,CAAC,SAAS,CAAC,WAAW,mCAAI,KAAK,CAAC;QAE9D,IAAI,CAAC,iBAAiB,EAAE;YACtB,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;YACrC,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;SAC9C;QAED,IAAI,aAAa,EAAE;YACjB,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;gBACtB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;aAClC;iBAAM;gBACL,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,EAAE,CAAC;aACrB;SACF;IACH,CAAC;CACF","file":"base.js","sourcesContent":["import type { IGroup } from '@visactor/vrender';\nimport { createGroup } from '@visactor/vrender';\nimport { isValid } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { Tag } from '../tag';\nimport type { MarkerAttrs } from './type';\n\nexport abstract class Marker<T extends MarkerAttrs> extends AbstractComponent<Required<T>> {\n name = 'marker';\n private _containerClip!: IGroup;\n private _container!: IGroup;\n\n protected _label!: Tag;\n\n protected abstract setLabelPos(): any;\n protected abstract initMarker(container: IGroup): any;\n protected abstract updateMarker(): any;\n\n private _initContainer() {\n const { limitRect, clipInRange } = this.attribute;\n let group;\n if (clipInRange) {\n // 如果用户配置了剪切\n const groupClip = createGroup({\n ...limitRect,\n clip: true,\n pickable: false\n });\n group = createGroup({\n x: -(limitRect?.x ?? 0),\n y: -(limitRect?.y ?? 0)\n });\n groupClip.add(group);\n this._containerClip = groupClip;\n this.add(groupClip);\n } else {\n group = createGroup({\n x: 0,\n y: 0\n });\n this.add(group);\n }\n group.name = 'marker-container';\n this._container = group;\n }\n\n private _updateContainer() {\n const { limitRect, clipInRange } = this.attribute;\n this._containerClip?.setAttributes({\n ...limitRect\n });\n this._container.setAttributes({\n x: clipInRange ? -(limitRect?.x ?? 0) : 0,\n y: clipInRange ? -(limitRect?.y ?? 0) : 0\n });\n }\n\n protected render() {\n const markerVisible = this.attribute.visible ?? true;\n const markerInteractive = this.attribute.interactive ?? false;\n\n if (!markerInteractive) {\n this.setAttribute('pickable', false);\n this.setAttribute('childrenPickable', false);\n }\n\n if (markerVisible) {\n if (!this._container) {\n this._initContainer();\n this.initMarker(this._container);\n } else {\n this._updateContainer();\n this.updateMarker();\n }\n }\n }\n}\n"]}
|
package/es/marker/config.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TextAlignType, TextBaselineType } from '@visactor/vrender';
|
|
1
|
+
import type { TextAlignType, TextBaselineType } from '@visactor/vrender';
|
|
2
2
|
import { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';
|
|
3
3
|
export declare const DEFAULT_MARK_LINE_THEME: {
|
|
4
4
|
startSymbol: {
|
package/es/marker/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["marker/config.ts"],"names":[],"mappings":"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","file":"config.js","sourcesContent":["import { TextAlignType, TextBaselineType } from '@visactor/vrender';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';\n\nexport const DEFAULT_MARK_LINE_THEME = {\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n start: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/marker/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AAExE,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,WAAW,EAAE;QACX,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC;KACb;IACD,SAAS,EAAE;QACT,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,UAAU;QACtB,IAAI,EAAE,EAAE;QACR,IAAI,EAAE,kBAAkB;QACxB,SAAS,EAAE,CAAC;KACb;IACD,KAAK,EAAE;QACL,QAAQ,EAAE,sBAAsB,CAAC,GAAG;QACpC,IAAI,EAAE,CAAC;QACP,IAAI,EAAE,CAAC;QACP,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,QAAQ;SACpB;QACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrB,KAAK,EAAE;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,CAAC;YACf,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,GAAG;SACjB;KACF;IACD,SAAS,EAAE;QACT,MAAM,EAAE,SAAS;QACjB,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC,CAAC,CAAC;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAKzC;IACF,KAAK,EAAE;QACL,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;IACD,cAAc,EAAE;QACd,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,iBAAiB,EAAE;QACjB,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK;KACpB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;KACvB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;KACvB;IACD,kBAAkB,EAAE;QAClB,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,KAAK;KACpB;IAED,GAAG,EAAE;QACH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;IACD,eAAe,EAAE;QACf,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,KAAK;KACpB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE;QACL,QAAQ,EAAE,sBAAsB,CAAC,KAAK;QACtC,SAAS,EAAE;YACT,IAAI,EAAE,MAAM;YACZ,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;YACZ,QAAQ,EAAE,EAAE;YACZ,UAAU,EAAE,QAAQ;YACpB,SAAS,EAAE,QAAQ;SACpB;QACD,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACrB,KAAK,EAAE;YACL,OAAO,EAAE,IAAI;YACb,YAAY,EAAE,CAAC;YACf,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,GAAG;SACjB;KACF;IACD,SAAS,EAAE;QACT,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,IAAI;KACd;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,gCAAgC,GAKzC;IACF,IAAI,EAAE;QACJ,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IAED,KAAK,EAAE;QACL,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,WAAW,EAAE;QACX,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;IAED,GAAG,EAAE;QACH,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;KACvB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,KAAK;KACpB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;KACvB;IAED,MAAM,EAAE;QACN,SAAS,EAAE,QAAQ;QACnB,YAAY,EAAE,QAAQ;KACvB;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,QAAQ,EAAE;QACR,OAAO,EAAE,IAAI;QACb,cAAc,EAAE;YACd,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,EAAE;SACX;QACD,WAAW,EAAE;YACX,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,QAAQ;YACpB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,kBAAkB;aAC3B;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,IAAI;YACV,UAAU,EAAE,UAAU;YACtB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE;gBACL,IAAI,EAAE,KAAK;gBACX,MAAM,EAAE,kBAAkB;aAC3B;SACF;QACD,SAAS,EAAE;YACT,MAAM,EAAE,MAAM;YACd,SAAS,EAAE,CAAC;SACb;KACF;IACD,WAAW,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,QAAQ,EAAE,QAAQ;QAClB,IAAI,EAAE,EAAE;QACR,WAAW,EAAE;YACX,UAAU,EAAE,MAAM;YAClB,IAAI,EAAE,mBAAmB;YACzB,WAAW,EAAE,GAAG;YAChB,IAAI,EAAE,EAAE;SACT;QACD,SAAS,EAAE;YACT,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;SACN;QACD,UAAU,EAAE;YACV,KAAK,EAAE,EAAE;YACT,MAAM,EAAE,EAAE;SACX;QACD,aAAa,EAAE;YACb,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,GAAG;SACZ;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,iCAAiC,GAK1C;IACF,GAAG,EAAE;QACH,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,KAAK;KACpB;IACD,MAAM,EAAE;QACN,SAAS,EAAE,MAAM;QACjB,YAAY,EAAE,QAAQ;KACvB;IACD,SAAS,EAAE;QACT,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,KAAK;KACpB;IACD,YAAY,EAAE;QACZ,SAAS,EAAE,OAAO;QAClB,YAAY,EAAE,QAAQ;KACvB;CACF,CAAC","file":"config.js","sourcesContent":["import type { TextAlignType, TextBaselineType } from '@visactor/vrender';\nimport { IMarkAreaLabelPosition, IMarkLineLabelPosition } from './type';\n\nexport const DEFAULT_MARK_LINE_THEME = {\n startSymbol: {\n visible: false,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n endSymbol: {\n visible: true,\n symbolType: 'triangle',\n size: 12,\n fill: 'rgba(46, 47, 50)',\n lineWidth: 0\n },\n label: {\n position: IMarkLineLabelPosition.end,\n refX: 0,\n refY: 0,\n refAngle: 0,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n lineStyle: {\n stroke: '#b2bacf',\n lineWidth: 1,\n lineDash: [2]\n }\n};\n\nexport const DEFAULT_MARK_LINE_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n start: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideStartTop: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n insideStartBottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n },\n insideMiddleTop: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideMiddleBottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n end: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideEndTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideEndBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n }\n};\n\nexport const DEFAULT_MARK_AREA_THEME = {\n label: {\n position: IMarkAreaLabelPosition.right,\n textStyle: {\n fill: '#fff',\n stroke: '#fff',\n lineWidth: 0,\n fontSize: 10,\n fontWeight: 'normal',\n fontStyle: 'normal'\n },\n padding: [2, 2, 4, 4],\n panel: {\n visible: true,\n cornerRadius: 0,\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8\n }\n },\n areaStyle: {\n fill: '#b2bacf',\n visible: true\n }\n};\n\nexport const DEFAULT_MARK_AREA_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n left: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n insideLeft: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n\n right: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideRight: {\n textAlign: 'right',\n textBaseline: 'middle'\n },\n\n top: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n insideTop: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n\n bottom: {\n textAlign: 'center',\n textBaseline: 'top'\n },\n insideBottom: {\n textAlign: 'center',\n textBaseline: 'bottom'\n },\n\n middle: {\n textAlign: 'center',\n textBaseline: 'middle'\n }\n};\n\nexport const DEFAULT_MARK_POINT_THEME = {\n itemLine: {\n visible: true,\n decorativeLine: {\n visible: false,\n length: 30\n },\n startSymbol: {\n visible: true,\n clip: true,\n symbolType: 'circle',\n size: 20,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n endSymbol: {\n visible: false,\n clip: true,\n symbolType: 'triangle',\n size: 12,\n style: {\n fill: false,\n stroke: 'rgba(46, 47, 50)'\n }\n },\n lineStyle: {\n stroke: '#000',\n lineWidth: 1\n }\n },\n itemContent: {\n type: 'text',\n position: 'middle',\n refX: 10,\n symbolStyle: {\n symbolType: 'star',\n fill: 'rgb(48, 115, 242)',\n fillOpacity: 0.8,\n size: 20\n },\n textStyle: {\n dx: 0,\n dy: 0\n },\n imageStyle: {\n width: 80,\n height: 80\n },\n richTextStyle: {\n width: 100,\n height: 100\n }\n }\n};\n\nexport const DEFAULT_MARK_POINT_TEXT_STYLE_MAP: {\n [K: string]: {\n textAlign: TextAlignType;\n textBaseline: TextBaselineType;\n };\n} = {\n top: {\n textAlign: 'left',\n textBaseline: 'bottom'\n },\n bottom: {\n textAlign: 'left',\n textBaseline: 'top'\n },\n middle: {\n textAlign: 'left',\n textBaseline: 'middle'\n },\n insideTop: {\n textAlign: 'right',\n textBaseline: 'bottom'\n },\n insideBottom: {\n textAlign: 'right',\n textBaseline: 'top'\n },\n insideMiddle: {\n textAlign: 'right',\n textBaseline: 'middle'\n }\n};\n"]}
|
package/es/marker/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["marker/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './type';\nexport * from './line';\nexport * from './area';\nexport * from './point';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/marker/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,QAAQ,CAAC;AACvB,cAAc,SAAS,CAAC","file":"index.js","sourcesContent":["export * from './type';\nexport * from './line';\nexport * from './area';\nexport * from './point';\n"]}
|
package/es/marker/line.js
CHANGED
|
@@ -8,33 +8,46 @@ import { Marker } from "./base";
|
|
|
8
8
|
|
|
9
9
|
import { DEFAULT_MARK_LINE_THEME, DEFAULT_MARK_LINE_TEXT_STYLE_MAP } from "./config";
|
|
10
10
|
|
|
11
|
+
import { limitShapeInBounds } from "../util/limit-shape";
|
|
12
|
+
|
|
11
13
|
export class MarkLine extends Marker {
|
|
12
14
|
constructor(attributes) {
|
|
13
15
|
super(merge({}, MarkLine.defaultAttributes, attributes));
|
|
14
16
|
}
|
|
15
17
|
setLabelPos() {
|
|
16
|
-
var _a, _b
|
|
17
|
-
const {
|
|
18
|
-
|
|
18
|
+
var _a, _b;
|
|
19
|
+
const {label: label = {}, limitRect: limitRect} = this.attribute, {position: position = "end", refX: refX = 0, refY: refY = 0, confine: confine} = label, points = this._line.getMainSegmentPoints(), labelAngle = null !== (_a = this._line.getEndAngle()) && void 0 !== _a ? _a : 0, labelOffsetX = refX * Math.cos(labelAngle) + refY * Math.cos(labelAngle - Math.PI / 2), labelOffsetY = refX * Math.sin(labelAngle) + refY * Math.sin(labelAngle - Math.PI / 2);
|
|
20
|
+
let labelPoint;
|
|
21
|
+
if (labelPoint = position.includes("start") || position.includes("Start") ? {
|
|
19
22
|
x: points[0].x + labelOffsetX,
|
|
20
23
|
y: points[0].y + labelOffsetY
|
|
21
|
-
}
|
|
24
|
+
} : position.includes("middle") || position.includes("Middle") ? {
|
|
22
25
|
x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,
|
|
23
26
|
y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY
|
|
24
|
-
}
|
|
27
|
+
} : {
|
|
25
28
|
x: points[points.length - 1].x + labelOffsetX,
|
|
26
29
|
y: points[points.length - 1].y + labelOffsetY
|
|
27
|
-
}
|
|
28
|
-
angle: label.autoRotate
|
|
29
|
-
textStyle: Object.assign(Object.assign({}, DEFAULT_MARK_LINE_TEXT_STYLE_MAP[
|
|
30
|
-
})
|
|
30
|
+
}, this._label.setAttributes(Object.assign(Object.assign({}, labelPoint), {
|
|
31
|
+
angle: label.autoRotate ? labelAngle + (null !== (_b = null == label ? void 0 : label.refAngle) && void 0 !== _b ? _b : 0) : 0,
|
|
32
|
+
textStyle: Object.assign(Object.assign({}, DEFAULT_MARK_LINE_TEXT_STYLE_MAP[position]), label.textStyle)
|
|
33
|
+
})), limitRect && confine) {
|
|
34
|
+
const {x: x, y: y, width: width, height: height} = limitRect;
|
|
35
|
+
limitShapeInBounds(this._label, {
|
|
36
|
+
x1: x,
|
|
37
|
+
y1: y,
|
|
38
|
+
x2: x + width,
|
|
39
|
+
y2: y + height
|
|
40
|
+
});
|
|
41
|
+
}
|
|
31
42
|
}
|
|
32
43
|
initMarker(container) {
|
|
33
|
-
const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle} = this.attribute, line = new Segment({
|
|
44
|
+
const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute, line = new Segment({
|
|
34
45
|
points: points,
|
|
35
46
|
startSymbol: startSymbol,
|
|
36
47
|
endSymbol: endSymbol,
|
|
37
|
-
lineStyle: lineStyle
|
|
48
|
+
lineStyle: lineStyle,
|
|
49
|
+
mainSegmentIndex: mainSegmentIndex,
|
|
50
|
+
multiSegment: multiSegment
|
|
38
51
|
});
|
|
39
52
|
line.name = "mark-line-line", this._line = line, container.add(line);
|
|
40
53
|
const markLabel = new Tag(Object.assign({}, label));
|
|
@@ -43,14 +56,18 @@ export class MarkLine extends Marker {
|
|
|
43
56
|
}
|
|
44
57
|
updateMarker() {
|
|
45
58
|
var _a, _b;
|
|
46
|
-
const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle} = this.attribute;
|
|
59
|
+
const {points: points, startSymbol: startSymbol, endSymbol: endSymbol, label: label, lineStyle: lineStyle, mainSegmentIndex: mainSegmentIndex, multiSegment: multiSegment} = this.attribute;
|
|
47
60
|
null === (_a = this._line) || void 0 === _a || _a.setAttributes({
|
|
48
61
|
points: points,
|
|
49
62
|
startSymbol: startSymbol,
|
|
50
63
|
endSymbol: endSymbol,
|
|
51
|
-
lineStyle: lineStyle
|
|
52
|
-
|
|
53
|
-
|
|
64
|
+
lineStyle: lineStyle,
|
|
65
|
+
mainSegmentIndex: mainSegmentIndex,
|
|
66
|
+
multiSegment: multiSegment
|
|
67
|
+
}), null === (_b = this._label) || void 0 === _b || _b.setAttributes(Object.assign({
|
|
68
|
+
dx: 0,
|
|
69
|
+
dy: 0
|
|
70
|
+
}, label)), this.setLabelPos();
|
|
54
71
|
}
|
|
55
72
|
}
|
|
56
73
|
|
package/es/marker/line.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["marker/line.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"sources":["../src/marker/line.ts"],"names":[],"mappings":"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","file":"line.js","sourcesContent":["import type { IGroup, INode } from '@visactor/vrender';\nimport { flattenArray, isValidNumber, merge } from '@visactor/vutils';\nimport { Segment } from '../segment';\nimport { Tag } from '../tag';\nimport { Marker } from './base';\nimport { DEFAULT_MARK_LINE_THEME, DEFAULT_MARK_LINE_TEXT_STYLE_MAP } from './config';\nimport type { MarkLineAttrs } from './type';\nimport { limitShapeInBounds } from '../util/limit-shape';\nimport type { Point } from '../core/type';\n\nexport class MarkLine extends Marker<MarkLineAttrs> {\n static defaultAttributes: Partial<MarkLineAttrs> = DEFAULT_MARK_LINE_THEME;\n\n private _line!: Segment;\n\n constructor(attributes: MarkLineAttrs) {\n super(merge({}, MarkLine.defaultAttributes, attributes));\n }\n\n protected setLabelPos() {\n const { label = {}, limitRect } = this.attribute as MarkLineAttrs;\n const { position = 'end', refX = 0, refY = 0, confine } = label;\n const points = this._line.getMainSegmentPoints();\n const labelAngle = this._line.getEndAngle() ?? 0;\n const labelOffsetX = refX * Math.cos(labelAngle) + refY * Math.cos(labelAngle - Math.PI / 2);\n const labelOffsetY = refX * Math.sin(labelAngle) + refY * Math.sin(labelAngle - Math.PI / 2);\n let labelPoint: Point;\n if (position.includes('start') || position.includes('Start')) {\n labelPoint = {\n x: points[0].x + labelOffsetX,\n y: points[0].y + labelOffsetY\n };\n } else if (position.includes('middle') || position.includes('Middle')) {\n labelPoint = {\n x: (points[0].x + points[points.length - 1].x) / 2 + labelOffsetX,\n y: (points[0].y + points[points.length - 1].y) / 2 + labelOffsetY\n };\n } else {\n labelPoint = {\n x: points[points.length - 1].x + labelOffsetX,\n y: points[points.length - 1].y + labelOffsetY\n };\n }\n this._label.setAttributes({\n ...labelPoint,\n angle: label.autoRotate ? labelAngle + (label?.refAngle ?? 0) : 0,\n textStyle: {\n ...DEFAULT_MARK_LINE_TEXT_STYLE_MAP[position],\n ...label.textStyle\n }\n });\n if (limitRect && confine) {\n const { x, y, width, height } = limitRect;\n limitShapeInBounds(this._label, {\n x1: x,\n y1: y,\n x2: x + width,\n y2: y + height\n });\n }\n }\n\n protected initMarker(container: IGroup) {\n const { points, startSymbol, endSymbol, label, lineStyle, mainSegmentIndex, multiSegment } = this\n .attribute as MarkLineAttrs;\n const line = new Segment({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment\n });\n line.name = 'mark-line-line';\n this._line = line;\n container.add(line as unknown as INode);\n\n const markLabel = new Tag({\n ...label\n });\n markLabel.name = 'mark-line-label';\n this._label = markLabel;\n container.add(markLabel as unknown as INode);\n this.setLabelPos();\n }\n\n protected updateMarker() {\n const { points, startSymbol, endSymbol, label, lineStyle, mainSegmentIndex, multiSegment } = this\n .attribute as MarkLineAttrs;\n this._line?.setAttributes({\n points,\n startSymbol,\n endSymbol,\n lineStyle,\n mainSegmentIndex,\n multiSegment\n });\n\n this._label?.setAttributes({\n dx: 0,\n dy: 0, // 需要进行复位\n ...label\n });\n\n this.setLabelPos();\n }\n}\n"]}
|
package/es/marker/point.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import type { IGroup, IImage, ISymbol, IImageGraphicAttribute, IRichText, IRichTextGraphicAttribute } from '@visactor/vrender';
|
|
2
|
-
import type { IPointLike } from '@visactor/vutils';
|
|
3
2
|
import { Tag } from '../tag';
|
|
4
3
|
import { Marker } from './base';
|
|
5
4
|
import type { IItemContent, IItemLine, MarkPointAttrs } from './type';
|
|
6
5
|
import { IMarkPointItemPosition } from './type';
|
|
6
|
+
import type { Point } from '../core/type';
|
|
7
7
|
export declare class MarkPoint extends Marker<MarkPointAttrs> {
|
|
8
8
|
static defaultAttributes: {
|
|
9
9
|
itemLine: {
|
|
@@ -66,19 +66,19 @@ export declare class MarkPoint extends Marker<MarkPointAttrs> {
|
|
|
66
66
|
private _decorativeLine;
|
|
67
67
|
constructor(attributes: MarkPointAttrs);
|
|
68
68
|
protected setLabelPos(): void;
|
|
69
|
-
protected setItemAttributes(item: ISymbol | Tag | IImage | IRichText, itemContent: IItemContent, itemPosition:
|
|
69
|
+
protected setItemAttributes(item: ISymbol | Tag | IImage | IRichText, itemContent: IItemContent, itemPosition: Point, itemType: 'symbol' | 'text' | 'image' | 'richText' | 'custom'): void;
|
|
70
70
|
protected getItemDx(item: ISymbol | Tag | IImage | IRichText, position: IMarkPointItemPosition, style?: IImageGraphicAttribute | IRichTextGraphicAttribute): number;
|
|
71
71
|
protected getItemDy(item: ISymbol | Tag | IImage | IRichText, position: IMarkPointItemPosition, style?: IImageGraphicAttribute | IRichTextGraphicAttribute): number;
|
|
72
|
-
protected initItem(itemContent: IItemContent, itemPosition:
|
|
73
|
-
protected getItemLineAttr(itemLine: IItemLine, position:
|
|
74
|
-
protected setItemLineAttr(itemLine: IItemLine, position:
|
|
75
|
-
protected getDecorativeLineAttr(itemLine: IItemLine, itemPosition:
|
|
72
|
+
protected initItem(itemContent: IItemContent, itemPosition: Point): IGroup | Tag | ISymbol | IImage | IRichText;
|
|
73
|
+
protected getItemLineAttr(itemLine: IItemLine, position: Point, itemPosition: Point): Point[];
|
|
74
|
+
protected setItemLineAttr(itemLine: IItemLine, position: Point, itemPosition: Point, visible: boolean): void;
|
|
75
|
+
protected getDecorativeLineAttr(itemLine: IItemLine, itemPosition: Point): {
|
|
76
76
|
startPointOffsetX: number;
|
|
77
77
|
startPointOffsetY: number;
|
|
78
78
|
endPointOffsetX: number;
|
|
79
79
|
endPointOffsetY: number;
|
|
80
80
|
};
|
|
81
|
-
protected setDecorativeLineAttr(itemLine: IItemLine, itemPosition:
|
|
81
|
+
protected setDecorativeLineAttr(itemLine: IItemLine, itemPosition: Point, visible: boolean): void;
|
|
82
82
|
protected initMarker(container: IGroup): void;
|
|
83
83
|
protected updateMarker(): void;
|
|
84
84
|
}
|