From e5acbda7855f2f5d06904a84046168b8049f4365 Mon Sep 17 00:00:00 2001 From: guga kakhadze Date: Thu, 26 Jun 2025 21:30:08 +0400 Subject: [PATCH] Glowing by priority --- .../Highlight/Pulse-Diagnostic/resource.json | 16 +++++++ .../Highlight/Pulse-Diagnostic/style.json | 18 ++++++++ .../Highlight/Pulse-High/resource.json | 16 +++++++ .../Highlight/Pulse-High/style.json | 18 ++++++++ .../Highlight/Pulse-Low/resource.json | 16 +++++++ .../Highlight/Pulse-Low/style.json | 18 ++++++++ .../Highlight/Pulse-Medium/resource.json | 16 +++++++ .../Highlight/Pulse-Medium/style.json | 18 ++++++++ .../ignition/script-python/utils/code.py | 17 ++++++-- .../Highlight/Pulse-Diagnostic/resource.json | 16 +++++++ .../Highlight/Pulse-Diagnostic/style.json | 18 ++++++++ .../Highlight/Pulse-High/resource.json | 16 +++++++ .../Highlight/Pulse-High/style.json | 18 ++++++++ .../Highlight/Pulse-Low/resource.json | 16 +++++++ .../Highlight/Pulse-Low/style.json | 18 ++++++++ .../Highlight/Pulse-Medium/resource.json | 16 +++++++ .../Highlight/Pulse-Medium/style.json | 18 ++++++++ .../views/Alarm-Views/RealTime/view.json | 42 +++++++++---------- 18 files changed, 306 insertions(+), 25 deletions(-) create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json create mode 100644 MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json create mode 100644 SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json new file mode 100644 index 0000000..22849a7 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:59:17Z" + }, + "lastModificationSignature": "c4aa68a4f62571cf6d849a47e59b28d57bd61ae5a604537c041dddf156ae7caf" + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json new file mode 100644 index 0000000..bbd0dd7 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(88, 158, 249, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(88, 158, 249, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(88, 158, 249, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json new file mode 100644 index 0000000..f3ef911 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:59:24Z" + }, + "lastModificationSignature": "9249bad3cbdc85047473a1dde64734fa94bfdd65db0f489fd951f0418fca8784" + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json new file mode 100644 index 0000000..1ca57f6 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(245, 95, 89, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(245, 95, 89, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(245, 95, 89, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json new file mode 100644 index 0000000..2d6a3d3 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:59:29Z" + }, + "lastModificationSignature": "1e87ebc5c34bb669001223707c04ff8f9bed1fdb1af60f1183e3b61922cec1fc" + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json new file mode 100644 index 0000000..825d919 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(255, 255, 0, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(255, 255, 0, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(255, 255, 0, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json new file mode 100644 index 0000000..b8211ac --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:59:34Z" + }, + "lastModificationSignature": "acb0a55e90b90b5eec32cd4df512cb08aedbf6cf7b758579f9c6865c2346976b" + } +} \ No newline at end of file diff --git a/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json new file mode 100644 index 0000000..022d5f3 --- /dev/null +++ b/MTN6_SCADA/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(247, 160, 96, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(247, 160, 96, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(247, 160, 96, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/MTN6_SCADA/ignition/script-python/utils/code.py b/MTN6_SCADA/ignition/script-python/utils/code.py index a8f08cb..3b8d075 100644 --- a/MTN6_SCADA/ignition/script-python/utils/code.py +++ b/MTN6_SCADA/ignition/script-python/utils/code.py @@ -1,10 +1,14 @@ def handleTagHighlight(view, currentValue): - tag = currentValue.value + tag_priority = currentValue.value - if tag == "": + if tag_priority == None: return - splitedTag = str(tag).split("/") + parts = str(tag_priority).split("||") + tag = parts[0] + + splitedTag = tag.split("/") + deviceName = splitedTag[-1] Docked_East_Map = { @@ -22,6 +26,11 @@ def handleTagHighlight(view, currentValue): components = view.rootContainer.getChildren() + priority = parts[1] + +# if priority == "": +# priority = "Default" + for child in components: params = child.props.get("params", {}) tagProps = params.get("tagProps", {}) @@ -33,7 +42,7 @@ def handleTagHighlight(view, currentValue): tagPath = tagsList[0] if tag == tagPath: - child.props.style["classes"] = "Highlight/Pulse" + child.props.style["classes"] = "Highlight/Pulse-" + priority system.perspective.openDock(Docked_East_View, params={'tagProps': tagProps}) return True diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json new file mode 100644 index 0000000..f62f84b --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:56:25Z" + }, + "lastModificationSignature": "18bf39c86653c9dd5c4664422b3c1d40aa96d3931f0cd93cb0b7295c21817949" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json new file mode 100644 index 0000000..bbd0dd7 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Diagnostic/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(88, 158, 249, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(88, 158, 249, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(88, 158, 249, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json new file mode 100644 index 0000000..1f2a952 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:58:30Z" + }, + "lastModificationSignature": "f1be0638b51c37c24199bd33a7e875748cfa79940cb30b1b5ccf32e9e47936a7" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json new file mode 100644 index 0000000..1ca57f6 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-High/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(245, 95, 89, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(245, 95, 89, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(245, 95, 89, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json new file mode 100644 index 0000000..08a7064 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:52:14Z" + }, + "lastModificationSignature": "a27450cbd46150b09478dea57dc320cbb8435e455ebb5cc12d4e190540d59b9c" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json new file mode 100644 index 0000000..825d919 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Low/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(255, 255, 0, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(255, 255, 0, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(255, 255, 0, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json new file mode 100644 index 0000000..4277552 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/resource.json @@ -0,0 +1,16 @@ +{ + "scope": "G", + "version": 1, + "restricted": false, + "overridable": true, + "files": [ + "style.json" + ], + "attributes": { + "lastModification": { + "actor": "admin", + "timestamp": "2025-06-26T15:57:29Z" + }, + "lastModificationSignature": "91e91a98d401979733d172ccf64ea9605a06ec782fb929a21dbb582441acb784" + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json new file mode 100644 index 0000000..022d5f3 --- /dev/null +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/style-classes/Highlight/Pulse-Medium/style.json @@ -0,0 +1,18 @@ +{ + "base": { + "animation": { + "duration": "2.5s", + "keyframes": { + "0%": { + "boxShadow": "0 0 12px 5px rgba(247, 160, 96, 0.8)" + }, + "50%": { + "boxShadow": "0 0 20px 8px rgba(247, 160, 96, 1)" + }, + "100%": { + "boxShadow": "0 0 5px 2px rgba(247, 160, 96, 0.3)" + } + } + } + } +} \ No newline at end of file diff --git a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Alarm-Views/RealTime/view.json b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Alarm-Views/RealTime/view.json index 8649208..c317224 100644 --- a/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Alarm-Views/RealTime/view.json +++ b/SCADA_PERSPECTIVE_PARENT_PROJECT/com.inductiveautomation.perspective/views/Alarm-Views/RealTime/view.json @@ -689,7 +689,7 @@ "component": { "onRowClick": { "config": { - "script": "\tdata \u003d self.props.selection.data\n\tif not data or len(data) !\u003d 1:\n\t return\n\t\n\trow \u003d data[0]\n\tclickedTagPath \u003d row.get(\"FullTag\", \"\")\n\tMCM \u003d row.get(\"Location\", \"\")\n\t\n\tMCM_Pages_Map \u003d {\n\t\t\"MCM01\": \"Detailed-Views/MCM01 Fluid Inbound Merges 1-4\",\n\t\t\"MCM02\": \"Detailed-Views/MCM02 Fluid Inbound Merges 5-7\",\n\t\t\"MCM03\": \"Detailed-Views/MCM03 Non Con\",\n\t\t\"MCM04\": \"Detailed-Views/MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\",\n\t\t\"MCM05\": \"Detailed-Views/MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\",\n\t\t\"MCM06\": \"Detailed-Views/MCM06 Non Con\",\n\t\t\"MCM07\": \"Detailed-Views/MCM07 Bypass\",\n\t}\n\t\n\n\tpage \u003d MCM_Pages_Map.get(MCM)\n\t\n\tif not page:\n\t return\n\t\t\n\tdevice \u003d row.get(\"Device\", \"\")\n\t\n\tif not device or not clickedTagPath:\n\t\treturn\n\n\tpathToDevice \u003d \"\"\n\n#\tcheck for the mcm\n\tif \"MCM\" in device:\n\t\tparts \u003d clickedTagPath.split(\"/\")\n\t\tpathToDevice \u003d \"/\".join(parts[:3])\n\n\telse:\n\t\tindex \u003d clickedTagPath.find(device)\n\t\tif index \u003d\u003d -1:\n\t\t\treturn\n\t\tpathToDevice \u003d clickedTagPath[:index + len(device)]\n\n\t\t\n\t# Navigate to target view, passing the tag to highlight\n\tsystem.perspective.navigate(view \u003d page, params \u003d {\u0027highlightTagPath\u0027:pathToDevice})\n\t\n\t\n" + "script": "\tdata \u003d self.props.selection.data\n\tif not data or len(data) !\u003d 1:\n\t return\n\t\n\trow \u003d data[0]\n\tclickedTagPath \u003d row.get(\"FullTag\", \"\")\n\tMCM \u003d row.get(\"Location\", \"\")\n\t\n\tMCM_Pages_Map \u003d {\n\t\t\"MCM01\": \"Detailed-Views/MCM01 Fluid Inbound Merges 1-4\",\n\t\t\"MCM02\": \"Detailed-Views/MCM02 Fluid Inbound Merges 5-7\",\n\t\t\"MCM03\": \"Detailed-Views/MCM03 Non Con\",\n\t\t\"MCM04\": \"Detailed-Views/MCM04 North Bulk Inbound, Fluid Outbound and Problem Solve\",\n\t\t\"MCM05\": \"Detailed-Views/MCM05 South Bulk Inbound, Fluid Outbound and Problem Solve\",\n\t\t\"MCM06\": \"Detailed-Views/MCM06 Non Con\",\n\t\t\"MCM07\": \"Detailed-Views/MCM07 Bypass\",\n\t}\n\t\n\n\tpage \u003d MCM_Pages_Map.get(MCM)\n\t\n\tif not page:\n\t return\n\t\t\n\tdevice \u003d row.get(\"Device\", \"\")\n\t\n\tif not device or not clickedTagPath:\n\t\treturn\n\n\tpathToDevice \u003d \"\"\n\n#\tcheck for the mcm\n\tif \"MCM\" in device:\n\t\tparts \u003d clickedTagPath.split(\"/\")\n\t\tpathToDevice \u003d \"/\".join(parts[:3])\n\n\telse:\n\t\tindex \u003d clickedTagPath.find(device)\n\t\tif index \u003d\u003d -1:\n\t\t\treturn\n\t\tpathToDevice \u003d clickedTagPath[:index + len(device)]\n\n\tpriority \u003d row.get(\"Priority\", \"\")\n\t\n\tcombined \u003d pathToDevice + \"||\" + priority\n\t\n\t# Navigate to target view, passing the tag to highlight\n\tsystem.perspective.navigate(view \u003d page, params \u003d {\u0027highlightTagPath\u0027: str(combined)})\n\t\n\t\n" }, "scope": "G", "type": "script" @@ -1591,70 +1591,70 @@ { "Description": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "MCM01 - Hello world" + "value": "UL1_4_VFD1 - Voltage" }, "Device": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "MCM01" + "value": "UL1_4_VFD1" }, "Duration": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "01:05:19" + "value": "05:42:49" }, "FullTag": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "System/MCM01/MCM01/Beacon_Light" + "value": "System/MCM02/Conveyor/UL1_4_VFD1/Voltage" }, "ID": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": 12 + "value": 5 }, "Location": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "MCM01" + "value": "MCM02" }, "Priority": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "High" + "value": "Diagnostic" }, "StartTimestamp": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, "value": { "$": [ "ts", 0, - 1750942947091 + 1750956444058 ], - "$ts": 1750939070000 + "$ts": 1750936737000 } }, "Tag": { "style": { - "classes": "Alarms-Styles/High" + "classes": "Alarms-Styles/Diagnostic" }, - "value": "MCM01.HMI.Beacon_Light" + "value": "UL1_4_VFD1.HMI.Voltage" } } ], "mode": "multiple interval", "selectedColumn": "Location", - "selectedRow": 0 + "selectedRow": 3 } }, "type": "ia.display.table"