* Add preliminary support for the anyOf keyword
This change introduces support for the `anyOf` keyword. The keyword is NOT
supported in arrays (using the `items` keyword).
Options provided in the `anyOf` keyword are rendered using a new
component called `AnyOfField` this can be overridden with a custom
field using the `fields` property.
Signed-off-by: Lucian <lucian.buzzo@gmail.com>
* Refactor unnecessary .map
* Change selected option based on form data
* Update README
* Update README FAQ
* Share prop types between fields
* add del button functionality
* delete unnecesary console.logs
* fix tests
* remove unnecesary console.log
* Fix disappearing key-value pair and repair delete button
* Add .vscode to gitignore
* fix tests
* Make test work for select/radio button
* Add test cases
* Remove one file from PR and one helper function
* Add one classname for value input
* remove accidentally added .vscode
* linted codebase
* remove inline styles, make use of bootstrap 3 styles and fix related tests
* revert changes to .gitignore
* Make key-value pair stay at the same place and remove strange behavior with label
* Handle case when you click input and immediately unclick
* Add two test cases
* Add initial dependencies support
- Property dependencies: Make additional properties required whenever
a trigger property is specified.
- Schema dependencies: Dynamically add schema properties based on data
entered.
* README.md: explain usage in schema dependencies
* Add documentation explaining how oneOf works here
* Throw error on wildly invalid schema
* Use hasOwnProperty to check for possibly-missing key
* Tests that demonstrate a need for a retrieveSchema
* retrieveSchema needs to happen before checking for oneOf
* Add ObjectFieldTemplate
* ObjectFieldTemplate properties are representative objects instead of React elements
* prettier
* Update README & rename ObjectFieldTemplate props children to content
* Update README
* Fix ObjectFieldTemplate test
* Ran cs-format & cs-check
* Remove index from ObjectFieldTemplate props
* Ran cs-format & cs-check
Among other cosmetic changes, we now pass custom titles and descriptions using
the `fields` property (whereas we were passing it directly before, a behaviour
now deprecated).
This new option is mostly useful in a test environment where we
don't really want to bother waiting for an arbitrary amount
of time for renders to fully complete, so tests are easier
to write and to read.