SVGHMI: add support for "enable expressions" with arbitrary variable name assignment.
HMI tree paths can be prefixed with a variable name "@name=/MY/HMI/VAR"
Widget declarations can end with a "#" followed by a JS expression that refers to name given to variables.
Widget is disabled if expression's result is false.
Commit includes some more-or-less related generated code refactoring, that should simplify extending widget's variables attributes.
{
"version": 2,
"controller": {},
"workers": [
{
"type": "router",
"options": {
"pythonpath": [
".."
]
},
"realms": [
{
"name": "Automation",
"roles": [
{
"name": "anonymous",
"permissions": [
{
"uri": "",
"match": "prefix",
"allow": {
"call": true,
"register": true,
"publish": true,
"subscribe": true
},
"disclose": {
"caller": false,
"publisher": false
},
"cache": true
}
]
}
]
}
],
"transports": [
{
"type": "websocket",
"debug": true,
"endpoint": {
"type": "tcp",
"port": 8888
},
"url": "ws://127.0.0.1:8888/",
"serializers": [
"msgpack",
"json"
]
}
]
}
]
}