diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx
index 9d262d9ac9..84076bfb50 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/NodeTemplatesModal.tsx
@@ -123,7 +123,7 @@ const NodeTemplatesModal = ({ isOpen, onClose }: ModuleTemplateListProps) => {
},
{
manual: false,
- refreshDeps: [members, basicNodeTemplates, nodeList, hasToolNode, templateType]
+ refreshDeps: [basicNodeTemplates, nodeList, hasToolNode, templateType]
}
);
const {
@@ -168,7 +168,7 @@ const NodeTemplatesModal = ({ isOpen, onClose }: ModuleTemplateListProps) => {
setParentId(parentId);
setTemplateType(type);
},
- refreshDeps: [searchKey, templateType]
+ refreshDeps: [members, searchKey, templateType]
}
);
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx
index bbbfdef551..6c4b04fd75 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/components/FlowController.tsx
@@ -1,5 +1,5 @@
import React, { useEffect, useMemo } from 'react';
-import { Background, ControlButton, MiniMap, Panel, useReactFlow } from 'reactflow';
+import { Background, ControlButton, MiniMap, Panel, useReactFlow, useViewport } from 'reactflow';
import { useContextSelector } from 'use-context-selector';
import { WorkflowContext } from '../../context';
import MyTooltip from '@fastgpt/web/components/common/MyTooltip';
@@ -7,9 +7,11 @@ import MyIcon from '@fastgpt/web/components/common/Icon';
import { Box } from '@chakra-ui/react';
import { useTranslation } from 'react-i18next';
import styles from './index.module.scss';
+import { maxZoom, minZoom } from '..';
const FlowController = React.memo(function FlowController() {
const { fitView, zoomIn, zoomOut } = useReactFlow();
+ const { zoom } = useViewport();
const { undo, redo, canRedo, canUndo } = useContextSelector(WorkflowContext, (v) => v);
const { t } = useTranslation();
@@ -111,6 +113,7 @@ const FlowController = React.memo(function FlowController() {
onClick={() => zoomOut()}
style={buttonStyle}
className={`${styles.customControlButton}`}
+ disabled={zoom <= minZoom}
>
@@ -124,6 +127,7 @@ const FlowController = React.memo(function FlowController() {
onClick={() => zoomIn()}
style={buttonStyle}
className={`${styles.customControlButton}`}
+ disabled={zoom >= maxZoom}
>
@@ -145,7 +149,7 @@ const FlowController = React.memo(function FlowController() {
>
);
- }, [isMac, t, undo, buttonStyle, canUndo, redo, canRedo, zoomOut, zoomIn, fitView]);
+ }, [isMac, t, undo, buttonStyle, canUndo, redo, canRedo, zoom, zoomOut, zoomIn, fitView]);
return Render;
});
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx
index 9af63244ec..a5bf321e7e 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/hooks/useWorkflow.tsx
@@ -259,15 +259,8 @@ export const useWorkflow = () => {
const { t } = useTranslation();
const { isDowningCtrl } = useKeyboard();
- const {
- setConnectingEdge,
- nodes,
- setNodes,
- onNodesChange,
- setEdges,
- onEdgesChange,
- setHoverEdgeId
- } = useContextSelector(WorkflowContext, (v) => v);
+ const { setConnectingEdge, nodes, onNodesChange, setEdges, onEdgesChange, setHoverEdgeId } =
+ useContextSelector(WorkflowContext, (v) => v);
/* helper line */
const [helperLineHorizontal, setHelperLineHorizontal] = useState();
diff --git a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx
index 7649344834..b1900fee1a 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowComponents/Flow/index.tsx
@@ -18,6 +18,9 @@ import { useWorkflow } from './hooks/useWorkflow';
import HelperLines from './components/HelperLines';
import FlowController from './components/FlowController';
+export const minZoom = 0.1;
+export const maxZoom = 1.5;
+
const NodeSimple = dynamic(() => import('./nodes/NodeSimple'));
const nodeTypes: Record = {
[FlowNodeTypeEnum.emptyNode]: NodeSimple,
@@ -112,8 +115,8 @@ const Workflow = () => {
fitView
nodes={nodes}
edges={edges}
- minZoom={0.1}
- maxZoom={1.5}
+ minZoom={minZoom}
+ maxZoom={maxZoom}
defaultEdgeOptions={defaultEdgeOptions}
elevateEdgesOnSelect
connectionLineStyle={connectionLineStyle}
diff --git a/projects/app/src/pages/app/detail/components/WorkflowPublishHistoriesSlider.tsx b/projects/app/src/pages/app/detail/components/WorkflowPublishHistoriesSlider.tsx
index 68077d6e99..1d41618a49 100644
--- a/projects/app/src/pages/app/detail/components/WorkflowPublishHistoriesSlider.tsx
+++ b/projects/app/src/pages/app/detail/components/WorkflowPublishHistoriesSlider.tsx
@@ -86,6 +86,7 @@ const MyEdit = () => {
chatConfig: initialSnapshot.chatConfig,
customTitle: t(`app:app.version_initial_copy`)
});
+
if (res) {
resetSnapshot(initialSnapshot);
}
@@ -124,6 +125,7 @@ const MyEdit = () => {
if (res) {
resetSnapshot(item);
}
+
toast({
title: t('workflow:workflow.Switch_success'),
status: 'success'
@@ -245,7 +247,7 @@ const TeamCloud = () => {
_hover={{
bg: 'primary.50'
}}
- onClick={() => onChangeVersion(item)}
+ onClick={() => editIndex === undefined && onChangeVersion(item)}
>