modified search function and page props

This commit is contained in:
Salijoghli 2025-09-29 19:09:01 +04:00
parent 3691f71565
commit 66b23f1f8d
50 changed files with 1075 additions and 65 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -337,6 +337,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -587,6 +631,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -641,6 +729,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -708,6 +840,34 @@
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
@ -764,6 +924,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 B

View File

@ -0,0 +1,83 @@
def deviceType(self, path, props):
try:
docked_view = "Docked-East-"
devices = []
tags = []
if "Conveyor" in path:
docked_view += "Conv"
devices = autStand.devices.build_device_table(self)
system.perspective.print(devices)
elif "VFD" in path:
docked_view += "VFD"
else:
docked_view += "Device"
tags = autStand.devices.getAllTags(self, props[0])
return [docked_view, tags, devices]
except Exception as e:
import traceback
msg = "Error in deviceType: {}\n{}".format(str(e), traceback.format_exc())
system.perspective.print(msg)
return None
def handleTagHighlight(view, currentValue):
tag_priority = currentValue.value
# --- CASE 1: Remove all highlights by applying CLEAR class ---
if str(tag_priority).upper() == "CLEAR":
for child in view.rootContainer.getChildren()[0].getChildren():
try:
currentClasses = child.props.style['classes'].split(" ")
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style.classes = " ".join(filtered)
except:
pass
return False
parts = str(tag_priority).split("||")
tag = parts[0]
splitedTag = tag.split("/")
deviceName = splitedTag[-1]
components = view.rootContainer.getChildren()[0].getChildren()
priority = parts[1]
foundMatch = False
# clear all highlights and apply new one when found
for child in components:
params = child.props.get("params", {})
tagProps = params.get("tagProps", {})
tagsList = list(tagProps)
if len(tagsList) == 0:
continue
# child.props.style.classes = ""
currentClasses = child.props.style['classes'].split(" ")
# strip only highlight-related classes
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style["classes"] = " ".join(filtered)
tagPath = tagsList[0]
if tag == tagPath:
child.props.style["classes"] += " Highlight/Pulse-" + priority
path = child.props.get("path")
docked_view = deviceType(view, path, tagProps)
system.perspective.openDock(docked_view[0], params = {'tagProps':tagProps, 'tags': docked_view[1], 'devices':docked_view[2]})
foundMatch = True
return foundMatch

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -113,8 +113,8 @@
}
},
"rotation": "0deg",
"show_dpm_device_view": false,
"show_dpm_view": false,
"show_dpm_device_view": true,
"show_dpm_view": true,
"timewidget": {
"endDate": {
"$": [

View File

@ -1,7 +1,7 @@
{
"custom": {},
"params": {
"Tab_ID": 1,
"Tab_ID": 2,
"Table": "Status_tab"
},
"propConfig": {
@ -1641,7 +1641,7 @@
"width": 1.0016
},
"props": {
"currentTabIndex": 1,
"currentTabIndex": 2,
"tabSize": {
"width": 130
},
@ -3372,7 +3372,7 @@
},
"props": {
"dismissOnSelect": false,
"formattedValue": "Sep 29, 2025 3:12 PM",
"formattedValue": "Sep 29, 2025 5:08 PM",
"formattedValues": {
"date": "Mar 26, 2021",
"datetime": "Mar 26, 2021 12:00 AM",
@ -3382,9 +3382,9 @@
"$": [
"ts",
192,
1759151556791
1759158491988
],
"$ts": 1759144356000
"$ts": 1759151291000
}
},
"type": "ia.input.date-time-input"
@ -3532,7 +3532,7 @@
},
"props": {
"dismissOnSelect": false,
"formattedValue": "Sep 29, 2025 5:12 PM",
"formattedValue": "Sep 29, 2025 7:08 PM",
"formattedValues": {
"date": "Mar 29, 2021",
"datetime": "Mar 29, 2021 1:37 PM",
@ -3542,9 +3542,9 @@
"$": [
"ts",
192,
1759151556791
1759158491988
],
"$ts": 1759151556000
"$ts": 1759158491000
}
},
"type": "ia.input.date-time-input"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

View File

@ -0,0 +1,519 @@
{
"custom": {
"color": "#C2C2C2",
"priority": "No Active Alarms",
"state": "Closed",
"string": "Non Powered Equipment"
},
"params": {
"tagProps": [
"System/MCM01/Conveyors/Ul15_1",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.color": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Color"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "#C2C2C2"
},
{
"input": 1,
"output": "#FF0000"
},
{
"input": 2,
"output": "#FFA500"
},
{
"input": 3,
"output": "#0008FF"
},
{
"input": 4,
"output": "#00FF00"
},
{
"input": 5,
"output": "#FFF700"
},
{
"input": 6,
"output": "#87CEEB"
},
{
"input": 7,
"output": "#90EE90"
},
{
"input": 8,
"output": "#964B00"
},
{
"input": 9,
"output": "#FFFFFF"
},
{
"input": 10,
"output": "#000000"
},
{
"input": 11,
"output": "#8B0000"
},
{
"input": 12,
"output": "#808080"
},
{
"input": 13,
"output": "#8B8000"
},
{
"input": 14,
"output": "#006400"
},
{
"input": 15,
"output": "#FFFFC5"
},
{
"input": 16,
"output": "#00008B"
},
{
"input": 17,
"output": "#FF7276"
},
{
"input": 18,
"output": "#556B2F"
},
{
"input": 19,
"output": "#B43434"
},
{
"input": 20,
"output": "#4682B4"
},
{
"input": 21,
"output": "#FFD700"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/Priority"
},
"transforms": [
{
"expression": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "No Active Alarms"
},
{
"input": 1,
"output": "High"
},
{
"input": 2,
"output": "Medium"
},
{
"input": 3,
"output": "Low"
},
{
"input": 4,
"output": "Diagnostic"
}
],
"outputType": "scalar",
"type": "map"
}
],
"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": "coalesce({value},0)",
"type": "expression"
},
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": 0,
"output": "Closed"
},
{
"input": 1,
"output": "Actuated"
},
{
"input": 2,
"output": "Communication Faulted"
},
{
"input": 3,
"output": "Conveyor Running In Maintenance Mode"
},
{
"input": 4,
"output": "Disabled"
},
{
"input": 5,
"output": "Disconnected"
},
{
"input": 6,
"output": "Stopped"
},
{
"input": 7,
"output": "Enabled Not Running"
},
{
"input": 8,
"output": "Encoder Fault"
},
{
"input": 9,
"output": "Energy Management"
},
{
"input": 10,
"output": "ESTOP Was Actuated"
},
{
"input": 11,
"output": "EStopped"
},
{
"input": 12,
"output": "EStopped Locally"
},
{
"input": 13,
"output": "Extended Faulted"
},
{
"input": 14,
"output": "Full"
},
{
"input": 15,
"output": "Gaylord Start Pressed"
},
{
"input": 16,
"output": "Jam Fault"
},
{
"input": 17,
"output": "Jammed"
},
{
"input": 18,
"output": "Loading Allowed"
},
{
"input": 19,
"output": "Loading Not Allowed"
},
{
"input": 20,
"output": "Low Air Pressure Fault Was Present"
},
{
"input": 21,
"output": "Maintenance Mode"
},
{
"input": 22,
"output": "Conveyor Stopped In Maintenance Mode"
},
{
"input": 23,
"output": "Motor Faulted"
},
{
"input": 24,
"output": "Motor Was Faulted"
},
{
"input": 25,
"output": "Normal"
},
{
"input": 26,
"output": "Off Inactive"
},
{
"input": 27,
"output": "Open"
},
{
"input": 28,
"output": "PLC Ready To Run"
},
{
"input": 29,
"output": "Package Release Pressed"
},
{
"input": 30,
"output": "Power Branch Was Faulted"
},
{
"input": 31,
"output": "Pressed"
},
{
"input": 32,
"output": "Ready To Receive"
},
{
"input": 33,
"output": "Running"
},
{
"input": 34,
"output": "Started"
},
{
"input": 35,
"output": "Stopped"
},
{
"input": 36,
"output": "System Started"
},
{
"input": 37,
"output": "Unknown"
},
{
"input": 38,
"output": "VFD Fault"
},
{
"input": 39,
"output": "Conveyor Running In Power Saving Mode"
},
{
"input": 40,
"output": "Conveyor Jogging In Maintenance Mode"
},
{
"input": 41,
"output": "VFD Reset Required"
},
{
"input": 42,
"output": "Jam Reset Push Button Pressed"
},
{
"input": 43,
"output": "Start Push Button Pressed"
},
{
"input": 44,
"output": "Stop Push Button Pressed"
},
{
"input": 45,
"output": "No Container"
},
{
"input": 46,
"output": "Ready To Be Enabled"
},
{
"input": 47,
"output": "Half Full"
},
{
"input": 48,
"output": "Enabled"
},
{
"input": 49,
"output": "Tipper Faulted"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 69,
"width": 49
}
},
"root": {
"children": [
{
"meta": {
"name": "Conveyor45"
},
"position": {
"height": 0.9855,
"width": 0.9796
},
"propConfig": {
"props.elements[1].elements[0].fill.paint": {
"binding": {
"config": {
"path": "view.custom.color"
},
"type": "property"
}
}
},
"props": {
"elements": [
{
"id": "defs1",
"name": "defs1",
"type": "defs"
},
{
"elements": [
{
"d": "m 0.61872656,19.047242 0.185181,-7.76481 C 2.3211966,6.4490419 5.3844746,3.4831579 9.6680236,0.93748089 L 13.582549,7.8726519 c -2.984985,1.33473 -4.2291194,3.3482401 -4.9990764,6.5174301 l -0.08744,4.67802 z",
"fill": {
"opacity": "1"
},
"id": "path26615",
"name": "path26615",
"stroke": {
"dasharray": "none",
"opacity": "1",
"paint": "#000000",
"width": 0.45
},
"type": "path"
}
],
"id": "layer1",
"name": "layer1",
"type": "group"
}
],
"viewBox": "0 0 14 19"
},
"type": "ia.shapes.svg"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t#create devices and tags lists for the conveyor\n\tprops \u003d self.view.params.tagProps[0]\n\tautStand.devices.build_device_mapping(props)\n\tdevice_table_dataset \u003d autStand.devices.build_device_table(self)\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props)\n\tsystem.perspective.openDock(\u0027Docked-East-Conv\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps, \"devices\": device_table_dataset, \"tags\":tags_table_dataset})"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root",
"tooltip": {
"enabled": true
}
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if(\n {view.custom.state} !\u003d \"Closed\",\n \"Source Id: \" + {view.params.tagProps[0]} + \", Priority: \" + {view.custom.priority} + \", State: \" + {view.custom.state},\n \"Device Disconnected\"\n)\n"
},
"type": "expr"
}
}
},
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
}
},
"type": "ia.container.coord"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 953 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -1733,11 +1733,11 @@
"position": {
"height": 0.0185,
"rotate": {
"angle": "270deg"
"angle": "90deg"
},
"width": 0.0286,
"x": 0.7716,
"y": 0.2878
"y": 0.2777
},
"props": {
"params": {
@ -1756,7 +1756,7 @@
},
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"classes": "hover",
"classes": "hover-90",
"overflow": "visible"
}
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -337,6 +337,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -587,6 +631,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -641,6 +729,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",
@ -708,6 +840,34 @@
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
@ -764,6 +924,50 @@
"viewPath": "autStand/Docked_Views/Docked-West"
}
],
"right": [
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Device",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Device"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-Conv",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Conv"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-VFD",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 600,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-VFD"
}
],
"top": [
{
"anchor": "fixed",

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-26T12:13:18Z"
"timestamp": "2025-09-29T13:52:16Z"
},
"lastModificationSignature": "fa3d02925a7e5e1c1202b72fcda7e62d918e394c7f8f4f0c9cf669e9e7484490"
"lastModificationSignature": "52f13e0e3f755c4ef7d1d1bda49fcf6e8b1b8f6a8e73a1359a664d4464ec1be9"
}
}

View File

@ -113,8 +113,8 @@
}
},
"rotation": "0deg",
"show_dpm_device_view": false,
"show_dpm_view": false,
"show_dpm_device_view": true,
"show_dpm_view": true,
"timewidget": {
"endDate": {
"$": [

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-29T13:03:45Z"
"timestamp": "2025-09-29T14:47:31Z"
},
"lastModificationSignature": "1522202a7aeaaf110b164a96f656d592f4442a5c03bb5ab1239eeb2cc0f6bfd9"
"lastModificationSignature": "4410eb4115cd2e23bbb9f6230ecf61de49fea5ccefecd63ca1c4086571c02de0"
}
}

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-26T10:20:00Z"
"timestamp": "2025-09-29T14:46:56Z"
},
"lastModificationSignature": "b3fc73fd8ffeaf745bb873ac10084bd1142c865d5d251d593f0c1b091d3129df"
"lastModificationSignature": "17ebe02474fe0e5c320055c4c0659ca9b15daacd29a8c058199cec38217cb411"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 59 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-29T10:28:07Z"
"timestamp": "2025-09-29T15:02:00Z"
},
"lastModificationSignature": "65262ff76e1274005d9f075c3a9aa4510a2dbe24efc100841d7ac670e31645bd"
"lastModificationSignature": "b148aabc6cae1ef8c7aee06edb4dc45140d8f9d039eb7d8daafcca7a4697f4a6"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

After

Width:  |  Height:  |  Size: 56 KiB

View File

@ -1733,11 +1733,11 @@
"position": {
"height": 0.0185,
"rotate": {
"angle": "270deg"
"angle": "90deg"
},
"width": 0.0286,
"x": 0.7716,
"y": 0.2878
"y": 0.2777
},
"props": {
"params": {
@ -1756,7 +1756,7 @@
},
"path": "autStand/Equipment/Photoeye_Tracking",
"style": {
"classes": "hover",
"classes": "hover-90",
"overflow": "visible"
}
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-26T12:25:47Z"
"timestamp": "2025-09-29T14:46:51Z"
},
"lastModificationSignature": "30bb392f05e8c509d2132b1bd61710f7174fa89c1267c163a2d7a9f496a4276b"
"lastModificationSignature": "78969bcb47c6469a41e9a24c256eba638944aa58546571cbedf47584b369dd29"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 59 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-25T14:18:03Z"
"timestamp": "2025-09-29T15:03:16Z"
},
"lastModificationSignature": "c683041b40921a3da08a3f5e1e1d96d3e72e1ba6a44b5b93e48621278d53428a"
"lastModificationSignature": "0e5be2c7eaebc021b3cce47b16a6e8a502585638d615f177b71299dfd7a8a43a"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.7 KiB

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-26T10:00:33Z"
"timestamp": "2025-09-29T14:43:17Z"
},
"lastModificationSignature": "b191dbce708da5fb71ed970b53fcf1d5b1dbc17753ba4094e6d3656ddf01506b"
"lastModificationSignature": "a24afddb67821ef84448eeda2304112da26cb750bbcad1a7b7d81775573fc69f"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 953 B

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-26T13:14:19Z"
"timestamp": "2025-09-29T13:38:54Z"
},
"lastModificationSignature": "5d680280778a17d8abf4a8343937c865b00d0171186881028a1fd05ce17cd0ab"
"lastModificationSignature": "44d789ea51d7ffae05d47f986137a8bba531163ee7a40ae52096aafe0b4cd0a6"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 566 B

After

Width:  |  Height:  |  Size: 335 B

View File

@ -511,8 +511,7 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer",
"overflow": "hidden"
"cursor": "pointer"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-29T13:12:37Z"
"timestamp": "2025-09-29T15:08:12Z"
},
"lastModificationSignature": "389f01fd13a9dafc5f002b77858a2fd7e170339f81d14bd17047549c9ad04f40"
"lastModificationSignature": "9ff85561bcc9b1c82d66b076daf32df80eb50c0fca5069f1012f96b42b72dc31"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 12 KiB

View File

@ -1,7 +1,7 @@
{
"custom": {},
"params": {
"Tab_ID": 1,
"Tab_ID": 2,
"Table": "Status_tab"
},
"propConfig": {
@ -1641,7 +1641,7 @@
"width": 1.0016
},
"props": {
"currentTabIndex": 1,
"currentTabIndex": 2,
"tabSize": {
"width": 130
},
@ -3372,7 +3372,7 @@
},
"props": {
"dismissOnSelect": false,
"formattedValue": "Sep 29, 2025 3:12 PM",
"formattedValue": "Sep 29, 2025 5:08 PM",
"formattedValues": {
"date": "Mar 26, 2021",
"datetime": "Mar 26, 2021 12:00 AM",
@ -3382,9 +3382,9 @@
"$": [
"ts",
192,
1759151556791
1759158491988
],
"$ts": 1759144356000
"$ts": 1759151291000
}
},
"type": "ia.input.date-time-input"
@ -3532,7 +3532,7 @@
},
"props": {
"dismissOnSelect": false,
"formattedValue": "Sep 29, 2025 5:12 PM",
"formattedValue": "Sep 29, 2025 7:08 PM",
"formattedValues": {
"date": "Mar 29, 2021",
"datetime": "Mar 29, 2021 1:37 PM",
@ -3542,9 +3542,9 @@
"$": [
"ts",
192,
1759151556791
1759158491988
],
"$ts": 1759151556000
"$ts": 1759158491000
}
},
"type": "ia.input.date-time-input"

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-29T13:12:37Z"
"timestamp": "2025-09-29T15:08:12Z"
},
"lastModificationSignature": "a69ec02dca3e11e6e956ab40df1d3b03738d7acdcf3e912d7000e7b86107c67e"
"lastModificationSignature": "3e671b12b5266677a2495110dd9e8db595b96262d45a818bcf0423d31d0d7808"
}
}

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-29T13:12:37Z"
"timestamp": "2025-09-29T15:08:12Z"
},
"lastModificationSignature": "417448126696558992635ed6e66340279b255b794c7b15c249bc3318e19437b0"
"lastModificationSignature": "bb359db8a1e01343fb33eda82566aaee11d9c85c1f19911c62f066eddc3949d9"
}
}

View File

@ -15,9 +15,7 @@ def deviceType(self, path, props):
docked_view += "Device"
tags = autStand.devices.getAllTags(self, props[0])
system.perspective.print(tags)
# return 1
return [docked_view, tags, devices]
except Exception as e:
@ -29,24 +27,22 @@ def deviceType(self, path, props):
def handleTagHighlight(view, currentValue):
tag_priority = currentValue.value
if not "||" in tag_priority:
return
# --- CASE 1: Remove all highlights by applying CLEAR class ---
if not tag_priority or str(tag_priority).upper() == "CLEAR":
if str(tag_priority).upper() == "CLEAR":
for child in view.rootContainer.getChildren()[0].getChildren():
try:
child.props.style.classes = ""
currentClasses = child.props.style['classes'].split(" ")
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style.classes = " ".join(filtered)
except:
pass
pass
return False
parts = str(tag_priority).split("||")
tag = parts[0]
system.perspective.print(tag)
splitedTag = tag.split("/")
deviceName = splitedTag[-1]
@ -54,8 +50,6 @@ def handleTagHighlight(view, currentValue):
priority = parts[1]
system.perspective.print(priority)
foundMatch = False
# clear all highlights and apply new one when found
@ -67,12 +61,19 @@ def handleTagHighlight(view, currentValue):
if len(tagsList) == 0:
continue
child.props.style.classes = ""
# child.props.style.classes = ""
currentClasses = child.props.style['classes'].split(" ")
# strip only highlight-related classes
filtered = [c for c in currentClasses if not c.startswith("Highlight/")]
child.props.style["classes"] = " ".join(filtered)
tagPath = tagsList[0]
if tag == tagPath:
child.props.style["classes"] = "Highlight/Pulse-" + priority
child.props.style["classes"] += " Highlight/Pulse-" + priority
path = child.props.get("path")
docked_view = deviceType(view, path, tagProps)
system.perspective.openDock(docked_view[0], params = {'tagProps':tagProps, 'tags': docked_view[1], 'devices':docked_view[2]})

View File

@ -9,9 +9,9 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-25T13:05:53Z"
"timestamp": "2025-09-29T15:08:12Z"
},
"hintScope": 2,
"lastModificationSignature": "db71169d0b0acd29c4e789322d8721171c733a24db2a19994da3a55ba662489e"
"lastModificationSignature": "f4c805a7a2b9a133a66fce364da748644fd71a3d9e1349162a95fdd5882f3e2a"
}
}