Schema for the UI Schema
No Additional PropertiesThe Metaschema of the UI Schema
Version of the UI Schema. Changes in a major version are backwards compatible. So for a parser for version z.x must be compatible with all versions z.y where y is <=x.
Must match regular expression:^\d+\.\d+$
"2.1"
The different layouts
No Additional Properties{
"type": "VerticalLayout",
"elements": []
}
{
"type": "Group",
"elements": [],
"options": {
"label": "This is a group"
}
}
The ID of the layout
May contain a schema reference to the ui schema
The elements of the layout
No Additional ItemsDifferent types of layout elements
Contains a form element, e. g. a text input
No Additional Properties{
"type": "Control",
"scope": "/properties/objectInJsonSchema"
}
{
"type": "Control",
"scope": "/properties/field",
"showOn": {
"scope": "/properties/referenceField",
"type": "EQUALS",
"referenceValue": "awesomeValue"
},
"options": {
"label": false,
"radiobuttons": true,
"stacked": true
}
}
A json pointer referring to the form element in the forms json schema
Gives multiple options to configure the element
If the text in a enums select field is supposed to differ from the keys, they can be specified as properties of this object. The value in the enum must be used as property name
All properties whose name matches the following regular expression must respect the following conditions
Property name regular expression:
Must be at least 1
characters long
Radiobutton-/Checkbox group will be stacked if set to true
Choose how an enum should be displayed
Allows the upload of multiple files with fileupload
The accepted File Types
"image/*"
"image/jpeg, image/png, image/gif"
".jpg, .png, .gif"
Options for text fields
No Additional PropertiesFormat for string fields
If set true, textarea will be shown instead of textfield.
Alternatively can be set to the number of wanted lines
Specifies what should be autocompleted by the browser. Possible values are taken from https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete#values
If set true, a range input will be shown instead of a text input
Set the text-align of input fields
Defines whether the fields label is shown
Will be shown as placeholder in form fields, if supported by field
The Controls CSS classes
"bg-primary"
"bg-info specialpart"
Will be appended to field
Will be prepended to field
Disables the field
Allows to override UI options and ShowOn for all descendant controls of this control. The key is the scope of the descendant control. Options will be merged.
Each additional property must conform to the following schema
Show field depending on value of other field
Legacy Variant of defining ShowOn property
No Additional PropertiesThe field this field depends on in object notation
"files[0].name"
Condition to be applied
The value the field from scope is compared against
Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule
{
"id": "rule1",
"rule": {
"type": "and",
"arguments": [
{
"type": "atom",
"path": "member"
},
{
"type": "not",
"arguments": [
{
"type": "atom",
"path": "employee"
}
]
}
]
}
}
A comment about what the rule does
Requires at least two arguments
No Additional PropertiesMust contain a minimum of 2
items
Requires at least two arguments
No Additional PropertiesMust contain a minimum of 2
items
Requires exactly on parameter
No Additional PropertiesMust contain a minimum of 1
items
Must contain a maximum of 1
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes an plugin
No Additional Properties{
"type": "plugin",
"name": "http",
"options": {
"url": "https://example.com/api"
},
"formula": {
"type": "atom",
"path": "keyInResponse"
}
}
The plugins name
The plugins options
Compare strings, dates or numbers with each other
No Additional Properties{
"comment": "This evaluates to \"5>2\"",
"type": "comparison",
"operation": "greater",
"arguments": [
5,
2
]
}
{
"comment": "Check two Strings for equality",
"type": "comparison",
"operation": "equal",
"arguments": [
"test",
"test1"
]
}
Selects how the arguments should be compared
Indicates if dates are compared
Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculates a result
No Additional PropertiesThe mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)
Must contain a minimum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculates a result
No Additional PropertiesThe mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)
Must contain a minimum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculations involving dates
No Additional PropertiesAdd/subtract a time interval to/from a date or subtract two dates to get the interval between them
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
What unit time intervals given as arguments will be in.
What unit time intervals representing the result will be in.
Calculations involving dates
No Additional PropertiesAdd/subtract a time interval to/from a date or subtract two dates to get the interval between them
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
What unit time intervals given as arguments will be in.
What unit time intervals representing the result will be in.
Quantifiers that can be used to evaluate rules on arrays in Data
No Additional Properties{
"type": "forall",
"array": {
"type": "atom",
"path": "arrayOfIntValues"
},
"placeholder": "forallItem",
"rule": {
"type": "comparison",
"operation": "greater",
"arguments": [
5,
{
"type": "atom",
"path": "forallItem"
}
]
}
}
This can either be an Atom that references an array in the data, or an array of rules
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
This is a placeholder name for the current array object. This is the property name with wich you can reference the current value in the subsequent rule
Must be at least 1
characters long
This is a placeholder name for the current index of the array object. This is the property name with wich you can reference the current index in the subsequent rule
Must be at least 1
characters long
Requires exactly on parameter
No Additional PropertiesMust contain a minimum of 1
items
Must contain a maximum of 1
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes an plugin
No Additional Properties{
"type": "plugin",
"name": "http",
"options": {
"url": "https://example.com/api"
},
"formula": {
"type": "atom",
"path": "keyInResponse"
}
}
The plugins name
The plugins options
Compare strings, dates or numbers with each other
No Additional Properties{
"comment": "This evaluates to \"5>2\"",
"type": "comparison",
"operation": "greater",
"arguments": [
5,
2
]
}
{
"comment": "Check two Strings for equality",
"type": "comparison",
"operation": "equal",
"arguments": [
"test",
"test1"
]
}
Selects how the arguments should be compared
Indicates if dates are compared
Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculates a result
No Additional PropertiesThe mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)
Must contain a minimum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculations involving dates
No Additional PropertiesAdd/subtract a time interval to/from a date or subtract two dates to get the interval between them
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
What unit time intervals given as arguments will be in.
What unit time intervals representing the result will be in.
Quantifiers that can be used to evaluate rules on arrays in Data
No Additional Properties{
"type": "forall",
"array": {
"type": "atom",
"path": "arrayOfIntValues"
},
"placeholder": "forallItem",
"rule": {
"type": "comparison",
"operation": "greater",
"arguments": [
5,
{
"type": "atom",
"path": "forallItem"
}
]
}
}
This can either be an Atom that references an array in the data, or an array of rules
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
This is a placeholder name for the current array object. This is the property name with wich you can reference the current value in the subsequent rule
Must be at least 1
characters long
This is a placeholder name for the current index of the array object. This is the property name with wich you can reference the current index in the subsequent rule
Must be at least 1
characters long
The different layouts
No Additional Properties{
"type": "VerticalLayout",
"elements": []
}
{
"type": "Group",
"elements": [],
"options": {
"label": "This is a group"
}
}
The ID of the layout
May contain a schema reference to the ui schema
The elements of the layout
No Additional ItemsDifferent types of layout elements
Contains a form element, e. g. a text input
No Additional Properties{
"type": "Control",
"scope": "/properties/objectInJsonSchema"
}
{
"type": "Control",
"scope": "/properties/field",
"showOn": {
"scope": "/properties/referenceField",
"type": "EQUALS",
"referenceValue": "awesomeValue"
},
"options": {
"label": false,
"radiobuttons": true,
"stacked": true
}
}
A json pointer referring to the form element in the forms json schema
Some HTML to be rendered in the form
No Additional Propertiesinserts a simple divider
No Additional PropertiesUsed to put a button into the form
No Additional PropertiesThe buttons text
Options for the button
No Additional PropertiesThe layout's CSS classes
Different color variants
Specifies that the form-data should not be validated on submission
Options that are passed to the submit function. This will not change the behaviour of VueJsonForm itself, but can bes used by the application/the webcomponent to change the behaviour of the submit function.
Action to perform when the button is clicked
"request"
"save"
"print"
The URL to send the request to if action
is request
Additional Properties of any type are allowed.
Type: objectUsed to group buttons
No Additional PropertiesDisplay the buttons vertical
Show field depending on value of other field
Legacy Variant of defining ShowOn property
No Additional PropertiesThe field this field depends on in object notation
"files[0].name"
Condition to be applied
The value the field from scope is compared against
Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule
{
"id": "rule1",
"rule": {
"type": "and",
"arguments": [
{
"type": "atom",
"path": "member"
},
{
"type": "not",
"arguments": [
{
"type": "atom",
"path": "employee"
}
]
}
]
}
}
A comment about what the rule does
Requires at least two arguments
No Additional PropertiesMust contain a minimum of 2
items
Requires exactly on parameter
No Additional PropertiesMust contain a minimum of 1
items
Must contain a maximum of 1
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes an plugin
No Additional Properties{
"type": "plugin",
"name": "http",
"options": {
"url": "https://example.com/api"
},
"formula": {
"type": "atom",
"path": "keyInResponse"
}
}
The plugins name
The plugins options
Compare strings, dates or numbers with each other
No Additional Properties{
"comment": "This evaluates to \"5>2\"",
"type": "comparison",
"operation": "greater",
"arguments": [
5,
2
]
}
{
"comment": "Check two Strings for equality",
"type": "comparison",
"operation": "equal",
"arguments": [
"test",
"test1"
]
}
Selects how the arguments should be compared
Indicates if dates are compared
Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculates a result
No Additional PropertiesThe mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)
Must contain a minimum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculations involving dates
No Additional PropertiesAdd/subtract a time interval to/from a date or subtract two dates to get the interval between them
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
What unit time intervals given as arguments will be in.
What unit time intervals representing the result will be in.
Quantifiers that can be used to evaluate rules on arrays in Data
No Additional Properties{
"type": "forall",
"array": {
"type": "atom",
"path": "arrayOfIntValues"
},
"placeholder": "forallItem",
"rule": {
"type": "comparison",
"operation": "greater",
"arguments": [
5,
{
"type": "atom",
"path": "forallItem"
}
]
}
}
This can either be an Atom that references an array in the data, or an array of rules
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
This is a placeholder name for the current array object. This is the property name with wich you can reference the current value in the subsequent rule
Must be at least 1
characters long
This is a placeholder name for the current index of the array object. This is the property name with wich you can reference the current index in the subsequent rule
Must be at least 1
characters long
Additional options
No Additional PropertiesThe layout's CSS classes
"bg-primary"
"bg-info headerpart"
Adds a label for groups (only for type=Group)
Some HTML to be rendered in the form
No Additional Propertiesinserts a simple divider
No Additional PropertiesUsed to put a button into the form
No Additional PropertiesThe buttons text
Options for the button
No Additional PropertiesThe layout's CSS classes
Different color variants
Specifies that the form-data should not be validated on submission
Options that are passed to the submit function. This will not change the behaviour of VueJsonForm itself, but can bes used by the application/the webcomponent to change the behaviour of the submit function.
Action to perform when the button is clicked
"request"
"save"
"print"
The URL to send the request to if action
is request
Additional Properties of any type are allowed.
Type: objectUsed to group buttons
No Additional PropertiesDisplay the buttons vertical
Show field depending on value of other field
Legacy Variant of defining ShowOn property
No Additional PropertiesThe field this field depends on in object notation
"files[0].name"
Condition to be applied
The value the field from scope is compared against
Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule
{
"id": "rule1",
"rule": {
"type": "and",
"arguments": [
{
"type": "atom",
"path": "member"
},
{
"type": "not",
"arguments": [
{
"type": "atom",
"path": "employee"
}
]
}
]
}
}
A comment about what the rule does
Requires at least two arguments
No Additional PropertiesMust contain a minimum of 2
items
Requires exactly on parameter
No Additional PropertiesMust contain a minimum of 1
items
Must contain a maximum of 1
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes an plugin
No Additional Properties{
"type": "plugin",
"name": "http",
"options": {
"url": "https://example.com/api"
},
"formula": {
"type": "atom",
"path": "keyInResponse"
}
}
The plugins name
The plugins options
Compare strings, dates or numbers with each other
No Additional Properties{
"comment": "This evaluates to \"5>2\"",
"type": "comparison",
"operation": "greater",
"arguments": [
5,
2
]
}
{
"comment": "Check two Strings for equality",
"type": "comparison",
"operation": "equal",
"arguments": [
"test",
"test1"
]
}
Selects how the arguments should be compared
Indicates if dates are compared
Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculates a result
No Additional PropertiesThe mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)
Must contain a minimum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Calculations involving dates
No Additional PropertiesAdd/subtract a time interval to/from a date or subtract two dates to get the interval between them
Must contain a minimum of 2
items
Must contain a maximum of 2
items
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
Describes macros. Available macros are now
and length
{
"type": "macro",
"macro": {
"type": "now"
}
}
{
"type": "macro",
"macro": {
"type": "length",
"array": {
"type": "atom",
"path": "customers"
}
}
}
Returns the current time
No Additional PropertiesReturns the length of an array
No Additional PropertiesDescribes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
What unit time intervals given as arguments will be in.
What unit time intervals representing the result will be in.
Quantifiers that can be used to evaluate rules on arrays in Data
No Additional Properties{
"type": "forall",
"array": {
"type": "atom",
"path": "arrayOfIntValues"
},
"placeholder": "forallItem",
"rule": {
"type": "comparison",
"operation": "greater",
"arguments": [
5,
{
"type": "atom",
"path": "forallItem"
}
]
}
}
This can either be an Atom that references an array in the data, or an array of rules
Describes an atom. Those can be used to read Data
No Additional PropertiesThe path to the atom in the data
Must be set to true if the atom should be parsed as a date
This is a placeholder name for the current array object. This is the property name with wich you can reference the current value in the subsequent rule
Must be at least 1
characters long
This is a placeholder name for the current index of the array object. This is the property name with wich you can reference the current index in the subsequent rule
Must be at least 1
characters long
Additional options
No Additional PropertiesThe layout's CSS classes
"bg-primary"
"bg-info headerpart"
Adds a label for groups (only for type=Group)