UI Schema

Type: object

Schema for the UI Schema

No Additional Properties

Type: string

The Metaschema of the UI Schema

Type: string

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+$
Example:

"2.1"

Layout

Type: object

The different layouts

No Additional Properties
Examples:

{
    "type": "VerticalLayout",
    "elements": []
}
{
    "type": "Group",
    "elements": [],
    "options": {
        "label": "This is a group"
    }
}

Type: string

The ID of the layout

Type: string

May contain a schema reference to the ui schema

Type: enum (of string)

Must be one of:

  • "VerticalLayout"
  • "HorizontalLayout"
  • "Group"

Elements

Type: array Default: []

The elements of the layout

No Additional Items

Each item of this array must be:

Layout element


Different types of layout elements

Control

Type: object

Contains a form element, e. g. a text input

No Additional Properties
Examples:

{
    "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
    }
}

Type: enum (of string)

Must be one of:

  • "Control"

Type: stringFormat: json-pointer

A json pointer referring to the form element in the forms json schema

Options

Type: object

Gives multiple options to configure the element

Field Specific Options


Tag Options

Type: object
No Additional Properties

Type: object

Will be rendered as tags-Field

Type: boolean Default: false

Set to true to render the field as tags field

Color Variant

Type: enum (of string)

Different color variants

Must be one of:

  • "primary"
  • "secondary"
  • "success"
  • "warning"
  • "danger"
  • "info"
  • "light"
  • "dark"
  • "outline-primary"
  • "outline-secondary"
  • "outline-success"
  • "outline-warning"
  • "outline-danger"
  • "outline-info"
  • "outline-light"
  • "outline-dark"

Enum Options

Type: object
No Additional Properties

Titles for enum

Type: object

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:
Type: string

Must be at least 1 characters long

Type: boolean Default: false

Radiobutton-/Checkbox group will be stacked if set to true

Display As

Type: enum (of string) Default: "select"

Choose how an enum should be displayed

Must be one of:

  • "select"
  • "radiobuttons"
  • "switches"
  • "buttons"

Color Variant

Type: enum (of string)

Different color variants

Must be one of:

  • "primary"
  • "secondary"
  • "success"
  • "warning"
  • "danger"
  • "info"
  • "light"
  • "dark"
  • "outline-primary"
  • "outline-secondary"
  • "outline-success"
  • "outline-warning"
  • "outline-danger"
  • "outline-info"
  • "outline-light"
  • "outline-dark"

File Upload Options

Type: object
No Additional Properties

Type: boolean

Allows the upload of multiple files with fileupload

Type: string

The accepted File Types


Examples:

"image/*"
"image/jpeg, image/png, image/gif"
".jpg, .png, .gif"

Input Options

Type: object

Options for text fields

No Additional Properties

Type: enum (of string) Default: "text"

Format for string fields

Must be one of:

  • "text"
  • "time"
  • "date"
  • "datetime-local"
  • "email"
  • "password"
  • "search"
  • "url"
  • "tel"
  • "color"
  • "hidden"

Type: enum (of string)

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

Must be one of:

  • "off"
  • "on"
  • "name"
  • "honorific-prefix"
  • "given-name"
  • "additional-name"
  • "family-name"
  • "honorific-suffix"
  • "nickname"
  • "email"
  • "username"
  • "new-password"
  • "current-password"
  • "one-time-code"
  • "organization-title"
  • "organization"
  • "street-address"
  • "shipping"
  • "billing"
  • "address-line1"
  • "address-line2"
  • "address-line3"
  • "address-level4"
  • "address-level3"
  • "address-level2"
  • "address-level1"
  • "country"
  • "country-name"
  • "postal-code"
  • "cc-name"
  • "cc-given-name"
  • "cc-additional-name"
  • "cc-family-name"
  • "cc-number"
  • "cc-exp"
  • "cc-exp-month"
  • "cc-exp-year"
  • "cc-csc"
  • "cc-type"
  • "transaction-currency"
  • "transaction-amount"
  • "language"
  • "bday"
  • "bday-day"
  • "bday-month"
  • "bday-year"
  • "sex"
  • "tel"
  • "tel-country-code"
  • "tel-national"
  • "tel-area-code"
  • "tel-local"
  • "tel-extension"
  • "impp"
  • "url"
  • "photo"
  • "webauthn"

Type: boolean Default: false

If set true, a range input will be shown instead of a text input

Type: enum (of string)

Set the text-align of input fields

Must be one of:

  • "left"
  • "right"
  • "center"
  • "start"
  • "end"
Type: object
No Additional Properties

Type: boolean Default: true

Defines whether the fields label is shown

Type: string

Will be shown as placeholder in form fields, if supported by field

Type: string

The Controls CSS classes


Examples:

"bg-primary"
"bg-info specialpart"

Type: boolean

Sets the visibility of the field to hidden. For example useful in combination with a DateTime field with default:"$now" to create a hidden timestamp.

Type: string

Will be appended to field

Type: string

Will be prepended to field

Type: boolean Default: false

Disables the field

Descendant Control Overrides

Type: object

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

Descendant Control Override

Type: object
No Additional Properties

ShowOn property

Type: object

Show field depending on value of other field

Legacy ShowOn property

Type: object

Legacy Variant of defining ShowOn property

No Additional Properties

Type: string

The field this field depends on in object notation


Example:

"files[0].name"

ShowOn function type

Type: enum (of string)

Condition to be applied

Must be one of:

  • "EQUALS"
  • "NOT_EQUALS"
  • "GREATER"
  • "GREATER_OR_EQUAL"
  • "SMALLER_OR_EQUAL"
  • "SMALLER"

Rule

Type: object

Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule


Example:

{
    "id": "rule1",
    "rule": {
        "type": "and",
        "arguments": [
            {
                "type": "atom",
                "path": "member"
            },
            {
                "type": "not",
                "arguments": [
                    {
                        "type": "atom",
                        "path": "employee"
                    }
                ]
            }
        ]
    }
}

Formula


Operator


Non-Unary operator

Type: object

Requires at least two arguments

No Additional Properties

Multiple arguments

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:

Formula

Type: object

Operator


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Plugin

Type: object

Describes an plugin

No Additional Properties
Example:

{
    "type": "plugin",
    "name": "http",
    "options": {
        "url": "https://example.com/api"
    },
    "formula": {
        "type": "atom",
        "path": "keyInResponse"
    }
}

Comparison

Type: object

Compare strings, dates or numbers with each other

No Additional Properties
Examples:

{
    "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"
    ]
}

Type: enum (of string)

Selects how the arguments should be compared

Must be one of:

  • "greater"
  • "smaller"
  • "greaterOrEqual"
  • "smallerOrEqual"
  • "equal"

Type: boolean Default: false

Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Calculation

Type: object

Calculates a result

No Additional Properties

Type: enum (of string)

The mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)

Must be one of:

  • "add"
  • "subtract"
  • "multiply"
  • "divide"
  • "modulo"

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Calculation

Type: object

Calculates a result

No Additional Properties

Type: enum (of string)

The mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)

Must be one of:

  • "add"
  • "subtract"
  • "multiply"
  • "divide"
  • "modulo"

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Date Calculation

Type: object

Calculations involving dates

No Additional Properties

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Date Calculation

Type: object

Calculations involving dates

No Additional Properties

Type: enum (of string)

Add/subtract a time interval to/from a date or subtract two dates to get the interval between them

Must be one of:

  • "add"
  • "subtract"

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Type: enum (of string) Default: "seconds"

What unit time intervals given as arguments will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Type: enum (of string) Default: "seconds"

What unit time intervals representing the result will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Quantifier

Type: object

Quantifiers that can be used to evaluate rules on arrays in Data

No Additional Properties
Example:

{
    "type": "forall",
    "array": {
        "type": "atom",
        "path": "arrayOfIntValues"
    },
    "placeholder": "forallItem",
    "rule": {
        "type": "comparison",
        "operation": "greater",
        "arguments": [
            5,
            {
                "type": "atom",
                "path": "forallItem"
            }
        ]
    }
}

Data array


This can either be an Atom that references an array in the data, or an array of rules

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Type: string

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

Type: string Default: "index"

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

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Plugin

Type: object

Describes an plugin

No Additional Properties
Example:

{
    "type": "plugin",
    "name": "http",
    "options": {
        "url": "https://example.com/api"
    },
    "formula": {
        "type": "atom",
        "path": "keyInResponse"
    }
}

Comparison

Type: object

Compare strings, dates or numbers with each other

No Additional Properties
Examples:

{
    "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"
    ]
}

Type: enum (of string)

Selects how the arguments should be compared

Must be one of:

  • "greater"
  • "smaller"
  • "greaterOrEqual"
  • "smallerOrEqual"
  • "equal"

Type: boolean Default: false

Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Calculation

Type: object

Calculates a result

No Additional Properties

Type: enum (of string)

The mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)

Must be one of:

  • "add"
  • "subtract"
  • "multiply"
  • "divide"
  • "modulo"

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Date Calculation

Type: object

Calculations involving dates

No Additional Properties

Type: enum (of string)

Add/subtract a time interval to/from a date or subtract two dates to get the interval between them

Must be one of:

  • "add"
  • "subtract"

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties


Type: enum (of string) Default: "seconds"

What unit time intervals given as arguments will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Type: enum (of string) Default: "seconds"

What unit time intervals representing the result will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Quantifier

Type: object

Quantifiers that can be used to evaluate rules on arrays in Data

No Additional Properties
Example:

{
    "type": "forall",
    "array": {
        "type": "atom",
        "path": "arrayOfIntValues"
    },
    "placeholder": "forallItem",
    "rule": {
        "type": "comparison",
        "operation": "greater",
        "arguments": [
            5,
            {
                "type": "atom",
                "path": "forallItem"
            }
        ]
    }
}

Data array


This can either be an Atom that references an array in the data, or an array of rules

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Type: string

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

Type: string Default: "index"

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

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Layout

Type: object

The different layouts

No Additional Properties
Examples:

{
    "type": "VerticalLayout",
    "elements": []
}
{
    "type": "Group",
    "elements": [],
    "options": {
        "label": "This is a group"
    }
}

Type: string

The ID of the layout

Type: string

May contain a schema reference to the ui schema

Type: enum (of string)

Must be one of:

  • "VerticalLayout"
  • "HorizontalLayout"
  • "Group"

Elements

Type: array Default: []

The elements of the layout

No Additional Items

Each item of this array must be:

Layout element


Different types of layout elements

Control

Type: object

Contains a form element, e. g. a text input

No Additional Properties
Examples:

{
    "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
    }
}

Type: enum (of string)

Must be one of:

  • "Control"

Type: stringFormat: json-pointer

A json pointer referring to the form element in the forms json schema

Options

Type: object

Gives multiple options to configure the element

Same definition as options

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

HTML Renderer

Type: object

Some HTML to be rendered in the form

No Additional Properties

Type: enum (of string)

Must be one of:

  • "HTML"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Divider

Type: object

inserts a simple divider

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Divider"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Button

Type: object

Used to put a button into the form

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Button"

The Buttons Type

Type: enum (of string)

Submit or Reset

Must be one of:

  • "submit"
  • "reset"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Button Options

Type: object

Options for the button

No Additional Properties

Color Variant

Type: enum (of string)

Different color variants

Must be one of:

  • "primary"
  • "secondary"
  • "success"
  • "warning"
  • "danger"
  • "info"
  • "light"
  • "dark"
  • "outline-primary"
  • "outline-secondary"
  • "outline-success"
  • "outline-warning"
  • "outline-danger"
  • "outline-info"
  • "outline-light"
  • "outline-dark"

Type: boolean Default: false

Specifies that the form-data should not be validated on submission

Submit Options

Type: object

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.

Type: string

Action to perform when the button is clicked


Examples:

"request"
"save"
"print"

Type: string

The URL to send the request to if action is request

Additional Properties of any type are allowed.

Type: object

Buttongroup

Type: object

Used to group buttons

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Buttongroup"

Type: array

The buttons in the button group

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Button

Type: object

Used to put a button into the form

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Button"

The Buttons Type

Type: enum (of string)

Submit or Reset

Must be one of:

  • "submit"
  • "reset"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Button Options

Type: object

Options for the button

No Additional Properties

Color Variant

Type: enum (of string)

Different color variants

Must be one of:

  • "primary"
  • "secondary"
  • "success"
  • "warning"
  • "danger"
  • "info"
  • "light"
  • "dark"
  • "outline-primary"
  • "outline-secondary"
  • "outline-success"
  • "outline-warning"
  • "outline-danger"
  • "outline-info"
  • "outline-light"
  • "outline-dark"

Type: boolean Default: false

Specifies that the form-data should not be validated on submission

Submit Options

Type: object

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.

Type: string

Action to perform when the button is clicked


Examples:

"request"
"save"
"print"

Type: string

The URL to send the request to if action is request

Type: object
No Additional Properties

Type: boolean Default: false

Display the buttons vertical

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

ShowOn property


Show field depending on value of other field

Legacy ShowOn property

Type: object

Legacy Variant of defining ShowOn property

No Additional Properties

Type: string

The field this field depends on in object notation


Example:

"files[0].name"

ShowOn function type

Type: enum (of string)

Condition to be applied

Must be one of:

  • "EQUALS"
  • "NOT_EQUALS"
  • "GREATER"
  • "GREATER_OR_EQUAL"
  • "SMALLER_OR_EQUAL"
  • "SMALLER"

Rule

Type: object

Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule


Example:

{
    "id": "rule1",
    "rule": {
        "type": "and",
        "arguments": [
            {
                "type": "atom",
                "path": "member"
            },
            {
                "type": "not",
                "arguments": [
                    {
                        "type": "atom",
                        "path": "employee"
                    }
                ]
            }
        ]
    }
}

Type: string

A comment about what the rule does

Formula


Operator


Non-Unary operator

Type: object

Requires at least two arguments

No Additional Properties

Type: enum (of string)

Must be one of:

  • "and"
  • "or"

Multiple arguments

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:

Unary operator

Type: object

Requires exactly on parameter

No Additional Properties

Type: enum (of string)

Must be one of:

  • "not"

Unary Arguments

Type: array

Must contain a minimum of 1 items

Must contain a maximum of 1 items

No Additional Items

Each item of this array must be:

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Plugin

Type: object

Describes an plugin

No Additional Properties
Example:

{
    "type": "plugin",
    "name": "http",
    "options": {
        "url": "https://example.com/api"
    },
    "formula": {
        "type": "atom",
        "path": "keyInResponse"
    }
}

Type: enum (of string)

Must be one of:

  • "plugin"

Comparison

Type: object

Compare strings, dates or numbers with each other

No Additional Properties
Examples:

{
    "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"
    ]
}

Type: enum (of string)

Must be one of:

  • "comparison"

Type: enum (of string)

Selects how the arguments should be compared

Must be one of:

  • "greater"
  • "smaller"
  • "greaterOrEqual"
  • "smallerOrEqual"
  • "equal"

Type: boolean Default: false

Indicates if dates are compared

Type: boolean Default: false

Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Calculation

Type: object

Calculates a result

No Additional Properties

Type: enum (of string)

The mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)

Must be one of:

  • "add"
  • "subtract"
  • "multiply"
  • "divide"
  • "modulo"

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Date Calculation

Type: object

Calculations involving dates

No Additional Properties

Type: enum (of string)

Add/subtract a time interval to/from a date or subtract two dates to get the interval between them

Must be one of:

  • "add"
  • "subtract"

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string) Default: "seconds"

What unit time intervals given as arguments will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Type: enum (of string) Default: "seconds"

What unit time intervals representing the result will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Quantifier

Type: object

Quantifiers that can be used to evaluate rules on arrays in Data

No Additional Properties
Example:

{
    "type": "forall",
    "array": {
        "type": "atom",
        "path": "arrayOfIntValues"
    },
    "placeholder": "forallItem",
    "rule": {
        "type": "comparison",
        "operation": "greater",
        "arguments": [
            5,
            {
                "type": "atom",
                "path": "forallItem"
            }
        ]
    }
}

Type: enum (of string)

Must be one of:

  • "forall"
  • "exists"

Data array


This can either be an Atom that references an array in the data, or an array of rules

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Type: string

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

Type: string Default: "index"

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

Type: object

Additional options

No Additional Properties

Type: string

The layout's CSS classes


Examples:

"bg-primary"
"bg-info headerpart"

Type: string

Adds a label for groups (only for type=Group)

HTML Renderer

Type: object

Some HTML to be rendered in the form

No Additional Properties

Type: enum (of string)

Must be one of:

  • "HTML"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Divider

Type: object

inserts a simple divider

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Divider"

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Button

Type: object

Used to put a button into the form

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Button"

The Buttons Type

Type: enum (of string)

Submit or Reset

Must be one of:

  • "submit"
  • "reset"

Text

Type: string

The buttons text

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

Button Options

Type: object

Options for the button

No Additional Properties

Type: string

The layout's CSS classes

Color Variant

Type: enum (of string)

Different color variants

Must be one of:

  • "primary"
  • "secondary"
  • "success"
  • "warning"
  • "danger"
  • "info"
  • "light"
  • "dark"
  • "outline-primary"
  • "outline-secondary"
  • "outline-success"
  • "outline-warning"
  • "outline-danger"
  • "outline-info"
  • "outline-light"
  • "outline-dark"

Type: boolean Default: false

Specifies that the form-data should not be validated on submission

Submit Options

Type: object

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.

Type: string

Action to perform when the button is clicked


Examples:

"request"
"save"
"print"

Type: string

The URL to send the request to if action is request

Additional Properties of any type are allowed.

Type: object

Buttongroup

Type: object

Used to group buttons

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Buttongroup"

Type: array

The buttons in the button group

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Button

Type: object

Used to put a button into the form

Same definition as Button

Type: object
No Additional Properties

Type: boolean Default: false

Display the buttons vertical

ShowOn property

Type: object

Show field depending on value of other field

Same definition as showOn

ShowOn property


Show field depending on value of other field

Legacy ShowOn property

Type: object

Legacy Variant of defining ShowOn property

No Additional Properties

Type: string

The field this field depends on in object notation


Example:

"files[0].name"

ShowOn function type

Type: enum (of string)

Condition to be applied

Must be one of:

  • "EQUALS"
  • "NOT_EQUALS"
  • "GREATER"
  • "GREATER_OR_EQUAL"
  • "SMALLER_OR_EQUAL"
  • "SMALLER"

Rule

Type: object

Rita Rule
See https://educorvi.github.io/rita/rita-core/docs/schema/#/rule


Example:

{
    "id": "rule1",
    "rule": {
        "type": "and",
        "arguments": [
            {
                "type": "atom",
                "path": "member"
            },
            {
                "type": "not",
                "arguments": [
                    {
                        "type": "atom",
                        "path": "employee"
                    }
                ]
            }
        ]
    }
}

Type: string

Type: string

A comment about what the rule does

Formula


Operator


Non-Unary operator

Type: object

Requires at least two arguments

No Additional Properties

Type: enum (of string)

Must be one of:

  • "and"
  • "or"

Multiple arguments

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:

Unary operator

Type: object

Requires exactly on parameter

No Additional Properties

Type: enum (of string)

Must be one of:

  • "not"

Unary Arguments

Type: array

Must contain a minimum of 1 items

Must contain a maximum of 1 items

No Additional Items

Each item of this array must be:

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Plugin

Type: object

Describes an plugin

No Additional Properties
Example:

{
    "type": "plugin",
    "name": "http",
    "options": {
        "url": "https://example.com/api"
    },
    "formula": {
        "type": "atom",
        "path": "keyInResponse"
    }
}

Type: enum (of string)

Must be one of:

  • "plugin"

Type: string

The plugins name

Type: object

The plugins options

Comparison

Type: object

Compare strings, dates or numbers with each other

No Additional Properties
Examples:

{
    "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"
    ]
}

Type: enum (of string)

Must be one of:

  • "comparison"

Type: enum (of string)

Selects how the arguments should be compared

Must be one of:

  • "greater"
  • "smaller"
  • "greaterOrEqual"
  • "smallerOrEqual"
  • "equal"

Type: boolean Default: false

Indicates if dates are compared

Type: boolean Default: false

Indicates if different types are allowed inside a comparison. This follows the JavaScript rules for comparison (´===´ is used for ´equals´).

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}

Type: enum (of string)

Must be one of:

  • "macro"


now

Type: object

Returns the current time

No Additional Properties

Type: enum (of string)

Must be one of:

  • "now"

length

Type: object

Returns the length of an array

No Additional Properties

Type: enum (of string)

Must be one of:

  • "length"

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Calculation

Type: object

Calculates a result

No Additional Properties

Type: enum (of string)

Must be one of:

  • "calculation"

Type: enum (of string)

The mathematical operation to be calculated. Modulo refers to the function mod(a,b)=a-(floor(a/b)*b)

Must be one of:

  • "add"
  • "subtract"
  • "multiply"
  • "divide"
  • "modulo"

Type: array

Must contain a minimum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Date Calculation

Type: object

Calculations involving dates

No Additional Properties

Type: enum (of string)

Must be one of:

  • "dateCalculation"

Type: enum (of string)

Add/subtract a time interval to/from a date or subtract two dates to get the interval between them

Must be one of:

  • "add"
  • "subtract"

Type: array

Must contain a minimum of 2 items

Must contain a maximum of 2 items

No Additional Items

Each item of this array must be:


Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Macro

Type: object

Describes macros. Available macros are now and length

No Additional Properties
Examples:

{
    "type": "macro",
    "macro": {
        "type": "now"
    }
}
{
    "type": "macro",
    "macro": {
        "type": "length",
        "array": {
            "type": "atom",
            "path": "customers"
        }
    }
}


length

Type: object

Returns the length of an array

No Additional Properties

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Type: enum (of string) Default: "seconds"

What unit time intervals given as arguments will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Type: enum (of string) Default: "seconds"

What unit time intervals representing the result will be in.

Must be one of:

  • "seconds"
  • "minutes"
  • "hours"
  • "days"
  • "months"
  • "years"

Quantifier

Type: object

Quantifiers that can be used to evaluate rules on arrays in Data

No Additional Properties
Example:

{
    "type": "forall",
    "array": {
        "type": "atom",
        "path": "arrayOfIntValues"
    },
    "placeholder": "forallItem",
    "rule": {
        "type": "comparison",
        "operation": "greater",
        "arguments": [
            5,
            {
                "type": "atom",
                "path": "forallItem"
            }
        ]
    }
}

Type: enum (of string)

Must be one of:

  • "forall"
  • "exists"

Data array


This can either be an Atom that references an array in the data, or an array of rules

Type: array
No Additional Items

Each item of this array must be:

Atom

Type: object

Describes an atom. Those can be used to read Data

No Additional Properties

Type: enum (of string)

Must be one of:

  • "atom"

Type: string

The path to the atom in the data

Type: boolean Default: false

Must be set to true if the atom should be parsed as a date

Type: string

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

Type: string Default: "index"

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

Type: object

Additional options

No Additional Properties

Type: string

The layout's CSS classes


Examples:

"bg-primary"
"bg-info headerpart"

Type: string

Adds a label for groups (only for type=Group)