@mistio/mist-form
Version:
A Webcomponent that renders a form defined by a JSONSchema & an optional UISchema spec
245 lines • 5.81 kB
JSON
{
"jsonSchema": {
"definitions": {
"Thing": {
"type": "object",
"properties": {
"name": {
"type": "string",
"default": "Default name"
}
}
}
},
"type": "object",
"properties": {
"listOfStrings": {
"type": "array",
"title": "A list of strings",
"items": {
"type": "string",
"default": "bazinga"
}
},
"multipleChoicesList": {
"type": "array",
"title": "A multiple choices list",
"items": {
"type": "string",
"enum": [
"foo",
"bar",
"fuzz",
"qux"
]
},
"uniqueItems": true
},
"fixedItemsList": {
"type": "array",
"title": "A list of fixed items",
"items": [
{
"title": "A string value",
"type": "string",
"default": "lorem ipsum"
},
{
"title": "a boolean value",
"type": "boolean"
}
],
"additionalItems": {
"title": "Additional item",
"type": "number"
}
},
"minItemsList": {
"type": "array",
"title": "A list with a minimal number of items",
"minItems": 3,
"items": {
"$ref": "#/definitions/Thing"
}
},
"defaultsAndMinItems": {
"type": "array",
"title": "List and item level defaults",
"minItems": 5,
"default": [
"carp",
"trout",
"bream"
],
"items": {
"type": "string",
"default": "unidentified"
}
},
"nestedList": {
"type": "array",
"title": "Nested list",
"items": {
"type": "array",
"title": "Inner list",
"items": {
"type": "string",
"default": "lorem ipsum"
}
}
},
"unorderable": {
"title": "Unorderable items",
"type": "array",
"items": {
"type": "string",
"default": "lorem ipsum"
}
},
"unremovable": {
"title": "Unremovable items",
"type": "array",
"items": {
"type": "string",
"default": "lorem ipsum"
}
},
"noToolbar": {
"title": "No add, remove and order buttons",
"type": "array",
"items": {
"type": "string",
"default": "lorem ipsum"
}
},
"fixedNoToolbar": {
"title": "Fixed array without buttons",
"type": "array",
"items": [
{
"title": "A number",
"type": "number",
"default": 42
},
{
"title": "A boolean",
"type": "boolean",
"default": false
}
],
"additionalItems": {
"title": "A string",
"type": "string",
"default": "lorem ipsum"
}
}
}
},
"uiSchema": {
"listOfStrings": {
"items": {
"ui:emptyValue": ""
}
},
"multipleChoicesList": {
"ui:widget": "checkboxes"
},
"fixedItemsList": {
"items": [
{
"ui:widget": "textarea"
},
{
"ui:widget": "select"
}
],
"additionalItems": {
"ui:widget": "updown"
}
},
"unorderable": {
"ui:options": {
"orderable": false
}
},
"unremovable": {
"ui:options": {
"removable": false
}
},
"noToolbar": {
"ui:options": {
"addable": false,
"orderable": false,
"removable": false
}
},
"fixedNoToolbar": {
"ui:options": {
"addable": false,
"orderable": false,
"removable": false
}
}
},
"formData": {
"listOfStrings": [
"foo",
"bar"
],
"multipleChoicesList": [
"foo",
"bar"
],
"fixedItemsList": [
"Some text",
true,
123
],
"minItemsList": [
{
"name": "Default name"
},
{
"name": "Default name"
},
{
"name": "Default name"
}
],
"defaultsAndMinItems": [
"carp",
"trout",
"bream",
"unidentified",
"unidentified"
],
"nestedList": [
[
"lorem",
"ipsum"
],
[
"dolor"
]
],
"unorderable": [
"one",
"two"
],
"unremovable": [
"one",
"two"
],
"noToolbar": [
"one",
"two"
],
"fixedNoToolbar": [
42,
true,
"additional item one",
"additional item two"
]
}
}