{
    "$schema": "http://json-schema.org/draft-04/schema",
    "definitions": {
        "DropDownStyle": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.DropDownStyle"
        },
        "ListItem": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem"
        },
        "ListItemList": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItemList"
        },
        "TcHmi.Controls.Beckhoff.TcHmiCombobox": {
            "$schema": "http://json-schema.org/draft-04/schema",
            "type": "object",
            "frameworkInstanceOf": "TcHmi.Controls.System.TcHmiControl",
            "frameworkControlType": "TcHmiCombobox",
            "frameworkControlNamespace": "TcHmi.Controls.Beckhoff"
        },
        "TcHmi.Controls.Beckhoff.TcHmiCombobox.DropDownStyle": {
            "type": "string",
            "enum": ["Classic", "Mobile"],
            "default": "Classic"
        },
        "TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem": {
            "title": "List Item",
            "description": "List Item List",
            "type": "object",
            "engineeringColumns": ["id", "text", "value", "category"],
            "propertiesMeta": [
                {
                    "name": "id",
                    "displayName": "ID",
                    "category": "General",
                    "displayPriority": 10,
                    "description": "Numerical ID for this entry. Can be chosen freely, but must be unique.",
                    "defaultValue": null,
                    "defaultValueInternal": null
                },
                {
                    "name": "text",
                    "displayName": "Text",
                    "category": "General",
                    "displayPriority": 10,
                    "description": "Text to show for this entry",
                    "defaultValue": null,
                    "defaultValueInternal": null
                },
                {
                    "name": "value",
                    "displayName": "Value",
                    "category": "General",
                    "displayPriority": 10,
                    "description": "Value which is associated to this entry",
                    "defaultValue": null,
                    "defaultValueInternal": null
                },
                {
                    "name": "category",
                    "displayName": "Category",
                    "category": "General",
                    "displayPriority": 10,
                    "description": "An optional category which will be displayed above the item as a label (like <optgroup> in HTML).\nConsecutive items that have the exact same category will all be displayed under one category.\nHowever, if two items have the same category, but are not back to back, the category will be displayed twice to preserve the original item order.\nFor example items with categories [A, A, B, A] will create the category A with two entries, one category B with a single entry and after that again the category A with a single entry.",
                    "defaultValue": null,
                    "defaultValueInternal": null
                }
            ],
            "properties": {
                "id": {
                    "type": "number"
                },
                "text": {
                    "type": "string"
                },
                "value": {},
                "category": {
                    "type": "string"
                }
            },
            "required": ["text"]
        },
        "TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItemList": {
            "title": "ListItemList",
            "description": "List Item List",
            "engineeringDefaultDatatype": 0,
            "anyOf": [
                {
                    "type": "array",
                    "items": {
                        "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.ListItem"
                    }
                },
                {
                    "type": "array"
                },
                {
                    "type": "object"
                }
            ]
        },
        "TcHmiCombobox": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox"
        },
        "EnumDataSymbol": {
            "$ref": "tchmi:framework#/definitions/TcHmi.Controls.Beckhoff.TcHmiCombobox.EnumDataSymbol"
        },
        "TcHmi.Controls.Beckhoff.TcHmiCombobox.EnumDataSymbol": {
            "allOf": [
                {
                    "$ref": "tchmi:framework#/definitions/Symbol"
                },
                {
                    "frameworkSymbolSubType": {
                        "$ref": "tchmi:general#/definitions/Object"
                    }
                }
            ]
        }
    }
}
