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

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

HTML Renderer

Type: object

Some HTML to be rendered in the form

No Additional Properties

Type: const
Specific value: "HTML"

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as showOn

Divider

Type: object

inserts a simple divider

No Additional Properties

Type: const
Specific value: "Divider"

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as showOn

Modal

Type: object

Display Information in a Modal

No Additional Properties

Type: const
Specific value: "Modal"

Type: object

The button that opens the modal

No Additional Properties

Text

Type: string

The buttons text

Must be at least 1 characters long

Color Variants


Different color variants

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

The modal

No Additional Properties

Title

Type: string

The modal title

Content

Type: string

The modal content (html is supported)

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

Must be one of:

  • "small"
  • "medium"
  • "large"
  • "x-large"

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

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"
  • "nextWizardPage"
  • "previousWizardPage"

Text

Type: string

The buttons text

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as showOn

Button Options

Type: object

Options for the button

No Additional Properties

Type: string

The layout's CSS classes

Type: boolean Default: false

Whether the button is disabled

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

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"

SubmitRequestOptions

Type: object

Settings for request actions

No Additional Properties


Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: array

An array of URLs to send the request to

Must contain a minimum of 1 items

No Additional Items

Each item of this array must be:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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

Type: string

URL to redirect to after successful request

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:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object
No Additional Properties

Type: boolean Default: false

Display the buttons vertical

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as showOn

ShowOn property


Show field depending on value of other field

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Rule

Type: object

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:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

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:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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:


Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

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

length

Type: object

Returns the length of an array

No Additional Properties

Type: enum (of string)

Must be one of:

  • "length"

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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:


Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json
Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

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. If the first date is earlier than the second one, the result will be negative.

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:


Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json
Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json
Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json
Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json
Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

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)

Wizard

Type: object

A wizard

No Additional Properties

Type: enum (of string)

Must be one of:

  • "Wizard"

Type: array
No Additional Items

Each item of this array must be:

Type: object

😅 ERROR in schema generation, a referenced schema could not be loaded, no documentation here unfortunately 🏜️

Same definition as layout.schema.json

Type: object

Additional options

No Additional Properties

Type: array of string
No Additional Items

Each item of this array must be:

Additional Properties of any type are allowed.

Type: object