Created
December 21, 2023 13:36
-
-
Save piretek/26b0f63e0ca73e0da7a524926b3e8835 to your computer and use it in GitHub Desktop.
test
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "$ref": "#/definitions/no-code-schema", | |
| "definitions": { | |
| "rootBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "ROOT" | |
| }, | |
| "class": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "condition": { | |
| "type": "object", | |
| "properties": { | |
| "visibility": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "compareTo": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "dataOrigin": { | |
| "type": "string", | |
| "const": "context" | |
| }, | |
| "dataPath": { | |
| "type": "string", | |
| "description": "Path to data in context starts with '$context'" | |
| } | |
| }, | |
| "required": [ | |
| "dataOrigin", | |
| "dataPath" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "dataOrigin": { | |
| "type": "string", | |
| "const": "static" | |
| }, | |
| "data": {} | |
| }, | |
| "required": [ | |
| "dataOrigin" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "operator": { | |
| "type": "string", | |
| "enum": [ | |
| "eq", | |
| "neq", | |
| "gt", | |
| "gte", | |
| "lt", | |
| "lte" | |
| ] | |
| }, | |
| "value": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility/anyOf/0/properties/compareTo/anyOf/0" | |
| }, | |
| { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility/anyOf/0/properties/compareTo/anyOf/1" | |
| } | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "compareTo", | |
| "operator", | |
| "value" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "compareTo": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility/anyOf/0/properties/compareTo" | |
| }, | |
| "operator": { | |
| "type": "string", | |
| "enum": [ | |
| "notEmpty", | |
| "empty" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "compareTo", | |
| "operator" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "compareTo": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility/anyOf/0/properties/compareTo" | |
| }, | |
| "operator": { | |
| "type": "string", | |
| "enum": [ | |
| "isTrue", | |
| "isFalse" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "compareTo", | |
| "operator" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "visibility" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "styles": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "pageBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "PAGE" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "pageMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "title": { | |
| "type": "string" | |
| }, | |
| "path": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "title", | |
| "path" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "context": { | |
| "type": "object", | |
| "properties": { | |
| "parentContextVariableName": { | |
| "type": "string", | |
| "description": "Defines variable under which context is registered in parent context" | |
| } | |
| }, | |
| "additionalProperties": false | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/rootBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/containerBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/rowBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/columnBuildingBlock" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "BUTTON" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "buttonMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "label": { | |
| "type": "string" | |
| }, | |
| "onClick": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "action": { | |
| "type": "string", | |
| "const": "debugLog" | |
| }, | |
| "actionData": { | |
| "type": "object", | |
| "properties": { | |
| "source": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility/anyOf/0/properties/value" | |
| } | |
| }, | |
| "required": [ | |
| "source" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "action", | |
| "actionData" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "action": { | |
| "type": "string", | |
| "const": "updateOptions" | |
| }, | |
| "actionData": { | |
| "type": "object", | |
| "properties": { | |
| "sourceValue": { | |
| "type": "string" | |
| }, | |
| "destValues": { | |
| "type": "object", | |
| "properties": { | |
| "sourceValue": { | |
| "type": "object", | |
| "properties": { | |
| "valueType": { | |
| "type": "string", | |
| "enum": [ | |
| "string", | |
| "number", | |
| "boolean" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "valueType" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "sourceValue" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "sourceValue", | |
| "destValues" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "action", | |
| "actionData" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "label", | |
| "onClick" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "buttonMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "$ref": "#/definitions/formBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/formArrayBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/textInputBuildingBlock" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "NUMBER" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formFieldMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "label": { | |
| "type": "string" | |
| }, | |
| "context": { | |
| "type": "object", | |
| "properties": { | |
| "contextVariableName": { | |
| "type": "string", | |
| "description": "Defines variable under which control value is stored in context" | |
| } | |
| }, | |
| "required": [ | |
| "contextVariableName" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "key", | |
| "label" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "suffixIcon": { | |
| "type": "string" | |
| }, | |
| "min": { | |
| "type": "number" | |
| }, | |
| "max": { | |
| "type": "number" | |
| }, | |
| "step": { | |
| "type": "number" | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "$ref": "#/definitions/checkboxBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/selectBuildingBlock" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "AUTOCOMPLETE" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formFieldMetadata": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata" | |
| }, | |
| "typingTriggerParamName": { | |
| "type": "string", | |
| "description": "Name of param to be sent to service datasource. If not present, autocomplete will filter data locally." | |
| }, | |
| "datasource": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "service" | |
| }, | |
| "url": { | |
| "type": "string" | |
| }, | |
| "method": { | |
| "type": "string", | |
| "enum": [ | |
| "GET", | |
| "POST" | |
| ] | |
| }, | |
| "params": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "paramsMapping": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "param": { | |
| "type": "string" | |
| }, | |
| "externalParam": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "param", | |
| "externalParam" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "param": { | |
| "type": "string" | |
| }, | |
| "paramValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "param", | |
| "paramValue" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "responseMapping": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "responseKey": { | |
| "type": "string", | |
| "description": "Property or property path of response object" | |
| }, | |
| "objectKey": { | |
| "type": "string", | |
| "const": "values" | |
| } | |
| }, | |
| "required": [ | |
| "responseKey", | |
| "objectKey" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 1, | |
| "maxItems": 1 | |
| }, | |
| "body": {} | |
| }, | |
| "required": [ | |
| "type", | |
| "url", | |
| "method", | |
| "responseMapping" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "static" | |
| }, | |
| "data": {} | |
| }, | |
| "required": [ | |
| "type" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "context" | |
| }, | |
| "dataPath": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataPath" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "labelMapper": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "property" | |
| }, | |
| "property": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "property" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "separator" | |
| }, | |
| "separator": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "separator" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| }, | |
| "actions": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "source": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/1" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/2" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "queryParams" | |
| }, | |
| "params": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "params" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| }, | |
| "action": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "action": { | |
| "type": "string", | |
| "const": "changeDatasource" | |
| }, | |
| "datasource": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/type" | |
| }, | |
| "url": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/url" | |
| }, | |
| "method": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/method" | |
| }, | |
| "params": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/params" | |
| }, | |
| "paramsMapping": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/paramsMapping" | |
| }, | |
| "responseMapping": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "responseKey": { | |
| "type": "string", | |
| "description": "Property or property path of response object" | |
| }, | |
| "objectKey": { | |
| "type": "string", | |
| "description": "Property or path of mapped object. If empty mapper will take value from response[responseKey]" | |
| } | |
| }, | |
| "required": [ | |
| "responseKey" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 1 | |
| }, | |
| "body": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0/properties/body" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "url", | |
| "method" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/1" | |
| } | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "action", | |
| "datasource" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "source", | |
| "action" | |
| ], | |
| "additionalProperties": false | |
| } | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata", | |
| "datasource" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "$ref": "#/definitions/datePickerBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/tableBuildingBlock" | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "LABEL" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "labelMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "label": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "label" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "labelMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "CAMUNDA" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "actions": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "source": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/source/items/anyOf/2" | |
| }, | |
| "minItems": 1, | |
| "maxItems": 1 | |
| }, | |
| "action": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/action/items" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "source", | |
| "action" | |
| ], | |
| "additionalProperties": false | |
| } | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "actions" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "containerBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "CONTAINER" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items" | |
| }, | |
| "minItems": 0 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "rowBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "ROW" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "type": "object", | |
| "properties": { | |
| "visibility": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition/properties/visibility" | |
| } | |
| }, | |
| "required": [ | |
| "visibility" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/columnBuildingBlock" | |
| }, | |
| { | |
| "$ref": "#/definitions/formBuildingBlock" | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "columnBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "COLUMN" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "formBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "FORM" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string", | |
| "description": "Defines key of form in parent form. If not defined, form is root form" | |
| }, | |
| "label": { | |
| "type": "string" | |
| }, | |
| "fields": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/formMetadataField" | |
| }, | |
| "minItems": 1, | |
| "description": "Defines form field in form" | |
| }, | |
| "context": { | |
| "allOf": [ | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata/properties/context" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/context" | |
| }, | |
| { | |
| "anyOf": [ | |
| { | |
| "not": {} | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "observed": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| }, | |
| "description": "Defines variable under which context is registered in parent context" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "actions": { | |
| "type": "object", | |
| "properties": { | |
| "onQueryParams": { | |
| "type": "object", | |
| "properties": { | |
| "action": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/action/items/properties/action" | |
| }, | |
| "datasource": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/action/items/properties/datasource" | |
| }, | |
| "queryParams": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "action", | |
| "datasource", | |
| "queryParams" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "fields" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formMetadata", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "formArrayBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "FORM_ARRAY" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "arrayContainerClass": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "formFieldMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata/properties/key" | |
| }, | |
| "label": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata/properties/label" | |
| }, | |
| "context": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata/properties/context" | |
| } | |
| }, | |
| "required": [ | |
| "key", | |
| "label" | |
| ], | |
| "additionalProperties": false, | |
| "description": "Connects FormArray with control in parent form" | |
| }, | |
| "formMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "fields": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/formMetadataField" | |
| }, | |
| "minItems": 1, | |
| "description": "Defines form field in form" | |
| } | |
| }, | |
| "required": [ | |
| "fields" | |
| ], | |
| "additionalProperties": false, | |
| "description": "Form metadata for array items" | |
| }, | |
| "children": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata", | |
| "formMetadata", | |
| "children" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "formMetadataField": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "required": { | |
| "type": "boolean" | |
| }, | |
| "disabled": { | |
| "type": "boolean" | |
| }, | |
| "controlType": { | |
| "type": "string", | |
| "enum": [ | |
| "control", | |
| "array", | |
| "subform" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "key", | |
| "controlType" | |
| ], | |
| "additionalProperties": false, | |
| "description": "Defines form field in form" | |
| }, | |
| "textInputBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "TEXT" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formFieldMetadata": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata" | |
| }, | |
| "suffixIcon": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/suffixIcon" | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "checkboxBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "CHECKBOX" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formFieldMetadata": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata" | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "selectBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "SELECT" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "formFieldMetadata": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata" | |
| }, | |
| "datasource": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/0" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/1" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/2" | |
| } | |
| ] | |
| }, | |
| "labelMapper": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/labelMapper" | |
| }, | |
| "actions": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "source": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/1" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/datasource/anyOf/2" | |
| }, | |
| { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/source/items/anyOf/2" | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| }, | |
| "action": { | |
| "type": "array", | |
| "items": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/12/properties/actions/items/properties/action/items" | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "source", | |
| "action" | |
| ], | |
| "additionalProperties": false | |
| } | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata", | |
| "datasource" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "datePickerBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "DATE" | |
| }, | |
| "class": { | |
| "type": "array", | |
| "items": { | |
| "type": "string" | |
| } | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "type": { | |
| "type": "string", | |
| "enum": [ | |
| "date", | |
| "datetime", | |
| "month", | |
| "time", | |
| "year" | |
| ], | |
| "description": "datetime if not present" | |
| }, | |
| "formFieldMetadata": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items/anyOf/9/properties/formFieldMetadata" | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "formFieldMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "tableBuildingBlock": { | |
| "type": "object", | |
| "properties": { | |
| "blockType": { | |
| "type": "string", | |
| "const": "TABLE" | |
| }, | |
| "class": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/class" | |
| }, | |
| "condition": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/condition" | |
| }, | |
| "styles": { | |
| "$ref": "#/definitions/rootBuildingBlock/properties/styles" | |
| }, | |
| "tableMetadata": { | |
| "type": "object", | |
| "properties": { | |
| "columns": { | |
| "type": "array", | |
| "items": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "TEXT" | |
| }, | |
| "dataKey": { | |
| "type": "string" | |
| }, | |
| "displayName": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataKey", | |
| "displayName" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "NUMBER" | |
| }, | |
| "dataKey": { | |
| "type": "string" | |
| }, | |
| "displayName": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataKey", | |
| "displayName" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "BOOLEAN" | |
| }, | |
| "dataKey": { | |
| "type": "string" | |
| }, | |
| "displayName": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataKey", | |
| "displayName" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "ENUM" | |
| }, | |
| "dataKey": { | |
| "type": "string" | |
| }, | |
| "displayName": { | |
| "type": "string" | |
| }, | |
| "mapValues": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key", | |
| "value" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 1 | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataKey", | |
| "displayName", | |
| "mapValues" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "DATE" | |
| }, | |
| "dataKey": { | |
| "type": "string" | |
| }, | |
| "displayName": { | |
| "type": "string" | |
| }, | |
| "format": { | |
| "type": "string", | |
| "enum": [ | |
| "DATE", | |
| "DATETIME", | |
| "TIMESTAMP" | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "dataKey", | |
| "displayName", | |
| "format" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| }, | |
| "minItems": 1 | |
| }, | |
| "actions": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "name": { | |
| "type": "string" | |
| }, | |
| "icon": { | |
| "type": "string" | |
| }, | |
| "isDisabled": { | |
| "type": "string" | |
| }, | |
| "onAction": { | |
| "anyOf": [ | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "REDIRECT" | |
| }, | |
| "redirectUrl": { | |
| "type": "string" | |
| }, | |
| "queryParams": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| }, | |
| "calculatedValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 0 | |
| }, | |
| "pathVariables": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| }, | |
| "calculatedValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "openInNewTab": { | |
| "type": "boolean" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "redirectUrl" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "CUSTOM" | |
| }, | |
| "customAction": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "customAction" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "MODAL" | |
| }, | |
| "modalComponentName": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "modalComponentName" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| { | |
| "type": "object", | |
| "properties": { | |
| "type": { | |
| "type": "string", | |
| "const": "API_CALL" | |
| }, | |
| "requestUrl": { | |
| "type": "string" | |
| }, | |
| "method": { | |
| "type": "string", | |
| "enum": [ | |
| "GET", | |
| "POST", | |
| "PUT", | |
| "DELETE" | |
| ] | |
| }, | |
| "queryParams": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| }, | |
| "calculatedValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "pathVariables": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| }, | |
| "calculatedValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "requestBody": { | |
| "type": "object", | |
| "properties": { | |
| "value": {}, | |
| "calculatedValue": { | |
| "type": "string" | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "type", | |
| "requestUrl", | |
| "method" | |
| ], | |
| "additionalProperties": false | |
| } | |
| ] | |
| } | |
| }, | |
| "required": [ | |
| "name", | |
| "icon", | |
| "onAction" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "minItems": 0 | |
| }, | |
| "tableSource": { | |
| "type": "object", | |
| "properties": { | |
| "isClientSide": { | |
| "type": "boolean" | |
| }, | |
| "rows": { | |
| "type": "array", | |
| "description": "Required only, if isClientSIde=true" | |
| }, | |
| "url": { | |
| "type": "string", | |
| "description": "Required only, if isClientSide=false" | |
| }, | |
| "method": { | |
| "type": "string", | |
| "enum": [ | |
| "GET", | |
| "POST" | |
| ], | |
| "description": "Required only, if isClientSide=false" | |
| }, | |
| "isServerPaginationEnabled": { | |
| "type": "boolean" | |
| }, | |
| "dataEntrypoint": { | |
| "type": "string" | |
| }, | |
| "queryParams": { | |
| "type": "array", | |
| "items": { | |
| "type": "object", | |
| "properties": { | |
| "key": { | |
| "type": "string" | |
| }, | |
| "value": { | |
| "type": "string" | |
| } | |
| }, | |
| "required": [ | |
| "key", | |
| "value" | |
| ], | |
| "additionalProperties": false | |
| } | |
| } | |
| }, | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "columns", | |
| "actions", | |
| "tableSource" | |
| ], | |
| "additionalProperties": false | |
| } | |
| }, | |
| "required": [ | |
| "blockType", | |
| "tableMetadata" | |
| ], | |
| "additionalProperties": false | |
| }, | |
| "no-code-schema": { | |
| "$ref": "#/definitions/pageBuildingBlock/properties/children/items" | |
| } | |
| }, | |
| "$schema": "http://json-schema.org/draft-07/schema#" | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment