We no longer reset the state of Reactflow when the selected workflow version changes. The viewport is not reset when discarding a draft version but it looks better that way. https://github.com/user-attachments/assets/0df9fa52-c44a-4aea-a504-4765542101fa Fixes https://discord.com/channels/1130383047699738754/1319626151768883300/1319626151768883300
33 lines
1.3 KiB
TypeScript
33 lines
1.3 KiB
TypeScript
import { WorkflowDiagramCanvasBase } from '@/workflow/components/WorkflowDiagramCanvasBase';
|
|
import { WorkflowDiagramCanvasEditableEffect } from '@/workflow/components/WorkflowDiagramCanvasEditableEffect';
|
|
import { WorkflowDiagramCreateStepNode } from '@/workflow/components/WorkflowDiagramCreateStepNode';
|
|
import { WorkflowDiagramEmptyTrigger } from '@/workflow/components/WorkflowDiagramEmptyTrigger';
|
|
import { WorkflowDiagramStepNodeEditable } from '@/workflow/components/WorkflowDiagramStepNodeEditable';
|
|
import { WorkflowWithCurrentVersion } from '@/workflow/types/Workflow';
|
|
import { WorkflowDiagram } from '@/workflow/types/WorkflowDiagram';
|
|
import { ReactFlowProvider } from '@xyflow/react';
|
|
|
|
export const WorkflowDiagramCanvasEditable = ({
|
|
diagram,
|
|
workflowWithCurrentVersion,
|
|
}: {
|
|
diagram: WorkflowDiagram;
|
|
workflowWithCurrentVersion: WorkflowWithCurrentVersion;
|
|
}) => {
|
|
return (
|
|
<ReactFlowProvider>
|
|
<WorkflowDiagramCanvasBase
|
|
diagram={diagram}
|
|
status={workflowWithCurrentVersion.currentVersion.status}
|
|
nodeTypes={{
|
|
default: WorkflowDiagramStepNodeEditable,
|
|
'create-step': WorkflowDiagramCreateStepNode,
|
|
'empty-trigger': WorkflowDiagramEmptyTrigger,
|
|
}}
|
|
>
|
|
<WorkflowDiagramCanvasEditableEffect />
|
|
</WorkflowDiagramCanvasBase>
|
|
</ReactFlowProvider>
|
|
);
|
|
};
|