{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "dashboard-visualization-descriptor.schema.json", "title": "DashboardVisualizationDescriptor", "description": "A single visualization element (number, chart, or list) within a dashboard group", "type": "object", "properties": { "name": { "type": "string", "description": "Unique identifier within the group", "minLength": 1 }, "type": { "$ref": "dashboard-visualization-type.schema.json" }, "title": { "type": "string", "description": "Display title for the visualization" }, "description": { "type": "string", "description": "Optional description text" }, "position": { "$ref": "dashboard-position-descriptor.schema.json" }, "filter": { "$ref": "dashboard-filter-descriptor.schema.json" }, "showDescriptionAsTooltip": { "type": "boolean", "default": false }, "clickToSeeRecords": { "type": "boolean", "description": "Allow users to click to see underlying records", "default": false }, "number": { "$ref": "dashboard-number-descriptor.schema.json" }, "chart": { "$ref": "dashboard-chart-descriptor.schema.json" }, "list": { "$ref": "dashboard-list-descriptor.schema.json" } }, "required": ["name", "type", "title", "position"], "allOf": [ { "if": { "properties": { "type": { "const": "number" } } }, "then": { "required": ["number"] } }, { "if": { "properties": { "type": { "const": "chart" } } }, "then": { "required": ["chart"] } }, { "if": { "properties": { "type": { "const": "list" } } }, "then": { "required": ["list"] } } ], "additionalProperties": false }