Glowing by priority
This commit is contained in:
parent
e44b5d2bc1
commit
e5acbda785
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -1,10 +1,14 @@
|
|||||||
def handleTagHighlight(view, currentValue):
|
def handleTagHighlight(view, currentValue):
|
||||||
tag = currentValue.value
|
tag_priority = currentValue.value
|
||||||
|
|
||||||
if tag == "":
|
if tag_priority == None:
|
||||||
return
|
return
|
||||||
|
|
||||||
splitedTag = str(tag).split("/")
|
parts = str(tag_priority).split("||")
|
||||||
|
tag = parts[0]
|
||||||
|
|
||||||
|
splitedTag = tag.split("/")
|
||||||
|
|
||||||
deviceName = splitedTag[-1]
|
deviceName = splitedTag[-1]
|
||||||
|
|
||||||
Docked_East_Map = {
|
Docked_East_Map = {
|
||||||
@ -22,6 +26,11 @@ def handleTagHighlight(view, currentValue):
|
|||||||
|
|
||||||
components = view.rootContainer.getChildren()
|
components = view.rootContainer.getChildren()
|
||||||
|
|
||||||
|
priority = parts[1]
|
||||||
|
|
||||||
|
# if priority == "":
|
||||||
|
# priority = "Default"
|
||||||
|
|
||||||
for child in components:
|
for child in components:
|
||||||
params = child.props.get("params", {})
|
params = child.props.get("params", {})
|
||||||
tagProps = params.get("tagProps", {})
|
tagProps = params.get("tagProps", {})
|
||||||
@ -33,7 +42,7 @@ def handleTagHighlight(view, currentValue):
|
|||||||
tagPath = tagsList[0]
|
tagPath = tagsList[0]
|
||||||
|
|
||||||
if tag == tagPath:
|
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})
|
system.perspective.openDock(Docked_East_View, params={'tagProps': tagProps})
|
||||||
return True
|
return True
|
||||||
|
|
||||||
|
|||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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"
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -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)"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -689,7 +689,7 @@
|
|||||||
"component": {
|
"component": {
|
||||||
"onRowClick": {
|
"onRowClick": {
|
||||||
"config": {
|
"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",
|
"scope": "G",
|
||||||
"type": "script"
|
"type": "script"
|
||||||
@ -1591,70 +1591,70 @@
|
|||||||
{
|
{
|
||||||
"Description": {
|
"Description": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "MCM01 - Hello world"
|
"value": "UL1_4_VFD1 - Voltage"
|
||||||
},
|
},
|
||||||
"Device": {
|
"Device": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "MCM01"
|
"value": "UL1_4_VFD1"
|
||||||
},
|
},
|
||||||
"Duration": {
|
"Duration": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "01:05:19"
|
"value": "05:42:49"
|
||||||
},
|
},
|
||||||
"FullTag": {
|
"FullTag": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "System/MCM01/MCM01/Beacon_Light"
|
"value": "System/MCM02/Conveyor/UL1_4_VFD1/Voltage"
|
||||||
},
|
},
|
||||||
"ID": {
|
"ID": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": 12
|
"value": 5
|
||||||
},
|
},
|
||||||
"Location": {
|
"Location": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "MCM01"
|
"value": "MCM02"
|
||||||
},
|
},
|
||||||
"Priority": {
|
"Priority": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "High"
|
"value": "Diagnostic"
|
||||||
},
|
},
|
||||||
"StartTimestamp": {
|
"StartTimestamp": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": {
|
"value": {
|
||||||
"$": [
|
"$": [
|
||||||
"ts",
|
"ts",
|
||||||
0,
|
0,
|
||||||
1750942947091
|
1750956444058
|
||||||
],
|
],
|
||||||
"$ts": 1750939070000
|
"$ts": 1750936737000
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"Tag": {
|
"Tag": {
|
||||||
"style": {
|
"style": {
|
||||||
"classes": "Alarms-Styles/High"
|
"classes": "Alarms-Styles/Diagnostic"
|
||||||
},
|
},
|
||||||
"value": "MCM01.HMI.Beacon_Light"
|
"value": "UL1_4_VFD1.HMI.Voltage"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"mode": "multiple interval",
|
"mode": "multiple interval",
|
||||||
"selectedColumn": "Location",
|
"selectedColumn": "Location",
|
||||||
"selectedRow": 0
|
"selectedRow": 3
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"type": "ia.display.table"
|
"type": "ia.display.table"
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user