{ "custom": { "JA01": "/AC Primary Power Fault", "JA02": "/AC Secondary Power Fault", "JA03": "/DC Power Supply 1 Fault", "JA04": "/DC Power Supply 2 Fault", "PLC_A_Fail": false, "PLC_A_Online": false, "PLC_B_Fail": false, "PLC_B_Online": false, "RedundancySTS": "/Hot Standby Status", "TAH": "/High Temperature", "XA": "/Panel Intrusion", "allTags": [ { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Chiller Quantity Fail" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "DP Fail" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "DP Low" }, { "dataType": "Boolean", "instancePosition": {}, "instanceStyle": { "classes": "" }, "name": "Supply Temp Fail" } ], "inTagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" }, "params": { "embedded": false, "objectName": "DiscreteIn", "tagPath": "[Ignition_Common_IO_Gtwy]GAL1261/SATB1_GAL1261_PNL24" }, "propConfig": { "custom.JA01": { "persistent": true }, "custom.JA02": { "persistent": true }, "custom.JA03": { "persistent": true }, "custom.JA04": { "persistent": true }, "custom.PLC_A_Fail": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Hot Standby Status/PLC A Fail" }, "type": "tag" }, "persistent": true }, "custom.PLC_A_Online": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Hot Standby Status/PLC A Online" }, "transforms": [ { "expression": "!{value}", "type": "expression" } ], "type": "tag" }, "persistent": true }, "custom.PLC_B_Fail": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Hot Standby Status/PLC B Fail" }, "type": "tag" }, "persistent": true }, "custom.PLC_B_Online": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/Hot Standby Status/PLC B Online" }, "transforms": [ { "expression": "!{value}", "type": "expression" } ], "type": "tag" }, "persistent": true }, "custom.RedundancySTS": { "persistent": true }, "custom.TAH": { "persistent": true }, "custom.XA": { "persistent": true }, "custom.allTags": { "binding": { "config": { "struct": { "tagPath": "{view.params.tagPath}" }, "waitOnAll": true }, "enabled": false, "transforms": [ { "code": "\toutput \u003d []\n\t\n\t# Simulate fetching tag configurations and sorting by name\n\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\tfor item in nodes:\n\t if \u0027tags\u0027 in item:\n\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t \tsortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\n\t \t\n for tagConfig in sortedTags:\n if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n name \u003d tagConfig.get(\"name\", \"\")\n dataType \u003d tagConfig.get(\"dataType\", \"\")\n tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": {},\n \"name\": name,\n \"dataType\": dataType\n }\n # Group based on name containing \u0027Power\u0027, \u0027Current\u0027, or \u0027Voltage\u0027\n output.append(instance)\n\t\n\t# Return or process the sorted output\n\treturn output", "type": "script" } ], "type": "expr-struct" }, "persistent": true }, "custom.inTagPath": { "binding": { "config": { "path": "view.params.tagPath" }, "type": "property" }, "persistent": true }, "params.embedded": { "paramDirection": "input", "persistent": true }, "params.objectName": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true } }, "props": {}, "root": { "children": [ { "children": [ { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA01\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.JA01}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_1" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA01}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.JA01}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "AC Primary Power Failure", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA02\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.JA02}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_0" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA02}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.JA02}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "AC Secondary Power Failure", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA03\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.JA03}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_2" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA03}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.JA03}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "DC Power Supply 1 Fault", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + self.view.custom.JA04\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.JA04}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_3" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.JA04}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.JA04}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "DC Power Supply 2 Fault", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.TAH}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_4" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.TAH}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.TAH}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "Temperature High", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "DiscreteIn", "tagPath": "{view.custom.inTagPath}{view.custom.XA}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_5" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "expression": "tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm Target Disagree\") || tag({view.custom.inTagPath}+{view.custom.XA}+\"/Alarms/Alarm IO Fail\")" }, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": true, "output": "var(--state-faulted)" }, { "input": false, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "expr" } }, "props.textStyle.color": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "expression", "tagPath": "{view.custom.inTagPath} + {view.custom.XA}+\"/VAL\"" }, "enabled": false, "transforms": [ { "fallback": "purple", "inputType": "scalar", "mappings": [ { "input": false, "output": "white" }, { "input": true, "output": "var(--state-standby)" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "Panel Intrusion", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" }, { "events": { "dom": { "onClick": [ { "config": { "script": "\ttagPath \u003d self.view.params.tagPath + \"/AC Primary Power Fault\"\n\tobjectName \u003d self.view.params.objectName\n\tif(self.view.params.embedded \u003d\u003d True):\n\t\tpageId \u003d self.page.props.pageId\n\t\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\t\t\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\tpayload\u003d{\n\t\t\t\u0027objectName\u0027: objectName,\n\t\t\t\u0027tagPath\u0027: tagPath,\n\t\t\t\u0027modal\u0027: False,\n\t\t\t\u0027resizable\u0027: True,\n\t\t\t\u0027draggable\u0027: True,\n\t\t\t\u0027position\u0027: {\n\t#\t\t\t\u0027left\u0027:\u00270\u0027,\n\t#\t\t\t\u0027top\u0027:\u00270\u0027,\n\t\t\t\u0027width\u0027: \u00271000px\u0027,\n\t\t\t\u0027height\u0027: \u0027800px\u0027\n\t\t\t}\n\t\t}\n\t\tutils.nav.eqPopupMsg(self, payload)\n\t\n\t" }, "enabled": false, "scope": "G", "type": "script" }, { "config": { "draggable": true, "id": "sII9XbeP", "modal": false, "overlayDismiss": false, "position": { "height": 800, "width": 1000 }, "positionType": "exact", "resizable": true, "showCloseIcon": false, "type": "open", "viewParams": { "objectName": "Redundancy", "tagPath": "{view.custom.inTagPath}{view.custom.RedundancySTS}" }, "viewPath": "Library/Templates/Base", "viewportBound": false }, "scope": "C", "type": "popup" } ] } }, "meta": { "name": "Label_6" }, "position": { "basis": "112px" }, "propConfig": { "props.style.backgroundColor": { "binding": { "config": { "struct": { "PLC_A": "{view.custom.PLC_A_Fail}", "PLC_A_On": "{view.custom.PLC_A_Online}", "PLC_B": "{view.custom.PLC_B_Fail}", "PLC_B_On": "{view.custom.PLC_B_Online}" }, "waitOnAll": true }, "transforms": [ { "code": "\tif value[\u0027PLC_A\u0027] or value[\u0027PLC_B\u0027] or value[\u0027PLC_A_On\u0027] or value[\u0027PLC_B_On\u0027]:\n\t\treturn \u0027var(--elec-on)\u0027\n\telse:\n\t\treturn \u0027var(--state-standby)\u0027", "type": "script" } ], "type": "expr-struct" } } }, "props": { "style": { "borderBottomLeftRadius": 4, "borderBottomRightRadius": 4, "borderTopLeftRadius": 4, "borderTopRightRadius": 4, "classes": "containers/HoverOver", "outlineStyle": "none" }, "text": "Redundancy Status", "textStyle": { "color": "white", "textAlign": "center" } }, "type": "ia.display.label" } ], "meta": { "name": "FlexContainer" }, "position": { "basis": "136px" }, "props": { "justify": "space-evenly", "style": { "gap": 5, "overflow": "visible", "padding": 5 }, "wrap": "wrap" }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "direction": "column", "style": { "classes": "containers/padded-container" } }, "type": "ia.container.flex" } }