diff --git a/src/Components/Editor/Behaviors/RigidBodyBehaviors.ts b/src/Components/Editor/Behaviors/RigidBodyBehaviors.ts index eab0970..e96da4a 100644 --- a/src/Components/Editor/Behaviors/RigidBodyBehaviors.ts +++ b/src/Components/Editor/Behaviors/RigidBodyBehaviors.ts @@ -152,7 +152,7 @@ export function constraintBodyInsideUnallocatedWidth( // Check if the container actually fit inside // It will usually fit if it was alrady fitting const availableWidthFound = availableWidths.find((width) => - isFitting(container.properties.width, width) + isFitting(container, width) ); if (availableWidthFound === undefined) { @@ -163,21 +163,12 @@ export function constraintBodyInsideUnallocatedWidth( // We want the container to fit automatically inside the available space // even if it means to resize the container - const availableWidth: ISizePointer | undefined = availableWidths.find((width) => { - if (container.properties.minWidth === undefined) { - return true; - } - return isFitting(container.properties.minWidth, width); - }); - - if (availableWidth === undefined) { - console.warn(`Container ${container.properties.id} cannot fit in any space due to its minimum width being to large. Consequently, its rigid body property is disabled.`); - container.properties.isRigidBody = false; - return container; - } - + // The end goal is that the code never show the error message no matter what action is done + // TODO: Actually give an option to not fit and show the error message shown below + const availableWidth = availableWidths[0]; container.properties.x = availableWidth.x; container.properties.width = availableWidth.width; + // throw new Error('[constraintBodyInsideUnallocatedWidth] BIGERR: No available space found on the parent container, even though there is some.'); return container; } @@ -197,9 +188,9 @@ export function constraintBodyInsideUnallocatedWidth( * @returns */ const isFitting = ( - containerWidth: number, + container: IContainerModel, sizePointer: ISizePointer -): boolean => containerWidth <= sizePointer.width; +): boolean => container.properties.width <= sizePointer.width; /** * Get the unallocated widths inside a container diff --git a/src/Components/Editor/ContainerOperations.ts b/src/Components/Editor/ContainerOperations.ts index a913d79..93d9634 100644 --- a/src/Components/Editor/ContainerOperations.ts +++ b/src/Components/Editor/ContainerOperations.ts @@ -4,8 +4,10 @@ import { IConfiguration } from '../../Interfaces/IConfiguration'; import { ContainerModel, IContainerModel } from '../../Interfaces/IContainerModel'; import { findContainerById } from '../../utils/itertools'; import { getCurrentHistory } from './Editor'; +import IProperties from '../../Interfaces/IProperties'; import { AddMethod } from '../../Enums/AddMethod'; import { IAvailableContainer } from '../../Interfaces/IAvailableContainer'; +import { XPositionReference } from '../../Enums/XPositionReference'; import { GetDefaultContainerProps } from '../../utils/default'; /** diff --git a/test-server/http.js b/test-server/http.js index c50792d..75c8628 100644 --- a/test-server/http.js +++ b/test-server/http.js @@ -54,7 +54,6 @@ const GetSVGLayoutConfiguration = () => { { Type: 'Chassis', Width: 500, - MinWidth: 200, Style: { fillOpacity: 1, strokeWidth: 2,