{ "custom": { "disconnected": false, "plc": "", "priority": 0, "priority_string": "No Active Alarms", "searchId": "PLC01", "state": 0, "state_string": "Normal" }, "params": { "forceFaultStatus": null, "tagProps": [ "/System/Field_Devices/SIO/SIO1", "value", "value", "value", "value", "value", "value", "value", "value", "value" ] }, "propConfig": { "custom.disconnected": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE" }, "transforms": [ { "expression": "!isGood({value})", "type": "expression" } ], "type": "tag" }, "persistent": true }, "custom.plc": { "binding": { "config": { "path": "view.params.tagProps[0]" }, "transforms": [ { "expression": "split({value}, \"/\")[0]", "type": "expression" } ], "type": "property" }, "persistent": true }, "custom.priority": { "binding": { "config": { "path": "view.custom.state" }, "transforms": [ { "fallback": 0, "inputType": "scalar", "mappings": [ { "input": 1, "output": 1 } ], "outputType": "scalar", "type": "map" } ], "type": "property" }, "persistent": true }, "custom.priority_string": { "binding": { "config": { "path": "view.custom.state" }, "transforms": [ { "fallback": "Unknown", "inputType": "scalar", "mappings": [ { "input": 0, "output": "No Active Alarms" }, { "input": 1, "output": "High" } ], "outputType": "scalar", "type": "map" } ], "type": "property" }, "persistent": true }, "custom.searchId": { "binding": { "config": { "path": "session.custom.searchId" }, "type": "property" }, "persistent": true }, "custom.state": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.params.tagProps[0]}", "fc": "{session.custom.fc}" }, "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE" }, "transforms": [ { "expression": "coalesce({value},{view.params.forceFaultStatus},0)", "type": "expression" } ], "type": "tag" }, "persistent": true }, "custom.state_string": { "binding": { "config": { "expression": "case({view.custom.state},\r\n0, \"Normal\",\r\n1, \"Communication Faulted\",\r\n\"Unknown\")" }, "type": "expr" }, "persistent": true }, "params.forceFaultStatus": { "paramDirection": "input", "persistent": true }, "params.tagProps": { "paramDirection": "inout", "persistent": true }, "params.tagProps[0]": { "paramDirection": "input", "persistent": true }, "params.tagProps[1]": { "paramDirection": "input", "persistent": true }, "params.tagProps[2]": { "paramDirection": "input", "persistent": true }, "params.tagProps[3]": { "paramDirection": "input", "persistent": true }, "params.tagProps[4]": { "paramDirection": "input", "persistent": true }, "params.tagProps[5]": { "paramDirection": "input", "persistent": true }, "params.tagProps[6]": { "paramDirection": "input", "persistent": true }, "params.tagProps[7]": { "paramDirection": "input", "persistent": true }, "params.tagProps[8]": { "paramDirection": "input", "persistent": true }, "params.tagProps[9]": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 40, "width": 40 }, "styles": "value" }, "root": { "children": [ { "meta": { "name": "Icon" }, "position": { "basis": "264px" }, "propConfig": { "props.color": { "binding": { "config": { "expression": "if(\r\n {view.custom.disconnected},\r\n \u0027#D3D3D3\u0027,\r\n if(\r\n {view.custom.state} \u003d 1,\r\n \u0027#FF0000\u0027,\r\n if(\r\n {view.custom.state} \u003d 0,\r\n \u0027#00D900\u0027,\r\n \u0027#fff700\u0027\r\n )\r\n )\r\n)\r\n" }, "type": "expr" } } }, "props": { "path": "material/place", "style": { "classes": "State-Styles/State1" } }, "type": "ia.display.icon" } ], "events": { "dom": { "onClick": { "config": { "script": "\t\tsystem.perspective.openDock(\u0027Docked-East-DS\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" }, "onDoubleClick": { "config": { "script": "\tsystem.perspective.openDock(\u0027Docked-East-DS\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" } } }, "meta": { "name": "root", "text": "", "tooltip": { "enabled": true, "style": {} } }, "propConfig": { "meta.tooltip.style.classes": { "binding": { "config": { "expression": "{view.custom.priority}" }, "transforms": [ { "fallback": "Alarms-Styles/NoAlarm", "inputType": "scalar", "mappings": [ { "input": 1, "output": "Alarms-Styles/High" }, { "input": 2, "output": "Alarms-Styles/High" }, { "input": 3, "output": "Alarms-Styles/High" } ], "outputType": "style-list", "type": "map" } ], "type": "expr" } }, "meta.tooltip.text": { "binding": { "config": { "expression": "if(\n {view.custom.disconnected} \u003d false,\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority_string} + \", State: \" + {view.custom.state_string},\n \"Device Disconnected\"\n)\n" }, "type": "expr" } }, "meta.visible": { "binding": { "config": { "path": "session.custom.alarm_filter.show_fio" }, "type": "property" } } }, "props": { "direction": "column" }, "type": "ia.container.flex" } }