{ "custom": {}, "params": { "fontSize": "16px", "label": null, "showIcons": true, "tagPath": "", "view": "" }, "propConfig": { "params.fontSize": { "paramDirection": "input", "persistent": true }, "params.label": { "paramDirection": "input", "persistent": true }, "params.showIcons": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true }, "params.view": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 60, "width": 130 } }, "root": { "children": [ { "events": { "dom": { "onClick": { "config": { "script": "\tself.parent.openWindow()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "TooltipOverlay" }, "position": { "height": "100%", "width": "100%" }, "propConfig": { "props.status.tooltip": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Graphics" }, "transforms": [ { "expression": "if(isGood({value}),\n\tjsonGet({value}, \u0027tooltip\u0027),\n\t\"Tooltip not configured\"\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "status": {} }, "type": "dex.display.tooltipoverlay" }, { "events": { "component": { "onActionPerformed": { "config": { "script": "\tself.parent.openWindow()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Button" }, "position": { "height": "100%", "width": "100%" }, "props": { "style": { "classes": "Buttons/Grey", "paddingBottom": "10%" }, "text": "", "textStyle": { "fontsize": "12px" } }, "type": "ia.input.button" }, { "meta": { "name": "Label" }, "position": { "width": "100%" }, "propConfig": { "position.height": { "binding": { "config": { "path": "view.params.showIcons" }, "transforms": [ { "fallback": "50%", "inputType": "scalar", "mappings": [ { "input": false, "output": "100%" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.alignVertical": { "binding": { "config": { "path": "view.params.showIcons" }, "transforms": [ { "fallback": "bottom", "inputType": "scalar", "mappings": [ { "input": false, "output": "center" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.style.fontSize": { "binding": { "config": { "path": "view.params.fontSize" }, "type": "property" } }, "props.text": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Parameters.LabelFull" }, "transforms": [ { "expression": "coalesce({view.params.label},\nif(isGood({value}),\n\t{value},\n\t\"Unknown\"\n))", "type": "expression" } ], "type": "tag" } } }, "props": { "style": { "fontWeight": "bold", "pointer-events": "none", "textAlign": "center", "textTransform": "uppercase", "user-select": "none" } }, "type": "ia.display.label" }, { "children": [ { "meta": { "name": "Alarm_Icon" }, "position": { "height": 0.6667, "width": 0.1538, "x": 0.0385, "y": 0.1667 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/General_Alarm" }, "overlayOptOut": true, "transforms": [ { "expression": "if(isGood({value}), {value}, \"\")", "type": "expression" }, { "fallback": "#808080", "inputType": "scalar", "mappings": [ { "input": true, "output": "#000000" }, { "input": false, "output": "#DDDDDD" } ], "outputType": "color", "type": "map" } ], "type": "tag" } } }, "props": { "color": "#FFF", "path": "material/notifications_active" }, "type": "ia.display.icon" }, { "meta": { "name": "Emergency_Icon" }, "position": { "height": 0.6667, "width": 0.1538, "x": 0.2308, "y": 0.1667 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Estop_Active" }, "transforms": [ { "expression": "if(isGood({value}), {value}, \"\")", "type": "expression" }, { "fallback": "#808080", "inputType": "scalar", "mappings": [ { "input": true, "output": "#FF0000" }, { "input": false, "output": "#DDDDDD" } ], "outputType": "color", "type": "map" } ], "type": "tag" } } }, "props": { "color": "#FFF", "path": "material/all_out" }, "type": "ia.display.icon" }, { "meta": { "name": "Jam_Icon" }, "position": { "height": 0.6667, "width": 0.1538, "x": 0.4231, "y": 0.1667 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Jam_Active" }, "transforms": [ { "expression": "if(isGood({value}), {value}, \"\")", "type": "expression" }, { "fallback": "#808080", "inputType": "scalar", "mappings": [ { "input": true, "output": "#FF8C00" }, { "input": false, "output": "#DDDDDD" } ], "outputType": "color", "type": "map" } ], "type": "tag" } } }, "props": { "color": "#FFF", "path": "material/skip_next" }, "type": "ia.display.icon" }, { "meta": { "name": "Full_Icon" }, "position": { "height": 0.6667, "width": 0.1538, "x": 0.6154, "y": 0.1667 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Full_Active" }, "transforms": [ { "expression": "if(isGood({value}), {value}, \"\")", "type": "expression" }, { "fallback": "#808080", "inputType": "scalar", "mappings": [ { "input": true, "output": "#0000FF" }, { "input": false, "output": "#DDDDDD" } ], "outputType": "color", "type": "map" } ], "type": "tag" } } }, "props": { "color": "#FFF", "path": "material/skip_next" }, "type": "ia.display.icon" }, { "meta": { "name": "Manual_Icon" }, "position": { "height": 0.6667, "width": 0.1538, "x": 0.8077, "y": 0.1667 }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Manual_Active" }, "transforms": [ { "expression": "if(isGood({value}), {value}, \"\")", "type": "expression" }, { "fallback": "#808080", "inputType": "scalar", "mappings": [ { "input": true, "output": "#AC5F00" }, { "input": false, "output": "#DDDDDD" } ], "outputType": "color", "type": "map" } ], "type": "tag" } } }, "props": { "color": "#FFF", "path": "material/build" }, "type": "ia.display.icon" } ], "meta": { "name": "Icons" }, "position": { "height": "50%", "width": "100%", "y": "50%" }, "propConfig": { "meta.visible": { "binding": { "config": { "path": "view.params.showIcons" }, "type": "property" } } }, "props": { "aspectRatio": "65:15", "mode": "percent", "style": { "overflow": "hidden", "pointer-events": "none" } }, "type": "ia.container.coord" } ], "meta": { "name": "root" }, "props": { "style": { "cursor": "pointer" } }, "scripts": { "customMethods": [ { "name": "openWindow", "params": [], "script": "\tview \u003d self.view.params.view\n\tif view in [\"\", None]:\n\t\tview \u003d \"Windows/Graphics/\"+self.getChild(\"Label\").props.text.replace(\" \", \"_\")\n\t# Open window:\n\twindow \u003d \"Windows/GraphicsWrapper\"\n\tparams \u003d {\"view\": view}\n\tsystem.perspective.navigate(\"/\")\n\tsystem.perspective.navigate(view\u003dwindow, params\u003dparams)" } ], "extensionFunctions": null, "messageHandlers": [] }, "type": "ia.container.coord" } }