From 80fec0170701d3cc8c78872fae5ea39746ade57f Mon Sep 17 00:00:00 2001 From: Thomas Trompette Date: Thu, 18 Sep 2025 16:22:38 +0200 Subject: [PATCH] [Iterator] Add position offset to empty node (#14597) As title. Took the offset from figma https://github.com/user-attachments/assets/e81083fe-ef81-49a0-b150-e67fda428cd3 --- ...-version-step-operations.workspace-service.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts index 359dca9cfbd..0f0aa4c6c64 100644 --- a/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts +++ b/packages/twenty-server/src/modules/workflow/workflow-builder/workflow-version-step/workflow-version-step-operations.workspace-service.ts @@ -40,6 +40,11 @@ const BASE_STEP_DEFINITION: BaseWorkflowActionSettings = { const DUPLICATED_STEP_POSITION_OFFSET = 50; +const ITERATOR_EMPTY_STEP_POSITION_OFFSET = { + x: 174, + y: 83, +}; + @Injectable() export class WorkflowVersionStepOperationsWorkspaceService { constructor( @@ -94,13 +99,13 @@ export class WorkflowVersionStepOperationsWorkspaceService { async runStepCreationSideEffectsAndBuildStep({ type, workspaceId, - position, workflowVersionId, + position, }: { type: WorkflowActionType; workspaceId: string; - position?: WorkflowStepPositionInput; workflowVersionId: string; + position?: WorkflowStepPositionInput; }): Promise { const newStepId = v4(); @@ -306,6 +311,7 @@ export class WorkflowVersionStepOperationsWorkspaceService { iteratorStepId: baseStep.id, workflowVersionId, workspaceId, + iteratorPosition: position, }); return { @@ -452,10 +458,12 @@ export class WorkflowVersionStepOperationsWorkspaceService { iteratorStepId, workflowVersionId, workspaceId, + iteratorPosition, }: { iteratorStepId: string; workflowVersionId: string; workspaceId: string; + iteratorPosition?: WorkflowStepPositionInput; }): Promise { const workflowVersionRepository = await this.twentyORMGlobalManager.getRepositoryForWorkspace( @@ -489,6 +497,10 @@ export class WorkflowVersionStepOperationsWorkspaceService { ...BASE_STEP_DEFINITION, input: {}, }, + position: { + x: (iteratorPosition?.x ?? 0) + ITERATOR_EMPTY_STEP_POSITION_OFFSET.x, + y: (iteratorPosition?.y ?? 0) + ITERATOR_EMPTY_STEP_POSITION_OFFSET.y, + }, }; await workflowVersionRepository.update(workflowVersion.id, {