Glowing by priority

This commit is contained in:
guga kakhadze 2025-06-26 21:30:08 +04:00
parent e44b5d2bc1
commit e5acbda785
18 changed files with 306 additions and 25 deletions

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"
}
}

View File

@ -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)"
}
}
}
}
}

View File

@ -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"