diff --git a/.resources/27b9462fc282562d2d6c19c220a376a6b730c5fa16abd77e1512890496a8244e b/.resources/1055dd6d154cd8d9dd9bd32a3f4e838a58b1047d37624dcc1a4139092fcf5908 similarity index 86% rename from .resources/27b9462fc282562d2d6c19c220a376a6b730c5fa16abd77e1512890496a8244e rename to .resources/1055dd6d154cd8d9dd9bd32a3f4e838a58b1047d37624dcc1a4139092fcf5908 index f1a81c0e..c88c12df 100644 --- a/.resources/27b9462fc282562d2d6c19c220a376a6b730c5fa16abd77e1512890496a8244e +++ b/.resources/1055dd6d154cd8d9dd9bd32a3f4e838a58b1047d37624dcc1a4139092fcf5908 @@ -258,14 +258,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -299,7 +292,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/fd41569208dad337b7bc9ead8b42bacd1a7b9c934416fc7ec49764524bfb85e0 b/.resources/21f00fb185fd9d8e5cd88f8f1fd71da189ff01598ed293648c0764d27d2c4345 similarity index 98% rename from .resources/fd41569208dad337b7bc9ead8b42bacd1a7b9c934416fc7ec49764524bfb85e0 rename to .resources/21f00fb185fd9d8e5cd88f8f1fd71da189ff01598ed293648c0764d27d2c4345 index c06387d3..8899876c 100644 --- a/.resources/fd41569208dad337b7bc9ead8b42bacd1a7b9c934416fc7ec49764524bfb85e0 +++ b/.resources/21f00fb185fd9d8e5cd88f8f1fd71da189ff01598ed293648c0764d27d2c4345 @@ -114,7 +114,7 @@ "props": { "text": "FIO", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -195,7 +195,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/3951a1a51b9079527c36d37ed62b140f42bf2249a57dbf9b069c5314df608518 b/.resources/3951a1a51b9079527c36d37ed62b140f42bf2249a57dbf9b069c5314df608518 deleted file mode 100644 index 3d3154e1..00000000 Binary files a/.resources/3951a1a51b9079527c36d37ed62b140f42bf2249a57dbf9b069c5314df608518 and /dev/null differ diff --git a/.resources/20303e11b4d82d31657efd4286a2f58bf10f8c20664e47c00976f40e9a3fb2ea b/.resources/3a26af142442028e4e1fdf54296ec637b6da58259dbf94b3f9ca9483afde052a similarity index 84% rename from .resources/20303e11b4d82d31657efd4286a2f58bf10f8c20664e47c00976f40e9a3fb2ea rename to .resources/3a26af142442028e4e1fdf54296ec637b6da58259dbf94b3f9ca9483afde052a index 10f5efd7..881b1bad 100644 --- a/.resources/20303e11b4d82d31657efd4286a2f58bf10f8c20664e47c00976f40e9a3fb2ea +++ b/.resources/3a26af142442028e4e1fdf54296ec637b6da58259dbf94b3f9ca9483afde052a @@ -221,14 +221,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -262,7 +255,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/4f2202b9d1b6eef6dec4a30d115dad54ff0fde6581d86303d0e7350cbb5b7d48 b/.resources/4f2202b9d1b6eef6dec4a30d115dad54ff0fde6581d86303d0e7350cbb5b7d48 deleted file mode 100644 index 3df55b91..00000000 Binary files a/.resources/4f2202b9d1b6eef6dec4a30d115dad54ff0fde6581d86303d0e7350cbb5b7d48 and /dev/null differ diff --git a/.resources/f6255db786cf7b6e264460caa9cece3e0aef55d8987dfa730b4ce4e19a6638f7 b/.resources/5f92fd864866b9715421d8cecd4e59941dfebbf578d328121fe9ed9b3504ed1d similarity index 96% rename from .resources/f6255db786cf7b6e264460caa9cece3e0aef55d8987dfa730b4ce4e19a6638f7 rename to .resources/5f92fd864866b9715421d8cecd4e59941dfebbf578d328121fe9ed9b3504ed1d index 24eec65e..773d4f35 100644 --- a/.resources/f6255db786cf7b6e264460caa9cece3e0aef55d8987dfa730b4ce4e19a6638f7 +++ b/.resources/5f92fd864866b9715421d8cecd4e59941dfebbf578d328121fe9ed9b3504ed1d @@ -445,6 +445,20 @@ "size": 400, "viewParams": {}, "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-PE", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye" } ], "top": [ @@ -599,6 +613,20 @@ "size": 400, "viewParams": {}, "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-PE", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye" } ], "top": [ diff --git a/.resources/6db9283f9b601d8836b05a45fd2972eaf4224a6aec6d3a2510b0007decdc8a89 b/.resources/6db9283f9b601d8836b05a45fd2972eaf4224a6aec6d3a2510b0007decdc8a89 deleted file mode 100644 index a1f0384b..00000000 Binary files a/.resources/6db9283f9b601d8836b05a45fd2972eaf4224a6aec6d3a2510b0007decdc8a89 and /dev/null differ diff --git a/.resources/8771095db7e5256857b0c698a8bb35a625d8ec4e87c1a3508c913f0b234354fa b/.resources/72d61b6c56bdfcc87f871003a63ecd8e8f6e299403d9584e23cd0ed9906b1974 similarity index 98% rename from .resources/8771095db7e5256857b0c698a8bb35a625d8ec4e87c1a3508c913f0b234354fa rename to .resources/72d61b6c56bdfcc87f871003a63ecd8e8f6e299403d9584e23cd0ed9906b1974 index f4330f22..9e2aeeaf 100644 --- a/.resources/8771095db7e5256857b0c698a8bb35a625d8ec4e87c1a3508c913f0b234354fa +++ b/.resources/72d61b6c56bdfcc87f871003a63ecd8e8f6e299403d9584e23cd0ed9906b1974 @@ -120,7 +120,7 @@ }, "text": "SIO", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -201,7 +201,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/d80eddaf232f520b8299dfe913edcbce9cdc741517d70bd37e2ca34e74ed6240 b/.resources/7af9c642144e57f98e580caf55d85b23917fe605c119d0928cfe4edf6329e151 similarity index 98% rename from .resources/d80eddaf232f520b8299dfe913edcbce9cdc741517d70bd37e2ca34e74ed6240 rename to .resources/7af9c642144e57f98e580caf55d85b23917fe605c119d0928cfe4edf6329e151 index b87c7aeb..3f132778 100644 --- a/.resources/d80eddaf232f520b8299dfe913edcbce9cdc741517d70bd37e2ca34e74ed6240 +++ b/.resources/7af9c642144e57f98e580caf55d85b23917fe605c119d0928cfe4edf6329e151 @@ -118,7 +118,7 @@ "props": { "text": "PX", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -199,7 +199,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/826259daf214bc55ec5714d8bd732fc4a6a550b4689112cc1b50bec7629aaddf b/.resources/826259daf214bc55ec5714d8bd732fc4a6a550b4689112cc1b50bec7629aaddf deleted file mode 100644 index 985bb50b..00000000 Binary files a/.resources/826259daf214bc55ec5714d8bd732fc4a6a550b4689112cc1b50bec7629aaddf and /dev/null differ diff --git a/.resources/8205d2f7c7acf13317dd969c90f66efe6c07484dc6f4e0d796bbfed683d1ca53 b/.resources/85126a742732df7274b19044c35a70110eef17d7ef4b7d441d4bbe73ae7acef4 similarity index 99% rename from .resources/8205d2f7c7acf13317dd969c90f66efe6c07484dc6f4e0d796bbfed683d1ca53 rename to .resources/85126a742732df7274b19044c35a70110eef17d7ef4b7d441d4bbe73ae7acef4 index 5dc11190..3d37f8ab 100644 --- a/.resources/8205d2f7c7acf13317dd969c90f66efe6c07484dc6f4e0d796bbfed683d1ca53 +++ b/.resources/85126a742732df7274b19044c35a70110eef17d7ef4b7d441d4bbe73ae7acef4 @@ -1479,7 +1479,6 @@ } }, "props": { - "currentTabIndex": 1, "menuType": "modern", "tabSize": { "width": 1000 diff --git a/.resources/e8bfc97b230e467fcc9bd76dc1948201d2e499f49dea89e4997ea472b44e2ce0 b/.resources/92835c6f199305a4a8447c4b4a62fa116f629101d4834048c5cc647ede936e12 similarity index 99% rename from .resources/e8bfc97b230e467fcc9bd76dc1948201d2e499f49dea89e4997ea472b44e2ce0 rename to .resources/92835c6f199305a4a8447c4b4a62fa116f629101d4834048c5cc647ede936e12 index d2418ee5..38e1c644 100644 --- a/.resources/e8bfc97b230e467fcc9bd76dc1948201d2e499f49dea89e4997ea472b44e2ce0 +++ b/.resources/92835c6f199305a4a8447c4b4a62fa116f629101d4834048c5cc647ede936e12 @@ -1,6 +1,6 @@ { "custom": { - "alarmHighlight": "", + "alarmHighlight": "value", "alarm_filter": { "show_VFD": true, "show_beacons": true, diff --git a/.resources/93ec0702254eb62ccb33306b4422f95f2de9e836a0e91bf8425d461e6d59f079 b/.resources/93ec0702254eb62ccb33306b4422f95f2de9e836a0e91bf8425d461e6d59f079 new file mode 100644 index 00000000..0db19c71 Binary files /dev/null and b/.resources/93ec0702254eb62ccb33306b4422f95f2de9e836a0e91bf8425d461e6d59f079 differ diff --git a/.resources/9c181e26186312d1d0d2971200ac79d83c98eba43bf6303e169c211c516b71ff b/.resources/9c181e26186312d1d0d2971200ac79d83c98eba43bf6303e169c211c516b71ff new file mode 100644 index 00000000..94e5e196 Binary files /dev/null and b/.resources/9c181e26186312d1d0d2971200ac79d83c98eba43bf6303e169c211c516b71ff differ diff --git a/.resources/a45da2049cdc9d272af20cff51158bfff854782734182fd915b7be613d7183ca b/.resources/a45da2049cdc9d272af20cff51158bfff854782734182fd915b7be613d7183ca new file mode 100644 index 00000000..4800b3f1 --- /dev/null +++ b/.resources/a45da2049cdc9d272af20cff51158bfff854782734182fd915b7be613d7183ca @@ -0,0 +1,758 @@ +{ + "custom": { + "PLC_list": [ + "MCM01", + "MCM02" + ], + "state": 0, + "string": "Clear" + }, + "params": { + "tagProps": [ + "System/MCM01/Photoeyes/TPE/PS3_1_TPE3", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "propConfig": { + "custom.PLC_list": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC" + }, + "transforms": [ + { + "code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n", + "type": "script" + } + ], + "type": "tag" + }, + "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": "if(isNull({value}), 0, {value})", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.string": { + "binding": { + "config": { + "path": "view.custom.state" + }, + "transforms": [ + { + "fallback": "Clear", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Clear" + }, + { + "input": 2, + "output": "Blocked" + }, + { + "input": 3, + "output": "Disabled" + }, + { + "input": 4, + "output": "Jammed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.tagProps": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFF", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.perspective.closeDock(\u0027Docked-East-PE\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Icon", + "tooltip": { + "enabled": true, + "style": { + "cursor": "pointer" + }, + "text": "Close faceplate" + } + }, + "props": { + "path": "material/close", + "style": { + "cursor": "pointer", + "marginBottom": 5, + "marginLeft": 5, + "marginRight": 5, + "marginTop": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Labels/Label_1", + "marginTop": 20 + }, + "text": "No Active Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filters.active.text": { + "binding": { + "config": { + "path": "view.params.tagProps[0]" + }, + "transforms": [ + { + "code": "\treturn value[1:]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "displayPath": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } + }, + "filters": { + "active": { + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "states": { + "clearUnacked": false + } + } + }, + "refreshRate": 500, + "toolbar": { + "enabled": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "Active_tab" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "NAME" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DeviceName" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagProps[0]" + }, + "transforms": [ + { + "code": " return value.rsplit(\u0027/\u0027, 1)[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "basis": "35px" + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "COMMUNICATION FAULTED" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PB_Light" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": "UNKNOWN", + "output": "#FFFFFF" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/HMI/Alarm/Communication_Fault" + }, + "transforms": [ + { + "expression": "if(isNull({value}), \"UNKNOWN\", {value})", + "type": "expression" + }, + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Faulted" + }, + { + "input": false, + "output": "Not Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "NOT FAULTED", + "output": "#47FF47" + }, + { + "input": "FAULTED", + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Property" + }, + "position": { + "basis": "35px", + "shrink": 2 + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "STATUS" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "status" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": "UNKNOWN", + "output": "#FFFFFF" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.string" + }, + "transforms": [ + { + "expression": "coalesce({value},\"UNKNOWN\")", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.state" + }, + "transforms": [ + { + "fallback": "#00FF00", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "#00FF00" + }, + { + "input": 2, + "output": "#000000" + }, + { + "input": 3, + "output": "#0000D9" + }, + { + "input": 4, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Property" + }, + "position": { + "basis": "35px", + "shrink": 2 + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Info_tab" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "direction": "column", + "style": { + "margin-left": "" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tabs" + }, + "position": { + "grow": 1 + }, + "props": { + "currentTabIndex": 1, + "menuType": "modern", + "tabSize": { + "width": 1000 + }, + "tabStyle": { + "active": { + "classes": "", + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + }, + "inactive": { + "classes": "", + "color": "#B8B8B8", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + } + }, + "tabs": [ + "Alarms", + "Info" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "670px", + "grow": 1 + }, + "props": { + "style": { + "border-top": "1px solid white", + "gap": "" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Buttons/Button-Menu" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file diff --git a/.resources/21415e4466a50b36b148e0f76e0893916b49f75c440c6d726f6b0eb2ec47279f b/.resources/c380b7939bc3eddfe2f23d8c8f32a7a1c05ffdeeb5d42b6efca160722e0e172a similarity index 98% rename from .resources/21415e4466a50b36b148e0f76e0893916b49f75c440c6d726f6b0eb2ec47279f rename to .resources/c380b7939bc3eddfe2f23d8c8f32a7a1c05ffdeeb5d42b6efca160722e0e172a index 12da1bb7..e8bdef72 100644 --- a/.resources/21415e4466a50b36b148e0f76e0893916b49f75c440c6d726f6b0eb2ec47279f +++ b/.resources/c380b7939bc3eddfe2f23d8c8f32a7a1c05ffdeeb5d42b6efca160722e0e172a @@ -140,7 +140,7 @@ }, "props": { "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -233,7 +233,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/c6b9ed8bf49d92d653f28e486ec495001598733b90ecf528af5daf35b4560e2d b/.resources/c6b9ed8bf49d92d653f28e486ec495001598733b90ecf528af5daf35b4560e2d new file mode 100644 index 00000000..7f11ed5b Binary files /dev/null and b/.resources/c6b9ed8bf49d92d653f28e486ec495001598733b90ecf528af5daf35b4560e2d differ diff --git a/.resources/c8acc0e215028024b3227bd8313b21c518d74ad132bfdf39eb49478a7e2696fa b/.resources/c8acc0e215028024b3227bd8313b21c518d74ad132bfdf39eb49478a7e2696fa new file mode 100644 index 00000000..ce23fbbe Binary files /dev/null and b/.resources/c8acc0e215028024b3227bd8313b21c518d74ad132bfdf39eb49478a7e2696fa differ diff --git a/.resources/cd1d5e58564fae3ba69c8143ba59cf514f2c06a417c3d84d0c14cdfe10b28e9f b/.resources/cd1d5e58564fae3ba69c8143ba59cf514f2c06a417c3d84d0c14cdfe10b28e9f new file mode 100644 index 00000000..09ba4ef9 Binary files /dev/null and b/.resources/cd1d5e58564fae3ba69c8143ba59cf514f2c06a417c3d84d0c14cdfe10b28e9f differ diff --git a/.resources/d094f7b91ac50d49e7b9c1a03936210ae8857e90bbdbe2000a9a617e2558dc32 b/.resources/e53aea586f7f607317bc9c07e33bdc38b0bdf458684786e5e3c421e91f7ff7f1 similarity index 86% rename from .resources/d094f7b91ac50d49e7b9c1a03936210ae8857e90bbdbe2000a9a617e2558dc32 rename to .resources/e53aea586f7f607317bc9c07e33bdc38b0bdf458684786e5e3c421e91f7ff7f1 index 8e67cbe3..9be1b897 100644 --- a/.resources/d094f7b91ac50d49e7b9c1a03936210ae8857e90bbdbe2000a9a617e2558dc32 +++ b/.resources/e53aea586f7f607317bc9c07e33bdc38b0bdf458684786e5e3c421e91f7ff7f1 @@ -257,14 +257,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -298,7 +291,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/.resources/2e80438976cc1ce4b1fb8de0a52e943bde6087653ada8184d9383138caae22b7 b/.resources/ebbb6fdcb3d3e441bc9d315e4b940b8008fca71c06d8cde33267a7756d929ad5 similarity index 97% rename from .resources/2e80438976cc1ce4b1fb8de0a52e943bde6087653ada8184d9383138caae22b7 rename to .resources/ebbb6fdcb3d3e441bc9d315e4b940b8008fca71c06d8cde33267a7756d929ad5 index 8684f54a..3afb82e0 100644 --- a/.resources/2e80438976cc1ce4b1fb8de0a52e943bde6087653ada8184d9383138caae22b7 +++ b/.resources/ebbb6fdcb3d3e441bc9d315e4b940b8008fca71c06d8cde33267a7756d929ad5 @@ -118,7 +118,7 @@ "props": { "text": "SOL", "textStyle": { - "fontSize": 10, + "fontSize": "0.5vw", "textAlign": "center", "textTransform": "uppercase" } @@ -192,7 +192,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/page-config/config.json b/BNA8/com.inductiveautomation.perspective/page-config/config.json index 24eec65e..773d4f35 100644 --- a/BNA8/com.inductiveautomation.perspective/page-config/config.json +++ b/BNA8/com.inductiveautomation.perspective/page-config/config.json @@ -445,6 +445,20 @@ "size": 400, "viewParams": {}, "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-PE", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye" } ], "top": [ @@ -599,6 +613,20 @@ "size": 400, "viewParams": {}, "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute" + }, + { + "anchor": "fixed", + "autoBreakpoint": 480, + "content": "cover", + "handle": "hide", + "iconUrl": "", + "id": "Docked-East-PE", + "modal": false, + "resizable": false, + "show": "onDemand", + "size": 400, + "viewParams": {}, + "viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye" } ], "top": [ diff --git a/BNA8/com.inductiveautomation.perspective/page-config/resource.json b/BNA8/com.inductiveautomation.perspective/page-config/resource.json index ce2f6f98..5257613a 100644 --- a/BNA8/com.inductiveautomation.perspective/page-config/resource.json +++ b/BNA8/com.inductiveautomation.perspective/page-config/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T15:06:14Z" + "timestamp": "2025-09-03T15:44:23Z" }, - "lastModificationSignature": "d7c1074dcfab6ea792b341f9f17ffe277dfcef1be9751a4c720614bc85142508" + "lastModificationSignature": "6a0ac6a4d3ad1698d7576b78a112ad2bcc98f10bf8f48567b9f90026d780df54" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/session-props/props.json b/BNA8/com.inductiveautomation.perspective/session-props/props.json index d2418ee5..38e1c644 100644 --- a/BNA8/com.inductiveautomation.perspective/session-props/props.json +++ b/BNA8/com.inductiveautomation.perspective/session-props/props.json @@ -1,6 +1,6 @@ { "custom": { - "alarmHighlight": "", + "alarmHighlight": "value", "alarm_filter": { "show_VFD": true, "show_beacons": true, diff --git a/BNA8/com.inductiveautomation.perspective/session-props/resource.json b/BNA8/com.inductiveautomation.perspective/session-props/resource.json index 54e38e8b..3d1466b4 100644 --- a/BNA8/com.inductiveautomation.perspective/session-props/resource.json +++ b/BNA8/com.inductiveautomation.perspective/session-props/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T09:52:22Z" + "timestamp": "2025-09-03T15:44:10Z" }, - "lastModificationSignature": "a3157291a52e672e41c58e25611ed05c24728860cc0fbbf5d5ea08285665e06b" + "lastModificationSignature": "f4e42b5f44ca6a97a34da5f34af41b550dc038f05d4a6b93d9c18b606eaa9087" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/resource.json index caf777c1..f7213084 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T14:06:15Z" + "timestamp": "2025-09-03T15:51:44Z" }, - "lastModificationSignature": "d5232a318367d19f4a2e7e168642219563ba5654aa71d83410af57a3d7e4d64e" + "lastModificationSignature": "f3e21bff90d6d480a55f2f9bb29c9bd4f7fdc7bf86d1f18943b0dae6ba5d83f6" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/view.json index 12da1bb7..e8bdef72 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Beacon/view.json @@ -140,7 +140,7 @@ }, "props": { "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -233,7 +233,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/resource.json index 6323b59e..c4790ab3 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T13:02:31Z" + "timestamp": "2025-09-03T15:51:16Z" }, - "lastModificationSignature": "be41b6389f844da07cdd3351f48bd2f92ff1f7f749e534d6ca639116bd0936a2" + "lastModificationSignature": "32937641e82bcd90161040e95a87728f32508568b344bb807cfa63df3fb14d9e" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/view.json index c06387d3..8899876c 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Field_IO/view.json @@ -114,7 +114,7 @@ "props": { "text": "FIO", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -195,7 +195,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/resource.json index 4aa810b4..9ba696bd 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T11:05:06Z" + "timestamp": "2025-09-03T15:46:56Z" }, - "lastModificationSignature": "7586829a23034a010799346c21739bafff0bffc3348d709c1742896974976b85" + "lastModificationSignature": "06991c0e3e3facb6418c4ca3802ebfc42969f7ceda0655577e634682925e5a81" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/view.json index 10f5efd7..881b1bad 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye/view.json @@ -221,14 +221,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -262,7 +255,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json index 80340573..9789442c 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T10:52:01Z" + "timestamp": "2025-09-03T15:47:15Z" }, - "lastModificationSignature": "3e1d03923538c6635de8c3fd9d16b6ad4078bafe746cb8da7b2211ee27dfd93d" + "lastModificationSignature": "a79732e0940941214a569258d6c45cea3316dd589eaf8b915d0a5e3864fad3ed" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png index 985bb50b..0db19c71 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/view.json index 8e67cbe3..9be1b897 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Long/view.json @@ -257,14 +257,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -298,7 +291,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/resource.json index 2eff7368..61f4cc2c 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T10:06:19Z" + "timestamp": "2025-09-03T15:45:47Z" }, - "lastModificationSignature": "1da8c29fadaf8fa76f7713d8373f7d14324886484638cc894342793d3b63c097" + "lastModificationSignature": "10abf855bd85c55e2e6a2c07a100047d4c0445d668331bb96c8ac81651976479" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/thumbnail.png index 3df55b91..7f11ed5b 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/view.json index f1a81c0e..c88c12df 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Photoeye_Medium/view.json @@ -258,14 +258,7 @@ "dom": { "onClick": { "config": { - "script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" - }, - "scope": "G", - "type": "script" - }, - "onMouseEnter": { - "config": { - "script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message" + "script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})" }, "scope": "G", "type": "script" @@ -299,7 +292,8 @@ "props": { "mode": "percent", "style": { - "cursor": "pointer" + "cursor": "pointer", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/resource.json index 2f415948..90a5449e 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T13:04:42Z" + "timestamp": "2025-09-03T15:50:57Z" }, - "lastModificationSignature": "0d68c16def444369d271db35d46c59d96b058b5c79b47099d4c1a4382cb67892" + "lastModificationSignature": "61a843f550f0bd57f24651afc9511ab4731c0aac9022392bdb2240a81f55ae20" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/view.json index b87c7aeb..3f132778 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/ProxSwitch/view.json @@ -118,7 +118,7 @@ "props": { "text": "PX", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -199,7 +199,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/resource.json index c9b1c834..e26b76f5 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T13:07:25Z" + "timestamp": "2025-09-03T15:49:42Z" }, - "lastModificationSignature": "cff8863f932ccc825cdc8c51ba8c95ac36d5db3d9324815e4bca2c75fb9b853d" + "lastModificationSignature": "69658ed9aaa4e1cf9f5e13de8c4906aba778dabab3d345f163098b9897669305" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/view.json index f4330f22..9e2aeeaf 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Safety_IO/view.json @@ -120,7 +120,7 @@ }, "text": "SIO", "textStyle": { - "fontSize": "20px", + "fontSize": "1vw", "textAlign": "center", "textTransform": "uppercase" } @@ -201,7 +201,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json index 73752aa6..82e49a6e 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/resource.json @@ -9,8 +9,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T13:15:32Z" + "timestamp": "2025-09-03T16:02:38Z" }, - "lastModificationSignature": "01b237dbfb15beb6b86aeaadceae774a24a34b3cadf505c7a74aaf0cea275701" + "lastModificationSignature": "109467d2a982941cd8d35a0de3dba653a0770c79c2841c86a1e8e5873c9c65f7" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/view.json index 8684f54a..3afb82e0 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/Equipment/Solenoid/view.json @@ -118,7 +118,7 @@ "props": { "text": "SOL", "textStyle": { - "fontSize": 10, + "fontSize": "0.5vw", "textAlign": "center", "textTransform": "uppercase" } @@ -192,7 +192,8 @@ "style": { "borderStyle": "solid", "cursor": "pointer", - "overflow": "hidden" + "overflow": "hidden", + "userSelect": "none" } }, "type": "ia.container.coord" diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/resource.json index 556f9a98..b3516370 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T13:58:52Z" + "timestamp": "2025-09-03T15:28:33Z" }, - "lastModificationSignature": "80f7b129da7285682c8f19de642720a06d0a7decadafc208718b77430b25d2e1" + "lastModificationSignature": "f4de52b3c278c2411641e1614d6284807a4d158e82add82c45059be54d5f9ee5" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/thumbnail.png index a1f0384b..94e5e196 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Beacon/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/resource.json index 1ad4044e..76a1edbd 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/resource.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/resource.json @@ -10,8 +10,8 @@ "attributes": { "lastModification": { "actor": "admin", - "timestamp": "2025-09-02T15:08:02Z" + "timestamp": "2025-09-03T15:28:07Z" }, - "lastModificationSignature": "65337aa0f4b091cf29b9a15a074c22bd6ff1e0b0fd79d05628d749179dfc284c" + "lastModificationSignature": "e74b9e2d5e0135178d5764430ccb80b64f150b57aac32d18305660dcfcb59d03" } } \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/thumbnail.png index 3d3154e1..09ba4ef9 100644 Binary files a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/thumbnail.png and b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/view.json index 5dc11190..3d37f8ab 100644 --- a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/view.json +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute/view.json @@ -1479,7 +1479,6 @@ } }, "props": { - "currentTabIndex": 1, "menuType": "modern", "tabSize": { "width": 1000 diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/resource.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/resource.json new file mode 100644 index 00000000..6a90616f --- /dev/null +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/resource.json @@ -0,0 +1,17 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "view.json", + "thumbnail.png" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-09-03T15:46:18Z" + }, + "lastModificationSignature": "75d49b1e838becbe66d20b450f80ab797082e5a6763cf8b065269200b301b37e" + } +} \ No newline at end of file diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/thumbnail.png b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/thumbnail.png new file mode 100644 index 00000000..ce23fbbe Binary files /dev/null and b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/thumbnail.png differ diff --git a/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/view.json b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/view.json new file mode 100644 index 00000000..4800b3f1 --- /dev/null +++ b/BNA8/com.inductiveautomation.perspective/views/autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye/view.json @@ -0,0 +1,758 @@ +{ + "custom": { + "PLC_list": [ + "MCM01", + "MCM02" + ], + "state": 0, + "string": "Clear" + }, + "params": { + "tagProps": [ + "System/MCM01/Photoeyes/TPE/PS3_1_TPE3", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value", + "value" + ] + }, + "propConfig": { + "custom.PLC_list": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC" + }, + "transforms": [ + { + "code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n", + "type": "script" + } + ], + "type": "tag" + }, + "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": "if(isNull({value}), 0, {value})", + "type": "expression" + } + ], + "type": "tag" + }, + "persistent": true + }, + "custom.string": { + "binding": { + "config": { + "path": "view.custom.state" + }, + "transforms": [ + { + "fallback": "Clear", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "Clear" + }, + { + "input": 2, + "output": "Blocked" + }, + { + "input": 3, + "output": "Disabled" + }, + { + "input": 4, + "output": "Jammed" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "property" + }, + "persistent": true + }, + "params.tagProps": { + "paramDirection": "input", + "persistent": true + } + }, + "props": { + "defaultSize": { + "width": 400 + } + }, + "root": { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}" + }, + "type": "expr" + } + } + }, + "props": { + "style": { + "color": "#FFFF", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + }, + { + "events": { + "dom": { + "onClick": { + "config": { + "script": "\tsystem.perspective.closeDock(\u0027Docked-East-PE\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0" + }, + "scope": "G", + "type": "script" + } + } + }, + "meta": { + "name": "Icon", + "tooltip": { + "enabled": true, + "style": { + "cursor": "pointer" + }, + "text": "Close faceplate" + } + }, + "props": { + "path": "material/close", + "style": { + "cursor": "pointer", + "marginBottom": 5, + "marginLeft": 5, + "marginRight": 5, + "marginTop": 5 + } + }, + "type": "ia.display.icon" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "30px", + "shrink": 0 + }, + "props": { + "style": { + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "Label" + }, + "position": { + "basis": "32px", + "display": false + }, + "propConfig": { + "position.display": { + "binding": { + "config": { + "expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)" + }, + "enabled": false, + "type": "expr" + } + } + }, + "props": { + "style": { + "classes": "Labels/Label_1", + "marginTop": 20 + }, + "text": "No Active Alarms" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "AlarmStatusTable" + }, + "position": { + "basis": "400px", + "grow": 1 + }, + "propConfig": { + "props.filters.active.text": { + "binding": { + "config": { + "path": "view.params.tagProps[0]" + }, + "transforms": [ + { + "code": "\treturn value[1:]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "columns": { + "active": { + "displayPath": { + "enabled": false + }, + "priority": { + "enabled": false + }, + "source": { + "enabled": false + }, + "state": { + "enabled": false + } + } + }, + "filters": { + "active": { + "priorities": { + "critical": false, + "high": false, + "low": false, + "medium": false + }, + "states": { + "clearUnacked": false + } + } + }, + "refreshRate": 500, + "toolbar": { + "enabled": false + } + }, + "type": "ia.display.alarmstatustable" + } + ], + "meta": { + "name": "Active_tab" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "NAME" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "DeviceName" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.text": { + "binding": { + "config": { + "path": "view.params.tagProps[0]" + }, + "transforms": [ + { + "code": " return value.rsplit(\u0027/\u0027, 1)[-1]", + "type": "script" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "backgroundColor": "#FFFFFF", + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Name" + }, + "position": { + "basis": "35px" + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel", + "overflow": "hidden" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_0" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "COMMUNICATION FAULTED" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "PB_Light" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": "UNKNOWN", + "output": "#FFFFFF" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "fallbackDelay": 2.5, + "mode": "indirect", + "references": { + "0": "{view.params.tagProps[0]}", + "fc": "{session.custom.fc}" + }, + "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/HMI/Alarm/Communication_Fault" + }, + "transforms": [ + { + "expression": "if(isNull({value}), \"UNKNOWN\", {value})", + "type": "expression" + }, + { + "fallback": "Unknown", + "inputType": "scalar", + "mappings": [ + { + "input": true, + "output": "Faulted" + }, + { + "input": false, + "output": "Not Faulted" + } + ], + "outputType": "scalar", + "type": "map" + } + ], + "type": "tag" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#000000", + "inputType": "scalar", + "mappings": [ + { + "input": "NOT FAULTED", + "output": "#47FF47" + }, + { + "input": "FAULTED", + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Property" + }, + "position": { + "basis": "35px", + "shrink": 2 + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + }, + { + "children": [ + { + "children": [ + { + "meta": { + "name": "NameField" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "props": { + "style": { + "paddingLeft": 20 + }, + "text": "STATUS" + }, + "type": "ia.display.label" + }, + { + "meta": { + "name": "status" + }, + "position": { + "basis": "50%", + "grow": 1 + }, + "propConfig": { + "props.style.backgroundColor": { + "binding": { + "config": { + "path": "this.props.text" + }, + "transforms": [ + { + "fallback": "#D5D5D5", + "inputType": "scalar", + "mappings": [ + { + "input": "UNKNOWN", + "output": "#FFFFFF" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + }, + "props.text": { + "binding": { + "config": { + "path": "view.custom.string" + }, + "transforms": [ + { + "expression": "coalesce({value},\"UNKNOWN\")", + "type": "expression" + } + ], + "type": "property" + } + }, + "props.textStyle.color": { + "binding": { + "config": { + "path": "view.custom.state" + }, + "transforms": [ + { + "fallback": "#00FF00", + "inputType": "scalar", + "mappings": [ + { + "input": 1, + "output": "#00FF00" + }, + { + "input": 2, + "output": "#000000" + }, + { + "input": 3, + "output": "#0000D9" + }, + { + "input": 4, + "output": "#FF0000" + } + ], + "outputType": "color", + "type": "map" + } + ], + "type": "property" + } + } + }, + "props": { + "style": { + "classes": "Text-Styles/Ariel-Bold-12pt", + "paddingLeft": 10 + } + }, + "type": "ia.display.label" + } + ], + "meta": { + "name": "Property" + }, + "position": { + "basis": "35px", + "shrink": 2 + }, + "props": { + "style": { + "classes": "PopUp-Styles/InfoLabel" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer_2" + }, + "position": { + "basis": "35px" + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "Info_tab" + }, + "position": { + "tabIndex": 1 + }, + "props": { + "direction": "column", + "style": { + "margin-left": "" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "tabs" + }, + "position": { + "grow": 1 + }, + "props": { + "currentTabIndex": 1, + "menuType": "modern", + "tabSize": { + "width": 1000 + }, + "tabStyle": { + "active": { + "classes": "", + "color": "#FFFFFF", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + }, + "inactive": { + "classes": "", + "color": "#B8B8B8", + "fontFamily": "Arial", + "fontSize": 14, + "fontWeight": "bold", + "paddingLeft": 10 + } + }, + "tabs": [ + "Alarms", + "Info" + ] + }, + "type": "ia.container.tab" + } + ], + "meta": { + "name": "FlexContainer_1" + }, + "position": { + "basis": "670px", + "grow": 1 + }, + "props": { + "style": { + "border-top": "1px solid white", + "gap": "" + } + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "FlexContainer" + }, + "position": { + "basis": "800px", + "grow": 1 + }, + "props": { + "direction": "column" + }, + "type": "ia.container.flex" + } + ], + "meta": { + "name": "root" + }, + "props": { + "direction": "column", + "style": { + "classes": "Buttons/Button-Menu" + } + }, + "type": "ia.container.flex" + } +} \ No newline at end of file