mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-27 16:33:49 +00:00
perf: change tool params type label & enum input conditional rendering (#2835)
This commit is contained in:
@@ -3,7 +3,7 @@ import { Box, Button, Flex, Input, ModalBody, ModalFooter, Textarea } from '@cha
|
|||||||
import { FlowNodeInputItemType } from '@fastgpt/global/core/workflow/type/io';
|
import { FlowNodeInputItemType } from '@fastgpt/global/core/workflow/type/io';
|
||||||
import MyModal from '@fastgpt/web/components/common/MyModal';
|
import MyModal from '@fastgpt/web/components/common/MyModal';
|
||||||
import MySelect from '@fastgpt/web/components/common/MySelect';
|
import MySelect from '@fastgpt/web/components/common/MySelect';
|
||||||
import React, { useCallback } from 'react';
|
import React, { useCallback, useMemo } from 'react';
|
||||||
import { useForm } from 'react-hook-form';
|
import { useForm } from 'react-hook-form';
|
||||||
import { useTranslation } from 'react-i18next';
|
import { useTranslation } from 'react-i18next';
|
||||||
import { defaultEditFormData } from '../render/RenderToolInput/EditFieldModal';
|
import { defaultEditFormData } from '../render/RenderToolInput/EditFieldModal';
|
||||||
@@ -14,6 +14,7 @@ import { useToast } from '@fastgpt/web/hooks/useToast';
|
|||||||
import { FlowNodeOutputTypeEnum } from '@fastgpt/global/core/workflow/node/constant';
|
import { FlowNodeOutputTypeEnum } from '@fastgpt/global/core/workflow/node/constant';
|
||||||
import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel';
|
import FormLabel from '@fastgpt/web/components/common/MyBox/FormLabel';
|
||||||
import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip';
|
import QuestionTip from '@fastgpt/web/components/common/MyTooltip/QuestionTip';
|
||||||
|
import { WorkflowIOValueTypeEnum } from '@fastgpt/global/core/workflow/constants';
|
||||||
|
|
||||||
const ToolParamsEditModal = ({
|
const ToolParamsEditModal = ({
|
||||||
defaultValue = defaultEditFormData,
|
defaultValue = defaultEditFormData,
|
||||||
@@ -106,6 +107,13 @@ const ToolParamsEditModal = ({
|
|||||||
[toast]
|
[toast]
|
||||||
);
|
);
|
||||||
|
|
||||||
|
const showEnumInput = useMemo(() => {
|
||||||
|
return !(
|
||||||
|
valueType === WorkflowIOValueTypeEnum.boolean ||
|
||||||
|
valueType === WorkflowIOValueTypeEnum.arrayBoolean
|
||||||
|
);
|
||||||
|
}, [valueType]);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<MyModal isOpen iconSrc="modal/edit" title={t('workflow:tool_field')} onClose={onClose}>
|
<MyModal isOpen iconSrc="modal/edit" title={t('workflow:tool_field')} onClose={onClose}>
|
||||||
<ModalBody>
|
<ModalBody>
|
||||||
@@ -135,7 +143,7 @@ const ToolParamsEditModal = ({
|
|||||||
placeholder={t('workflow:tool_params.params_name_placeholder')}
|
placeholder={t('workflow:tool_params.params_name_placeholder')}
|
||||||
/>
|
/>
|
||||||
</Flex>
|
</Flex>
|
||||||
<Flex alignItems={'center'} mb={5}>
|
<Flex alignItems={'center'} mb={showEnumInput ? 5 : 0}>
|
||||||
<FormLabel flex={'0 0 80px'}>{t('workflow:tool_params.params_description')}</FormLabel>
|
<FormLabel flex={'0 0 80px'}>{t('workflow:tool_params.params_description')}</FormLabel>
|
||||||
<Input
|
<Input
|
||||||
bg={'myGray.50'}
|
bg={'myGray.50'}
|
||||||
@@ -145,17 +153,19 @@ const ToolParamsEditModal = ({
|
|||||||
placeholder={t('workflow:tool_params.params_description_placeholder')}
|
placeholder={t('workflow:tool_params.params_description_placeholder')}
|
||||||
/>
|
/>
|
||||||
</Flex>
|
</Flex>
|
||||||
<Box>
|
{showEnumInput && (
|
||||||
<Flex alignItems={'center'} mb={2}>
|
<Box>
|
||||||
<FormLabel>{t('workflow:tool_params.enum_values')}</FormLabel>
|
<Flex alignItems={'center'} mb={2}>
|
||||||
<QuestionTip label={t('workflow:tool_params.enum_values_tip')} />
|
<FormLabel>{t('workflow:tool_params.enum_values')}</FormLabel>
|
||||||
</Flex>
|
<QuestionTip label={t('workflow:tool_params.enum_values_tip')} />
|
||||||
<Textarea
|
</Flex>
|
||||||
bg={'myGray.50'}
|
<Textarea
|
||||||
{...register('enum')}
|
bg={'myGray.50'}
|
||||||
placeholder={t('workflow:tool_params.enum_placeholder')}
|
{...register('enum')}
|
||||||
/>
|
placeholder={t('workflow:tool_params.enum_placeholder')}
|
||||||
</Box>
|
/>
|
||||||
|
</Box>
|
||||||
|
)}
|
||||||
</ModalBody>
|
</ModalBody>
|
||||||
<ModalFooter>
|
<ModalFooter>
|
||||||
<Button variant={'whiteBase'} mr={2} onClick={onClose}>
|
<Button variant={'whiteBase'} mr={2} onClick={onClose}>
|
||||||
|
@@ -14,15 +14,15 @@ export const fnValueTypeSelect = [
|
|||||||
value: WorkflowIOValueTypeEnum.boolean
|
value: WorkflowIOValueTypeEnum.boolean
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: WorkflowIOValueTypeEnum.arrayString,
|
label: 'array<string>',
|
||||||
value: WorkflowIOValueTypeEnum.arrayString
|
value: WorkflowIOValueTypeEnum.arrayString
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: WorkflowIOValueTypeEnum.arrayNumber,
|
label: 'array<number>',
|
||||||
value: WorkflowIOValueTypeEnum.arrayNumber
|
value: WorkflowIOValueTypeEnum.arrayNumber
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: WorkflowIOValueTypeEnum.arrayBoolean,
|
label: 'array<boolean>',
|
||||||
value: WorkflowIOValueTypeEnum.arrayBoolean
|
value: WorkflowIOValueTypeEnum.arrayBoolean
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
Reference in New Issue
Block a user