Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -299,6 +299,10 @@ const useClusterElementsLayout = () => {
const layoutNodes = allNodes;
const edges: Edge[] = taskEdges;

if (layoutNodes.length === 0) {
return;
}

getLayoutedElements({
canvasWidth,
edges,
Expand Down
81 changes: 28 additions & 53 deletions client/src/pages/platform/workflow-editor/nodes/WorkflowNode.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -64,16 +64,14 @@ const WorkflowNode = ({data, id}: {data: NodeDataType; id: string}) => {

const {invalidateWorkflowQueries} = useWorkflowEditor();

const nodeClickHandler = useNodeClickHandler(data, id);

const handleNodeClick = () => nodeClickHandler();
const handleNodeClick = useNodeClickHandler(data, id);

const isSelected = currentNode?.name === data.name;

const isMainRootClusterElement = !!data.clusterRoot && !data.isNestedClusterRoot;
const isClusterElement = data.clusterElementType;
const isNestedClusterRoot = data.isNestedClusterRoot;
const parentClusterRootId = data.parentClusterRootId || id.split('-')[0];
const parentClusterRootId = data.parentClusterRootId;
const hasSavedClusterElementPosition = data.metadata?.ui?.nodePosition;

const {data: workflowNodeDescription} = useGetWorkflowNodeDescriptionQuery(
Expand Down Expand Up @@ -236,7 +234,7 @@ const WorkflowNode = ({data, id}: {data: NodeDataType; id: string}) => {
hideClusterElementComponents={!data.clusterElementType}
hideTaskDispatchers={!!data.clusterElementType}
hideTriggerComponents
sourceNodeId={data.clusterElementType ? parentClusterRootId : id}
sourceNodeId={data.clusterElementType && parentClusterRootId ? parentClusterRootId : id}
>
<Button
className="bg-white p-2 shadow-md hover:text-blue-500 hover:shadow-sm"
Expand Down Expand Up @@ -351,56 +349,17 @@ const WorkflowNode = ({data, id}: {data: NodeDataType; id: string}) => {
</div>
)}

{!isMainRootClusterElement ? (
{isNestedClusterRoot || isMainRootClusterElement ? (
<>
{isNestedClusterRoot && filteredClusterElementTypes?.length ? (
<>
<Handle
className={twMerge(`left-${nodeWidth / 2}px`, styles.handle)}
isConnectable={false}
position={Position.Top}
type="target"
/>

{filteredClusterElementTypes.map((clusterElementType, index) => (
<Handle
className={twMerge(styles.handle)}
id={`${convertNameToCamelCase(clusterElementType.name as string)}-handle`}
isConnectable={false}
key={`${convertNameToCamelCase(clusterElementType.name as string)}-handle`}
position={Position.Bottom}
style={{
left: `${getHandlePosition({
handlesCount: clusterElementTypesCount,
index,
nodeWidth,
})}px`,
transform: 'translateX(-50%)',
}}
type="source"
/>
))}
</>
) : (
<>
<Handle
className={twMerge('left-node-handle-placement', styles.handle)}
isConnectable={false}
position={Position.Top}
type="target"
/>

<Handle
className={twMerge('left-node-handle-placement', styles.handle)}
isConnectable={false}
position={Position.Bottom}
type="source"
/>
</>
{!isMainRootClusterElement && (
<Handle
className={twMerge(`left-${nodeWidth / 2}px`, styles.handle)}
isConnectable={false}
position={Position.Top}
type="target"
/>
)}
</>
) : (
<>

{filteredClusterElementTypes.map((clusterElementType, index) => (
<Handle
className={twMerge(styles.handle)}
Expand All @@ -420,6 +379,22 @@ const WorkflowNode = ({data, id}: {data: NodeDataType; id: string}) => {
/>
))}
</>
) : (
<>
<Handle
className={twMerge('left-node-handle-placement', styles.handle)}
isConnectable={false}
position={Position.Top}
type="target"
/>

<Handle
className={twMerge('left-node-handle-placement', styles.handle)}
isConnectable={false}
position={Position.Bottom}
type="source"
/>
</>
)}

{data.name.includes('condition') && (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -233,8 +233,6 @@ export default function handleDeleteTask({
...rootClusterElementNodeData,
clusterElements: updatedClusterElements,
});

useWorkflowNodeDetailsPanelStore.getState().setWorkflowNodeDetailsPanelOpen(true);
}
}
}
Expand Down
Loading