Skip to content

Commit fe30e3b

Browse files
Pass experimental_customMergeAllOf to ensureFormDataMatchingSchema (#4508)
* Pass experimental_customMergeAllOf to ensureFormDataMatchingSchema * Update changelog --------- Co-authored-by: Marek Bodinger <marek.bodinger@gmail.com>
1 parent e74cc88 commit fe30e3b

File tree

2 files changed

+8
-4
lines changed

2 files changed

+8
-4
lines changed

CHANGELOG.md

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ should change the heading of the (upcoming) version to include a major version b
2020
## @rjsf/utils
2121

2222
- fixed issue with customValidate errors are not cleared when the form is valid [4365](https://github.com/rjsf-team/react-jsonschema-form/pull/4365) due to regression
23+
- Add missing `experimental_customMergeAllOf` argument to `ensureFormDataMatchingSchema` introduced by [4388](https://github.com/rjsf-team/react-jsonschema-form/pull/4388)
2324

2425
# 5.24.3
2526

packages/utils/src/schema/getDefaultFormState.ts

+7-4
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,8 @@ export function computeDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema
344344
schema,
345345
rootSchema,
346346
rawFormData,
347-
experimental_defaultFormStateBehavior
347+
experimental_defaultFormStateBehavior,
348+
experimental_customMergeAllOf
348349
);
349350
if (!isObject(rawFormData)) {
350351
defaultsWithFormData = mergeDefaultsWithFormData<T>(
@@ -366,7 +367,8 @@ export function computeDefaults<T = any, S extends StrictRJSFSchema = RJSFSchema
366367
* @param schema - The schema for which the formData state is desired
367368
* @param rootSchema - The root schema, used to primarily to look up `$ref`s
368369
* @param formData - The current formData
369-
* @param experimental_defaultFormStateBehavior - Optional configuration object, if provided, allows users to override default form state behavior
370+
* @param [experimental_defaultFormStateBehavior] - Optional configuration object, if provided, allows users to override default form state behavior
371+
* @param [experimental_customMergeAllOf] - Optional function that allows for custom merging of `allOf` schemas
370372
* @returns - valid formData that matches schema
371373
*/
372374
export function ensureFormDataMatchingSchema<
@@ -378,9 +380,10 @@ export function ensureFormDataMatchingSchema<
378380
schema: S,
379381
rootSchema: S,
380382
formData: T | undefined,
381-
experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior
383+
experimental_defaultFormStateBehavior?: Experimental_DefaultFormStateBehavior,
384+
experimental_customMergeAllOf?: Experimental_CustomMergeAllOf<S>
382385
): T | T[] | undefined {
383-
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema);
386+
const isSelectField = !isConstant(schema) && isSelect(validator, schema, rootSchema, experimental_customMergeAllOf);
384387
let validFormData: T | T[] | undefined = formData;
385388
if (isSelectField) {
386389
const getOptionsList = optionsList(schema);

0 commit comments

Comments
 (0)