-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Odd behaviour of anyOf/oneOf #3744
Labels
Comments
harkiratsm
added
bug
needs triage
Initial label given, to be assigned correct labels and assigned
labels
Jun 26, 2023
harkiratsm
changed the title
Odd behaviour of anyOf/oneOf <title>
Odd behaviour of anyOf/oneOf
Jun 26, 2023
@harkiratsm This is a good catch and we probably do want to merge oneOf/anyOf like we do allOf. You are welcome to come up with a fix for this. I'm guessing the place to fix it is in |
heath-freenome
added
help wanted
any-one-all-of
Related to fixing anyOf, oneOf or allOf
and removed
needs triage
Initial label given, to be assigned correct labels and assigned
labels
Jun 30, 2023
heath-freenome
added a commit
to heath-freenome/react-jsonschema-form
that referenced
this issue
Jul 12, 2023
Fixes rjsf-team#3744 as well as an issue associated with anyOf/oneOf in precompiled schema - In `@rjsf/util`, fixed part of rjsf-team#3744 and the precompiled schema issue as follows: - Updated `getClosestMatchingOption()` to resolve refs in the options before computing the correct index, as well as supporting `anyOf` and discriminators in `calculateIndexScore()` - Updated `getDefaultFormState()` to merge in the remaining schema into the selected anyOf/oneOf option prior to computing new defaults - Updated `retrieveSchema()` to merge in the remaining schema into the anyOf/oneOf options when resolving dependencies - Added/updated tests to verify all the fixes - In `@rjsf/core`, fixed the rest of rjsf-team#3744 by updating `MultiSchemaField` to merge the remaining schema into the selected anyOf/oneOf selected option - Also updated `SchemaField` to no longer pass in `baseType` to `MultiSchemaField` since it is no longer used
heath-freenome
added a commit
to heath-freenome/react-jsonschema-form
that referenced
this issue
Jul 12, 2023
Fixes rjsf-team#3744 as well as an issue associated with anyOf/oneOf in precompiled schema - In `@rjsf/util`, fixed part of rjsf-team#3744 and the precompiled schema issue as follows: - Updated `getClosestMatchingOption()` to resolve refs in the options before computing the correct index, as well as supporting `anyOf` and discriminators in `calculateIndexScore()` - Updated `getDefaultFormState()` to merge in the remaining schema into the selected anyOf/oneOf option prior to computing new defaults - Updated `retrieveSchema()` to merge in the remaining schema into the anyOf/oneOf options when resolving dependencies - Added/updated tests to verify all the fixes - In `@rjsf/core`, fixed the rest of rjsf-team#3744 by updating `MultiSchemaField` to merge the remaining schema into the selected anyOf/oneOf selected option - Also updated `SchemaField` to no longer pass in `baseType` to `MultiSchemaField` since it is no longer used
heath-freenome
added a commit
to heath-freenome/react-jsonschema-form
that referenced
this issue
Jul 12, 2023
Fixes rjsf-team#3744 as well as an issue associated with anyOf/oneOf in precompiled schema - In `@rjsf/util`, fixed part of rjsf-team#3744 and the precompiled schema issue as follows: - Updated `getClosestMatchingOption()` to resolve refs in the options before computing the correct index, as well as supporting `anyOf` and discriminators in `calculateIndexScore()` - Updated `getDefaultFormState()` to merge in the remaining schema into the selected anyOf/oneOf option prior to computing new defaults - Updated `retrieveSchema()` to merge in the remaining schema into the anyOf/oneOf options when resolving dependencies - Added/updated tests to verify all the fixes - In `@rjsf/core`, fixed the rest of rjsf-team#3744 by updating `MultiSchemaField` to merge the remaining schema into the selected anyOf/oneOf selected option - Also updated `SchemaField` to no longer pass in `baseType` to `MultiSchemaField` since it is no longer used
8 tasks
heath-freenome
added a commit
that referenced
this issue
Jul 13, 2023
* fix: Fixed #3744 and another precompiled schema issue Fixes #3744 as well as an issue associated with anyOf/oneOf in precompiled schema - In `@rjsf/util`, fixed part of #3744 and the precompiled schema issue as follows: - Updated `getClosestMatchingOption()` to resolve refs in the options before computing the correct index, as well as supporting `anyOf` and discriminators in `calculateIndexScore()` - Updated `getDefaultFormState()` to merge in the remaining schema into the selected anyOf/oneOf option prior to computing new defaults - Updated `retrieveSchema()` to merge in the remaining schema into the anyOf/oneOf options when resolving dependencies - Added/updated tests to verify all the fixes - In `@rjsf/core`, fixed the rest of #3744 by updating `MultiSchemaField` to merge the remaining schema into the selected anyOf/oneOf selected option - Also updated `SchemaField` to no longer pass in `baseType` to `MultiSchemaField` since it is no longer used * Update packages/utils/test/schema/getClosestMatchingOptionTest.ts Co-authored-by: Nick Grosenbacher <[email protected]> --------- Co-authored-by: Nick Grosenbacher <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Prerequisites
What theme are you using?
core, material-ui
Version
5.8.1
Current Behavior
We are treating anyOf/oneOf incorrectly right now their subschemas should merge with the schema where they are defined based on selection.
clearly there is alot of duplication. in the oneOf selector
anyOf/oneOf Example
Expected Behavior
Have a consistent behavior of anyOf/oneOf like we have for allOf.
allOf_example
Steps To Reproduce
rjsf_playground_example
Environment
Anything else?
No response
The text was updated successfully, but these errors were encountered: