set min resize size for nodes

This commit is contained in:
Evan Simkowitz 2024-08-17 00:13:55 -07:00
parent 07a843f7bd
commit c8d32c1668
No known key found for this signature in database

View File

@ -46,6 +46,7 @@ interface ResizeContext {
}
const DefaultGapSizePx = 5;
const MinNodeSizePx = 40;
export class LayoutModel {
/**
@ -666,6 +667,15 @@ export class LayoutModel {
const clientDiff = (this.resizeContext.resizeHandleStartPx - clientPoint) * this.resizeContext.pixelToSizeRatio;
const beforeNodeSize = this.resizeContext.beforeNodeStartSize - clientDiff;
const afterNodeSize = this.resizeContext.afterNodeStartSize + clientDiff;
// If either node will be too small after this resize, don't let it happen.
if (
beforeNodeSize / this.resizeContext.pixelToSizeRatio < MinNodeSizePx ||
afterNodeSize / this.resizeContext.pixelToSizeRatio < MinNodeSizePx
) {
return;
}
const resizeAction: LayoutTreeResizeNodeAction = {
type: LayoutTreeActionType.ResizeNode,
resizeOperations: [