238 lines
11 KiB
JSON
238 lines
11 KiB
JSON
{
|
|
"$schema": "http://json-schema.org/draft-04/schema#",
|
|
"type": "object",
|
|
"properties": {
|
|
"$schema": {
|
|
"type": "string",
|
|
"description": "URL to a schema file"
|
|
},
|
|
"apiVersion": {
|
|
"description": "API Version",
|
|
"type": "integer"
|
|
},
|
|
"version": {
|
|
"type": "object",
|
|
"description": "Version of the asset.",
|
|
"properties": {
|
|
"full": {
|
|
"type": "string",
|
|
"pattern": "^[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+$"
|
|
},
|
|
"major": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"minor": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"revision": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
},
|
|
"build": {
|
|
"type": "number",
|
|
"minimum": 0
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["full", "major", "minor", "revision", "build"]
|
|
},
|
|
"dependencyFiles": {
|
|
"type": "array",
|
|
"description": "All files which will be included in the HTML file of the HMI.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"pattern": "^(?!(/)).*$",
|
|
"description": "Path to the file with the function directory as base path.",
|
|
"minLength": 1
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"enum": ["Stylesheet", "JavaScript", "EsModule"],
|
|
"description": "Type of the function asset. Stylesheet, JavaScript and EsModule are supported."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "A long description of this file."
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["name", "type", "description"]
|
|
}
|
|
},
|
|
"function": {
|
|
"type": "object",
|
|
"description": "Description for the function itself.",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "The name of the function."
|
|
},
|
|
"namespace": {
|
|
"type": "string",
|
|
"description": "The namespace of the function."
|
|
},
|
|
"displayName": {
|
|
"type": "string",
|
|
"description": "Name which should be presented the user."
|
|
},
|
|
"visible": {
|
|
"type": "boolean",
|
|
"description": "Determine if a function is shown to the user."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "A long description of this function."
|
|
},
|
|
"category": {
|
|
"type": "string",
|
|
"default": "Other",
|
|
"description": "Name of the area this function will be listed in the creator."
|
|
},
|
|
"injectContextObject": {
|
|
"type": "boolean",
|
|
"description": "Adds a context object to the function as the first parameter."
|
|
},
|
|
"waitMode": {
|
|
"type": "string",
|
|
"default": "Synchronous",
|
|
"enum": ["Synchronous", "Asynchronous"],
|
|
"description": "Tells the system if the function is finished synchronous or if the user will call a feedback function in the context object of the context object to signal finish."
|
|
},
|
|
"returnValue": {
|
|
"description": "Return value type as a tchmi reference name or null if the function has no return value.",
|
|
"anyOf": [
|
|
{
|
|
"description": "Return value type as a tchmi reference name.",
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"type": "string",
|
|
"pattern": "^tchmi:",
|
|
"description": "Type from the return value."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "A long description of the return value."
|
|
}
|
|
},
|
|
"additionalProperties": false
|
|
},
|
|
{
|
|
"description": "The function has no return value.",
|
|
"type": "null"
|
|
}
|
|
]
|
|
},
|
|
"arguments": {
|
|
"type": "array",
|
|
"description": "Function arguments.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"description": "Variable name in the function."
|
|
},
|
|
"displayName": {
|
|
"type": "string",
|
|
"description": "Name which should be presented the user."
|
|
},
|
|
"type": {
|
|
"type": "string",
|
|
"minLength": 6,
|
|
"pattern": "^tchmi:",
|
|
"description": "Information about the expected type as a tchmi reference name."
|
|
},
|
|
"description": {
|
|
"type": "string",
|
|
"description": "A long description of this argument."
|
|
},
|
|
"required": {
|
|
"type": "boolean",
|
|
"description": "This parameter is mandatory for this function."
|
|
},
|
|
"bindable": {
|
|
"type": "boolean",
|
|
"description": "This parameter can be binded to a symbol."
|
|
},
|
|
"allowControlAttributeBindingOptions": {
|
|
"type": "boolean",
|
|
"description": "This parameter can have the same binding options as a control attribute."
|
|
},
|
|
"allowSymbolReferenceWatchDelegation": {
|
|
"type": "boolean",
|
|
"description": "Determines if symbol references injected via this parameter will be watched by the function itself if 'delegatedWatch: true' is defined in the context object when calling the function."
|
|
},
|
|
"asReference": {
|
|
"type": "boolean",
|
|
"description": "TcHmiCreator ui state. Do not manipulate."
|
|
},
|
|
"defaultValue": {
|
|
"description": "This value will be used as initial value while function is generated in engineering."
|
|
},
|
|
"restParameter": {
|
|
"type": "boolean",
|
|
"description": "Specified the argument as rest parameter (variable number of arguments)."
|
|
},
|
|
"refTo": {
|
|
"type": "string",
|
|
"description": "The name of an arguments which contains information relevant for this parameter.\nThe engineering will use this information to optimize data selection based on the underlying types.\nExample: Argument which contains the name of a control properrty may refer to an argument which holds a control reference."
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["name", "displayName", "description", "type", "required", "bindable"]
|
|
}
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["name", "displayName", "namespace", "description", "arguments", "returnValue"]
|
|
},
|
|
"dataTypes": {
|
|
"type": "array",
|
|
"description": "List of custom data types.",
|
|
"items": {
|
|
"type": "object",
|
|
"properties": {
|
|
"schema": {
|
|
"type": "string",
|
|
"minLength": 1,
|
|
"pattern": "^(?!(/)).*$",
|
|
"description": "Path to the schema describing the datatype."
|
|
}
|
|
},
|
|
"additionalProperties": false,
|
|
"required": ["schema"]
|
|
}
|
|
},
|
|
"languages": {
|
|
"type": "object",
|
|
"description": "List of language files delivered by the function.",
|
|
"additionalProperties": {
|
|
"description": "Key is the language and region (optionally) as described in ISO 639/BCP 47 (Examples: 'en', 'en-US'). Value is the file path or array of paths.",
|
|
"oneOf": [
|
|
{
|
|
"type": "string",
|
|
"description": "Key is the language and region (optionally) as described in ISO 639/BCP 47 (Examples: 'en', 'en-US'). Value is the file path."
|
|
},
|
|
{
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string",
|
|
"description": "List of localization files. If some keys are referenced in multiple files, the last file will win."
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"required": ["function"],
|
|
"additionalProperties": false
|
|
}
|