31f03764d6
- Increase the dimensions of the ReactFlow nodes. This allows to ditch scaling which made it hard to get the width of the nodes as they were visually scaled by 1.3. - Center the flow when the flow mounts and when the state of the right drawer opens. - Put the node type inside of the node so it doesn't overlap with the arrow - Make the edges non deletable We'll have to make a refactor so the viewport can be animated properly: https://github.com/twentyhq/twenty/issues/8387. https://github.com/user-attachments/assets/69494a32-5403-4898-be75-7fc38058e263 --------- Co-authored-by: Félix Malfait <felix@twenty.com>
46 lines
1.4 KiB
TypeScript
46 lines
1.4 KiB
TypeScript
import { WorkflowDiagramStepNodeBase } from '@/workflow/components/WorkflowDiagramStepNodeBase';
|
|
import { useDeleteOneStep } from '@/workflow/hooks/useDeleteOneStep';
|
|
import { useWorkflowWithCurrentVersion } from '@/workflow/hooks/useWorkflowWithCurrentVersion';
|
|
import { workflowIdState } from '@/workflow/states/workflowIdState';
|
|
import { WorkflowDiagramStepNodeData } from '@/workflow/types/WorkflowDiagram';
|
|
import { assertWorkflowWithCurrentVersionIsDefined } from '@/workflow/utils/assertWorkflowWithCurrentVersionIsDefined';
|
|
import { useRecoilValue } from 'recoil';
|
|
import { FloatingIconButton, IconTrash } from 'twenty-ui';
|
|
|
|
export const WorkflowDiagramStepNodeEditable = ({
|
|
id,
|
|
data,
|
|
selected,
|
|
}: {
|
|
id: string;
|
|
data: WorkflowDiagramStepNodeData;
|
|
selected?: boolean;
|
|
}) => {
|
|
const workflowId = useRecoilValue(workflowIdState);
|
|
|
|
const workflowWithCurrentVersion = useWorkflowWithCurrentVersion(workflowId);
|
|
assertWorkflowWithCurrentVersionIsDefined(workflowWithCurrentVersion);
|
|
|
|
const { deleteOneStep } = useDeleteOneStep({
|
|
workflow: workflowWithCurrentVersion,
|
|
stepId: id,
|
|
});
|
|
|
|
return (
|
|
<WorkflowDiagramStepNodeBase
|
|
data={data}
|
|
RightFloatingElement={
|
|
selected ? (
|
|
<FloatingIconButton
|
|
size="medium"
|
|
Icon={IconTrash}
|
|
onClick={() => {
|
|
return deleteOneStep();
|
|
}}
|
|
/>
|
|
) : undefined
|
|
}
|
|
/>
|
|
);
|
|
};
|