This commit is contained in:
Archer
2023-12-27 11:07:39 +08:00
committed by GitHub
parent 86286efb54
commit 759a2330e6
182 changed files with 3099 additions and 81685 deletions

View File

@@ -7,7 +7,7 @@ import { useCopyData } from '@/web/common/hooks/useCopyData';
import dynamic from 'next/dynamic';
import MyIcon from '@/components/Icon';
import MyTooltip from '@/components/MyTooltip';
import { useFlowProviderStore } from '@/components/core/module/Flow/FlowProvider';
import { getFlowStore } from '@/components/core/module/Flow/FlowProvider';
import { filterExportModules, flowNode2Modules } from '@/components/core/module/utils';
import { putUpdatePlugin } from '@/web/core/plugin/api';
import { FlowNodeTypeEnum } from '@fastgpt/global/core/module/node/constant';
@@ -25,10 +25,11 @@ const Header = ({ plugin, onClose }: Props) => {
const { toast } = useToast();
const { copyData } = useCopyData();
const { isOpen: isOpenImport, onOpen: onOpenImport, onClose: onCloseImport } = useDisclosure();
const { nodes, edges, onFixView } = useFlowProviderStore();
const [previewModules, setPreviewModules] = React.useState<ModuleItemType[]>();
const flow2ModulesAndCheck = useCallback(() => {
const flow2ModulesAndCheck = useCallback(async () => {
const { nodes, edges } = await getFlowStore();
const modules = flowNode2Modules({ nodes, edges });
// check required connect
@@ -97,7 +98,7 @@ const Header = ({ plugin, onClose }: Props) => {
}
return modules;
}, [edges, nodes, t, toast]);
}, [t, toast]);
const { mutate: onclickSave, isLoading } = useRequest({
mutationFn: (modules: ModuleItemType[]) => {
@@ -121,15 +122,12 @@ const Header = ({ plugin, onClose }: Props) => {
>
<MyTooltip label={t('common.Back')} offset={[10, 10]}>
<IconButton
size={'sm'}
size={'smSquare'}
icon={<MyIcon name={'back'} w={'14px'} />}
borderRadius={'md'}
borderColor={'myGray.300'}
variant={'base'}
variant={'whiteBase'}
aria-label={''}
onClick={() => {
onClose();
onFixView();
}}
/>
</MyTooltip>
@@ -141,8 +139,8 @@ const Header = ({ plugin, onClose }: Props) => {
<IconButton
mr={[3, 6]}
icon={<MyIcon name={'importLight'} w={['14px', '16px']} />}
borderRadius={'lg'}
variant={'base'}
variant={'whitePrimary'}
size={'smSquare'}
aria-label={'save'}
onClick={onOpenImport}
/>
@@ -151,11 +149,11 @@ const Header = ({ plugin, onClose }: Props) => {
<IconButton
mr={[3, 6]}
icon={<MyIcon name={'export'} w={['14px', '16px']} />}
borderRadius={'lg'}
variant={'base'}
size={'smSquare'}
variant={'whitePrimary'}
aria-label={'save'}
onClick={() => {
const modules = flow2ModulesAndCheck();
onClick={async () => {
const modules = await flow2ModulesAndCheck();
if (modules) {
copyData(filterExportModules(modules), t('app.Export Config Successful'));
}
@@ -166,11 +164,11 @@ const Header = ({ plugin, onClose }: Props) => {
<IconButton
mr={[3, 6]}
icon={<MyIcon name={'core/module/previewLight'} w={['14px', '16px']} />}
borderRadius={'lg'}
size={'smSquare'}
aria-label={'save'}
variant={'base'}
onClick={() => {
const modules = flow2ModulesAndCheck();
variant={'whitePrimary'}
onClick={async () => {
const modules = await flow2ModulesAndCheck();
if (modules) {
setPreviewModules(modules);
}
@@ -180,11 +178,11 @@ const Header = ({ plugin, onClose }: Props) => {
<MyTooltip label={t('module.Save Config')}>
<IconButton
icon={<MyIcon name={'save'} w={['14px', '16px']} />}
borderRadius={'lg'}
size={'smSquare'}
isLoading={isLoading}
aria-label={'save'}
onClick={() => {
const modules = flow2ModulesAndCheck();
onClick={async () => {
const modules = await flow2ModulesAndCheck();
if (modules) {
onclickSave(modules);
}