{
    "copyright": "Licensed Materials - Property of IBM. IBM Cognos Products: BI Cloud (C) Copyright IBM Corp. 2019, 2020. US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp.",
    "$id": "widgetsTemplateSchema.json",
    "$schema": "http://json-schema.org/draft-07/schema#",
    "title": "widget set",
    "description": "The widget of the dashboard specification, representing ...",
    "definitions": {
        "visTypeLocked": { "type": "boolean" },
        "properties": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "id": { "$ref": "schemaDefs.json#/definitions/name" },
                    "value": {
                        "anyOf": [
                            { "type": "string" },
                            { "type": "integer" },
                            { "type": "boolean" },
                            { "type": "null" },
                            {
                                "type": "object",
                                "properties": {
                                    "r": { "type": "integer" },
                                    "g": { "type": "integer" },
                                    "b": { "type": "integer" },
                                    "a": { "type": "number" },
                                    "name": { "$ref": "schemaDefs.json#/definitions/name" },
                                    "caption": { "type":  "string" },
                                    "description": {
                                        "type": ["null", "string"]
                                    }
                                }
                            }
                        ]
                    }
                }
            }
        },
        "titleAlign": {
            "type": "string",
            "enum": ["align_left", "align_center", "align_right"]
        },
        "widgetType": {
            "type": "string",
            "enum": ["live", "text", "shape", "webpage", "media", "image", "filter"]
        },
        "content": { "type": "string" },
        "widget": {
            "type": "object",
            "properties": {
                "id": { "$ref": "schemaDefs.json#/definitions/modelId" },
                "type": { "$ref": "#/definitions/widgetType" },
                "visId": { "type": "string" },
                "isResponsive": { "type" : "boolean"},
                "visTypeLocked": { "$ref": "#/definitions/visTypeLocked" },
                "properties": { "$ref": "#/definitions/properties" },
                "borderColor": { "$ref": "schemaDefs.json#/definitions/name" },
                "title": { "$ref": "schemaDefs.json#/definitions/name" },
                "titleAlign": { "$ref": "#/definitions/titleAlign" },
                "titleState": { "$ref": "schemaDefs.json#/definitions/name" },
                "titleHtml": { "$ref": "schemaDefs.json#/definitions/name" },
                "altText": { "type": "string" },
                "content": { "$ref": "#/definitions/content" },
                "imageLink": { "type": "string" },
                "fillColor" : { "type": "string" },
                "showTitle" : { "type": "boolean" },
                "placeholder": {
                    "type": "object",
                    "properties" : {
                        "showIcon": { "type": "boolean" },
                        "text": { "type": "string" }
                    }
                },
                "params": {
                    "type": "object",
                    "properties": {
                        "notebookId": {"type": "string" },
                        "notebookSelectedCellIndex": {"type": "number" },
                        "showTimestamp": {"type": "boolean" }
                    }
                },
                "mediaLink": { "type": "string" },
                "mediaType": { "type": "string" },
                "url": { "type": "string" },
                "name": { "$ref": "schemaDefs.json#/definitions/name" }
            }
        }
    },
    "type": "object",
    "patternProperties": {
        "[0-9,a-z,-,_]*": { "$ref": "#/definitions/widget" }
    }
}
