{
    "variables": {
        "translations": {
            "title": "Pragma Views",
            "errors": "Errors",
            "assistant": "Assistant",
            "search": "Search",
            "properties": "Properties",
            "help": "Help"
        },
        "visiblity": {
            "error": true
        },
        "active": {
            "menu": false,
            "assist": false
        }
    },
    "customActionTriggers": [
        {
            "trigger": "@active.menu",
            "actions": [
                {
                    "action": "context.setActiveState",
                    "parameters": {
                        "icon-name": "menu",
                        "isActive": "@active.menu"
                    }
                }
            ]
        },
        {
            "trigger": "@active.assist",
            "actions": [
                {
                    "action": "context.setActiveState",
                    "parameters": {
                        "icon-name": "assistant",
                        "isActive": "@active.assist"
                    }
                }
            ]
        }
    ],
    "actions": [
        {
            "id": 0,
            "name": "Show Menu",
            "action": "emit",
            "parameters": {
                "key": "toggle-menu"
            }
        },
        {
            "id": 1,
            "name": "Error",
            "action": "postMessage",
            "parameters": {
                "query": "pragma-messages",
                "message": "toggle"
            }
        },
        {
            "id": 2,
            "name": "Assist",
            "action": "emit",
            "parameters": {
                "key": "assistant",
                "message": {
                    "intent": "toggle"
                }
            }
        },
        {
            "id": 3,
            "name": "Search",
            "action": "setValue",
            "parameters": {
                "@active.menu": true
            }
        },
        {
            "id": 4,
            "name": "Properties",
            "action": "emit",
            "parameters": {
                "key": "show-message",
                "message": {
                    "message": "Properties Not yet implemented"
                }
            }
        },
        {
            "id": 5,
            "name": "Help",
            "action": "emit",
            "parameters": {
                "key": "show-message",
                "message": {
                    "message": "Help Not yet implemented"
                }
            }
        }
    ],
    "body": {
        "elements": [
            {
                "element": "icon-button",
                "icon": "menu",
                "label": "label",
                "action": 0,
                "attributes": {
                    "id": "btn-menu"
                }
            },
            {
                "element": "h1",
                "content": "@translations.title"
            },
            {
                "element": "overflow-toolbar",
                "buttonCount": 2,
                "options": [
                    {
                        "id": 1,
                        "icon-name": "error",
                        "title": "@translations.errors",
                        "action": 1,
                        "attributes": {
                            "visible.bind": "@visiblity.error"
                        }
                    },
                    {
                        "id": 2,
                        "icon-name": "assistant",
                        "title": "@translations.assistant",
                        "action": 2,
                        "attributes": {
                            "id": "btn-assist"
                        }
                    },
                    {
                        "id": 3,
                        "icon-name": "search",
                        "title": "@translations.search",
                        "action": 3
                    },
                    {
                        "id": 4,
                        "icon-name": "properties",
                        "title": "@translations.properties",
                        "action": 4
                    },
                    {
                        "id": 5,
                        "icon-name": "help",
                        "title": "@translations.help",
                        "action": 5
                    }
                ]
            }
        ]
    }
}