feat: adjust floating group boundaries

This commit is contained in:
mathuo 2023-07-19 21:30:16 +01:00
parent 133ecbfccc
commit 1dd8392726

View File

@ -330,13 +330,18 @@ export class Overlay extends CompositeDisposable {
function moveTop(): void { function moveTop(): void {
top = clamp( top = clamp(
y, y,
-minimumInViewportHeight, -Number.MAX_VALUE,
Math.max( startPosition!.originalY +
0, startPosition!.originalHeight >
startPosition!.originalY + containerRect.height
startPosition!.originalHeight - ? containerRect.height -
Overlay.MINIMUM_HEIGHT minimumInViewportHeight
) : Math.max(
0,
startPosition!.originalY +
startPosition!.originalHeight -
Overlay.MINIMUM_HEIGHT
)
); );
height = height =
startPosition!.originalY + startPosition!.originalY +
@ -351,28 +356,30 @@ export class Overlay extends CompositeDisposable {
height = clamp( height = clamp(
y - top, y - top,
Overlay.MINIMUM_HEIGHT, top < 0
Math.max( ? -top + minimumInViewportHeight
0, : Overlay.MINIMUM_HEIGHT,
containerRect.height - Number.MAX_VALUE
startPosition!.originalY +
startPosition!.originalHeight +
minimumInViewportHeight
)
); );
} }
function moveLeft(): void { function moveLeft(): void {
left = clamp( left = clamp(
x, x,
-minimumInViewportWidth, -Number.MAX_VALUE,
Math.max( startPosition!.originalX +
0, startPosition!.originalWidth >
startPosition!.originalX + containerRect.width
startPosition!.originalWidth - ? containerRect.width -
Overlay.MINIMUM_WIDTH minimumInViewportWidth
) : Math.max(
0,
startPosition!.originalX +
startPosition!.originalWidth -
Overlay.MINIMUM_WIDTH
)
); );
width = width =
startPosition!.originalX + startPosition!.originalX +
startPosition!.originalWidth - startPosition!.originalWidth -
@ -383,16 +390,13 @@ export class Overlay extends CompositeDisposable {
left = left =
startPosition!.originalX - startPosition!.originalX -
startPosition!.originalWidth; startPosition!.originalWidth;
width = clamp( width = clamp(
x - left, x - left,
Overlay.MINIMUM_WIDTH, left < 0
Math.max( ? -left + minimumInViewportWidth
0, : Overlay.MINIMUM_WIDTH,
containerRect.width - Number.MAX_VALUE
startPosition!.originalX +
startPosition!.originalWidth +
minimumInViewportWidth
)
); );
} }