mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-22 12:20:34 +00:00
fix: global variable key repeat & value type (#2540)
This commit is contained in:
7
packages/global/core/app/type.d.ts
vendored
7
packages/global/core/app/type.d.ts
vendored
@@ -1,7 +1,11 @@
|
||||
import type { FlowNodeTemplateType, StoreNodeItemType } from '../workflow/type/node';
|
||||
import { AppTypeEnum } from './constants';
|
||||
import { PermissionTypeEnum } from '../../support/permission/constant';
|
||||
import { NodeInputKeyEnum, VariableInputEnum } from '../workflow/constants';
|
||||
import {
|
||||
NodeInputKeyEnum,
|
||||
VariableInputEnum,
|
||||
WorkflowIOValueTypeEnum
|
||||
} from '../workflow/constants';
|
||||
import { SelectedDatasetType } from '../workflow/api';
|
||||
import { DatasetSearchModeEnum } from '../dataset/constants';
|
||||
import { TeamTagSchema as TeamTagsSchemaType } from '@fastgpt/global/support/user/team/type.d';
|
||||
@@ -111,6 +115,7 @@ export type VariableItemType = {
|
||||
required: boolean;
|
||||
maxLen: number;
|
||||
enums: { value: string }[];
|
||||
valueType: WorkflowIOValueTypeEnum;
|
||||
};
|
||||
// tts
|
||||
export type AppTTSConfigType = {
|
||||
|
@@ -914,6 +914,7 @@
|
||||
"add option": "Add option",
|
||||
"input type": "Text",
|
||||
"key": "Variable key",
|
||||
"key already exists": "Key already exist",
|
||||
"key is required": "Variable key is required",
|
||||
"select type": "Dropdown single select",
|
||||
"text max length": "Maximum length",
|
||||
|
@@ -914,6 +914,7 @@
|
||||
"add option": "添加选项",
|
||||
"input type": "文本",
|
||||
"key": "变量 key",
|
||||
"key already exists": "Key 已经存在",
|
||||
"key is required": "变量 key 是必须的",
|
||||
"select type": "下拉单选",
|
||||
"text max length": "最大长度",
|
||||
|
@@ -23,7 +23,11 @@ import {
|
||||
useDisclosure
|
||||
} from '@chakra-ui/react';
|
||||
import { SmallAddIcon } from '@chakra-ui/icons';
|
||||
import { VariableInputEnum, variableMap } from '@fastgpt/global/core/workflow/constants';
|
||||
import {
|
||||
VariableInputEnum,
|
||||
variableMap,
|
||||
WorkflowIOValueTypeEnum
|
||||
} from '@fastgpt/global/core/workflow/constants';
|
||||
import type { VariableItemType } from '@fastgpt/global/core/app/type.d';
|
||||
import MyIcon from '@fastgpt/web/components/common/Icon';
|
||||
import { useForm } from 'react-hook-form';
|
||||
@@ -310,6 +314,27 @@ const VariableEdit = ({
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// check repeat key
|
||||
const existingVariable = variables.find(
|
||||
(item) => item.key === variable.key && item.id !== variable.id
|
||||
);
|
||||
if (existingVariable) {
|
||||
toast({
|
||||
status: 'warning',
|
||||
title: t('common:core.module.variable.key already exists')
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// set valuetype based on variable.type
|
||||
variable.valueType = valueTypeMap[variable.type];
|
||||
|
||||
// set default required value based on variableType
|
||||
if (variable.type === VariableInputEnum.custom) {
|
||||
variable.required = false;
|
||||
}
|
||||
|
||||
const onChangeVariable = [...variables];
|
||||
// update
|
||||
if (variable.id) {
|
||||
@@ -344,9 +369,16 @@ export const defaultVariable: VariableItemType = {
|
||||
type: VariableInputEnum.input,
|
||||
required: true,
|
||||
maxLen: 50,
|
||||
enums: [{ value: '' }]
|
||||
enums: [{ value: '' }],
|
||||
valueType: WorkflowIOValueTypeEnum.string
|
||||
};
|
||||
export const addVariable = () => {
|
||||
const newVariable = { ...defaultVariable, key: '', id: '' };
|
||||
return newVariable;
|
||||
};
|
||||
const valueTypeMap = {
|
||||
[VariableInputEnum.input]: WorkflowIOValueTypeEnum.string,
|
||||
[VariableInputEnum.select]: WorkflowIOValueTypeEnum.string,
|
||||
[VariableInputEnum.textarea]: WorkflowIOValueTypeEnum.string,
|
||||
[VariableInputEnum.custom]: WorkflowIOValueTypeEnum.any
|
||||
};
|
||||
|
@@ -374,10 +374,7 @@ export const getWorkflowGlobalVariables = ({
|
||||
systemConfigNode: getGuideModule(nodes),
|
||||
isPublicFetch: true
|
||||
})?.variables || []
|
||||
).map((item) => ({
|
||||
...item,
|
||||
valueType: WorkflowIOValueTypeEnum.any
|
||||
}));
|
||||
);
|
||||
|
||||
const systemVariables = getSystemVariables(t);
|
||||
|
||||
|
Reference in New Issue
Block a user