@visactor/vrender-components 0.17.1-alpha.4 → 0.17.2-alpha.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/axis/animate/group-fade.d.ts +2 -2
- package/cjs/axis/animate/group-fade.js +3 -3
- package/cjs/axis/animate/group-fade.js.map +1 -1
- package/cjs/axis/animate/group-transition.d.ts +2 -2
- package/cjs/axis/animate/group-transition.js +3 -3
- package/cjs/axis/animate/group-transition.js.map +1 -1
- package/cjs/axis/base.d.ts +1 -1
- package/cjs/axis/base.js +15 -13
- package/cjs/axis/base.js.map +1 -1
- package/cjs/axis/circle.d.ts +1 -1
- package/cjs/axis/circle.js +2 -4
- package/cjs/axis/circle.js.map +1 -1
- package/cjs/axis/grid/base.d.ts +1 -1
- package/cjs/axis/grid/base.js +7 -5
- package/cjs/axis/grid/base.js.map +1 -1
- package/cjs/axis/grid/circle.js +1 -3
- package/cjs/axis/grid/circle.js.map +1 -1
- package/cjs/axis/grid/line.js +1 -3
- package/cjs/axis/grid/line.js.map +1 -1
- package/cjs/axis/grid/type.d.ts +1 -1
- package/cjs/axis/grid/type.js.map +1 -1
- package/cjs/axis/line.d.ts +2 -1
- package/cjs/axis/line.js +4 -5
- package/cjs/axis/line.js.map +1 -1
- package/cjs/axis/overlap/auto-hide.d.ts +1 -1
- package/cjs/axis/overlap/auto-hide.js.map +1 -1
- package/cjs/axis/overlap/auto-limit.d.ts +1 -1
- package/cjs/axis/overlap/auto-limit.js.map +1 -1
- package/cjs/axis/overlap/auto-rotate.d.ts +1 -1
- package/cjs/axis/overlap/auto-rotate.js.map +1 -1
- package/cjs/axis/overlap/util.d.ts +1 -1
- package/cjs/axis/overlap/util.js.map +1 -1
- package/cjs/axis/type.d.ts +1 -1
- package/cjs/axis/type.js.map +1 -1
- package/cjs/axis/util.d.ts +1 -1
- package/cjs/axis/util.js +4 -3
- package/cjs/axis/util.js.map +1 -1
- package/cjs/brush/brush.d.ts +3 -12
- package/cjs/brush/brush.js +32 -32
- package/cjs/brush/brush.js.map +1 -1
- package/cjs/brush/type.d.ts +1 -1
- package/cjs/brush/type.js.map +1 -1
- package/cjs/checkbox/checkbox.d.ts +1 -1
- package/cjs/checkbox/checkbox.js +9 -15
- package/cjs/checkbox/checkbox.js.map +1 -1
- package/cjs/checkbox/index.js +1 -2
- package/cjs/checkbox/type.d.ts +1 -1
- package/cjs/checkbox/type.js.map +1 -1
- package/cjs/core/base.d.ts +4 -2
- package/cjs/core/base.js +8 -2
- package/cjs/core/base.js.map +1 -1
- package/cjs/core/type.d.ts +1 -1
- package/cjs/core/type.js.map +1 -1
- package/cjs/crosshair/base.d.ts +1 -1
- package/cjs/crosshair/base.js.map +1 -1
- package/cjs/crosshair/circle.d.ts +2 -2
- package/cjs/crosshair/circle.js +1 -3
- package/cjs/crosshair/circle.js.map +1 -1
- package/cjs/crosshair/line.d.ts +2 -2
- package/cjs/crosshair/line.js +1 -3
- package/cjs/crosshair/line.js.map +1 -1
- package/cjs/crosshair/polygon.d.ts +2 -2
- package/cjs/crosshair/polygon.js +3 -4
- package/cjs/crosshair/polygon.js.map +1 -1
- package/cjs/crosshair/rect.d.ts +2 -2
- package/cjs/crosshair/rect.js +1 -3
- package/cjs/crosshair/rect.js.map +1 -1
- package/cjs/crosshair/sector.d.ts +2 -2
- package/cjs/crosshair/sector.js +1 -3
- package/cjs/crosshair/sector.js.map +1 -1
- package/cjs/crosshair/type.d.ts +1 -1
- package/cjs/crosshair/type.js.map +1 -1
- package/cjs/data-zoom/data-zoom.d.ts +1 -4
- package/cjs/data-zoom/data-zoom.js +23 -32
- package/cjs/data-zoom/data-zoom.js.map +1 -1
- package/cjs/data-zoom/type.d.ts +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 +1 -2
- package/cjs/indicator/indicator.js +1 -3
- package/cjs/indicator/indicator.js.map +1 -1
- package/cjs/indicator/type.d.ts +1 -1
- package/cjs/indicator/type.js.map +1 -1
- package/cjs/interface.d.ts +1 -1
- package/cjs/interface.js.map +1 -1
- package/cjs/jsx/component-type.d.ts +1 -1
- package/cjs/jsx/component-type.js.map +1 -1
- package/cjs/label/animate/animate.d.ts +1 -1
- package/cjs/label/animate/animate.js +2 -2
- package/cjs/label/animate/animate.js.map +1 -1
- package/cjs/label/arc.d.ts +2 -1
- package/cjs/label/arc.js +3 -2
- package/cjs/label/arc.js.map +1 -1
- package/cjs/label/area.d.ts +1 -1
- package/cjs/label/area.js.map +1 -1
- package/cjs/label/base.d.ts +2 -2
- package/cjs/label/base.js +8 -10
- package/cjs/label/base.js.map +1 -1
- package/cjs/label/dataLabel.js.map +1 -1
- package/cjs/label/index.js +2 -1
- package/cjs/label/line.d.ts +1 -1
- package/cjs/label/line.js.map +1 -1
- package/cjs/label/overlap/place.d.ts +1 -1
- package/cjs/label/overlap/place.js.map +1 -1
- package/cjs/label/type.d.ts +1 -1
- package/cjs/label/type.js +1 -2
- package/cjs/label/type.js.map +1 -1
- package/cjs/label/util.d.ts +1 -1
- package/cjs/label/util.js +1 -1
- package/cjs/label/util.js.map +1 -1
- package/cjs/legend/base.d.ts +1 -1
- package/cjs/legend/base.js +3 -3
- package/cjs/legend/base.js.map +1 -1
- package/cjs/legend/color/color.js +1 -3
- package/cjs/legend/color/color.js.map +1 -1
- package/cjs/legend/constant.js +1 -1
- package/cjs/legend/discrete/discrete.d.ts +1 -1
- package/cjs/legend/discrete/discrete.js +22 -24
- package/cjs/legend/discrete/discrete.js.map +1 -1
- package/cjs/legend/discrete/type.d.ts +1 -1
- package/cjs/legend/discrete/type.js.map +1 -1
- package/cjs/legend/index.js +1 -1
- package/cjs/legend/size/size.js +4 -5
- package/cjs/legend/size/size.js.map +1 -1
- package/cjs/legend/size/type.d.ts +1 -1
- package/cjs/legend/size/type.js.map +1 -1
- package/cjs/legend/type.d.ts +1 -1
- package/cjs/legend/type.js +1 -1
- package/cjs/legend/type.js.map +1 -1
- package/cjs/legend/util.js +1 -1
- package/cjs/link-path/index.js +1 -1
- package/cjs/link-path/link-path.js +2 -2
- package/cjs/link-path/link-path.js.map +1 -1
- package/cjs/link-path/type.d.ts +1 -1
- package/cjs/link-path/type.js.map +1 -1
- package/cjs/marker/area.d.ts +1 -1
- package/cjs/marker/area.js +3 -4
- package/cjs/marker/area.js.map +1 -1
- package/cjs/marker/base.d.ts +1 -1
- package/cjs/marker/base.js +4 -4
- 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/line.d.ts +1 -1
- package/cjs/marker/line.js +1 -3
- package/cjs/marker/line.js.map +1 -1
- package/cjs/marker/point.d.ts +1 -1
- package/cjs/marker/point.js +5 -5
- package/cjs/marker/point.js.map +1 -1
- package/cjs/marker/type.d.ts +1 -1
- package/cjs/marker/type.js.map +1 -1
- package/cjs/pager/pager.d.ts +1 -1
- package/cjs/pager/pager.js +10 -16
- package/cjs/pager/pager.js.map +1 -1
- package/cjs/pager/type.d.ts +1 -1
- package/cjs/pager/type.js.map +1 -1
- package/cjs/player/base-player.js +2 -5
- package/cjs/player/base-player.js.map +1 -1
- package/cjs/player/continuous-player.js +6 -8
- package/cjs/player/continuous-player.js.map +1 -1
- package/cjs/player/controller/controller.d.ts +1 -2
- package/cjs/player/controller/controller.js +5 -16
- package/cjs/player/controller/controller.js.map +1 -1
- package/cjs/player/controller/icon/icon.d.ts +2 -2
- package/cjs/player/controller/icon/icon.js +2 -2
- package/cjs/player/controller/icon/icon.js.map +1 -1
- package/cjs/player/controller/type.d.ts +1 -1
- package/cjs/player/controller/type.js.map +1 -1
- package/cjs/player/discrete-player.js +5 -7
- package/cjs/player/discrete-player.js.map +1 -1
- package/cjs/player/type/base.d.ts +1 -1
- package/cjs/player/type/base.js.map +1 -1
- package/cjs/player/type/layout.d.ts +1 -1
- package/cjs/player/type/layout.js.map +1 -1
- package/cjs/poptip/contribution.d.ts +1 -1
- package/cjs/poptip/contribution.js +2 -2
- package/cjs/poptip/contribution.js.map +1 -1
- package/cjs/poptip/index.d.ts +1 -1
- package/cjs/poptip/index.js +2 -16
- package/cjs/poptip/index.js.map +1 -1
- package/cjs/poptip/poptip-plugin.d.ts +1 -1
- package/cjs/poptip/poptip-plugin.js +5 -5
- package/cjs/poptip/poptip-plugin.js.map +1 -1
- package/cjs/poptip/poptip.js +1 -3
- package/cjs/poptip/poptip.js.map +1 -1
- package/cjs/poptip/register.d.ts +1 -2
- package/cjs/poptip/register.js +9 -14
- package/cjs/poptip/register.js.map +1 -1
- package/cjs/poptip/type.d.ts +1 -1
- package/cjs/poptip/type.js.map +1 -1
- package/cjs/scrollbar/index.d.ts +1 -0
- package/cjs/scrollbar/index.js +2 -1
- package/cjs/scrollbar/index.js.map +1 -1
- package/cjs/scrollbar/register.d.ts +1 -2
- package/cjs/scrollbar/register.js +6 -10
- package/cjs/scrollbar/register.js.map +1 -1
- package/cjs/scrollbar/scrollbar-plugin.d.ts +1 -1
- package/cjs/scrollbar/scrollbar-plugin.js +3 -3
- package/cjs/scrollbar/scrollbar-plugin.js.map +1 -1
- package/cjs/scrollbar/scrollbar.d.ts +0 -1
- package/cjs/scrollbar/scrollbar.js +7 -15
- package/cjs/scrollbar/scrollbar.js.map +1 -1
- package/cjs/scrollbar/type.d.ts +1 -1
- package/cjs/scrollbar/type.js.map +1 -1
- package/cjs/segment/segment.d.ts +1 -1
- package/cjs/segment/segment.js +4 -6
- package/cjs/segment/segment.js.map +1 -1
- package/cjs/segment/type.d.ts +1 -1
- package/cjs/segment/type.js.map +1 -1
- package/cjs/slider/slider.d.ts +3 -3
- package/cjs/slider/slider.js +22 -25
- package/cjs/slider/slider.js.map +1 -1
- package/cjs/slider/type.d.ts +1 -1
- package/cjs/slider/type.js.map +1 -1
- package/cjs/tag/tag.js +1 -3
- package/cjs/tag/tag.js.map +1 -1
- package/cjs/tag/type.d.ts +1 -1
- package/cjs/tag/type.js.map +1 -1
- package/cjs/title/title.js +1 -3
- package/cjs/title/title.js.map +1 -1
- package/cjs/title/type.d.ts +1 -1
- package/cjs/title/type.js.map +1 -1
- package/cjs/tooltip/tooltip.js +4 -6
- package/cjs/tooltip/tooltip.js.map +1 -1
- package/cjs/tooltip/type.d.ts +1 -1
- package/cjs/tooltip/type.js.map +1 -1
- package/cjs/tooltip/util.d.ts +1 -1
- package/cjs/tooltip/util.js.map +1 -1
- package/cjs/util/align.d.ts +1 -1
- package/cjs/util/align.js.map +1 -1
- package/cjs/util/common.d.ts +1 -1
- package/cjs/util/common.js.map +1 -1
- package/cjs/util/label-smartInvert.d.ts +1 -1
- package/cjs/util/label-smartInvert.js.map +1 -1
- package/cjs/util/limit-shape.d.ts +1 -1
- package/cjs/util/limit-shape.js.map +1 -1
- package/cjs/util/text.d.ts +3 -3
- package/cjs/util/text.js +3 -3
- package/cjs/util/text.js.map +1 -1
- package/dist/index.js +3378 -2544
- package/dist/index.min.js +1 -1
- package/es/axis/animate/group-fade.d.ts +2 -2
- package/es/axis/animate/group-fade.js +1 -1
- package/es/axis/animate/group-fade.js.map +1 -1
- package/es/axis/animate/group-transition.d.ts +2 -2
- package/es/axis/animate/group-transition.js +1 -1
- package/es/axis/animate/group-transition.js.map +1 -1
- package/es/axis/base.d.ts +1 -1
- package/es/axis/base.js +11 -11
- package/es/axis/base.js.map +1 -1
- package/es/axis/circle.d.ts +1 -1
- package/es/axis/circle.js +2 -6
- package/es/axis/circle.js.map +1 -1
- package/es/axis/grid/base.d.ts +1 -1
- package/es/axis/grid/base.js +5 -5
- package/es/axis/grid/base.js.map +1 -1
- package/es/axis/grid/circle.js +0 -4
- package/es/axis/grid/circle.js.map +1 -1
- package/es/axis/grid/line.js +0 -4
- package/es/axis/grid/line.js.map +1 -1
- package/es/axis/grid/type.d.ts +1 -1
- package/es/axis/grid/type.js.map +1 -1
- package/es/axis/line.d.ts +2 -1
- package/es/axis/line.js +3 -7
- package/es/axis/line.js.map +1 -1
- package/es/axis/overlap/auto-hide.d.ts +1 -1
- package/es/axis/overlap/auto-hide.js.map +1 -1
- package/es/axis/overlap/auto-limit.d.ts +1 -1
- package/es/axis/overlap/auto-limit.js.map +1 -1
- package/es/axis/overlap/auto-rotate.d.ts +1 -1
- package/es/axis/overlap/auto-rotate.js.map +1 -1
- package/es/axis/overlap/util.d.ts +1 -1
- package/es/axis/overlap/util.js.map +1 -1
- package/es/axis/type.d.ts +1 -1
- package/es/axis/type.js.map +1 -1
- package/es/axis/util.d.ts +1 -1
- package/es/axis/util.js +3 -2
- package/es/axis/util.js.map +1 -1
- package/es/brush/brush.d.ts +3 -12
- package/es/brush/brush.js +32 -35
- package/es/brush/brush.js.map +1 -1
- package/es/brush/type.d.ts +1 -1
- package/es/brush/type.js.map +1 -1
- package/es/checkbox/checkbox.d.ts +1 -1
- package/es/checkbox/checkbox.js +5 -13
- package/es/checkbox/checkbox.js.map +1 -1
- package/es/checkbox/index.js +1 -2
- package/es/checkbox/type.d.ts +1 -1
- package/es/checkbox/type.js.map +1 -1
- package/es/core/base.d.ts +4 -2
- package/es/core/base.js +7 -1
- package/es/core/base.js.map +1 -1
- package/es/core/type.d.ts +1 -1
- package/es/core/type.js.map +1 -1
- package/es/crosshair/base.d.ts +1 -1
- package/es/crosshair/base.js.map +1 -1
- package/es/crosshair/circle.d.ts +2 -2
- package/es/crosshair/circle.js +0 -4
- package/es/crosshair/circle.js.map +1 -1
- package/es/crosshair/line.d.ts +2 -2
- package/es/crosshair/line.js +0 -4
- package/es/crosshair/line.js.map +1 -1
- package/es/crosshair/polygon.d.ts +2 -2
- package/es/crosshair/polygon.js +2 -5
- package/es/crosshair/polygon.js.map +1 -1
- package/es/crosshair/rect.d.ts +2 -2
- package/es/crosshair/rect.js +0 -4
- package/es/crosshair/rect.js.map +1 -1
- package/es/crosshair/sector.d.ts +2 -2
- package/es/crosshair/sector.js +0 -4
- package/es/crosshair/sector.js.map +1 -1
- package/es/crosshair/type.d.ts +1 -1
- package/es/crosshair/type.js.map +1 -1
- package/es/data-zoom/data-zoom.d.ts +1 -4
- package/es/data-zoom/data-zoom.js +21 -31
- package/es/data-zoom/data-zoom.js.map +1 -1
- package/es/data-zoom/type.d.ts +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 +1 -2
- package/es/indicator/indicator.js +0 -4
- package/es/indicator/indicator.js.map +1 -1
- package/es/indicator/type.d.ts +1 -1
- package/es/indicator/type.js.map +1 -1
- package/es/interface.d.ts +1 -1
- package/es/interface.js.map +1 -1
- package/es/jsx/component-type.d.ts +1 -1
- package/es/jsx/component-type.js.map +1 -1
- package/es/label/animate/animate.d.ts +1 -1
- package/es/label/animate/animate.js +1 -1
- package/es/label/animate/animate.js.map +1 -1
- package/es/label/arc.d.ts +2 -1
- package/es/label/arc.js +2 -2
- package/es/label/arc.js.map +1 -1
- package/es/label/area.d.ts +1 -1
- package/es/label/area.js.map +1 -1
- package/es/label/base.d.ts +2 -2
- package/es/label/base.js +4 -8
- package/es/label/base.js.map +1 -1
- package/es/label/dataLabel.js.map +1 -1
- package/es/label/index.js +2 -1
- package/es/label/line.d.ts +1 -1
- package/es/label/line.js.map +1 -1
- package/es/label/overlap/place.d.ts +1 -1
- package/es/label/overlap/place.js.map +1 -1
- package/es/label/type.d.ts +1 -1
- package/es/label/type.js +1 -2
- package/es/label/type.js.map +1 -1
- package/es/label/util.d.ts +1 -1
- package/es/label/util.js +1 -1
- package/es/label/util.js.map +1 -1
- package/es/legend/base.d.ts +1 -1
- package/es/legend/base.js +3 -3
- package/es/legend/base.js.map +1 -1
- package/es/legend/color/color.js +0 -4
- package/es/legend/color/color.js.map +1 -1
- package/es/legend/constant.js +1 -1
- package/es/legend/discrete/discrete.d.ts +1 -1
- package/es/legend/discrete/discrete.js +20 -26
- package/es/legend/discrete/discrete.js.map +1 -1
- package/es/legend/discrete/type.d.ts +1 -1
- package/es/legend/discrete/type.js.map +1 -1
- package/es/legend/index.js +1 -1
- package/es/legend/size/size.js +3 -7
- package/es/legend/size/size.js.map +1 -1
- package/es/legend/size/type.d.ts +1 -1
- package/es/legend/size/type.js.map +1 -1
- package/es/legend/type.d.ts +1 -1
- package/es/legend/type.js +1 -1
- package/es/legend/type.js.map +1 -1
- package/es/legend/util.js +1 -1
- package/es/link-path/index.js +1 -1
- package/es/link-path/link-path.js +0 -4
- package/es/link-path/link-path.js.map +1 -1
- package/es/link-path/type.d.ts +1 -1
- package/es/link-path/type.js.map +1 -1
- package/es/marker/area.d.ts +1 -1
- package/es/marker/area.js +2 -6
- package/es/marker/area.js.map +1 -1
- package/es/marker/base.d.ts +1 -1
- package/es/marker/base.js +4 -4
- 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/line.d.ts +1 -1
- package/es/marker/line.js +0 -4
- package/es/marker/line.js.map +1 -1
- package/es/marker/point.d.ts +1 -1
- package/es/marker/point.js +3 -7
- package/es/marker/point.js.map +1 -1
- package/es/marker/type.d.ts +1 -1
- package/es/marker/type.js.map +1 -1
- package/es/pager/pager.d.ts +1 -1
- package/es/pager/pager.js +9 -18
- package/es/pager/pager.js.map +1 -1
- package/es/pager/type.d.ts +1 -1
- package/es/pager/type.js.map +1 -1
- package/es/player/base-player.js +1 -6
- package/es/player/base-player.js.map +1 -1
- package/es/player/continuous-player.js +1 -5
- package/es/player/continuous-player.js.map +1 -1
- package/es/player/controller/controller.d.ts +1 -2
- package/es/player/controller/controller.js +5 -18
- package/es/player/controller/controller.js.map +1 -1
- package/es/player/controller/icon/icon.d.ts +2 -2
- package/es/player/controller/icon/icon.js +1 -1
- package/es/player/controller/icon/icon.js.map +1 -1
- package/es/player/controller/type.d.ts +1 -1
- package/es/player/controller/type.js.map +1 -1
- package/es/player/discrete-player.js +1 -5
- package/es/player/discrete-player.js.map +1 -1
- package/es/player/type/base.d.ts +1 -1
- package/es/player/type/base.js.map +1 -1
- package/es/player/type/layout.d.ts +1 -1
- package/es/player/type/layout.js.map +1 -1
- package/es/poptip/contribution.d.ts +1 -1
- package/es/poptip/contribution.js +1 -1
- package/es/poptip/contribution.js.map +1 -1
- package/es/poptip/index.d.ts +1 -1
- package/es/poptip/index.js +1 -1
- package/es/poptip/index.js.map +1 -1
- package/es/poptip/poptip-plugin.d.ts +1 -1
- package/es/poptip/poptip-plugin.js +1 -1
- package/es/poptip/poptip-plugin.js.map +1 -1
- package/es/poptip/poptip.js +0 -4
- package/es/poptip/poptip.js.map +1 -1
- package/es/poptip/register.d.ts +1 -2
- package/es/poptip/register.js +1 -7
- package/es/poptip/register.js.map +1 -1
- package/es/poptip/type.d.ts +1 -1
- package/es/poptip/type.js.map +1 -1
- package/es/scrollbar/index.d.ts +1 -0
- package/es/scrollbar/index.js +2 -0
- package/es/scrollbar/index.js.map +1 -1
- package/es/scrollbar/register.d.ts +1 -2
- package/es/scrollbar/register.js +1 -7
- package/es/scrollbar/register.js.map +1 -1
- package/es/scrollbar/scrollbar-plugin.d.ts +1 -1
- package/es/scrollbar/scrollbar-plugin.js +1 -1
- package/es/scrollbar/scrollbar-plugin.js.map +1 -1
- package/es/scrollbar/scrollbar.d.ts +0 -1
- package/es/scrollbar/scrollbar.js +3 -13
- package/es/scrollbar/scrollbar.js.map +1 -1
- package/es/scrollbar/type.d.ts +1 -1
- package/es/scrollbar/type.js.map +1 -1
- package/es/segment/segment.d.ts +1 -1
- package/es/segment/segment.js +4 -8
- package/es/segment/segment.js.map +1 -1
- package/es/segment/type.d.ts +1 -1
- package/es/segment/type.js.map +1 -1
- package/es/slider/slider.d.ts +3 -3
- package/es/slider/slider.js +13 -19
- package/es/slider/slider.js.map +1 -1
- package/es/slider/type.d.ts +1 -1
- package/es/slider/type.js.map +1 -1
- package/es/tag/tag.js +0 -4
- package/es/tag/tag.js.map +1 -1
- package/es/tag/type.d.ts +1 -1
- package/es/tag/type.js.map +1 -1
- package/es/title/title.js +0 -4
- package/es/title/title.js.map +1 -1
- package/es/title/type.d.ts +1 -1
- package/es/title/type.js.map +1 -1
- package/es/tooltip/tooltip.js +1 -5
- package/es/tooltip/tooltip.js.map +1 -1
- package/es/tooltip/type.d.ts +1 -1
- package/es/tooltip/type.js.map +1 -1
- package/es/tooltip/util.d.ts +1 -1
- package/es/tooltip/util.js.map +1 -1
- package/es/util/align.d.ts +1 -1
- package/es/util/align.js.map +1 -1
- package/es/util/common.d.ts +1 -1
- package/es/util/common.js.map +1 -1
- package/es/util/label-smartInvert.d.ts +1 -1
- package/es/util/label-smartInvert.js.map +1 -1
- package/es/util/limit-shape.d.ts +1 -1
- package/es/util/limit-shape.js.map +1 -1
- package/es/util/text.d.ts +3 -3
- package/es/util/text.js +1 -1
- package/es/util/text.js.map +1 -1
- package/package.json +4 -4
- package/cjs/axis/register.d.ts +0 -4
- package/cjs/axis/register.js +0 -32
- package/cjs/axis/register.js.map +0 -1
- package/cjs/brush/register.d.ts +0 -1
- package/cjs/brush/register.js +0 -14
- package/cjs/brush/register.js.map +0 -1
- package/cjs/checkbox/register.d.ts +0 -1
- package/cjs/checkbox/register.js +0 -15
- package/cjs/checkbox/register.js.map +0 -1
- package/cjs/crosshair/register.d.ts +0 -5
- package/cjs/crosshair/register.js +0 -32
- package/cjs/crosshair/register.js.map +0 -1
- package/cjs/data-zoom/register.d.ts +0 -1
- package/cjs/data-zoom/register.js +0 -15
- package/cjs/data-zoom/register.js.map +0 -1
- package/cjs/indicator/register.d.ts +0 -1
- package/cjs/indicator/register.js +0 -14
- package/cjs/indicator/register.js.map +0 -1
- package/cjs/label/register.d.ts +0 -1
- package/cjs/label/register.js +0 -15
- package/cjs/label/register.js.map +0 -1
- package/cjs/legend/register.d.ts +0 -3
- package/cjs/legend/register.js +0 -27
- package/cjs/legend/register.js.map +0 -1
- package/cjs/link-path/register.d.ts +0 -1
- package/cjs/link-path/register.js +0 -14
- package/cjs/link-path/register.js.map +0 -1
- package/cjs/marker/register.d.ts +0 -3
- package/cjs/marker/register.js +0 -28
- package/cjs/marker/register.js.map +0 -1
- package/cjs/pager/register.d.ts +0 -1
- package/cjs/pager/register.js +0 -14
- package/cjs/pager/register.js.map +0 -1
- package/cjs/player/register.d.ts +0 -2
- package/cjs/player/register.js +0 -22
- package/cjs/player/register.js.map +0 -1
- package/cjs/segment/register.d.ts +0 -1
- package/cjs/segment/register.js +0 -15
- package/cjs/segment/register.js.map +0 -1
- package/cjs/slider/register.d.ts +0 -1
- package/cjs/slider/register.js +0 -15
- package/cjs/slider/register.js.map +0 -1
- package/cjs/tag/register.d.ts +0 -1
- package/cjs/tag/register.js +0 -15
- package/cjs/tag/register.js.map +0 -1
- package/cjs/title/register.d.ts +0 -1
- package/cjs/title/register.js +0 -14
- package/cjs/title/register.js.map +0 -1
- package/cjs/tooltip/register.d.ts +0 -1
- package/cjs/tooltip/register.js +0 -15
- package/cjs/tooltip/register.js.map +0 -1
- package/es/axis/register.d.ts +0 -4
- package/es/axis/register.js +0 -22
- package/es/axis/register.js.map +0 -1
- package/es/brush/register.d.ts +0 -1
- package/es/brush/register.js +0 -6
- package/es/brush/register.js.map +0 -1
- package/es/checkbox/register.d.ts +0 -1
- package/es/checkbox/register.js +0 -6
- package/es/checkbox/register.js.map +0 -1
- package/es/crosshair/register.d.ts +0 -5
- package/es/crosshair/register.js +0 -22
- package/es/crosshair/register.js.map +0 -1
- package/es/data-zoom/register.d.ts +0 -1
- package/es/data-zoom/register.js +0 -8
- package/es/data-zoom/register.js.map +0 -1
- package/es/indicator/register.d.ts +0 -1
- package/es/indicator/register.js +0 -6
- package/es/indicator/register.js.map +0 -1
- package/es/label/register.d.ts +0 -1
- package/es/label/register.js +0 -6
- package/es/label/register.js.map +0 -1
- package/es/legend/register.d.ts +0 -3
- package/es/legend/register.js +0 -24
- package/es/legend/register.js.map +0 -1
- package/es/link-path/register.d.ts +0 -1
- package/es/link-path/register.js +0 -6
- package/es/link-path/register.js.map +0 -1
- package/es/marker/register.d.ts +0 -3
- package/es/marker/register.js +0 -22
- package/es/marker/register.js.map +0 -1
- package/es/pager/register.d.ts +0 -1
- package/es/pager/register.js +0 -6
- package/es/pager/register.js.map +0 -1
- package/es/player/register.d.ts +0 -2
- package/es/player/register.js +0 -16
- package/es/player/register.js.map +0 -1
- package/es/segment/register.d.ts +0 -1
- package/es/segment/register.js +0 -6
- package/es/segment/register.js.map +0 -1
- package/es/slider/register.d.ts +0 -1
- package/es/slider/register.js +0 -6
- package/es/slider/register.js.map +0 -1
- package/es/tag/register.d.ts +0 -1
- package/es/tag/register.js +0 -6
- package/es/tag/register.js.map +0 -1
- package/es/title/register.d.ts +0 -1
- package/es/title/register.js +0 -6
- package/es/title/register.js.map +0 -1
- package/es/tooltip/register.d.ts +0 -1
- package/es/tooltip/register.js +0 -6
- package/es/tooltip/register.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { FederatedPointerEvent, IGraphic, IPlugin, IPluginService } from '@visactor/vrender
|
|
1
|
+
import type { FederatedPointerEvent, IGraphic, IPlugin, IPluginService } from '@visactor/vrender-core';
|
|
2
2
|
export declare class PopTipPlugin implements IPlugin {
|
|
3
3
|
name: 'poptip';
|
|
4
4
|
activeEvent: 'onRegister';
|
|
@@ -4,7 +4,7 @@ var __decorate = this && this.__decorate || function(decorators, target, key, de
|
|
|
4
4
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
import { Generator, injectable } from "@visactor/vrender
|
|
7
|
+
import { Generator, injectable } from "@visactor/vrender-core";
|
|
8
8
|
|
|
9
9
|
let PopTipPlugin = class {
|
|
10
10
|
constructor() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/poptip-plugin.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/poptip/poptip-plugin.ts"],"names":[],"mappings":"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","file":"poptip-plugin.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IPlugin, IPluginService } from '@visactor/vrender-core';\nimport { Generator, injectable } from '@visactor/vrender-core';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\n@injectable()\nexport class PopTipPlugin implements IPlugin {\n name: 'poptip' = 'poptip';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n activeGraphic: IGraphic;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n stage.addEventListener('pointerover', this.poptip);\n }\n poptip = (e: FederatedPointerEvent) => {\n const graphic = e.target as any;\n if (graphic.isContainer || !graphic.attribute) {\n this.unpoptip(e);\n return;\n }\n // 触发graphic重绘\n if (graphic === this.activeGraphic) {\n return;\n }\n const { poptip } = graphic.attribute;\n if (poptip) {\n graphic.setAttributes({});\n graphic._showPoptip = 1;\n }\n\n if (this.activeGraphic) {\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n }\n // console.log(graphic)\n this.setActiveGraphic(graphic, true);\n };\n\n unpoptip = (e: FederatedPointerEvent) => {\n if (!this.activeGraphic) {\n return;\n }\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n this.setActiveGraphic(null, true);\n };\n\n setActiveGraphic(graphic: any | null, rerender?: boolean) {\n this.activeGraphic = graphic;\n // 触发重绘\n this.pluginService.stage.renderNextFrame();\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('pointerover', this.poptip);\n }\n}\n\n@injectable()\nexport class PopTipForClipedTextPlugin implements IPlugin {\n name: 'poptipForText' = 'poptipForText';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n activeGraphic: IGraphic;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n stage.addEventListener('pointerover', this.poptip);\n stage.addEventListener('pointerleave', this.pointerlave);\n }\n pointerlave = (e: any) => {\n const { stage } = this.pluginService;\n if (e.target === stage) {\n this.unpoptip(e);\n }\n };\n poptip = (e: FederatedPointerEvent) => {\n const graphic = e.target as any;\n if (graphic.type !== 'text' || !graphic.cliped || graphic.isContainer || !graphic.attribute) {\n this.unpoptip(e);\n return;\n }\n // 触发graphic重绘\n if (graphic === this.activeGraphic) {\n return;\n }\n const { poptip = {} } = graphic.attribute;\n if (poptip) {\n graphic.setAttributes({});\n graphic._showPoptip = 1;\n }\n // 添加默认poptip\n if (this.activeGraphic) {\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n }\n // console.log(graphic)\n this.setActiveGraphic(graphic, true);\n };\n\n unpoptip = (e: FederatedPointerEvent) => {\n if (!this.activeGraphic) {\n return;\n }\n this.activeGraphic.setAttributes({});\n this.activeGraphic._showPoptip = 2;\n this.setActiveGraphic(null, true);\n };\n\n setActiveGraphic(graphic: any | null, rerender?: boolean) {\n this.activeGraphic = graphic;\n // 触发重绘\n this.pluginService.stage.renderNextFrame();\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('pointerover', this.poptip);\n stage.removeEventListener('pointerleave', this.pointerlave);\n }\n}\n"]}
|
package/es/poptip/poptip.js
CHANGED
|
@@ -12,12 +12,8 @@ import { AABBBounds, Bounds, getRectIntersect, isArray, isBoolean, isEmpty, isVa
|
|
|
12
12
|
|
|
13
13
|
import { AbstractComponent } from "../core/base";
|
|
14
14
|
|
|
15
|
-
import { loadPoptipComponent } from "./register";
|
|
16
|
-
|
|
17
15
|
const _tBounds = new AABBBounds;
|
|
18
16
|
|
|
19
|
-
loadPoptipComponent();
|
|
20
|
-
|
|
21
17
|
export class PopTip extends AbstractComponent {
|
|
22
18
|
constructor(attributes, options) {
|
|
23
19
|
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, PopTip.defaultAttributes, attributes)),
|
package/es/poptip/poptip.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/poptip.ts"],"names":[],"mappings":"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","file":"poptip.js","sourcesContent":["/**\n * @description PopTip组件\n */\nimport type {\n IGroup,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n TextAlignType,\n TextBaselineType\n} from '@visactor/vrender/es/core';\nimport {\n AABBBounds,\n Bounds,\n getRectIntersect,\n isArray,\n isBoolean,\n isEmpty,\n isValid,\n max,\n merge,\n normalizePadding,\n pi,\n rectInsideAnotherRect\n} from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { BackgroundAttributes, ComponentOptions } from '../interface';\nimport type { PopTipAttributes } from './type';\nimport { loadPoptip, loadPoptipComponent } from './register';\n\nconst _tBounds = new AABBBounds();\n\nloadPoptipComponent();\nexport class PopTip extends AbstractComponent<Required<PopTipAttributes>> {\n name = 'poptip';\n\n static defaultAttributes: Partial<PopTipAttributes> = {\n position: 'rt',\n visible: true,\n title: null,\n content: null,\n titleStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n contentStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n maxWidthPercent: 0.8,\n space: 8,\n padding: 10\n };\n\n constructor(attributes: PopTipAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, PopTip.defaultAttributes, attributes));\n }\n\n protected render() {\n const {\n titleStyle = {} as ITextGraphicAttribute,\n position,\n contentStyle = {} as ITextGraphicAttribute,\n panel = {} as BackgroundAttributes & ISymbolGraphicAttribute & { space?: number },\n space = 4,\n minWidth = 0,\n maxWidth = Infinity,\n padding = 4,\n maxWidthPercent,\n visible,\n state,\n dx = 0,\n dy = 0\n } = this.attribute as PopTipAttributes;\n\n let { title = '', content = '' } = this.attribute as PopTipAttributes;\n\n title = this.attribute.titleFormatMethod ? this.attribute.titleFormatMethod(title) : title;\n content = this.attribute.contentFormatMethod ? this.attribute.contentFormatMethod(content) : content;\n\n const parsedPadding = normalizePadding(padding);\n\n const group = this.createOrUpdateChild('poptip-content', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const maxLineWidth = maxWidth - parsedPadding[1] - parsedPadding[3];\n\n const titleVisible = isValid(title) && visible !== false;\n const titleAttrs = {\n text: isArray(title) ? title : ([title] as any),\n visible: titleVisible,\n ...titleStyle,\n x: parsedPadding[3],\n y: parsedPadding[0],\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const titleShape = group.createOrUpdateChild('poptip-title', titleAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.title)) {\n titleShape.states = state.title;\n }\n\n const titleBounds = titleShape.AABBBounds;\n const titleHeight = titleBounds.height();\n const titleWidth = titleBounds.width();\n let height = titleHeight + space;\n if (!titleVisible) {\n height = 0;\n }\n\n const contentVisible = isValid(content) && visible !== false;\n const contentAttrs = {\n text: isArray(content) ? content : ([content] as any),\n visible: contentVisible,\n ...contentStyle,\n x: parsedPadding[3],\n y: parsedPadding[0] + height,\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const contentShape = group.createOrUpdateChild('poptip-content', contentAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.content)) {\n contentShape.states = state.content;\n }\n\n const contentBounds = contentShape.AABBBounds;\n const contentHeight = contentBounds.height();\n const contentWidth = contentBounds.width();\n\n if (contentVisible) {\n height += contentHeight;\n }\n\n // 计算整个popTip的宽高\n let popTipWidth = max(\n titleWidth + parsedPadding[1] + parsedPadding[3],\n contentWidth + parsedPadding[1] + parsedPadding[3]\n );\n if (popTipWidth > maxWidth) {\n popTipWidth = maxWidth;\n } else if (popTipWidth < minWidth) {\n popTipWidth = minWidth;\n }\n let poptipHeight = parsedPadding[0] + parsedPadding[2] + height;\n\n // 绘制背景层\n const { visible: bgVisible, ...backgroundStyle } = panel;\n const symbolSize = backgroundStyle.size ?? 12;\n const spaceSize: number | [number, number] = isArray(symbolSize)\n ? [symbolSize[0] + (backgroundStyle.space ?? 0), symbolSize[1] + (backgroundStyle.space ?? 0)]\n : (symbolSize as number) + (backgroundStyle.space ?? 0);\n const lineWidth = backgroundStyle.lineWidth ?? 1;\n const range: [number, number] | undefined = (this as any).stage\n ? [\n (this as any).stage.viewWidth ?? (this as any).stage.width,\n (this as any).stage.viewHeight ?? (this as any).stage.height\n ]\n : undefined;\n\n if (range) {\n // 尝试进行换行\n const b = (this as any).AABBBounds;\n const leftWidth = this.attribute.x ?? b.x1;\n const rightWidth = range[0] - b.x1;\n let maxSpace = Math.max(leftWidth, rightWidth);\n // 减一些buffer,buffer不能超过maxSpace的20%\n const buf = (isArray(symbolSize) ? symbolSize[0] : 12) + 3;\n maxSpace = Math.min(maxSpace - buf, maxSpace * maxWidthPercent);\n // 需要进行换行\n if (maxSpace < popTipWidth) {\n popTipWidth = maxSpace;\n const buf = parsedPadding[1] + parsedPadding[3];\n titleShape.setAttribute('maxLineWidth', maxSpace - buf);\n contentShape.setAttribute('maxLineWidth', maxSpace - buf);\n poptipHeight = parsedPadding[0] + parsedPadding[2];\n if (titleVisible) {\n poptipHeight += titleShape.AABBBounds.height() + space;\n }\n poptipHeight += contentShape.AABBBounds.height();\n }\n }\n\n const layout = position === 'auto';\n // 最多循环this.positionList次\n let maxBBoxI: number;\n let maxBBoxSize: number = -Infinity;\n for (let i = 0; i < this.positionList.length + 1; i++) {\n const p = layout ? this.positionList[i === this.positionList.length ? maxBBoxI : i] : position;\n const { angle, offset, rectOffset } = this.getAngleAndOffset(\n p,\n popTipWidth,\n poptipHeight,\n isArray(spaceSize) ? (spaceSize as [number, number]) : [spaceSize, spaceSize - lineWidth]\n );\n if (isBoolean(bgVisible)) {\n const offsetX = (isArray(symbolSize) ? symbolSize[0] : symbolSize) / 4;\n const bgSymbol = group.createOrUpdateChild(\n 'poptip-symbol-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: offsetX,\n y: 0,\n strokeBoundsBuffer: -1,\n boundsPadding: -2,\n anchor: [0, 0],\n symbolType: 'arrow2Left',\n angle: angle,\n dx: offset[0],\n dy: offset[1],\n size: symbolSize,\n zIndex: -9\n },\n 'symbol'\n ) as ISymbol;\n if (!isEmpty(state?.panel)) {\n bgSymbol.states = state.panel;\n }\n\n const bgRect = group.createOrUpdateChild(\n 'poptip-rect-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: 0,\n y: 0,\n width: popTipWidth,\n height: poptipHeight,\n zIndex: -8\n },\n 'rect'\n ) as IRect;\n if (!isEmpty(state?.panel)) {\n bgRect.states = state.panel;\n }\n }\n\n group.setAttributes({\n x: -offset[0] + dx,\n y: -offset[1] + dy\n });\n\n if (layout && range) {\n _tBounds.setValue(0, 0, popTipWidth, poptipHeight).transformWithMatrix(group.globalTransMatrix);\n const b = _tBounds;\n const stageBounds = new Bounds().setValue(0, 0, range[0], range[1]);\n if (rectInsideAnotherRect(b, stageBounds, false)) {\n break;\n } else {\n const bbox = getRectIntersect(b, stageBounds, false);\n const size = (bbox.x2 - bbox.x1) * (bbox.y2 - bbox.y1);\n if (size > maxBBoxSize) {\n maxBBoxSize = size;\n maxBBoxI = i;\n }\n }\n } else {\n break;\n }\n }\n }\n\n positionList = ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'];\n\n getAngleAndOffset(\n position: string,\n width: number,\n height: number,\n size: [number, number]\n ): { angle: number; offset: [number, number]; rectOffset: [number, number] } {\n // const sizeW = size[0];\n const sizeH = size[1] / 2;\n switch (position) {\n case 'tl':\n return {\n angle: (pi / 2) * 3,\n offset: [width / 4, height + sizeH],\n rectOffset: [-width / 4, -height - size[1]]\n };\n case 'top':\n return { angle: (pi / 2) * 3, offset: [width / 2, height + sizeH], rectOffset: [0, -height - size[1]] };\n case 'tr':\n return {\n angle: (pi / 2) * 3,\n offset: [(width / 4) * 3, height + sizeH],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n case 'rt':\n return { angle: 0, offset: [-sizeH, height / 5], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'right':\n return { angle: 0, offset: [-sizeH, height / 2], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'rb':\n return { angle: 0, offset: [-sizeH, (height / 5) * 4], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'bl':\n return { angle: pi / 2, offset: [width / 4, -sizeH], rectOffset: [-width / 4, -height - size[1]] };\n case 'bottom':\n return { angle: pi / 2, offset: [width / 2, -sizeH], rectOffset: [0, -height - size[1]] };\n case 'br':\n return { angle: pi / 2, offset: [(width / 4) * 3, -sizeH], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'lt':\n return { angle: pi, offset: [width + sizeH, height / 5], rectOffset: [-width / 4, -height - size[1]] };\n case 'left':\n return { angle: pi, offset: [width + sizeH, height / 2], rectOffset: [0, -height - size[1]] };\n case 'lb':\n return {\n angle: pi,\n offset: [width + sizeH, (height / 5) * 4],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/poptip/poptip.ts"],"names":[],"mappings":"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","file":"poptip.js","sourcesContent":["/**\n * @description PopTip组件\n */\nimport type {\n IGroup,\n IRect,\n ISymbol,\n ISymbolGraphicAttribute,\n IText,\n ITextGraphicAttribute,\n TextAlignType,\n TextBaselineType\n} from '@visactor/vrender-core';\nimport {\n AABBBounds,\n Bounds,\n getRectIntersect,\n isArray,\n isBoolean,\n isEmpty,\n isValid,\n max,\n merge,\n normalizePadding,\n pi,\n rectInsideAnotherRect\n} from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\nimport type { BackgroundAttributes, ComponentOptions } from '../interface';\nimport type { PopTipAttributes } from './type';\n\nconst _tBounds = new AABBBounds();\n\nexport class PopTip extends AbstractComponent<Required<PopTipAttributes>> {\n name = 'poptip';\n\n static defaultAttributes: Partial<PopTipAttributes> = {\n position: 'rt',\n visible: true,\n title: null,\n content: null,\n titleStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n contentStyle: {\n fontSize: 12,\n fill: '#000',\n textAlign: 'left',\n textBaseline: 'top'\n },\n maxWidthPercent: 0.8,\n space: 8,\n padding: 10\n };\n\n constructor(attributes: PopTipAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, PopTip.defaultAttributes, attributes));\n }\n\n protected render() {\n const {\n titleStyle = {} as ITextGraphicAttribute,\n position,\n contentStyle = {} as ITextGraphicAttribute,\n panel = {} as BackgroundAttributes & ISymbolGraphicAttribute & { space?: number },\n space = 4,\n minWidth = 0,\n maxWidth = Infinity,\n padding = 4,\n maxWidthPercent,\n visible,\n state,\n dx = 0,\n dy = 0\n } = this.attribute as PopTipAttributes;\n\n let { title = '', content = '' } = this.attribute as PopTipAttributes;\n\n title = this.attribute.titleFormatMethod ? this.attribute.titleFormatMethod(title) : title;\n content = this.attribute.contentFormatMethod ? this.attribute.contentFormatMethod(content) : content;\n\n const parsedPadding = normalizePadding(padding);\n\n const group = this.createOrUpdateChild('poptip-content', { x: 0, y: 0, zIndex: 1 }, 'group') as IGroup;\n\n const maxLineWidth = maxWidth - parsedPadding[1] - parsedPadding[3];\n\n const titleVisible = isValid(title) && visible !== false;\n const titleAttrs = {\n text: isArray(title) ? title : ([title] as any),\n visible: titleVisible,\n ...titleStyle,\n x: parsedPadding[3],\n y: parsedPadding[0],\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const titleShape = group.createOrUpdateChild('poptip-title', titleAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.title)) {\n titleShape.states = state.title;\n }\n\n const titleBounds = titleShape.AABBBounds;\n const titleHeight = titleBounds.height();\n const titleWidth = titleBounds.width();\n let height = titleHeight + space;\n if (!titleVisible) {\n height = 0;\n }\n\n const contentVisible = isValid(content) && visible !== false;\n const contentAttrs = {\n text: isArray(content) ? content : ([content] as any),\n visible: contentVisible,\n ...contentStyle,\n x: parsedPadding[3],\n y: parsedPadding[0] + height,\n maxLineWidth,\n textAlign: 'left' as TextAlignType,\n textBaseline: 'top' as TextBaselineType\n };\n\n const contentShape = group.createOrUpdateChild('poptip-content', contentAttrs, 'wrapText') as IText;\n if (!isEmpty(state?.content)) {\n contentShape.states = state.content;\n }\n\n const contentBounds = contentShape.AABBBounds;\n const contentHeight = contentBounds.height();\n const contentWidth = contentBounds.width();\n\n if (contentVisible) {\n height += contentHeight;\n }\n\n // 计算整个popTip的宽高\n let popTipWidth = max(\n titleWidth + parsedPadding[1] + parsedPadding[3],\n contentWidth + parsedPadding[1] + parsedPadding[3]\n );\n if (popTipWidth > maxWidth) {\n popTipWidth = maxWidth;\n } else if (popTipWidth < minWidth) {\n popTipWidth = minWidth;\n }\n let poptipHeight = parsedPadding[0] + parsedPadding[2] + height;\n\n // 绘制背景层\n const { visible: bgVisible, ...backgroundStyle } = panel;\n const symbolSize = backgroundStyle.size ?? 12;\n const spaceSize: number | [number, number] = isArray(symbolSize)\n ? [symbolSize[0] + (backgroundStyle.space ?? 0), symbolSize[1] + (backgroundStyle.space ?? 0)]\n : (symbolSize as number) + (backgroundStyle.space ?? 0);\n const lineWidth = backgroundStyle.lineWidth ?? 1;\n const range: [number, number] | undefined = (this as any).stage\n ? [\n (this as any).stage.viewWidth ?? (this as any).stage.width,\n (this as any).stage.viewHeight ?? (this as any).stage.height\n ]\n : undefined;\n\n if (range) {\n // 尝试进行换行\n const b = (this as any).AABBBounds;\n const leftWidth = this.attribute.x ?? b.x1;\n const rightWidth = range[0] - b.x1;\n let maxSpace = Math.max(leftWidth, rightWidth);\n // 减一些buffer,buffer不能超过maxSpace的20%\n const buf = (isArray(symbolSize) ? symbolSize[0] : 12) + 3;\n maxSpace = Math.min(maxSpace - buf, maxSpace * maxWidthPercent);\n // 需要进行换行\n if (maxSpace < popTipWidth) {\n popTipWidth = maxSpace;\n const buf = parsedPadding[1] + parsedPadding[3];\n titleShape.setAttribute('maxLineWidth', maxSpace - buf);\n contentShape.setAttribute('maxLineWidth', maxSpace - buf);\n poptipHeight = parsedPadding[0] + parsedPadding[2];\n if (titleVisible) {\n poptipHeight += titleShape.AABBBounds.height() + space;\n }\n poptipHeight += contentShape.AABBBounds.height();\n }\n }\n\n const layout = position === 'auto';\n // 最多循环this.positionList次\n let maxBBoxI: number;\n let maxBBoxSize: number = -Infinity;\n for (let i = 0; i < this.positionList.length + 1; i++) {\n const p = layout ? this.positionList[i === this.positionList.length ? maxBBoxI : i] : position;\n const { angle, offset, rectOffset } = this.getAngleAndOffset(\n p,\n popTipWidth,\n poptipHeight,\n isArray(spaceSize) ? (spaceSize as [number, number]) : [spaceSize, spaceSize - lineWidth]\n );\n if (isBoolean(bgVisible)) {\n const offsetX = (isArray(symbolSize) ? symbolSize[0] : symbolSize) / 4;\n const bgSymbol = group.createOrUpdateChild(\n 'poptip-symbol-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: offsetX,\n y: 0,\n strokeBoundsBuffer: -1,\n boundsPadding: -2,\n anchor: [0, 0],\n symbolType: 'arrow2Left',\n angle: angle,\n dx: offset[0],\n dy: offset[1],\n size: symbolSize,\n zIndex: -9\n },\n 'symbol'\n ) as ISymbol;\n if (!isEmpty(state?.panel)) {\n bgSymbol.states = state.panel;\n }\n\n const bgRect = group.createOrUpdateChild(\n 'poptip-rect-panel',\n {\n ...backgroundStyle,\n visible: bgVisible && (contentVisible || titleVisible),\n x: 0,\n y: 0,\n width: popTipWidth,\n height: poptipHeight,\n zIndex: -8\n },\n 'rect'\n ) as IRect;\n if (!isEmpty(state?.panel)) {\n bgRect.states = state.panel;\n }\n }\n\n group.setAttributes({\n x: -offset[0] + dx,\n y: -offset[1] + dy\n });\n\n if (layout && range) {\n _tBounds.setValue(0, 0, popTipWidth, poptipHeight).transformWithMatrix(group.globalTransMatrix);\n const b = _tBounds;\n const stageBounds = new Bounds().setValue(0, 0, range[0], range[1]);\n if (rectInsideAnotherRect(b, stageBounds, false)) {\n break;\n } else {\n const bbox = getRectIntersect(b, stageBounds, false);\n const size = (bbox.x2 - bbox.x1) * (bbox.y2 - bbox.y1);\n if (size > maxBBoxSize) {\n maxBBoxSize = size;\n maxBBoxI = i;\n }\n }\n } else {\n break;\n }\n }\n }\n\n positionList = ['top', 'tl', 'tr', 'bottom', 'bl', 'br', 'left', 'lt', 'lb', 'right', 'rt', 'rb'];\n\n getAngleAndOffset(\n position: string,\n width: number,\n height: number,\n size: [number, number]\n ): { angle: number; offset: [number, number]; rectOffset: [number, number] } {\n // const sizeW = size[0];\n const sizeH = size[1] / 2;\n switch (position) {\n case 'tl':\n return {\n angle: (pi / 2) * 3,\n offset: [width / 4, height + sizeH],\n rectOffset: [-width / 4, -height - size[1]]\n };\n case 'top':\n return { angle: (pi / 2) * 3, offset: [width / 2, height + sizeH], rectOffset: [0, -height - size[1]] };\n case 'tr':\n return {\n angle: (pi / 2) * 3,\n offset: [(width / 4) * 3, height + sizeH],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n case 'rt':\n return { angle: 0, offset: [-sizeH, height / 5], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'right':\n return { angle: 0, offset: [-sizeH, height / 2], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'rb':\n return { angle: 0, offset: [-sizeH, (height / 5) * 4], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'bl':\n return { angle: pi / 2, offset: [width / 4, -sizeH], rectOffset: [-width / 4, -height - size[1]] };\n case 'bottom':\n return { angle: pi / 2, offset: [width / 2, -sizeH], rectOffset: [0, -height - size[1]] };\n case 'br':\n return { angle: pi / 2, offset: [(width / 4) * 3, -sizeH], rectOffset: [(width / 4) * 3, -height - size[1]] };\n case 'lt':\n return { angle: pi, offset: [width + sizeH, height / 5], rectOffset: [-width / 4, -height - size[1]] };\n case 'left':\n return { angle: pi, offset: [width + sizeH, height / 2], rectOffset: [0, -height - size[1]] };\n case 'lb':\n return {\n angle: pi,\n offset: [width + sizeH, (height / 5) * 4],\n rectOffset: [(width / 4) * 3, -height - size[1]]\n };\n }\n }\n}\n"]}
|
package/es/poptip/register.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { ContainerModule } from '@visactor/vrender
|
|
1
|
+
import { ContainerModule } from '@visactor/vrender-core';
|
|
2
2
|
import type { PopTipAttributes } from './type';
|
|
3
3
|
export declare const popTipModule: ContainerModule;
|
|
4
4
|
export declare function loadPoptip(): void;
|
|
5
|
-
export declare function loadPoptipComponent(): void;
|
|
6
5
|
export declare function setPoptipTheme(defaultPoptipTheme: PopTipAttributes): void;
|
package/es/poptip/register.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { container, InteractiveSubRenderContribution, AutoEnablePlugins, ContainerModule } from "@visactor/vrender
|
|
1
|
+
import { container, InteractiveSubRenderContribution, AutoEnablePlugins, ContainerModule } from "@visactor/vrender-core";
|
|
2
2
|
|
|
3
3
|
import { merge } from "@visactor/vutils";
|
|
4
4
|
|
|
@@ -8,8 +8,6 @@ import { PopTipPlugin, PopTipForClipedTextPlugin } from "./poptip-plugin";
|
|
|
8
8
|
|
|
9
9
|
import { DEFAULT_THEME, theme } from "./theme";
|
|
10
10
|
|
|
11
|
-
import { registerGroup, registerRect, registerSymbol, registerWrapText } from "@visactor/vrender/es/register";
|
|
12
|
-
|
|
13
11
|
export const popTipModule = new ContainerModule(((bind, unbind, isBound, rebind) => {
|
|
14
12
|
isBound(PopTipRenderContribution) || (bind(PopTipRenderContribution).toSelf().inSingletonScope(),
|
|
15
13
|
bind(InteractiveSubRenderContribution).toService(PopTipRenderContribution)), isBound(PopTipPlugin) || (bind(PopTipPlugin).toSelf(),
|
|
@@ -21,10 +19,6 @@ export function loadPoptip() {
|
|
|
21
19
|
container.load(popTipModule);
|
|
22
20
|
}
|
|
23
21
|
|
|
24
|
-
export function loadPoptipComponent() {
|
|
25
|
-
registerGroup(), registerWrapText(), registerSymbol(), registerRect();
|
|
26
|
-
}
|
|
27
|
-
|
|
28
22
|
export function setPoptipTheme(defaultPoptipTheme) {
|
|
29
23
|
merge(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);
|
|
30
24
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gCAAgC,EAChC,iBAAiB,EACjB,eAAe,EAChB,MAAM,
|
|
1
|
+
{"version":3,"sources":["../src/poptip/register.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EACT,gCAAgC,EAChC,iBAAiB,EACjB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AAE1E,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IAChF,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,EAAE;QACtC,IAAI,CAAC,wBAAwB,CAAC,CAAC,MAAM,EAAE,CAAC,gBAAgB,EAAE,CAAC;QAC3D,IAAI,CAAC,gCAAgC,CAAC,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;KAC5E;IACD,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;QAC1B,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,EAAE,CAAC;QAC5B,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;KACjD;IACD,IAAI,CAAC,OAAO,CAAC,yBAAyB,CAAC,EAAE;QACvC,IAAI,CAAC,yBAAyB,CAAC,CAAC,MAAM,EAAE,CAAC;QACzC,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,yBAAyB,CAAC,CAAC;KAC9D;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,UAAU;IACxB,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC/B,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,kBAAoC;IACjE,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;AACzD,CAAC","file":"register.js","sourcesContent":["import {\n container,\n InteractiveSubRenderContribution,\n AutoEnablePlugins,\n ContainerModule\n} from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport { PopTipRenderContribution } from './contribution';\nimport { PopTipPlugin, PopTipForClipedTextPlugin } from './poptip-plugin';\nimport type { PopTipAttributes } from './type';\nimport { DEFAULT_THEME, theme } from './theme';\n\nexport const popTipModule = new ContainerModule((bind, unbind, isBound, rebind) => {\n if (!isBound(PopTipRenderContribution)) {\n bind(PopTipRenderContribution).toSelf().inSingletonScope();\n bind(InteractiveSubRenderContribution).toService(PopTipRenderContribution);\n }\n if (!isBound(PopTipPlugin)) {\n bind(PopTipPlugin).toSelf();\n bind(AutoEnablePlugins).toService(PopTipPlugin);\n }\n if (!isBound(PopTipForClipedTextPlugin)) {\n bind(PopTipForClipedTextPlugin).toSelf();\n bind(AutoEnablePlugins).toService(PopTipForClipedTextPlugin);\n }\n});\n\nexport function loadPoptip() {\n container.load(popTipModule);\n}\n\nexport function setPoptipTheme(defaultPoptipTheme: PopTipAttributes) {\n merge(theme.poptip, DEFAULT_THEME, defaultPoptipTheme);\n}\n"]}
|
package/es/poptip/type.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGraphic, IGroupGraphicAttribute, IRectGraphicAttribute, ISymbolGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender
|
|
1
|
+
import type { IGraphic, IGroupGraphicAttribute, IRectGraphicAttribute, ISymbolGraphicAttribute, ITextGraphicAttribute } from '@visactor/vrender-core';
|
|
2
2
|
import type { Padding, State } from '../core/type';
|
|
3
3
|
import type { BackgroundAttributes } from '../interface';
|
|
4
4
|
type StateStyle = {
|
package/es/poptip/type.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/poptip/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IGraphic,\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender
|
|
1
|
+
{"version":3,"sources":["../src/poptip/type.ts"],"names":[],"mappings":"","file":"type.js","sourcesContent":["import type {\n IGraphic,\n IGroupGraphicAttribute,\n IRectGraphicAttribute,\n ISymbolGraphicAttribute,\n ITextGraphicAttribute\n} from '@visactor/vrender-core';\nimport type { Padding, State } from '../core/type';\nimport type { BackgroundAttributes } from '../interface';\n\ntype StateStyle = {\n /**\n * title 文本的状态配置\n */\n title?: State<Partial<ITextGraphicAttribute>>;\n /**\n * content 文本的状态配置\n */\n content?: State<Partial<ITextGraphicAttribute>>;\n /**\n * panel 背景的状态配置ß\n */\n panel?: State<Partial<IRectGraphicAttribute>>;\n};\n\nexport type PopTipAttributes = {\n /** 位置,参考arco design */\n position?: 'auto' | 'top' | 'tl' | 'tr' | 'bottom' | 'bl' | 'br' | 'left' | 'lt' | 'lb' | 'right' | 'rt' | 'rb';\n /**\n * 标题内容,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n title?: string | string[] | number | number[];\n /** 标题样式 */\n titleStyle?: Partial<ITextGraphicAttribute>;\n titleFormatMethod?: (t: string | string[] | number | number[]) => string | string[] | number | number[];\n /**\n * 内容文本,如果需要进行换行,则使用数组形式,如 ['abc', '123']\n */\n content?: string | string[] | number | number[];\n /** 内容文本样式 */\n contentStyle?: Partial<ITextGraphicAttribute>;\n contentFormatMethod?: (t: string | string[] | number | number[]) => string | string[] | number | number[];\n /**\n * 标题与内容的间距\n */\n space?: number;\n /**\n * 内部边距\n */\n padding?: Padding;\n /**\n * 标签的背景面板配置, TODO: 支持symbol形状\n */\n panel?: BackgroundAttributes & ISymbolGraphicAttribute & { space?: number };\n\n /**\n * 最小宽度,像素值\n * @default 30\n */\n minWidth?: number;\n /**\n * 最大宽度,像素值。当文字超过最大宽度时,会自动省略。\n */\n maxWidth?: number;\n\n // 最大宽度比例\n maxWidthPercent?: number;\n\n visible?: boolean;\n visibleFunc?: (graphic: IGraphic) => boolean;\n state?: StateStyle;\n dx?: number;\n dy?: number;\n} & Omit<IGroupGraphicAttribute, 'background'>;\n\nexport type PoptipShapeAttributes = {\n /**\n * 是否展示 shape\n */\n visible: boolean;\n} & Partial<ISymbolGraphicAttribute>;\n"]}
|
package/es/scrollbar/index.d.ts
CHANGED
package/es/scrollbar/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC","file":"index.js","sourcesContent":["export * from './scrollbar';\nexport * from './type';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC","file":"index.js","sourcesContent":["export * from './scrollbar';\nexport * from './type';\nexport * from './register';\n"]}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { ContainerModule } from '@visactor/vrender
|
|
1
|
+
import { ContainerModule } from '@visactor/vrender-core';
|
|
2
2
|
export declare const scrollbarModule: ContainerModule;
|
|
3
3
|
export declare function loadScrollbar(): void;
|
|
4
|
-
export declare function loadScrollbarComponent(): void;
|
package/es/scrollbar/register.js
CHANGED
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { container, AutoEnablePlugins, ContainerModule } from "@visactor/vrender
|
|
1
|
+
import { container, AutoEnablePlugins, ContainerModule } from "@visactor/vrender-core";
|
|
2
2
|
|
|
3
3
|
import { ScrollBarPlugin } from "./scrollbar-plugin";
|
|
4
4
|
|
|
5
|
-
import { registerGroup, registerRect } from "@visactor/vrender/es/register";
|
|
6
|
-
|
|
7
5
|
export const scrollbarModule = new ContainerModule(((bind, unbind, isBound, rebind) => {
|
|
8
6
|
isBound(ScrollBarPlugin) || (bind(ScrollBarPlugin).toSelf(), bind(AutoEnablePlugins).toService(ScrollBarPlugin));
|
|
9
7
|
}));
|
|
@@ -11,8 +9,4 @@ export const scrollbarModule = new ContainerModule(((bind, unbind, isBound, rebi
|
|
|
11
9
|
export function loadScrollbar() {
|
|
12
10
|
container.load(scrollbarModule);
|
|
13
11
|
}
|
|
14
|
-
|
|
15
|
-
export function loadScrollbarComponent() {
|
|
16
|
-
registerGroup(), registerRect();
|
|
17
|
-
}
|
|
18
12
|
//# sourceMappingURL=register.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/register.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/register.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,SAAS,EAET,iBAAiB,EACjB,eAAe,EAChB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;IACnF,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;QAC7B,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,CAAC,iBAAiB,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;KACpD;AACH,CAAC,CAAC,CAAC;AAEH,MAAM,UAAU,aAAa;IAC3B,SAAS,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AAClC,CAAC","file":"register.js","sourcesContent":["import {\n container,\n InteractiveSubRenderContribution,\n AutoEnablePlugins,\n ContainerModule\n} from '@visactor/vrender-core';\nimport { merge } from '@visactor/vutils';\nimport { ScrollBarPlugin } from './scrollbar-plugin';\n\nexport const scrollbarModule = new ContainerModule((bind, unbind, isBound, rebind) => {\n if (!isBound(ScrollBarPlugin)) {\n bind(ScrollBarPlugin).toSelf();\n bind(AutoEnablePlugins).toService(ScrollBarPlugin);\n }\n});\n\nexport function loadScrollbar() {\n container.load(scrollbarModule);\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender
|
|
1
|
+
import type { IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender-core';
|
|
2
2
|
import { ScrollBar } from './scrollbar';
|
|
3
3
|
import type { IAABBBounds } from '@visactor/vutils';
|
|
4
4
|
type IParams = {
|
|
@@ -4,7 +4,7 @@ var ScrollBarPlugin_1, __decorate = this && this.__decorate || function(decorato
|
|
|
4
4
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5
5
|
};
|
|
6
6
|
|
|
7
|
-
import { Generator, injectable } from "@visactor/vrender
|
|
7
|
+
import { Generator, injectable } from "@visactor/vrender-core";
|
|
8
8
|
|
|
9
9
|
import { ScrollBar } from "./scrollbar";
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/scrollbar-plugin.ts"],"names":[],"mappings":"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","file":"scrollbar-plugin.js","sourcesContent":["import type { IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender/es/core';\nimport { Generator, injectable } from '@visactor/vrender/es/core';\nimport { ScrollBar } from './scrollbar';\nimport type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds, abs, max, min } from '@visactor/vutils';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\ntype IParams = {\n timeout?: number; // 消失的timeout\n bufferV?: number; // 判定是否出现滚动条的buffer\n bufferH?: number; // 判定是否出现滚动条的buffer\n};\n\n@injectable()\nexport class ScrollBarPlugin implements IPlugin {\n name: 'scrollbar' = 'scrollbar';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n activeGraphic: IGraphic;\n childrenBounds: IAABBBounds;\n scrollContainerBounds: IAABBBounds;\n\n static defaultParams: IParams = {\n timeout: 500\n };\n\n params: IParams;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n this.childrenBounds = new AABBBounds();\n stage.addEventListener('wheel', this.scroll as any);\n this.params = ScrollBarPlugin.defaultParams;\n }\n scroll = (e: { deltaX: number; deltaY: number; target: IGraphic }) => {\n const graphic = e.target as any;\n const data = this.getScrollContainer(graphic);\n const { g: scrollContainer } = data;\n let { showH, showV } = data;\n if (!scrollContainer || scrollContainer.count === 1) {\n return;\n }\n this.scrollContainerBounds = scrollContainer.AABBBounds.clone();\n if (abs(e.deltaX) > abs(e.deltaY)) {\n showH = showH && true;\n showV = showV && false;\n } else {\n showH = showH && false;\n showV = showV && true;\n }\n scrollContainer.setAttributes({\n scrollX: showH ? (scrollContainer.attribute.scrollX || 0) + e.deltaX : scrollContainer.attribute.scrollX || 0,\n scrollY: showV ? (scrollContainer.attribute.scrollY || 0) + e.deltaY : scrollContainer.attribute.scrollY || 0\n });\n\n // 计算子元素的bounds\n const childrenBounds = this.childrenBounds;\n const scrollContainerBounds = this.scrollContainerBounds;\n childrenBounds.clear();\n scrollContainer.forEachChildren((c: IGraphic) => {\n childrenBounds.union(c.AABBBounds);\n });\n // 判断是否需要显示H或V,如果bounds完全在内部,那就不需要显示\n childrenBounds.transformWithMatrix(scrollContainer.transMatrix);\n if (showH && scrollContainerBounds.x1 <= childrenBounds.x1 && scrollContainerBounds.x2 >= childrenBounds.x2) {\n showH = false;\n }\n\n if (showV && scrollContainerBounds.y1 <= childrenBounds.y1 && scrollContainerBounds.y2 >= childrenBounds.y2) {\n showV = false;\n }\n\n // 转到当前坐标系下\n const m = scrollContainer.transMatrix;\n scrollContainerBounds.translate(-m.e, -m.f);\n childrenBounds.translate(-m.e, -m.f);\n // 如果子元素的bounds小于scrollContainer,那么就扩充\n if (showH) {\n childrenBounds.x1 = min(childrenBounds.x1, scrollContainerBounds.x1);\n childrenBounds.x2 = max(childrenBounds.x2, scrollContainerBounds.x2);\n }\n if (showV) {\n childrenBounds.y1 = min(childrenBounds.y1, scrollContainerBounds.y1);\n childrenBounds.y2 = max(childrenBounds.y2, scrollContainerBounds.y2);\n }\n childrenBounds.translate(scrollContainer.attribute.scrollX, scrollContainer.attribute.scrollY);\n\n const shadowRoot = scrollContainer.shadowRoot ?? scrollContainer.attachShadow();\n const container = shadowRoot.createOrUpdateChild('scroll-bar', {}, 'group') as IGroup;\n const { h, v, deltaH, deltaV } = this.addOrUpdateScroll(showH, showV, container, scrollContainer);\n scrollContainer.setAttributes({\n scrollX: h ? scrollContainer.attribute.scrollX || 0 : (scrollContainer.attribute.scrollX || 0) + deltaH,\n scrollY: v ? scrollContainer.attribute.scrollY || 0 : (scrollContainer.attribute.scrollY || 0) + deltaV\n });\n };\n addOrUpdateScroll(\n showH: boolean,\n showV: boolean,\n container: IGroup,\n scrollContainer: IGroup\n ): { h: boolean; deltaH: number; v: boolean; deltaV: number } {\n const scrollbars = container.children;\n let h = false;\n let v = false;\n let deltaH = 0;\n let deltaV = 0;\n if (showH) {\n const hScrollbar = scrollbars.filter((g: ScrollBar) => g.attribute.direction !== 'vertical')[0] as ScrollBar;\n const d = this.addOrUpdateHScroll(this.scrollContainerBounds, container, hScrollbar);\n h = d.valid;\n deltaH = d.delta;\n this.disappearScrollBar(hScrollbar, v);\n }\n if (showV) {\n const vScrollbar = scrollbars.filter((g: ScrollBar) => g.attribute.direction === 'vertical')[0] as ScrollBar;\n const d = this.addOrUpdateVScroll(this.scrollContainerBounds, container, vScrollbar);\n v = d.valid;\n deltaV = d.delta;\n this.disappearScrollBar(vScrollbar, v);\n }\n return {\n h,\n deltaH,\n v,\n deltaV\n };\n }\n addOrUpdateHScroll(\n scrollContainerB: IAABBBounds,\n container: IGroup,\n scrollBar?: ScrollBar\n ): { valid: boolean; delta: number } {\n if (!scrollBar) {\n scrollBar = new ScrollBar({\n direction: 'horizontal',\n x: 0,\n y: 0,\n width: scrollContainerB.width(),\n height: 12,\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n });\n container.add(scrollBar);\n }\n const b = scrollBar.AABBBounds;\n const childrenBounds = this.childrenBounds;\n const y = scrollContainerB.y2 - b.height();\n\n const ratio = Math.min(b.width() / this.childrenBounds.width(), 1);\n let start =\n ((scrollContainerB.x1 - childrenBounds.x1) / (childrenBounds.width() - scrollContainerB.width())) * (1 - ratio);\n\n let valid = true;\n let delta = 0;\n if (start < 0) {\n start = 0;\n valid = false;\n delta = scrollContainerB.x1 - childrenBounds.x1;\n } else if (start + ratio > 1) {\n start = 1 - ratio;\n valid = false;\n delta = scrollContainerB.x1 - childrenBounds.x1 - (childrenBounds.width() - scrollContainerB.width());\n }\n scrollBar.setAttributes({\n y,\n visibleAll: true,\n range: [start, start + ratio]\n });\n return {\n valid,\n delta\n };\n }\n\n addOrUpdateVScroll(\n scrollContainerB: IAABBBounds,\n container: IGroup,\n scrollBar?: ScrollBar\n ): { valid: boolean; delta: number } {\n if (!scrollBar) {\n scrollBar = new ScrollBar({\n direction: 'vertical',\n x: 0,\n y: 0,\n width: 12,\n height: scrollContainerB.height(),\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n });\n container.add(scrollBar);\n }\n const b = scrollBar.AABBBounds;\n const x = scrollContainerB.x2 - b.width();\n const childrenBounds = this.childrenBounds;\n const ratio = Math.min(b.height() / childrenBounds.height(), 1);\n let start =\n ((scrollContainerB.y1 - childrenBounds.y1) / (childrenBounds.height() - scrollContainerB.height())) * (1 - ratio);\n\n let valid = true;\n let delta = 0;\n if (start < 0) {\n start = 0;\n valid = false;\n delta = scrollContainerB.y1 - childrenBounds.y1;\n } else if (start + ratio > 1) {\n start = 1 - ratio;\n valid = false;\n delta = scrollContainerB.y1 - childrenBounds.y1 - (childrenBounds.height() - scrollContainerB.height());\n }\n scrollBar.setAttributes({\n x,\n visibleAll: true,\n range: [start, start + ratio]\n });\n return {\n valid,\n delta\n };\n }\n\n disappearScrollBar(scrollBar: ScrollBar, valid: boolean) {\n if ((scrollBar as any)._plugin_timeout) {\n clearTimeout((scrollBar as any)._plugin_timeout);\n }\n (scrollBar as any)._plugin_timeout = setTimeout(() => {\n scrollBar.setAttribute('visibleAll', false);\n }, this.params.timeout ?? 0);\n }\n\n // 获取响应滚动的元素\n getScrollContainer(graphic: IGraphic): { g: IGroup; showH: boolean; showV: boolean } | null {\n let g = graphic;\n while (g) {\n if (g.attribute.overflow && g.attribute.overflow !== 'hidden') {\n const overflow = g.attribute.overflow;\n let showH = false;\n let showV = false;\n if (overflow === 'scroll') {\n (showH = true), (showV = true);\n } else {\n showH = overflow === 'scroll-x';\n showV = !showH;\n }\n return { g: g as IGroup, showH, showV };\n }\n g = g.parent;\n }\n return null;\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('wheel', this.scroll as any);\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/scrollbar-plugin.ts"],"names":[],"mappings":"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","file":"scrollbar-plugin.js","sourcesContent":["import type { FederatedPointerEvent, IGraphic, IGroup, IPlugin, IPluginService } from '@visactor/vrender-core';\nimport { Generator, injectable } from '@visactor/vrender-core';\nimport { ScrollBar } from './scrollbar';\nimport type { IAABBBounds } from '@visactor/vutils';\nimport { AABBBounds, abs, isRectIntersect, max, min, rectInsideAnotherRect } from '@visactor/vutils';\n\n// _showPoptip: 0-没有,1-添加,2-删除\n\ntype IParams = {\n timeout?: number; // 消失的timeout\n bufferV?: number; // 判定是否出现滚动条的buffer\n bufferH?: number; // 判定是否出现滚动条的buffer\n};\n\n@injectable()\nexport class ScrollBarPlugin implements IPlugin {\n name: 'scrollbar' = 'scrollbar';\n activeEvent: 'onRegister' = 'onRegister';\n pluginService: IPluginService;\n _uid: number = Generator.GenAutoIncrementId();\n key: string = this.name + this._uid;\n activeGraphic: IGraphic;\n childrenBounds: IAABBBounds;\n scrollContainerBounds: IAABBBounds;\n\n static defaultParams: IParams = {\n timeout: 500\n };\n\n params: IParams;\n\n activate(context: IPluginService): void {\n this.pluginService = context;\n const { stage } = this.pluginService;\n\n this.childrenBounds = new AABBBounds();\n stage.addEventListener('wheel', this.scroll as any);\n this.params = ScrollBarPlugin.defaultParams;\n }\n scroll = (e: { deltaX: number; deltaY: number; target: IGraphic }) => {\n const graphic = e.target as any;\n const data = this.getScrollContainer(graphic);\n const { g: scrollContainer } = data;\n let { showH, showV } = data;\n if (!scrollContainer || scrollContainer.count === 1) {\n return;\n }\n this.scrollContainerBounds = scrollContainer.AABBBounds.clone();\n if (abs(e.deltaX) > abs(e.deltaY)) {\n showH = showH && true;\n showV = showV && false;\n } else {\n showH = showH && false;\n showV = showV && true;\n }\n scrollContainer.setAttributes({\n scrollX: showH ? (scrollContainer.attribute.scrollX || 0) + e.deltaX : scrollContainer.attribute.scrollX || 0,\n scrollY: showV ? (scrollContainer.attribute.scrollY || 0) + e.deltaY : scrollContainer.attribute.scrollY || 0\n });\n\n // 计算子元素的bounds\n const childrenBounds = this.childrenBounds;\n const scrollContainerBounds = this.scrollContainerBounds;\n childrenBounds.clear();\n scrollContainer.forEachChildren((c: IGraphic) => {\n childrenBounds.union(c.AABBBounds);\n });\n // 判断是否需要显示H或V,如果bounds完全在内部,那就不需要显示\n childrenBounds.transformWithMatrix(scrollContainer.transMatrix);\n if (showH && scrollContainerBounds.x1 <= childrenBounds.x1 && scrollContainerBounds.x2 >= childrenBounds.x2) {\n showH = false;\n }\n\n if (showV && scrollContainerBounds.y1 <= childrenBounds.y1 && scrollContainerBounds.y2 >= childrenBounds.y2) {\n showV = false;\n }\n\n // 转到当前坐标系下\n const m = scrollContainer.transMatrix;\n scrollContainerBounds.translate(-m.e, -m.f);\n childrenBounds.translate(-m.e, -m.f);\n // 如果子元素的bounds小于scrollContainer,那么就扩充\n if (showH) {\n childrenBounds.x1 = min(childrenBounds.x1, scrollContainerBounds.x1);\n childrenBounds.x2 = max(childrenBounds.x2, scrollContainerBounds.x2);\n }\n if (showV) {\n childrenBounds.y1 = min(childrenBounds.y1, scrollContainerBounds.y1);\n childrenBounds.y2 = max(childrenBounds.y2, scrollContainerBounds.y2);\n }\n childrenBounds.translate(scrollContainer.attribute.scrollX, scrollContainer.attribute.scrollY);\n\n const shadowRoot = scrollContainer.shadowRoot ?? scrollContainer.attachShadow();\n const container = shadowRoot.createOrUpdateChild('scroll-bar', {}, 'group') as IGroup;\n const { h, v, deltaH, deltaV } = this.addOrUpdateScroll(showH, showV, container, scrollContainer);\n scrollContainer.setAttributes({\n scrollX: h ? scrollContainer.attribute.scrollX || 0 : (scrollContainer.attribute.scrollX || 0) + deltaH,\n scrollY: v ? scrollContainer.attribute.scrollY || 0 : (scrollContainer.attribute.scrollY || 0) + deltaV\n });\n };\n addOrUpdateScroll(\n showH: boolean,\n showV: boolean,\n container: IGroup,\n scrollContainer: IGroup\n ): { h: boolean; deltaH: number; v: boolean; deltaV: number } {\n const scrollbars = container.children;\n let h = false;\n let v = false;\n let deltaH = 0;\n let deltaV = 0;\n if (showH) {\n const hScrollbar = scrollbars.filter((g: ScrollBar) => g.attribute.direction !== 'vertical')[0] as ScrollBar;\n const d = this.addOrUpdateHScroll(this.scrollContainerBounds, container, hScrollbar);\n h = d.valid;\n deltaH = d.delta;\n this.disappearScrollBar(hScrollbar, v);\n }\n if (showV) {\n const vScrollbar = scrollbars.filter((g: ScrollBar) => g.attribute.direction === 'vertical')[0] as ScrollBar;\n const d = this.addOrUpdateVScroll(this.scrollContainerBounds, container, vScrollbar);\n v = d.valid;\n deltaV = d.delta;\n this.disappearScrollBar(vScrollbar, v);\n }\n return {\n h,\n deltaH,\n v,\n deltaV\n };\n }\n addOrUpdateHScroll(\n scrollContainerB: IAABBBounds,\n container: IGroup,\n scrollBar?: ScrollBar\n ): { valid: boolean; delta: number } {\n if (!scrollBar) {\n scrollBar = new ScrollBar({\n direction: 'horizontal',\n x: 0,\n y: 0,\n width: scrollContainerB.width(),\n height: 12,\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n });\n container.add(scrollBar);\n }\n const b = scrollBar.AABBBounds;\n const childrenBounds = this.childrenBounds;\n const y = scrollContainerB.y2 - b.height();\n\n const ratio = Math.min(b.width() / this.childrenBounds.width(), 1);\n let start =\n ((scrollContainerB.x1 - childrenBounds.x1) / (childrenBounds.width() - scrollContainerB.width())) * (1 - ratio);\n\n let valid = true;\n let delta = 0;\n if (start < 0) {\n start = 0;\n valid = false;\n delta = scrollContainerB.x1 - childrenBounds.x1;\n } else if (start + ratio > 1) {\n start = 1 - ratio;\n valid = false;\n delta = scrollContainerB.x1 - childrenBounds.x1 - (childrenBounds.width() - scrollContainerB.width());\n }\n scrollBar.setAttributes({\n y,\n visibleAll: true,\n range: [start, start + ratio]\n });\n return {\n valid,\n delta\n };\n }\n\n addOrUpdateVScroll(\n scrollContainerB: IAABBBounds,\n container: IGroup,\n scrollBar?: ScrollBar\n ): { valid: boolean; delta: number } {\n if (!scrollBar) {\n scrollBar = new ScrollBar({\n direction: 'vertical',\n x: 0,\n y: 0,\n width: 12,\n height: scrollContainerB.height(),\n padding: [2, 0],\n railStyle: {\n fill: 'rgba(0, 0, 0, .1)'\n },\n range: [0, 0.05]\n });\n container.add(scrollBar);\n }\n const b = scrollBar.AABBBounds;\n const x = scrollContainerB.x2 - b.width();\n const childrenBounds = this.childrenBounds;\n const ratio = Math.min(b.height() / childrenBounds.height(), 1);\n let start =\n ((scrollContainerB.y1 - childrenBounds.y1) / (childrenBounds.height() - scrollContainerB.height())) * (1 - ratio);\n\n let valid = true;\n let delta = 0;\n if (start < 0) {\n start = 0;\n valid = false;\n delta = scrollContainerB.y1 - childrenBounds.y1;\n } else if (start + ratio > 1) {\n start = 1 - ratio;\n valid = false;\n delta = scrollContainerB.y1 - childrenBounds.y1 - (childrenBounds.height() - scrollContainerB.height());\n }\n scrollBar.setAttributes({\n x,\n visibleAll: true,\n range: [start, start + ratio]\n });\n return {\n valid,\n delta\n };\n }\n\n disappearScrollBar(scrollBar: ScrollBar, valid: boolean) {\n if ((scrollBar as any)._plugin_timeout) {\n clearTimeout((scrollBar as any)._plugin_timeout);\n }\n (scrollBar as any)._plugin_timeout = setTimeout(() => {\n scrollBar.setAttribute('visibleAll', false);\n }, this.params.timeout ?? 0);\n }\n\n // 获取响应滚动的元素\n getScrollContainer(graphic: IGraphic): { g: IGroup; showH: boolean; showV: boolean } | null {\n let g = graphic;\n while (g) {\n if (g.attribute.overflow && g.attribute.overflow !== 'hidden') {\n const overflow = g.attribute.overflow;\n let showH = false;\n let showV = false;\n if (overflow === 'scroll') {\n (showH = true), (showV = true);\n } else {\n showH = overflow === 'scroll-x';\n showV = !showH;\n }\n return { g: g as IGroup, showH, showV };\n }\n g = g.parent;\n }\n return null;\n }\n\n deactivate(context: IPluginService): void {\n const { stage } = this.pluginService;\n stage.removeEventListener('wheel', this.scroll as any);\n }\n}\n"]}
|
|
@@ -1,18 +1,14 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { vglobal } from "@visactor/vrender-core";
|
|
2
2
|
|
|
3
3
|
import { merge, normalizePadding, clamp, clampRange, debounce, throttle } from "@visactor/vutils";
|
|
4
4
|
|
|
5
5
|
import { AbstractComponent } from "../core/base";
|
|
6
6
|
|
|
7
|
-
import { loadScrollbarComponent } from "./register";
|
|
8
|
-
|
|
9
7
|
const delayMap = {
|
|
10
8
|
debounce: debounce,
|
|
11
9
|
throttle: throttle
|
|
12
10
|
};
|
|
13
11
|
|
|
14
|
-
loadScrollbarComponent();
|
|
15
|
-
|
|
16
12
|
export class ScrollBar extends AbstractComponent {
|
|
17
13
|
constructor(attributes, options) {
|
|
18
14
|
super((null == options ? void 0 : options.skipDefault) ? attributes : merge({}, ScrollBar.defaultAttributes, attributes)),
|
|
@@ -52,7 +48,7 @@ export class ScrollBar extends AbstractComponent {
|
|
|
52
48
|
}), this.attribute.delayTime), this._onSliderPointerUp = e => {
|
|
53
49
|
e.preventDefault();
|
|
54
50
|
const {realTime: realTime = !0, range: preRange, limitRange: limitRange = [ 0, 1 ]} = this.attribute, preScrollRange = this.getScrollRange(), [currentPos, currentScrollValue] = this._computeScrollValue(e), range = [ preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue ];
|
|
55
|
-
realTime || this.
|
|
51
|
+
realTime || this._dispatchEvent("scroll", {
|
|
56
52
|
pre: preRange,
|
|
57
53
|
value: clampRange(range, limitRange[0], limitRange[1])
|
|
58
54
|
}), "browser" === vglobal.env ? (vglobal.removeEventListener("pointermove", this._onSliderPointerMove, {
|
|
@@ -70,7 +66,7 @@ export class ScrollBar extends AbstractComponent {
|
|
|
70
66
|
this._slider && ("horizontal" === direction ? this._slider.setAttribute("x", sliderPos[0], !0) : this._slider.setAttribute("y", sliderPos[0], !0),
|
|
71
67
|
(null === (_a = this.stage) || void 0 === _a ? void 0 : _a.autoRender) || null === (_b = this.stage) || void 0 === _b || _b.renderNextFrame());
|
|
72
68
|
}
|
|
73
|
-
this.attribute.range = currScrollRange, realTime && this.
|
|
69
|
+
this.attribute.range = currScrollRange, realTime && this._dispatchEvent("scroll", {
|
|
74
70
|
pre: preRange,
|
|
75
71
|
value: currScrollRange
|
|
76
72
|
});
|
|
@@ -148,12 +144,6 @@ export class ScrollBar extends AbstractComponent {
|
|
|
148
144
|
const {limitRange: limitRange = [ 0, 1 ], direction: direction} = this.attribute, [min, max] = clampRange(limitRange, 0, 1), {width: width, height: height, x1: x1, y1: y1} = this._getSliderRenderBounds(), sliderSize = this._sliderSize;
|
|
149
145
|
return "horizontal" === direction ? clampRange([ x1 + min * width, x1 + max * width ], x1, width - sliderSize) : clampRange([ y1 + min * height, y1 + max * height ], y1, height - sliderSize);
|
|
150
146
|
}
|
|
151
|
-
_onChange(detail) {
|
|
152
|
-
var _a;
|
|
153
|
-
const changeEvent = new CustomEvent("scroll", detail);
|
|
154
|
-
changeEvent.manager = null === (_a = this.stage) || void 0 === _a ? void 0 : _a.eventSystem.manager,
|
|
155
|
-
this.dispatchEvent(changeEvent);
|
|
156
|
-
}
|
|
157
147
|
_reset() {
|
|
158
148
|
this._sliderRenderBounds = null, this._sliderLimitRange = null;
|
|
159
149
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/scrollbar/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["/**\n * @description 滚动条组件\n */\nimport type { IRectGraphicAttribute, FederatedPointerEvent, IGroup, IRect } from '@visactor/vrender/es/core';\n// eslint-disable-next-line no-duplicate-imports\nimport { CustomEvent, vglobal } from '@visactor/vrender/es/core';\nimport { merge, normalizePadding, clamp, clampRange, debounce, throttle } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\n\nimport type { ScrollBarAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\nimport { loadScrollbarComponent } from './register';\n\ntype ComponentBounds = {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n width: number;\n height: number;\n};\n\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\n\nloadScrollbarComponent();\n\nexport class ScrollBar extends AbstractComponent<Required<ScrollBarAttributes>> {\n name = 'scrollbar';\n\n static defaultAttributes = {\n direction: 'horizontal',\n round: true,\n sliderSize: 20,\n sliderStyle: {\n fill: 'rgba(0, 0, 0, .5)'\n },\n railStyle: {\n fill: 'rgba(0, 0, 0, .0)'\n },\n padding: 2,\n scrollRange: [0, 1],\n delayType: 'throttle',\n delayTime: 0,\n realTime: true\n };\n\n private _container!: IGroup;\n // 滚动条滑块\n private _slider!: IRect;\n // 滚动条滑轨\n private _rail!: IRect;\n // 滑块可渲染的区域包围盒\n private _sliderRenderBounds!: ComponentBounds | null;\n // 滑块滑动的范围\n private _sliderLimitRange!: [number, number] | null;\n // 保留滑块上一次的位置\n private _prePos!: number;\n // TODO: 临时方案\n private _viewPosition!: { x: number; y: number };\n private _sliderSize!: number;\n\n constructor(attributes: ScrollBarAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, ScrollBar.defaultAttributes, attributes));\n }\n\n setScrollRange(range: [number, number], render = true) {\n const {\n direction = 'horizontal',\n limitRange = [0, 1],\n range: preRange,\n realTime = true\n } = this.attribute as ScrollBarAttributes;\n\n const currScrollRange = clampRange(range, limitRange[0], limitRange[1]);\n if (render) {\n // 更新图形\n const sliderPos = this._getSliderPos(currScrollRange);\n if (this._slider) {\n if (direction === 'horizontal') {\n this._slider.setAttribute('x', sliderPos[0], true);\n } else {\n this._slider.setAttribute('y', sliderPos[0], true);\n }\n\n if (!this.stage?.autoRender) {\n this.stage?.renderNextFrame();\n }\n }\n }\n (this.attribute as ScrollBarAttributes).range = currScrollRange;\n // 发射 change 事件\n if (realTime) {\n this._onChange({\n pre: preRange,\n value: currScrollRange\n });\n }\n }\n\n getScrollRange(): [number, number] {\n return (this.attribute as ScrollBarAttributes).range;\n }\n\n // public setLocation(point: PointLocationCfg) {\n // this.translateTo(point.x, point.y);\n // }\n\n // 绑定事件\n protected bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n const { delayType = 'throttle', delayTime = 0 } = this.attribute as ScrollBarAttributes;\n // TODO: wheel 事件支持\n if (this._rail) {\n this._rail.addEventListener(\n 'pointerdown',\n delayMap[delayType](this._onRailPointerDown, delayTime) as EventListener\n );\n }\n if (this._slider) {\n this._slider.addEventListener('pointerdown', this._onSliderPointerDown as EventListener);\n }\n }\n\n protected render() {\n this._reset();\n const {\n direction = 'horizontal',\n width,\n height,\n range,\n limitRange = [0, 1],\n // sliderSize = 20,\n // scrollValue = 0,\n // scrollRange = [0, 1],\n railStyle,\n sliderStyle,\n padding = 2\n } = this.attribute as ScrollBarAttributes;\n\n const group = this.createOrUpdateChild('scrollbar-container', {}, 'group') as IGroup;\n // 绘制轨道\n\n const rail = group.createOrUpdateChild(\n 'scrollbar-rail',\n {\n x: 0,\n y: 0,\n width,\n height,\n ...railStyle\n },\n 'rect'\n ) as IRect;\n this._rail = rail;\n\n // 滑块\n const sliderRenderBounds = this._getSliderRenderBounds();\n const sliderPos = this._getSliderPos(clampRange(range, limitRange[0], limitRange[1]));\n const sliderSize = sliderPos[1] - sliderPos[0];\n this._sliderSize = sliderSize;\n // const sliderRangePos = this._getScrollRange();\n\n let sliderAttribute: IRectGraphicAttribute;\n if (direction === 'horizontal') {\n sliderAttribute = {\n x: sliderPos[0],\n y: sliderRenderBounds.y1,\n width: sliderSize,\n height: sliderRenderBounds.height\n };\n } else {\n sliderAttribute = {\n x: sliderRenderBounds.x1,\n y: sliderPos[0],\n width: sliderRenderBounds.width,\n height: sliderSize\n };\n }\n\n const slider = group.createOrUpdateChild(\n 'slider',\n {\n ...sliderAttribute,\n cornerRadius: this._getDefaultSliderCornerRadius(),\n ...sliderStyle,\n boundsPadding: normalizePadding(padding),\n pickMode: 'imprecise'\n },\n 'rect'\n ) as IRect;\n this._slider = slider;\n this._container = group;\n\n const containerAABBBounds = this._container.AABBBounds;\n this._viewPosition = {\n x: containerAABBBounds.x1,\n y: containerAABBBounds.y1\n };\n }\n\n // 获取滑块渲染的包围盒区域\n private _getSliderRenderBounds() {\n if (this._sliderRenderBounds) {\n return this._sliderRenderBounds;\n }\n const { width, height, padding = 2 } = this.attribute as ScrollBarAttributes;\n const [top, right, bottom, left] = normalizePadding(padding);\n const renderBounds = {\n x1: left,\n y1: top,\n x2: width - right,\n y2: height - bottom,\n width: width - (left + right),\n height: height - (top + bottom)\n };\n this._sliderRenderBounds = renderBounds;\n return renderBounds;\n }\n\n // 获取默认的滑块圆角\n private _getDefaultSliderCornerRadius() {\n const { direction, round } = this.attribute as ScrollBarAttributes;\n\n if (round) {\n const { width, height } = this._getSliderRenderBounds();\n return direction === 'horizontal' ? height : width;\n }\n\n return 0;\n }\n\n // 计算滑块在轨道的位置\n private _getSliderPos(range: [number, number]) {\n const { direction } = this.attribute as ScrollBarAttributes;\n const { width, height, x1, y1 } = this._getSliderRenderBounds();\n\n if (direction === 'horizontal') {\n return [width * range[0] + x1, width * range[1] + x1];\n }\n return [height * range[0] + y1, height * range[1] + y1];\n }\n\n private _getScrollRange() {\n if (this._sliderLimitRange) {\n return this._sliderLimitRange;\n }\n const { limitRange = [0, 1], direction } = this.attribute as ScrollBarAttributes;\n const [min, max] = clampRange(limitRange, 0, 1);\n const { width, height, x1, y1 } = this._getSliderRenderBounds();\n const sliderSize = this._sliderSize;\n\n return direction === 'horizontal'\n ? clampRange([x1 + min * width, x1 + max * width], x1, width - sliderSize)\n : clampRange([y1 + min * height, y1 + max * height], y1, height - sliderSize);\n }\n\n private _onRailPointerDown = (e: FederatedPointerEvent) => {\n // 将事件坐标转换为实际的滑块位置\n // TODO: 这里有问题,应该拿 viewX viewY,同时 graphic 要提供接口获取它的 相对 view 的坐标\n const { viewX, viewY } = e;\n const { direction, width, height, range } = this.attribute as ScrollBarAttributes;\n const sliderSize = this._sliderSize;\n const [min, max] = this._getScrollRange();\n let currentScrollValue;\n if (direction === 'vertical') {\n const relativeY = viewY - this._viewPosition.y;\n const currentYPos = clamp(relativeY - sliderSize / 2, min, max);\n currentScrollValue = relativeY / height;\n this._slider.setAttribute('y', currentYPos, true);\n } else {\n const relativeX = viewX - this._viewPosition.x;\n const currentXPos = clamp(relativeX - sliderSize / 2, min, max);\n currentScrollValue = relativeX / width;\n this._slider.setAttribute('x', currentXPos, true);\n }\n\n this.setScrollRange(\n [currentScrollValue - (range[1] - range[0]) / 2, currentScrollValue + (range[1] - range[0]) / 2],\n false\n );\n\n if (!this.stage?.autoRender) {\n this.stage?.renderNextFrame();\n }\n };\n\n private _onSliderPointerDown = (e: FederatedPointerEvent) => {\n e.stopPropagation();\n const { direction } = this.attribute as ScrollBarAttributes;\n this._prePos = direction === 'horizontal' ? e.clientX : e.clientY;\n if (vglobal.env === 'browser') {\n vglobal.addEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n vglobal.addEventListener('pointerup', this._onSliderPointerUp);\n } else {\n this.stage.addEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n this.stage.addEventListener('pointerup', this._onSliderPointerUp);\n this.stage.addEventListener('pointerupoutside', this._onSliderPointerUp);\n }\n };\n\n private _computeScrollValue = (e: any) => {\n const { direction } = this.attribute as ScrollBarAttributes;\n let currentScrollValue;\n let currentPos;\n let delta = 0;\n\n const { width, height } = this._getSliderRenderBounds();\n if (direction === 'vertical') {\n currentPos = e.clientY;\n delta = currentPos - this._prePos;\n currentScrollValue = delta / height;\n } else {\n currentPos = e.clientX;\n delta = currentPos - this._prePos;\n currentScrollValue = delta / width;\n }\n return [currentPos, currentScrollValue];\n };\n\n private _onSliderPointerMove = delayMap[this.attribute.delayType]((e: any) => {\n e.stopPropagation();\n const preScrollRange = this.getScrollRange();\n const [currentPos, currentScrollValue] = this._computeScrollValue(e);\n this.setScrollRange([preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue], true);\n this._prePos = currentPos;\n }, this.attribute.delayTime);\n\n private _onSliderPointerUp = (e: any) => {\n e.preventDefault();\n const { realTime = true, range: preRange, limitRange = [0, 1] } = this.attribute as ScrollBarAttributes;\n // 发射 change 事件\n const preScrollRange = this.getScrollRange();\n const [currentPos, currentScrollValue] = this._computeScrollValue(e);\n const range: [number, number] = [preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue];\n if (!realTime) {\n this._onChange({\n pre: preRange,\n value: clampRange(range, limitRange[0], limitRange[1])\n });\n }\n if (vglobal.env === 'browser') {\n vglobal.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n vglobal.removeEventListener('pointerup', this._onSliderPointerUp);\n } else {\n this.stage.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n this.stage.removeEventListener('pointerup', this._onSliderPointerUp);\n this.stage.removeEventListener('pointerupoutside', this._onSliderPointerUp);\n }\n };\n\n private _onChange(detail: any) {\n const changeEvent = new CustomEvent('scroll', detail);\n // FIXME: 需要在 vrender 的事件系统支持\n // @ts-ignore\n changeEvent.manager = this.stage?.eventSystem.manager;\n this.dispatchEvent(changeEvent);\n }\n\n private _reset() {\n this._sliderRenderBounds = null;\n this._sliderLimitRange = null;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/scrollbar/scrollbar.ts"],"names":[],"mappings":"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","file":"scrollbar.js","sourcesContent":["/**\n * @description 滚动条组件\n */\nimport type { IRectGraphicAttribute, FederatedPointerEvent, IGroup, IRect } from '@visactor/vrender-core';\n// eslint-disable-next-line no-duplicate-imports\nimport { vglobal } from '@visactor/vrender-core';\nimport { merge, normalizePadding, clamp, clampRange, debounce, throttle } from '@visactor/vutils';\nimport { AbstractComponent } from '../core/base';\n\nimport type { ScrollBarAttributes } from './type';\nimport type { ComponentOptions } from '../interface';\n\ntype ComponentBounds = {\n x1: number;\n y1: number;\n x2: number;\n y2: number;\n width: number;\n height: number;\n};\n\nconst delayMap = {\n debounce: debounce,\n throttle: throttle\n};\n\nexport class ScrollBar extends AbstractComponent<Required<ScrollBarAttributes>> {\n name = 'scrollbar';\n\n static defaultAttributes = {\n direction: 'horizontal',\n round: true,\n sliderSize: 20,\n sliderStyle: {\n fill: 'rgba(0, 0, 0, .5)'\n },\n railStyle: {\n fill: 'rgba(0, 0, 0, .0)'\n },\n padding: 2,\n scrollRange: [0, 1],\n delayType: 'throttle',\n delayTime: 0,\n realTime: true\n };\n\n private _container!: IGroup;\n // 滚动条滑块\n private _slider!: IRect;\n // 滚动条滑轨\n private _rail!: IRect;\n // 滑块可渲染的区域包围盒\n private _sliderRenderBounds!: ComponentBounds | null;\n // 滑块滑动的范围\n private _sliderLimitRange!: [number, number] | null;\n // 保留滑块上一次的位置\n private _prePos!: number;\n // TODO: 临时方案\n private _viewPosition!: { x: number; y: number };\n private _sliderSize!: number;\n\n constructor(attributes: ScrollBarAttributes, options?: ComponentOptions) {\n super(options?.skipDefault ? attributes : merge({}, ScrollBar.defaultAttributes, attributes));\n }\n\n setScrollRange(range: [number, number], render = true) {\n const {\n direction = 'horizontal',\n limitRange = [0, 1],\n range: preRange,\n realTime = true\n } = this.attribute as ScrollBarAttributes;\n\n const currScrollRange = clampRange(range, limitRange[0], limitRange[1]);\n if (render) {\n // 更新图形\n const sliderPos = this._getSliderPos(currScrollRange);\n if (this._slider) {\n if (direction === 'horizontal') {\n this._slider.setAttribute('x', sliderPos[0], true);\n } else {\n this._slider.setAttribute('y', sliderPos[0], true);\n }\n\n if (!this.stage?.autoRender) {\n this.stage?.renderNextFrame();\n }\n }\n }\n (this.attribute as ScrollBarAttributes).range = currScrollRange;\n // 发射 change 事件\n if (realTime) {\n this._dispatchEvent('scroll', {\n pre: preRange,\n value: currScrollRange\n });\n }\n }\n\n getScrollRange(): [number, number] {\n return (this.attribute as ScrollBarAttributes).range;\n }\n\n // public setLocation(point: PointLocationCfg) {\n // this.translateTo(point.x, point.y);\n // }\n\n // 绑定事件\n protected bindEvents(): void {\n if (this.attribute.disableTriggerEvent) {\n return;\n }\n const { delayType = 'throttle', delayTime = 0 } = this.attribute as ScrollBarAttributes;\n // TODO: wheel 事件支持\n if (this._rail) {\n this._rail.addEventListener(\n 'pointerdown',\n delayMap[delayType](this._onRailPointerDown, delayTime) as EventListener\n );\n }\n if (this._slider) {\n this._slider.addEventListener('pointerdown', this._onSliderPointerDown as EventListener);\n }\n }\n\n protected render() {\n this._reset();\n const {\n direction = 'horizontal',\n width,\n height,\n range,\n limitRange = [0, 1],\n // sliderSize = 20,\n // scrollValue = 0,\n // scrollRange = [0, 1],\n railStyle,\n sliderStyle,\n padding = 2\n } = this.attribute as ScrollBarAttributes;\n\n const group = this.createOrUpdateChild('scrollbar-container', {}, 'group') as IGroup;\n // 绘制轨道\n\n const rail = group.createOrUpdateChild(\n 'scrollbar-rail',\n {\n x: 0,\n y: 0,\n width,\n height,\n ...railStyle\n },\n 'rect'\n ) as IRect;\n this._rail = rail;\n\n // 滑块\n const sliderRenderBounds = this._getSliderRenderBounds();\n const sliderPos = this._getSliderPos(clampRange(range, limitRange[0], limitRange[1]));\n const sliderSize = sliderPos[1] - sliderPos[0];\n this._sliderSize = sliderSize;\n // const sliderRangePos = this._getScrollRange();\n\n let sliderAttribute: IRectGraphicAttribute;\n if (direction === 'horizontal') {\n sliderAttribute = {\n x: sliderPos[0],\n y: sliderRenderBounds.y1,\n width: sliderSize,\n height: sliderRenderBounds.height\n };\n } else {\n sliderAttribute = {\n x: sliderRenderBounds.x1,\n y: sliderPos[0],\n width: sliderRenderBounds.width,\n height: sliderSize\n };\n }\n\n const slider = group.createOrUpdateChild(\n 'slider',\n {\n ...sliderAttribute,\n cornerRadius: this._getDefaultSliderCornerRadius(),\n ...sliderStyle,\n boundsPadding: normalizePadding(padding),\n pickMode: 'imprecise'\n },\n 'rect'\n ) as IRect;\n this._slider = slider;\n this._container = group;\n\n const containerAABBBounds = this._container.AABBBounds;\n this._viewPosition = {\n x: containerAABBBounds.x1,\n y: containerAABBBounds.y1\n };\n }\n\n // 获取滑块渲染的包围盒区域\n private _getSliderRenderBounds() {\n if (this._sliderRenderBounds) {\n return this._sliderRenderBounds;\n }\n const { width, height, padding = 2 } = this.attribute as ScrollBarAttributes;\n const [top, right, bottom, left] = normalizePadding(padding);\n const renderBounds = {\n x1: left,\n y1: top,\n x2: width - right,\n y2: height - bottom,\n width: width - (left + right),\n height: height - (top + bottom)\n };\n this._sliderRenderBounds = renderBounds;\n return renderBounds;\n }\n\n // 获取默认的滑块圆角\n private _getDefaultSliderCornerRadius() {\n const { direction, round } = this.attribute as ScrollBarAttributes;\n\n if (round) {\n const { width, height } = this._getSliderRenderBounds();\n return direction === 'horizontal' ? height : width;\n }\n\n return 0;\n }\n\n // 计算滑块在轨道的位置\n private _getSliderPos(range: [number, number]) {\n const { direction } = this.attribute as ScrollBarAttributes;\n const { width, height, x1, y1 } = this._getSliderRenderBounds();\n\n if (direction === 'horizontal') {\n return [width * range[0] + x1, width * range[1] + x1];\n }\n return [height * range[0] + y1, height * range[1] + y1];\n }\n\n private _getScrollRange() {\n if (this._sliderLimitRange) {\n return this._sliderLimitRange;\n }\n const { limitRange = [0, 1], direction } = this.attribute as ScrollBarAttributes;\n const [min, max] = clampRange(limitRange, 0, 1);\n const { width, height, x1, y1 } = this._getSliderRenderBounds();\n const sliderSize = this._sliderSize;\n\n return direction === 'horizontal'\n ? clampRange([x1 + min * width, x1 + max * width], x1, width - sliderSize)\n : clampRange([y1 + min * height, y1 + max * height], y1, height - sliderSize);\n }\n\n private _onRailPointerDown = (e: FederatedPointerEvent) => {\n // 将事件坐标转换为实际的滑块位置\n // TODO: 这里有问题,应该拿 viewX viewY,同时 graphic 要提供接口获取它的 相对 view 的坐标\n const { viewX, viewY } = e;\n const { direction, width, height, range } = this.attribute as ScrollBarAttributes;\n const sliderSize = this._sliderSize;\n const [min, max] = this._getScrollRange();\n let currentScrollValue;\n if (direction === 'vertical') {\n const relativeY = viewY - this._viewPosition.y;\n const currentYPos = clamp(relativeY - sliderSize / 2, min, max);\n currentScrollValue = relativeY / height;\n this._slider.setAttribute('y', currentYPos, true);\n } else {\n const relativeX = viewX - this._viewPosition.x;\n const currentXPos = clamp(relativeX - sliderSize / 2, min, max);\n currentScrollValue = relativeX / width;\n this._slider.setAttribute('x', currentXPos, true);\n }\n\n this.setScrollRange(\n [currentScrollValue - (range[1] - range[0]) / 2, currentScrollValue + (range[1] - range[0]) / 2],\n false\n );\n\n if (!this.stage?.autoRender) {\n this.stage?.renderNextFrame();\n }\n };\n\n private _onSliderPointerDown = (e: FederatedPointerEvent) => {\n e.stopPropagation();\n const { direction } = this.attribute as ScrollBarAttributes;\n this._prePos = direction === 'horizontal' ? e.clientX : e.clientY;\n if (vglobal.env === 'browser') {\n vglobal.addEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n vglobal.addEventListener('pointerup', this._onSliderPointerUp);\n } else {\n this.stage.addEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n this.stage.addEventListener('pointerup', this._onSliderPointerUp);\n this.stage.addEventListener('pointerupoutside', this._onSliderPointerUp);\n }\n };\n\n private _computeScrollValue = (e: any) => {\n const { direction } = this.attribute as ScrollBarAttributes;\n let currentScrollValue;\n let currentPos;\n let delta = 0;\n\n const { width, height } = this._getSliderRenderBounds();\n if (direction === 'vertical') {\n currentPos = e.clientY;\n delta = currentPos - this._prePos;\n currentScrollValue = delta / height;\n } else {\n currentPos = e.clientX;\n delta = currentPos - this._prePos;\n currentScrollValue = delta / width;\n }\n return [currentPos, currentScrollValue];\n };\n\n private _onSliderPointerMove = delayMap[this.attribute.delayType]((e: any) => {\n e.stopPropagation();\n const preScrollRange = this.getScrollRange();\n const [currentPos, currentScrollValue] = this._computeScrollValue(e);\n this.setScrollRange([preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue], true);\n this._prePos = currentPos;\n }, this.attribute.delayTime);\n\n private _onSliderPointerUp = (e: any) => {\n e.preventDefault();\n const { realTime = true, range: preRange, limitRange = [0, 1] } = this.attribute as ScrollBarAttributes;\n // 发射 change 事件\n const preScrollRange = this.getScrollRange();\n const [currentPos, currentScrollValue] = this._computeScrollValue(e);\n const range: [number, number] = [preScrollRange[0] + currentScrollValue, preScrollRange[1] + currentScrollValue];\n if (!realTime) {\n this._dispatchEvent('scroll', {\n pre: preRange,\n value: clampRange(range, limitRange[0], limitRange[1])\n });\n }\n if (vglobal.env === 'browser') {\n vglobal.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n vglobal.removeEventListener('pointerup', this._onSliderPointerUp);\n } else {\n this.stage.removeEventListener('pointermove', this._onSliderPointerMove, { capture: true });\n this.stage.removeEventListener('pointerup', this._onSliderPointerUp);\n this.stage.removeEventListener('pointerupoutside', this._onSliderPointerUp);\n }\n };\n\n private _reset() {\n this._sliderRenderBounds = null;\n this._sliderLimitRange = null;\n }\n}\n"]}
|
package/es/scrollbar/type.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IGroupGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender
|
|
1
|
+
import type { IGroupGraphicAttribute, IRectGraphicAttribute } from '@visactor/vrender-core';
|
|
2
2
|
import type { Direction, IDelayType } from '../interface';
|
|
3
3
|
import type { Padding } from '../core/type';
|
|
4
4
|
export interface ScrollBarAttributes extends IGroupGraphicAttribute {
|