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,8 +330,13 @@ 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 +
startPosition!.originalHeight >
containerRect.height
? containerRect.height -
minimumInViewportHeight
: Math.max(
0, 0,
startPosition!.originalY + startPosition!.originalY +
startPosition!.originalHeight - startPosition!.originalHeight -
@ -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 +
startPosition!.originalWidth >
containerRect.width
? containerRect.width -
minimumInViewportWidth
: Math.max(
0, 0,
startPosition!.originalX + startPosition!.originalX +
startPosition!.originalWidth - startPosition!.originalWidth -
Overlay.MINIMUM_WIDTH 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
)
); );
} }