diff --git a/packages/ui/src/views/agentflowsv2/Canvas.jsx b/packages/ui/src/views/agentflowsv2/Canvas.jsx index 962562c28c2..79c7fd03055 100644 --- a/packages/ui/src/views/agentflowsv2/Canvas.jsx +++ b/packages/ui/src/views/agentflowsv2/Canvas.jsx @@ -217,6 +217,7 @@ const AgentflowCanvas = () => { } const handleSaveFlow = (chatflowName) => { + if (createNewChatflowApi.loading) return if (reactFlowInstance) { const nodes = reactFlowInstance.getNodes().map((node) => { const nodeData = cloneDeep(node.data) @@ -707,6 +708,7 @@ const AgentflowCanvas = () => { { +const CanvasHeader = ({ chatflow, isAgentCanvas, isAgentflowV2, handleSaveFlow, handleDeleteFlow, handleLoadFlow, isSaving }) => { const theme = useTheme() const dispatch = useDispatch() const navigate = useNavigate() @@ -319,11 +319,13 @@ const CanvasHeader = ({ chatflow, isAgentCanvas, isAgentflowV2, handleSaveFlow, } const onSaveChatflowClick = () => { + if (isSaving) return if (chatflow.id) handleSaveFlow(flowName) else setFlowDialogOpen(true) } const onConfirmSaveName = (flowName) => { + if (isSaving) return setFlowDialogOpen(false) setSavePermission(isAgentCanvas ? 'agentflows:update' : 'chatflows:update') handleSaveFlow(flowName) @@ -593,7 +595,7 @@ const CanvasHeader = ({ chatflow, isAgentCanvas, isAgentflowV2, handleSaveFlow, )} - + { } const handleSaveFlow = async (chatflowName) => { + if (createNewChatflowApi.loading) return if (reactFlowInstance) { const nodes = reactFlowInstance.getNodes().map((node) => { const nodeData = cloneDeep(node.data) @@ -574,6 +575,7 @@ const Canvas = () => {