UI Schema

Type: object

Schema for the UI Schema

Type: string

Version of the UI Schema. Changes in a major version are backwards compatible. So 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: 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: const
Specific value: "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

Tag Options

Type: object

Type: object

Will be rendered as tags-Field

Type: boolean Default: false

Set to true to render the field as tags field

Base Variants

Type: enum (of string)

Must be one of:

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

Enum Options

Type: object

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 Variants


Different color variants

Base Variants

Type: enum (of string)

Must be one of:

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

Outline Variants

Type: enum (of string)

Must be one of:

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

File Upload Options

Type: object

Type: integer

Maximum file size in bytes per file. If file using a multi file upload, this needs to be set on the array that is the multi file upload.

Type: boolean Default: false

If this is an array of upload fields, display as a single Multi-Upload field instead

Type: string

The accepted File Types


Examples:

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

Array Options

Type: object

Input Options

Type: object

Options for text fields

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"

Default: false

If set true, textarea will be shown instead of textfield.
Alternatively can be set to the number of wanted lines

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

Type: boolean Default: true

Defines whether the fields label is shown

Type: string

Will be prepended to field (before the label)


Example:

"<span class=\"text-muted\">Prepend</span>"

Type: string

Will be appended to field


Example:

"<span class=\"text-muted\">Append</span>"

Type: object

Help text popover

Base Variants

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

The color of the help text popover

Must be one of:

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

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

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: 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: const
Specific value: "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

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: const
Specific value: "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: const
Specific value: "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 Variants


Different color variants

Base Variants

Type: enum (of string)

Must be one of:

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

Outline Variants

Type: enum (of string)

Must be one of:

  • "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: object

Settings for request actions

No Additional Properties

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

The HTTP method to use for the request

Must be one of:

  • "GET"
  • "POST"
  • "PUT"
  • "DELETE"

Type: object

Headers to include in the request

Each additional property must conform to the following schema

Type: string

Additional Properties of any type are allowed.

Type: object

Buttongroup

Type: object

Used to group buttons

No Additional Properties

Type: const
Specific value: "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

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 Variants


Different color variants

Base Variants

Type: enum (of string)

Must be one of:

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

Outline Variants

Type: enum (of string)

Must be one of:

  • "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: object

Settings for request actions

No Additional Properties

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

The HTTP method to use for the request

Must be one of:

  • "GET"
  • "POST"
  • "PUT"
  • "DELETE"

Type: object

Headers to include in the 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

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)

Type: string

Adds a description for a group (only for type=Group)

HTML Renderer

Type: object

Some HTML to be rendered in the form

No Additional Properties

Type: const
Specific value: "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: const
Specific value: "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: const
Specific value: "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 Variants


Different color variants

Base Variants

Type: enum (of string)

Must be one of:

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

Outline Variants

Type: enum (of string)

Must be one of:

  • "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: object

Settings for request actions

No Additional Properties

Type: string

The URL to send the request to

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

The HTTP method to use for the request

Must be one of:

  • "GET"
  • "POST"
  • "PUT"
  • "DELETE"

Type: object

Headers to include in the request

Each additional property must conform to the following schema

Type: string

Additional Properties of any type are allowed.

Type: object

Buttongroup

Type: object

Used to group buttons

No Additional Properties

Type: const
Specific value: "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

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)

Type: string

Adds a description for a group (only for type=Group)

Additional Properties of any type are allowed.

Type: object