@mistio/mist-form
Version:
A Webcomponent that renders a form defined by a JSONSchema & an optional UISchema spec
189 lines • 5.33 kB
JSON
{
"jsonSchema": {
"title": "Schema dependencies",
"description": "These samples are best viewed without live validation.",
"type": "object",
"properties": {
"simple": {
"src": "https://spacetelescope.github.io/understanding-json-schema/reference/object.html#dependencies",
"title": "Simple",
"type": "object",
"properties": {
"name": {
"type": "string"
},
"credit_card": {
"type": "number"
}
},
"required": [
"name"
],
"dependencies": {
"credit_card": {
"properties": {
"billing_address": {
"type": "string"
}
},
"required": [
"billing_address"
]
}
}
},
"conditional": {
"title": "Conditional",
"$ref": "#/definitions/person"
},
"arrayOfConditionals": {
"title": "Array of conditionals",
"type": "array",
"items": {
"$ref": "#/definitions/person"
}
},
"fixedArrayOfConditionals": {
"title": "Fixed array of conditionals",
"type": "array",
"items": [
{
"title": "Primary person",
"$ref": "#/definitions/person"
}
],
"additionalItems": {
"title": "Additional person",
"$ref": "#/definitions/person"
}
}
},
"definitions": {
"person": {
"title": "Person",
"type": "object",
"properties": {
"Do you have any pets?": {
"type": "string",
"enum": [
"No",
"Yes: One",
"Yes: More than one"
],
"default": "No"
}
},
"required": [
"Do you have any pets?"
],
"dependencies": {
"Do you have any pets?": {
"oneOf": [
{
"properties": {
"Do you have any pets?": {
"enum": [
"No"
]
}
}
},
{
"properties": {
"Do you have any pets?": {
"enum": [
"Yes: One"
]
},
"How old is your pet?": {
"type": "number"
}
},
"required": [
"How old is your pet?"
]
},
{
"properties": {
"Do you have any pets?": {
"enum": [
"Yes: More than one"
]
},
"Do you want to get rid of any?": {
"type": "boolean"
}
},
"required": [
"Do you want to get rid of any?"
]
}
]
}
}
}
}
},
"uiSchema": {
"simple": {
"credit_card": {
"ui:help": "If you enter anything here then billing_address will be dynamically added to the form."
}
},
"conditional": {
"Do you want to get rid of any?": {
"ui:widget": "radio"
}
},
"arrayOfConditionals": {
"items": {
"Do you want to get rid of any?": {
"ui:widget": "radio"
}
}
},
"fixedArrayOfConditionals": {
"items": {
"Do you want to get rid of any?": {
"ui:widget": "radio"
}
},
"additionalItems": {
"Do you want to get rid of any?": {
"ui:widget": "radio"
}
}
}
},
"formData": {
"simple": {
"name": "Randy"
},
"conditional": {
"Do you have any pets?": "No"
},
"arrayOfConditionals": [
{
"Do you have any pets?": "Yes: One",
"How old is your pet?": 6
},
{
"Do you have any pets?": "Yes: More than one",
"Do you want to get rid of any?": false
}
],
"fixedArrayOfConditionals": [
{
"Do you have any pets?": "No"
},
{
"Do you have any pets?": "Yes: One",
"How old is your pet?": 6
},
{
"Do you have any pets?": "Yes: More than one",
"Do you want to get rid of any?": true
}
]
}
}