Merge branch 'next' into develop

This commit is contained in:
nocobase[bot] 2024-12-13 02:08:57 +00:00
commit b5db91caf6
3 changed files with 17 additions and 6 deletions

View File

@ -18,6 +18,7 @@ export const useActionContext = () => {
const ctx = useContext(ActionContext);
const { t } = useTranslation();
const { modal } = App.useApp();
const form = useForm();
return {
...ctx,
@ -31,6 +32,7 @@ export const useActionContext = () => {
async onOk() {
ctx.setFormValueChanged(false);
ctx.setVisible?.(false);
form?.reset?.();
},
});
} else {

View File

@ -15,13 +15,13 @@ import { uniqBy } from 'lodash';
import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';
import { ResourceActionOptions, useRequest } from '../../../api-client';
import { useCollection_deprecated, useCollectionManager_deprecated } from '../../../collection-manager';
import { mergeFilter } from '../../../filter-provider/utils';
import { useCompile } from '../../hooks';
import { FieldNames, Select, SelectProps, defaultFieldNames } from '../select';
import { ReadPretty } from './ReadPretty';
import { useDataSourceHeaders } from '../../../data-source/utils';
import { useDataSourceKey } from '../../../data-source/data-source/DataSourceProvider';
import { useDataSourceHeaders } from '../../../data-source/utils';
import { mergeFilter } from '../../../filter-provider/utils';
import { withDynamicSchemaProps } from '../../../hoc/withDynamicSchemaProps';
import { useCompile } from '../../hooks';
import { defaultFieldNames, FieldNames, Select, SelectProps } from '../select';
import { ReadPretty } from './ReadPretty';
const EMPTY = 'N/A';
export type RemoteSelectProps<P = any> = SelectProps<P, any> & {
@ -234,10 +234,15 @@ const InternalRemoteSelect = withDynamicSchemaProps(
return v != null ? (Array.isArray(v) ? v : [v]) : [];
}
const valueOptions =
(v != null && (Array.isArray(v) ? v : [{ ...v, [fieldNames.value]: v[fieldNames.value] || v }])) || [];
(v != null &&
(Array.isArray(v)
? v.map((item) => ({ ...item, [fieldNames.value]: item[fieldNames.value] || item }))
: [{ ...v, [fieldNames.value]: v[fieldNames.value] || v }])) ||
[];
const filtered = typeof optionFilter === 'function' ? data.data.filter(optionFilter) : data.data;
return uniqBy(filtered.concat(valueOptions ?? []), fieldNames.value);
}, [value, defaultValue, data?.data, fieldNames.value, optionFilter]);
const onDropdownVisibleChange = (visible) => {
setOpen(visible);
searchData.current = null;
@ -246,6 +251,7 @@ const InternalRemoteSelect = withDynamicSchemaProps(
}
firstRun.current = true;
};
return (
<Select
open={open}

View File

@ -30,10 +30,12 @@ import { usersSchema, usersSettingsSchema } from './schemas/users';
const useCancelActionProps = () => {
const { setVisible } = useActionContext();
const form = useForm();
return {
type: 'default',
onClick() {
setVisible(false);
form.reset();
},
};
};
@ -63,6 +65,7 @@ const useSubmitActionProps = () => {
await getDataBlockRequest()?.runAsync();
message.success(t('Saved successfully'));
setVisible(false);
form.reset();
},
};
};