Created
December 21, 2023 13:36
-
-
Save piretek/26b0f63e0ca73e0da7a524926b3e8835 to your computer and use it in GitHub Desktop.
test
This file contains 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