{ "$id": "formSchema", "definitions": { "container": { "type": "object", "properties": { "_id": { "type": "string" }, "uniqueItems": { "type": "boolean" }, "minItems": { "type": "number" }, "maxItems": { "type": "number" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Connection Information" ] }, "description": { "type": "string", "examples": [ "This form describes the connection information for a device." ] }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] }, "readOnly": { "type": "boolean" }, "options": { "type": "object" }, "properties": { "type": "object", "patternProperties": { ".*": { "anyOf": [ { "$ref": "#/definitions/container" }, { "$ref": "#/definitions/checkboxField" }, { "$ref": "#/definitions/numberField" }, { "$ref": "#/definitions/textField" }, { "$ref": "#/definitions/textareaField" }, { "$ref": "#/definitions/dropdownField" }, { "$ref": "#/definitions/fileUploadField" } ] } } }, "items": { "$ref": "#/definitions/tableItems" }, "anyOf": { "type": "array" }, "oneOf": { "type": "array" }, "allOf": { "type": "array" } }, "required": [ "type", "title" ] }, "tableItems": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "required": { "type": "array", "items": { "type": "string" } }, "readOnly": { "type": "boolean" }, "properties": { "type": "object", "patternProperties": { ".*": { "anyOf": [ { "$ref": "#/definitions/container" }, { "$ref": "#/definitions/checkboxField" }, { "$ref": "#/definitions/numberField" }, { "$ref": "#/definitions/textField" }, { "$ref": "#/definitions/textareaField" }, { "$ref": "#/definitions/dropdownField" } ] } } } } }, "checkboxField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Allow timeout" ] }, "description": { "type": "string", "examples": [ "Is a timeout allowed to pass this step?" ] }, "default": { "type": "boolean" }, "options": { "type": "object" }, "enum": { "type": "array", "items": { "type": "boolean" } }, "readOnly": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false }, "numberField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Retry attempts" ] }, "options": { "type": "object" }, "description": { "type": "string", "examples": [ "The number of connection retries before timing out." ] }, "readOnly": { "type": "boolean" }, "placeholder": { "type": "string" }, "minimum": { "type": "number" }, "maximum": { "type": "number" }, "default": { "type": "number" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false }, "textField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Device Name" ] }, "options": { "type": "object" }, "description": { "type": "string", "examples": [ "A unique name of the target device." ] }, "pattern": { "type": "string", "examples": [ "regex" ] }, "readOnly": { "type": "boolean" }, "placeholder": { "type": "string" }, "binding": { "type": "boolean" }, "format": { "type": "string" }, "minLength": { "type": "integer" }, "maxLength": { "type": "integer" }, "default": { "type": "string" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false }, "textareaField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Device Name" ] }, "description": { "type": "string", "examples": [ "A unique name of the target device." ] }, "options": { "type": "object" }, "pattern": { "type": "string", "examples": [ "regex" ] }, "placeholder": { "type": "string" }, "readOnly": { "type": "boolean" }, "minLength": { "type": "integer" }, "maxLength": { "type": "integer" }, "default": { "type": "string" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false }, "dropdownField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "Device Name" ] }, "description": { "type": "string", "examples": [ "A unique name of the target device." ] }, "options": { "type": "object" }, "enum": { "type": "array", "default": [] }, "enumNames": { "type": "array", "default": [] }, "pattern": { "type": "string", "examples": [ "regex" ] }, "readOnly": { "type": "boolean" }, "placeholder": { "type": "string" }, "binding": { "type": "boolean" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] }, "default": { "anyOf": [ { "type": "string" }, { "type": "array" } ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false }, "fileUploadField": { "type": "object", "properties": { "_id": { "type": "string" }, "type": { "type": "string" }, "title": { "type": "string", "examples": [ "File Upload" ] }, "description": { "type": "string", "examples": [ "Upload a file." ] }, "format": { "type": "string", "const": "data-url" }, "required": { "type": "array", "items": { "type": "string" }, "examples": [ [ "kdWO-g4oS3GkzrbqDqCZUw" ] ] } }, "required": [ "type", "title", "description" ], "additionalProperties": false } } }