{ "custom": { "Temp": [ 65, 78, 60 ], "gradient": [ null, null, null ], "inMax": 5, "inMin": -5, "paths": [ null, null, null ] }, "params": { "Aisle": "", "SP": 65, "embedded": true, "tagPath": "[Ignition_Common_IO_Gtwy]MMR1188/SATB1_HS1_MMR1188" }, "propConfig": { "custom.Temp": { "persistent": true }, "custom.Temp[0]": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "direct", "tagPath": "[default]simulator/DH/Temp1" }, "enabled": false, "type": "tag" } }, "custom.Temp[1]": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "direct", "tagPath": "[default]simulator/DH/Temp5" }, "enabled": false, "type": "tag" } }, "custom.Temp[2]": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "direct", "tagPath": "[default]simulator/DH/Temp10" }, "enabled": false, "type": "tag" } }, "custom.gradient": { "persistent": true }, "custom.gradient[0]": { "binding": { "config": { "expression": "{view.custom.Temp[0]}-{view.params.SP}\r\n" }, "transforms": [ { "code": "\tif value\u003eself.custom.inMax: value \u003d 5\n\tif value\u003cself.custom.inMin: value \u003d -5\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", "type": "script" } ], "type": "expr" } }, "custom.gradient[1]": { "binding": { "config": { "expression": "{view.custom.Temp[1]}-{view.params.SP}\r\n" }, "transforms": [ { "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", "type": "script" } ], "type": "expr" } }, "custom.gradient[2]": { "binding": { "config": { "expression": "{view.custom.Temp[2]}-{view.params.SP}\r\n" }, "transforms": [ { "code": "\tif value\u003eself.custom.inMax: value \u003d 10\n\tif value\u003cself.custom.inMin: value \u003d -10\n\tnormalized \u003d (float(value) - self.custom.inMin)/(self.custom.inMax - self.custom.inMin)\n\treturn normalized", "type": "script" } ], "type": "expr" } }, "custom.inMax": { "persistent": true }, "custom.inMin": { "persistent": true }, "custom.paths": { "persistent": true }, "custom.paths[0]": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT01_C\")" }, "type": "expr" } }, "custom.paths[1]": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" }, "type": "expr" } }, "custom.paths[2]": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" }, "type": "expr" } }, "params.Aisle": { "paramDirection": "input", "persistent": true }, "params.SP": { "paramDirection": "input", "persistent": true }, "params.embedded": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 350, "width": 50 } }, "root": { "children": [ { "children": [ { "events": { "dom": { "onClick": { "config": { "script": "\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\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\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)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "uppterTT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.EU": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.custom.paths[0]}" }, "tagPath": "{0}/Config/Celcius To Farenheit" }, "enabled": false, "transforms": [ { "fallback": "EU", "inputType": "scalar", "mappings": [ { "input": false, "output": "°C" }, { "input": true, "output": "°F" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } }, "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "direct", "tagPath": "[default]simulator/DH/Temp1" }, "type": "tag" } } }, "props": { "params": { "EU": "°F", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" }, { "events": { "dom": { "onClick": { "config": { "script": "\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\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\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)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "upperHT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT01_C\")" }, "type": "expr" } } }, "props": { "params": { "EU": "%", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" } ], "meta": { "name": "upperTransmitters" }, "position": { "basis": "20%" }, "props": { "direction": "column", "justify": "center", "style": { "overflow": "visible" } }, "type": "ia.container.flex" }, { "children": [ { "events": { "dom": { "onClick": { "config": { "script": "\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\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\n\t\tutils.nav.openEQPopup(objectName, tagPath)\n\telse:\n\t\ttagPath \u003d self.view.params.tagPath\n\t\tobjectName \u003d self.view.params.objectName\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)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "midTT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.EU": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.custom.paths[1]}" }, "tagPath": "{0}/Config/Celcius To Farenheit" }, "enabled": false, "transforms": [ { "fallback": "EU", "inputType": "scalar", "mappings": [ { "input": false, "output": "°C" }, { "input": true, "output": "°F" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } }, "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT02_C\")" }, "type": "expr" } } }, "props": { "params": { "EU": "°F", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" }, { "events": { "dom": { "onClick": { "config": { "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "midHT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT02_C\")" }, "type": "expr" } } }, "props": { "params": { "EU": "%", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" } ], "meta": { "name": "midTransmitters" }, "position": { "basis": "60%" }, "props": { "alignContent": "space-between", "direction": "column", "justify": "center", "style": { "overflow": "visible" } }, "type": "ia.container.flex" }, { "children": [ { "events": { "dom": { "onClick": { "config": { "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "lowerTT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.EU": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "0": "{view.custom.paths[2]}" }, "tagPath": "{0}/Config/Celcius To Farenheit" }, "enabled": false, "transforms": [ { "fallback": "EU", "inputType": "scalar", "mappings": [ { "input": false, "output": "°C" }, { "input": true, "output": "°F" } ], "outputType": "scalar", "type": "map" } ], "type": "tag" } }, "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_TT03_C\")" }, "type": "expr" } } }, "props": { "params": { "EU": "°F", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" }, { "events": { "dom": { "onClick": { "config": { "script": "\tpageId \u003d self.page.props.pageId\n\tsystem.perspective.print(\u0027pageId: {}\u0027.format(pageId))\n\t\n\ttagPath \u003d self.view.params.tagPath\n\tobjectName \u003d self.view.params.objectName\n\tutils.nav.openEQPopup(objectName, tagPath)" }, "enabled": false, "scope": "G", "type": "script" } } }, "meta": { "name": "lowerHT" }, "position": { "basis": "20px" }, "propConfig": { "props.params.embedded": { "binding": { "config": { "path": "view.params.embedded" }, "type": "property" } }, "props.params.tagPath": { "binding": { "config": { "expression": "concat({view.params.tagPath},{view.params.Aisle},\"_HT03_C\")" }, "type": "expr" } } }, "props": { "params": { "EU": "%", "objectName": "AnalogInRS485" }, "path": "Library/Symbols/Sys_DH_Xmtr", "style": { "classes": "containers/HoverOver", "overflow": "visible" } }, "type": "ia.display.view" } ], "meta": { "name": "lowerTransmitters" }, "position": { "basis": "20%" }, "props": { "direction": "column", "justify": "center", "style": { "overflow": "visible" } }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "propConfig": { "props.style.backgroundImage": { "binding": { "config": { "expression": "concat(\"linear-gradient(to bottom, rgba(00.0, 127.0,210.0, \",{view.custom.gradient[0]},\"), rgba(00.0, 127.0,210.0, \",{view.custom.gradient[1]},\"),rgba(00.0, 127.0,210.0, \",{view.custom.gradient[2]},\"))\")" }, "type": "expr" } } }, "props": { "direction": "column", "style": { "overflow": "visible", "paddingBottom": "2px", "paddingLeft": "2px", "paddingRight": "2px", "paddingTop": "2px" } }, "type": "ia.container.flex" } }