fixed weird bug of docked views opening when other was closed. modified the added styles to the tables

This commit is contained in:
Salijoghli 2025-11-10 14:46:22 +04:00
parent 943c6156bd
commit 5bf6034129
53 changed files with 582 additions and 322 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

View File

@ -110,20 +110,6 @@
}
],
"right": [
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Conv",
"id": "Docked-East-Conv",
"viewParams": {},
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
"autoBreakpoint": 480,
"handle": "hide"
},
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Device",
"id": "Docked-East-Device",
@ -131,7 +117,7 @@
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
@ -145,7 +131,21 @@
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
"autoBreakpoint": 480,
"handle": "hide"
},
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Conv",
"id": "Docked-East-Conv",
"viewParams": {},
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -98,6 +98,32 @@
"type": "property"
}
},
"props.elements[1].style.visibility": {
"binding": {
"config": {
"path": "view.params.InUp"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[1].visibility": {
"binding": {
"config": {
@ -124,6 +150,32 @@
"type": "property"
}
},
"props.elements[2].style.visibility": {
"binding": {
"config": {
"path": "view.params.InLeft"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[2].visibility": {
"binding": {
"config": {
@ -150,6 +202,32 @@
"type": "property"
}
},
"props.elements[3].style.visibility": {
"binding": {
"config": {
"path": "view.params.InDown"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[3].visibility": {
"binding": {
"config": {
@ -176,6 +254,32 @@
"type": "property"
}
},
"props.elements[4].style.visibility": {
"binding": {
"config": {
"path": "view.params.OutUp"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[4].visibility": {
"binding": {
"config": {
@ -202,6 +306,32 @@
"type": "property"
}
},
"props.elements[5].style.visibility": {
"binding": {
"config": {
"path": "view.params.OutRight"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[5].visibility": {
"binding": {
"config": {
@ -228,6 +358,32 @@
"type": "property"
}
},
"props.elements[6].style.visibility": {
"binding": {
"config": {
"path": "view.params.OutDown"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "visible"
},
{
"input": false,
"output": "hidden"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[6].visibility": {
"binding": {
"config": {
@ -319,6 +475,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -332,6 +491,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -345,6 +507,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -358,6 +523,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -371,6 +539,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -384,6 +555,9 @@
"paint": "#000000",
"width": "3.99982"
},
"style": {
"classes": ""
},
"type": "path"
},
{

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

View File

@ -1896,6 +1896,13 @@
"pager": {
"bottom": false
},
"rows": {
"height": 50,
"style": {
"fontSize": "1vmin",
"wordBreak": "break-all"
}
},
"selection": {
"enableRowSelection": false
},

View File

@ -53,7 +53,7 @@
},
"onChange": {
"enabled": null,
"script": "\tname \u003d self.view.custom.device\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t (\u0027PS\u0027, \u0027PressureSensor\u0027),\n\t \t \n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t (\u0027ENCODER\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIOM\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO_\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Chute_Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027PE\u0027, \u0027Photoeye_Chute\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027),\n\t (\u0027S03\u0027, \u0027Scanner\u0027)\n\t\t\n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if key in name:\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
"script": "\tname \u003d self.view.custom.device\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t (\u0027_PS\u0027, \u0027PressureSensor\u0027),\n\t \t \n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t (\u0027ENCODER\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIOM\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO_\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Chute_Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027PE\u0027, \u0027Photoeye_Chute\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027),\n\t (\u0027S03\u0027, \u0027Scanner\u0027)\n\t\t\n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if key in name:\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
},
"persistent": true
},
@ -956,7 +956,7 @@
"system": {
"onShutdown": {
"config": {
"script": "\tself.view.params.name \u003d \"\"\n\tsystem.perspective.closeDock(\"Docked-East-Conv\")"
"script": "\tself.view.params.name \u003d \"\"\n"
},
"scope": "G",
"type": "script"

View File

@ -5029,6 +5029,17 @@
"type": "ia.container.coord"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t\t\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root"
},

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

View File

@ -627,7 +627,7 @@
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset, \"name\":\"\"} )"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Conv\u0027)\n\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset, \"name\":\"\"} )"
},
"scope": "G",
"type": "script"

Binary file not shown.

After

Width:  |  Height:  |  Size: 95 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 967 B

View File

@ -740,121 +740,6 @@
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Setup_Motor_Speeds\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "SetupMotorSpeeds",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Setup Motor Speeds \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"props.enabled": {
"binding": {
"config": {
"expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
},
"type": "expr"
}
},
"props.image.icon.color": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Setup_Motor_Speeds"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#D4D4D4",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/speed"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
}
],
"meta": {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

View File

@ -1,6 +1,6 @@
{
"custom": {
"color": "#1fff1a",
"color": "#000",
"modifiedTag": "System/MCM01/VFD/UL14_1_VFD1",
"priority": "No Active Alarms"
},
@ -259,7 +259,7 @@
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.custom.modifiedTag\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props, section \u003d \"vfd\")\n\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps, \"tags\":tags_table_dataset})"
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027)\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027)\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n\tsystem.perspective.print(\"im\")\n\t#create tags lists for the device\n\tprops \u003d self.view.custom.modifiedTag\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props, section \u003d \"vfd\")\n\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps, \"tags\":tags_table_dataset})\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027)\n\t"
},
"scope": "G",
"type": "script"

View File

@ -71,6 +71,32 @@
"grow": 1
},
"propConfig": {
"props.elements[0].elements[0].style.visibility": {
"binding": {
"config": {
"path": "view.params.LU"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[0].visibility": {
"binding": {
"config": {
@ -97,6 +123,32 @@
"type": "property"
}
},
"props.elements[0].elements[1].style.visibility": {
"binding": {
"config": {
"path": "view.params.RD"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[1].visibility": {
"binding": {
"config": {
@ -123,6 +175,32 @@
"type": "property"
}
},
"props.elements[0].elements[2].style.visibility": {
"binding": {
"config": {
"path": "view.params.LR"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[2].visibility": {
"binding": {
"config": {
@ -149,6 +227,32 @@
"type": "property"
}
},
"props.elements[0].elements[3].style.visibility": {
"binding": {
"config": {
"path": "view.params.RU"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[3].visibility": {
"binding": {
"config": {
@ -175,6 +279,32 @@
"type": "property"
}
},
"props.elements[0].elements[4].style.visibility": {
"binding": {
"config": {
"path": "view.params.RD"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[4].visibility": {
"binding": {
"config": {
@ -201,6 +331,32 @@
"type": "property"
}
},
"props.elements[0].elements[5].style.visibility": {
"binding": {
"config": {
"path": "view.params.RLU"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[5].visibility": {
"binding": {
"config": {
@ -227,6 +383,32 @@
"type": "property"
}
},
"props.elements[0].elements[6].style.visibility": {
"binding": {
"config": {
"path": "view.params.RLD"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[6].visibility": {
"binding": {
"config": {
@ -253,6 +435,32 @@
"type": "property"
}
},
"props.elements[0].elements[7].style.visibility": {
"binding": {
"config": {
"path": "view.params.LRU"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[7].visibility": {
"binding": {
"config": {
@ -279,6 +487,32 @@
"type": "property"
}
},
"props.elements[0].elements[8].style.visibility": {
"binding": {
"config": {
"path": "view.params.LRD"
},
"transforms": [
{
"fallback": "hidden",
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": "hidden"
},
{
"input": true,
"output": "visible"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
},
"props.elements[0].elements[8].visibility": {
"binding": {
"config": {
@ -322,6 +556,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -336,6 +573,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -350,6 +590,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -364,6 +607,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -378,6 +624,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -392,6 +641,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -406,6 +658,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -420,6 +675,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
},
{
@ -434,6 +692,9 @@
"paint": "#000000",
"width": "3.77953"
},
"style": {
"classes": ""
},
"type": "path"
}
],

View File

@ -1,9 +1,9 @@
{
"custom": {
"PLC": "MCM01",
"color": "#FF0000",
"color": "#C2C2C2",
"showTags": true,
"state": "EStopped"
"state": "Offline"
},
"params": {
"devices": [],
@ -1433,6 +1433,13 @@
"pager": {
"bottom": false
},
"rows": {
"height": 45,
"style": {
"fontSize": "1vmin",
"wordBreak": "break-all"
}
},
"selection": {
"enableRowSelection": false
},
@ -1461,7 +1468,7 @@
"grow": 1
},
"props": {
"currentTabIndex": 1,
"currentTabIndex": 3,
"menuType": "modern",
"tabSize": {
"width": 1000
@ -1523,18 +1530,6 @@
"type": "ia.container.flex"
}
],
"events": {
"system": {
"onShutdown": {
"config": {
"id": "\"Docked-East-Conv\"",
"type": "close"
},
"scope": "C",
"type": "dock"
}
}
},
"meta": {
"name": "root"
},

View File

@ -10541,6 +10541,17 @@
"type": "ia.input.button"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t\t\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

View File

@ -110,20 +110,6 @@
}
],
"right": [
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Conv",
"id": "Docked-East-Conv",
"viewParams": {},
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
"autoBreakpoint": 480,
"handle": "hide"
},
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Device",
"id": "Docked-East-Device",
@ -131,7 +117,7 @@
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
@ -145,7 +131,21 @@
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": true,
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",
"autoBreakpoint": 480,
"handle": "hide"
},
{
"viewPath": "autStand/Docked_Views/Controller-Equipment/Information-Docked-East-Conv",
"id": "Docked-East-Conv",
"viewParams": {},
"size": 600,
"resizable": false,
"iconUrl": "",
"modal": false,
"show": "onDemand",
"anchor": "fixed",
"content": "cover",

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T13:56:58Z"
"timestamp": "2025-11-10T10:16:38Z"
},
"lastModificationSignature": "32671315d6e4d3499c2100ade0d1bb232377f26d7b04b8252741a52da2daef1d"
"lastModificationSignature": "5b1189ff0b6031613a2988b46df4afc0407bd49f8fc996f73e3d6ad8097fb3f0"
}
}

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-08T15:10:47Z"
"timestamp": "2025-11-10T10:19:07Z"
},
"lastModificationSignature": "f4d0e2571ccd3268ef56565269e6b43b9b0d3d74c3356ce2fce437ab632be082"
"lastModificationSignature": "88806a67214887f9fb31c99e07b5c00a4c4ad74265cd1bca7f24e88029d11749"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 36 KiB

View File

@ -5029,6 +5029,17 @@
"type": "ia.container.coord"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t\t\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root"
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-10T07:51:12Z"
"timestamp": "2025-11-10T10:19:46Z"
},
"lastModificationSignature": "7ed61682197c07d06f24ffb96111945db9934345f101afd1a1e3c4c29405bc15"
"lastModificationSignature": "a51140aef0357526d24466f0de4540d68c2b56e110a9fe9dcb5f79a4a23bde5b"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

After

Width:  |  Height:  |  Size: 95 KiB

View File

@ -10541,6 +10541,17 @@
"type": "ia.input.button"
}
],
"events": {
"dom": {
"onClick": {
"config": {
"script": "\t\t\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027),\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "root"
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T17:47:00Z"
"timestamp": "2025-11-10T10:41:30Z"
},
"lastModificationSignature": "f9bab69c4fad26a065807f3d0102e95d25f9ed5dd1dea2737416243d6d81c179"
"lastModificationSignature": "a733b1caca71b0ff0eb069cec5cdf9de8dda0aa8198f4222dda744b0eea54143"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

View File

@ -1,9 +1,9 @@
{
"custom": {
"PLC": "MCM01",
"color": "#FF0000",
"color": "#C2C2C2",
"showTags": true,
"state": "EStopped"
"state": "Offline"
},
"params": {
"devices": [],
@ -1433,6 +1433,13 @@
"pager": {
"bottom": false
},
"rows": {
"height": 45,
"style": {
"fontSize": "1vmin",
"wordBreak": "break-all"
}
},
"selection": {
"enableRowSelection": false
},
@ -1461,7 +1468,7 @@
"grow": 1
},
"props": {
"currentTabIndex": 1,
"currentTabIndex": 3,
"menuType": "modern",
"tabSize": {
"width": 1000
@ -1523,18 +1530,6 @@
"type": "ia.container.flex"
}
],
"events": {
"system": {
"onShutdown": {
"config": {
"id": "\"Docked-East-Conv\"",
"type": "close"
},
"scope": "C",
"type": "dock"
}
}
},
"meta": {
"name": "root"
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-10T08:31:52Z"
"timestamp": "2025-11-10T10:44:37Z"
},
"lastModificationSignature": "becc8a5c7acecf6f8adb56342e078d629e2aae3e26c0db451c7b495dc5b7e310"
"lastModificationSignature": "d2691e569e457d47501cb29c9b24d3a11bb6ede2619d9db3d3fd5a2043ba3807"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 16 KiB

View File

@ -53,7 +53,7 @@
},
"onChange": {
"enabled": null,
"script": "\tname \u003d self.view.custom.device\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t (\u0027PS\u0027, \u0027PressureSensor\u0027),\n\t \t \n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t (\u0027ENCODER\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIOM\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO_\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Chute_Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027PE\u0027, \u0027Photoeye_Chute\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027),\n\t (\u0027S03\u0027, \u0027Scanner\u0027)\n\t\t\n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if key in name:\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
"script": "\tname \u003d self.view.custom.device\n\t\n\t# Use a list of tuples to maintain order - longer matches first\n\tdevice_mapping \u003d [\n\t (\u0027_PS\u0027, \u0027PressureSensor\u0027),\n\t \t \n\t # Encoder variations (check these first before \u0027EN\u0027)\n\t (\u0027ENSH\u0027, \u0027Encoder\u0027),\n\t (\u0027ENW\u0027, \u0027Encoder\u0027),\n\t (\u0027ENCODER\u0027, \u0027Encoder\u0027),\n\t \n\t # Photoeye variations\n\t (\u0027LRPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t \n\t # IO_Block variations\n\t (\u0027SIO\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIOM\u0027, \u0027IO_Block\u0027),\n\t (\u0027FIO_\u0027, \u0027IO_Block\u0027),\n\t \n\t # Button variations (check after encoder)\n\t (\u0027EN\u0027, \u0027Chute_Button\u0027),\n\t (\u0027JR\u0027, \u0027Button\u0027),\n\t \n\t # Photoeye (shorter version after longer ones)\n\t (\u0027TPE\u0027, \u0027Photoeye_Tracking\u0027),\n\t (\u0027PE\u0027, \u0027Photoeye_Chute\u0027),\n\t \n\t # Other devices variations \n\t (\u0027DPM\u0027, \u0027DPM\u0027),\n\t (\u0027EPC\u0027, \u0027EPC\u0027),\n\t (\u0027MCM\u0027, \u0027MCM\u0027),\n\t (\u0027PRX\u0027, \u0027ProxSensor\u0027),\n\t (\u0027SS\u0027, \u0027SS_Button\u0027),\n\t (\u0027SOL\u0027, \u0027Solenoid\u0027),\n\t \n\t # Beacon Variations (single letters last)\n\t (\u0027B\u0027, \u0027Beacon\u0027),\n\t (\u0027G\u0027, \u0027Beacon\u0027),\n\t (\u0027R\u0027, \u0027Beacon\u0027),\n\t (\u0027H\u0027, \u0027Beacon\u0027),\n\t (\u0027A\u0027, \u0027Beacon\u0027),\n\t (\u0027S03\u0027, \u0027Scanner\u0027)\n\t\t\n\t]\n\t\n\tview \u003d \"\"\n\t\n\tfor key, value in device_mapping:\n\t if key in name:\n\t\t\tview \u003d value\n\t\t\tself.custom.view \u003d \"autStand/Equipment/\" + view\n\t\t\treturn \n\t\n\tself.custom.view \u003d \"autStand/Equipment/Camera\""
},
"persistent": true
},
@ -649,6 +649,13 @@
"pager": {
"bottom": false
},
"rows": {
"height": 45,
"style": {
"fontSize": "1vmin",
"wordBreak": "break-all"
}
},
"selection": {
"enableRowSelection": false
},
@ -956,7 +963,7 @@
"system": {
"onShutdown": {
"config": {
"script": "\tself.view.params.name \u003d \"\"\n\tsystem.perspective.closeDock(\"Docked-East-Conv\")"
"script": "\tself.view.params.name \u003d \"\"\n"
},
"scope": "G",
"type": "script"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T10:01:00Z"
"timestamp": "2025-11-10T10:42:10Z"
},
"lastModificationSignature": "282655d418a2c0b61a8e61b8c8aa483e3c1767e8e3545798ac79f2cf2ff9b9d2"
"lastModificationSignature": "422eef922474d7f430c6e57b24bad3c3eb0cfbe9b2d6926e900f8372e1f441dc"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 38 KiB

View File

@ -1896,6 +1896,13 @@
"pager": {
"bottom": false
},
"rows": {
"height": 50,
"style": {
"fontSize": "1vmin",
"wordBreak": "break-all"
}
},
"selection": {
"enableRowSelection": false
},

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-08T15:12:44Z"
"timestamp": "2025-11-10T10:26:48Z"
},
"lastModificationSignature": "992041d78cd453e037c73995ea3be3a51e94e708736e3ee05761fc0508aeda1b"
"lastModificationSignature": "89d68b613c042243116e5d7c42f539d3bd5995d13daa0a3fe2796c8b31e1bfb4"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-08T09:39:39Z"
"timestamp": "2025-11-10T10:23:32Z"
},
"lastModificationSignature": "81bcf7a5ec3ffb3406c5eb858d0e60afa9b2f742f16fa9c1868a1ea882509ba4"
"lastModificationSignature": "6dc3ac45d7422b3c753656e87eef2d12716bf11e15b789989d615c2a80dcc2f6"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View File

@ -740,121 +740,6 @@
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttag_name \u003d self.view.params.value.tagProps[0]\n\ttag_path \u003d \"[\" + self.session.custom.fc+ \"_SCADA_TAG_PROVIDER]\"+\"System/\"+tag_name +\"/\" + tag_name+\"/Setup_Motor_Speeds\"\n\tsystem.tag.writeBlocking([tag_path],[True])"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "SetupMotorSpeeds",
"tooltip": {
"enabled": true,
"location": "top-left"
}
},
"position": {
"basis": "80px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027Setup Motor Speeds \u0027 + {view.params.value.tagProps[0]},\"You do not have Maintenance or Administrator role!\")"
},
"type": "expr"
}
},
"props.enabled": {
"binding": {
"config": {
"expression": "indexOf({session.props.auth.user.roles}, \"Administrator\") \u003e\u003d 0 || indexOf({session.props.auth.user.roles}, \"Maintenance\") \u003e\u003d 0"
},
"type": "expr"
}
},
"props.image.icon.color": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027#000000\u0027,\u0027#979797\u0027)"
},
"type": "expr"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.value.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]System/{0}/{0}/Setup_Motor_Speeds"
},
"transforms": [
{
"expression": "coalesce({value},{view.params.forceFaultStatus},0)",
"type": "expression"
},
{
"fallback": "#D4D4D4",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "tag"
}
},
"props.style.borderStyle": {
"binding": {
"config": {
"expression": "if({this.props.enabled},\u0027solid\u0027,\u0027none\u0027)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/speed"
},
"position": "top",
"width": 32
},
"style": {
"borderColor": "#4A4A4A",
"borderWidth": 2,
"classes": "\n",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
},
"text": "",
"textStyle": {
"fontSize": 12,
"fontWeight": "bold",
"textAlign": "center"
}
},
"type": "ia.input.button"
}
],
"meta": {

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-08T15:27:53Z"
"timestamp": "2025-11-10T09:58:34Z"
},
"lastModificationSignature": "7a74fcfd86544cf0256d0fd3a8a6bf8af4797035c5fb584449e8c97c684a2c81"
"lastModificationSignature": "814f80a4249d21af77668f15f9aacbe19bf4e806d2f70a7b7f62c7ce8028ea23"
}
}

View File

@ -627,7 +627,7 @@
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset, \"name\":\"\"} )"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Conv\u0027)\n\t#create tags lists for the device\n\tprops \u003d self.view.params.tagProps\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props[0])\n\tsystem.perspective.openDock(\u0027Docked-East-Device\u0027,params\u003d{\u0027tagProps\u0027:props, \"tags\":tags_table_dataset, \"name\":\"\"} )"
},
"scope": "G",
"type": "script"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-11-07T17:47:00Z"
"timestamp": "2025-11-10T10:02:24Z"
},
"lastModificationSignature": "c6d9e7d7ec59326ce5388e25b505f007a19f6c7351d41f3306c3d9f20abf8c81"
"lastModificationSignature": "c1245ceb47aad40d90f0397591c5cc910b2f1f86968e5226490de4d805448de0"
}
}

View File

@ -1,6 +1,6 @@
{
"custom": {
"color": "#1fff1a",
"color": "#000",
"modifiedTag": "System/MCM01/VFD/UL14_1_VFD1",
"priority": "No Active Alarms"
},
@ -259,7 +259,7 @@
"dom": {
"onClick": {
"config": {
"script": "\t#create tags lists for the device\n\tprops \u003d self.view.custom.modifiedTag\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props, section \u003d \"vfd\")\n\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps, \"tags\":tags_table_dataset})"
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027)\n\tsystem.perspective.closeDock(\u0027Docked-East-VFD\u0027)\n\tsystem.perspective.closeDock(\u0027Docked-East-Conv\u0027)\n\tsystem.perspective.print(\"im\")\n\t#create tags lists for the device\n\tprops \u003d self.view.custom.modifiedTag\n\ttags_table_dataset \u003d autStand.devices.getAllTags(self, props, section \u003d \"vfd\")\n\tsystem.perspective.openDock(\u0027Docked-East-VFD\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps, \"tags\":tags_table_dataset})\n\tsystem.perspective.closeDock(\u0027Docked-East-Device\u0027)\n\t"
},
"scope": "G",
"type": "script"