{ "custom": {}, "params": { "alwaysShowAll": false, "isClickable": true, "isRightOfSorter": false, "mirror": false, "tagPath": "[default]MCP20/SO01/So01_CH01" }, "propConfig": { "params.alwaysShowAll": { "paramDirection": "input", "persistent": true }, "params.isClickable": { "paramDirection": "input", "persistent": true }, "params.isRightOfSorter": { "paramDirection": "input", "persistent": true }, "params.mirror": { "paramDirection": "input", "persistent": true }, "params.tagPath": { "paramDirection": "input", "persistent": true } }, "props": { "defaultSize": { "height": 20, "width": 60 }, "loading": { "mode": "blocking" } }, "root": { "children": [ { "events": { "dom": { "onClick": { "config": { "script": "\tself.parent.openPopup()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Conveyor" }, "position": { "height": 20, "width": 38, "x": 22 }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/CH/IsChuteMode" }, "overlayOptOut": true, "transforms": [ { "expression": "coalesce({value}, true)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "enableHighlight": false, "isClickable": false, "showLabel": false, "type": "bar" }, "status": { "color": "#FFF" } }, "type": "dex.display.conveyor" }, { "events": { "dom": { "onClick": { "config": { "script": "\tself.parent.openPopup()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Gaylord" }, "position": { "height": 16, "width": 16, "x": 22, "y": 2 }, "propConfig": { "meta.visible": { "binding": { "config": { "expression": "try( tag({view.params.tagPath}+\"/CH/IsCartMode\")\r\n\t||tag({view.params.tagPath}+\"/CH/IsGLLMode\"),\r\n\ttrue\r\n)" }, "type": "expr" } } }, "props": { "config": { "enableHighlight": false, "isClickable": false } }, "type": "dex.display.gaylord" }, { "events": { "dom": { "onClick": { "config": { "script": "\tself.parent.openPopup()" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Chute" }, "position": { "height": 20, "rotate": { "anchor": "0 0" }, "width": 23 }, "propConfig": { "props.config.isClickable": { "binding": { "config": { "expression": "!{view.params.isClickable}" }, "type": "expr" } }, "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/CH/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "showLabel": false } }, "type": "dex.display.conveyor" }, { "meta": { "name": "LS1" }, "position": { "height": 6, "width": 6, "x": 19, "y": 14 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/LS1/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR Presence)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "showLabel": false } }, "type": "dex.display.limitswitch" }, { "meta": { "name": "BCN1_GRN" }, "position": { "height": 5, "rotate": { "angle": "-90deg" }, "width": 5, "x": 10, "y": 15 }, "propConfig": { "position.x": { "binding": { "config": { "expression": "if({../BCN1_AMB.meta.visible}, 10, 5)" }, "type": "expr" }, "persistent": true }, "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/BCN1/GRN/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } }, "props.style.transform": { "binding": { "config": { "path": "view.params.mirror" }, "transforms": [ { "fallback": null, "inputType": "scalar", "mappings": [ { "input": true, "output": "scale(-1, 1)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } } }, "type": "dex.display.beacon" }, { "meta": { "name": "BCN1_AMB" }, "position": { "height": 5, "rotate": { "angle": "-90deg" }, "width": 5, "x": 5, "y": 15 }, "propConfig": { "meta.visible": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/BCN1/AMB/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "isGood({value})", "type": "expression" } ], "type": "tag" }, "persistent": true }, "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/BCN1/AMB/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } }, "props.style.transform": { "binding": { "config": { "path": "view.params.mirror" }, "transforms": [ { "fallback": null, "inputType": "scalar", "mappings": [ { "input": true, "output": "scale(-1, 1)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } } }, "type": "dex.display.beacon" }, { "meta": { "name": "BCN1_BLU" }, "position": { "height": 5, "rotate": { "angle": "-90deg" }, "width": 5, "y": 15 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/BCN1/BLU/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } }, "props.style.transform": { "binding": { "config": { "path": "view.params.mirror" }, "transforms": [ { "fallback": null, "inputType": "scalar", "mappings": [ { "input": true, "output": "scale(-1, 1)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } } }, "type": "dex.display.beacon" }, { "meta": { "name": "GS1_ENABLE" }, "position": { "height": 6, "width": 6, "x": 38, "y": 14 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/GS1/Enable/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "type": "dex.display.pushbutton" }, { "meta": { "name": "PE3" }, "position": { "height": 6, "rotate": { "anchor": "0 50%" }, "width": 8, "x": 3, "y": 2 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/PE3/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GL 100% Full)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "type": "diffuse" } }, "type": "dex.display.photoeye" }, { "meta": { "name": "PE4" }, "position": { "height": 6, "rotate": { "anchor": "0 50%", "angle": "-45deg" }, "width": 8, "x": 5, "y": 10 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/PE4/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GL Presence)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "type": "diffuse" } }, "type": "dex.display.photoeye" }, { "meta": { "name": "PE2" }, "position": { "height": 6, "width": 28, "x": 13, "y": 7 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/PE2/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 50% Full)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "type": "diffuse" } }, "type": "dex.display.photoeye" }, { "meta": { "name": "PE1B" }, "position": { "height": 6, "rotate": { "anchor": "0 50%" }, "width": 20, "x": 15 }, "propConfig": { "position.rotate.angle": { "binding": { "config": { "path": "view.params.isRightOfSorter" }, "transforms": [ { "fallback": "-45deg", "inputType": "scalar", "mappings": [ { "input": true, "output": "45deg" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "position.y": { "binding": { "config": { "path": "view.params.isRightOfSorter" }, "transforms": [ { "fallback": 14, "inputType": "scalar", "mappings": [ { "input": true, "output": 0 } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/PE1B/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 100% Full)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "type": "diffuse" } }, "type": "dex.display.photoeye" }, { "meta": { "name": "PE1A" }, "position": { "height": 6, "rotate": { "anchor": "0 50%" }, "width": 20, "x": 15 }, "propConfig": { "position.rotate.angle": { "binding": { "config": { "path": "view.params.isRightOfSorter" }, "transforms": [ { "fallback": "45deg", "inputType": "scalar", "mappings": [ { "input": true, "output": "-45deg" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "position.y": { "binding": { "config": { "path": "view.params.isRightOfSorter" }, "transforms": [ { "fallback": 0, "inputType": "scalar", "mappings": [ { "input": true, "output": 14 } ], "outputType": "scalar", "type": "map" } ], "type": "property" } }, "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/PE1A/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "jsonSet({value}, \"tooltip\", replace(jsonGet({value}, \"tooltip\"), \"\u003cbr\u003e\", \" (GR 100% Full)\u003cbr\u003e\"))", "type": "expression" }, { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "props": { "config": { "type": "diffuse" } }, "type": "dex.display.photoeye" }, { "meta": { "name": "RS1_RESTART" }, "position": { "height": 6, "width": 6, "x": 44, "y": 14 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/RS1/Restart/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "type": "dex.display.pushbutton" }, { "meta": { "name": "FIO1" }, "position": { "height": 5, "width": 10, "x": 50, "y": 15 }, "propConfig": { "props.status": { "binding": { "config": { "fallbackDelay": 2.5, "mode": "indirect", "references": { "tagPath": "{view.params.tagPath}" }, "tagPath": "{tagPath}/FIO1/Graphics" }, "overlayOptOut": true, "transforms": [ { "expression": "if({view.params.alwaysShowAll},\r\n\tjsonSet({value}, \"showAlways\", {view.params.alwaysShowAll}),\r\n\t{value}\r\n)", "type": "expression" } ], "type": "tag" } } }, "type": "dex.display.eip" } ], "meta": { "name": "root" }, "propConfig": { "props.style.transform": { "binding": { "config": { "path": "view.params.mirror" }, "transforms": [ { "fallback": null, "inputType": "scalar", "mappings": [ { "input": true, "output": "scale(1, -1)" } ], "outputType": "scalar", "type": "map" } ], "type": "property" } } }, "props": { "style": { "overflow": "hidden" } }, "scripts": { "customMethods": [ { "name": "openPopup", "params": [], "script": "\tif self.view.params.isClickable:\n\t\tid \u003d \"FlexChute|\" + self.view.params.tagPath\n\t\ttitle \u003d utils.prettyName(self.view.params.tagPath.split(\"/\")[-1])\n\t\tparams \u003d { \n\t\t\t\"deviceType\": \"chutedestination\",\n\t\t\t\"props\": { \n\t\t\t\t\"config\": {\n\t\t\t\t\t\"alwaysShowAll\": self.view.params.alwaysShowAll,\n\t\t\t\t\t\"isClickable\": self.view.params.isClickable,\n\t\t\t\t\t\"isRightOfSorter\": self.view.params.isRightOfSorter,\n\t\t\t\t\t\"mirror\": self.view.params.mirror\n\t\t\t\t},\n\t\t\t\t\"status\": {\n\t\t\t\t\t\"tagPath\": self.view.params.tagPath\n\t\t\t\t}\n\t\t \t},\n\t\t \t\"tabs\": [\"Controls\", \"Alarm History\", \"Devices\"]\t\t\n\t\t}\n\t\tsystem.perspective.openPopup(id, \"Popups/DeviceWrapper\", params, title, resizable \u003d True)" } ], "extensionFunctions": null, "messageHandlers": [] }, "type": "ia.container.coord" } }