fix: Fixed the issue that the related form value does not change after selecting the freedom field of the model #1804 (#1805)

### What problem does this PR solve?
fix: Fixed the issue that the related form value does not change after
selecting the freedom field of the model #1804

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)
This commit is contained in:
balibabu 2024-08-05 12:03:47 +08:00 committed by GitHub
parent 07f283b73e
commit 3da3260eb5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 36 additions and 6 deletions

View File

@ -17,7 +17,13 @@ const LLMSelect = ({ id, value, onChange }: IProps) => {
);
return (
<Popover content={content} trigger="click" placement="left" arrow={false}>
<Popover
content={content}
trigger="click"
placement="left"
arrow={false}
destroyTooltipOnHide
>
<Select
style={{ width: '100%' }}
dropdownStyle={{ display: 'none' }}

View File

@ -28,9 +28,13 @@ const LlmSettingItems = ({ prefix, formItemLayout = {} }: IProps) => {
const handleParametersChange = useCallback(
(value: ModelVariableType) => {
const variable = settledModelVariableMap[value];
form?.setFieldsValue(variable);
let nextVariable: Record<string, any> = variable;
if (prefix) {
nextVariable = { [prefix]: variable };
}
form.setFieldsValue(nextVariable);
},
[form],
[form, prefix],
);
const memorizedPrefix = useMemo(() => (prefix ? [prefix] : []), [prefix]);
@ -46,7 +50,13 @@ const LlmSettingItems = ({ prefix, formItemLayout = {} }: IProps) => {
{...formItemLayout}
rules={[{ required: true, message: t('modelMessage') }]}
>
<Select options={[...modelOptions[LlmModelType.Chat], ...modelOptions[LlmModelType.Image2text],]} showSearch/>
<Select
options={[
...modelOptions[LlmModelType.Chat],
...modelOptions[LlmModelType.Image2text],
]}
showSearch
/>
</Form.Item>
<Divider></Divider>
<Form.Item

View File

@ -101,7 +101,7 @@ const model: DvaModel<KFModelState> = {
function* ({ payload }, { call, put }) {
yield put({ type: 'getKfList', payload: { kb_id: payload } });
},
{ type: 'poll', delay: 5000 }, // TODO: Provide type support for this effect
{ type: 'poll', delay: 15000 }, // TODO: Provide type support for this effect
],
*updateDocumentStatus({ payload = {} }, { call, put }) {
const { data } = yield call(

View File

@ -252,8 +252,22 @@ export const useHandleFormValuesChange = (id?: string) => {
const updateNodeForm = useGraphStore((state) => state.updateNodeForm);
const handleValuesChange = useCallback(
(changedValues: any, values: any) => {
let nextValues: any = values;
// Fixed the issue that the related form value does not change after selecting the freedom field of the model
if (
Object.keys(changedValues).length === 1 &&
'parameter' in changedValues &&
changedValues['parameter'] in settledModelVariableMap
) {
nextValues = {
...values,
...settledModelVariableMap[
changedValues['parameter'] as keyof typeof settledModelVariableMap
],
};
}
if (id) {
updateNodeForm(id, values);
updateNodeForm(id, nextValues);
}
},
[updateNodeForm, id],