{
    "$schema": "https://schemas.wp.org/trunk/block.json",
    "apiVersion": 3,
    "name": "lcp/bar-graph",
    "version": "1.0.0",
    "title": "Bar Graph",
    "category": "widgets",
    "icon": "chart-bar",
    "description": "Display data as a bar graph using D3.js",
    "supports": {
        "html": false
    },
    "attributes": {
        "selectedDataset": {
            "type": "number",
            "default": 1
        },
        "columnTypes": {
            "type": "object",
            "default": {
                
            }
        },
        "enableStackedBars": {
            "type": "boolean",
            "default": false
        },
        "enableDrillDown": { 
            "type": "boolean",
            "default": false
        },
        "enableHierachical": {
            "type": "boolean",
            "default": false
        },
        "hierarchicalSource": {
            "type": "string",
            "default": "parent"
        },
        "hierarchicalColumnOrder": {
            "type": "string",
            "default": ""
        },
        "hierachicalDepth": {
            "type": "number",
            "default": 1
        },
        "dataTypes" :{
            "type": "object",
            "default" :{}
        },
        "gridColumnDefinitions": {
            "type": "array",
            "default": [
                {
                    "name": "Data",
                    "columns": [
                        {
                            "field": "Department",
                            "dataType": "text",
                            "renderFormat": "text",
                            "sorted": "",
                            "width": 150,
                            "editable": true,
                            "position": 0
                        },
                        {
                            "field": "Budget",
                            "dataType": "number",
                            "renderFormat": "currency",
                            "sorted": "asc",
                            "width": 120,
                            "editable": true,
                            "position": 1
                        },
                        {
                            "field": "MeetAt",
                            "dataType": "date",
                            "renderFormat": "datetime",
                            "sorted": "",
                            "width": 150,
                            "editable": true,
                            "position": 2
                        }
                    ]
                },
                {
                    "name": "Locations",
                    "columns": [
                        {
                            "field": "State",
                            "dataType": "text",
                            "renderFormat": "text",
                            "sorted": "",
                            "width": 150,
                            "editable": true,
                            "position": 0
                        },
                        {
                            "field": "Coordinates",
                            "dataType": "number",
                            "renderFormat": "number",
                            "sorted": "",
                            "width": 120,
                            "editable": true,
                            "position": 1
                        }
                    ]
                }
            ]
        },

        "test": {
            "type": "string",
            "default": ""
        },
        "datasets": {
            "type": "array",
            "default": [{
                    "name": "Main",
                    "data": [
                        { "Department": "Sheriff", "Budget": 100000, "MeetAt": "2025-01-26T14:30:00Z", "preferredColor": "red", "PostContent": "<div> </div>" },
                        { "Department": "Assessor", "Budget": 20000, "MeetAt": "2025-01-26T14:30:00Z", "preferredColor": "#232323", "PostContent": "<div> </div>" },
                        { "Department": "Treasurer", "Budget": 30000, "MeetAt": "2025-01-26T14:30:00Z", "preferredColor": "#E72323", "PostContent": "<div> </div>" }
                    ]
                },
                {
                    "name": "Locations",
                    "data": [
                        { "State": "California", "Coordinates": "", "MeetAt": "2025-01-26T14:30:00Z", "PreferredColor": "#e0e0e0", "PostContent": "<div> </div>" },
                        { "State": "Texas", "Coordinates": "", "MeetAt": "2025-01-26T14:30:00Z", "PreferredColor": "#e0e0e0", "PostContent": "<div> </div>" },
                        { "State": "Florida", "Coordinates": "", "MeetAt": "2025-01-26T14:30:00Z", "PreferredColor": "#e0e0e0", "PostContent": "<div> </div>" }
                    ]
                }
            ]
        },
        "chartData": {
            "type": "array",
            "default": [
                { "ID": "lcpDatapoint-1", "Label": "Sample 1", "Value": 100, "Color": "#007cba", "Content": "<p>First item</p>", "Parent": "" },
                { "ID": "lcpDatapoint-2", "Label": "Sample 2", "Value": 50, "Color": "#ff0000", "Content": "<p>Second item</p>", "Parent": "lcpDatapoint-1" }
            ]
        },
        "enableGroupedBars": {
            "type": "boolean",
            "default": false
        },
        "groupedBarsColumn": {
            "type": "string",
            "default": ""
        },
        "chartHeight": {
            "type": "string",
            "default": "400px"
        },
        "chartWidth": {
            "type": "string",
            "default": "100%"
        },
        "idColumn": {
            "type": "string",
            "default": "ID"
        },
        "barColor": {
            "type": "string",
            "default": "#007cba"
        },
        "valueColumn": {
            "type": "string",
            "default": "Value"
        },
        "labelsColumn": {
            "type": "string",
            "default": "Label"
        },
        "colorColumn": {
            "type": "string",
            "default": "Color"
        },
        "popoverColumn": {
            "type": "string",
            "default": "Content"
        },
        "renderLegend": {
            "type": "boolean",
            "default": true
        },
        "legendFontSize": {
            "type": "string",
            "default": "16px"
        },
        "legendLocation": {
            "type": "string",
            "default": "top"
        },
        "legendAlignment": {
            "type": "string",
            "default": "left"
        },
        "allowDownloadImage": {
            "type": "boolean",
            "default": false
        },
        "downloadImageMaxWidth": {
            "type": "string",
            "default": "2000px"
        },
        "allowDownloadCsv": {
            "type": "boolean",
            "default": false
        },
        "allowDownloadJson": {
            "type": "boolean",
            "default": false
        },
        "allowFilter": {
            "type": "boolean",
            "default": false
        },
        "allowSorting": {
            "type": "boolean",
            "default": false
        },
        "renderFooter": {
            "type": "boolean",
            "default": false
        },
        "footerContent": {
            "type": "string",
            "default": ""
        },
        "chartTitle": {
            "type": "string",
            "default": ""
        },
        "chartSubtitle": {
            "type": "string",
            "default": ""
        },
        "toolbarLocation": {
            "type": "string",
            "default": "bottom"
        },
        "toolbarAlignment": {
            "type": "string",
            "default": "left"
        },
        "enableDatapointTooltip": {
            "type": "boolean",
            "default": false
        },
        "enableDatapointPopup": {
            "type": "boolean",
            "default": false
        },
        "showXAxisLabel": {
            "type": "boolean",
            "default": true
        },
        "xAxisLabel": {
            "type": "string",
            "default": ""
        },
        "showYAxisLabel": {
            "type": "boolean",
            "default": true
        },
        "yAxisLabel": {
            "type": "string",
            "default": ""
        },
        "barsColorSource" :{
            "type": "string",
            "default": "default"
        },
        "renderXGrid": {
            "type": "boolean",
            "default": false
        },
        "xGridColor" :{
            "type": "string",
            "default": "blue"
        },
        "renderYGrid": {
            "type": "boolean",
            "default": false
        },
        "yGridColor" :{
            "type": "string",
            "default": "#e0e0e0"
        },
        "includeDataChart" :{
            "type": "boolean",
            "default": false
        },
        "allowChartDataDownload" :{
            "type": "boolean",
            "default": false
        }
    },
    "textdomain": "lcp-visualize",
    "editorScript": "file:./index.js",
    "editorStyle": "file:./index.css",
    "style": "file:./style-index.css",
    "render": "render_block_lcp_bar_graph"
}
