docked views for photoeyes. made every view responsive, where we had texts in them. gave userSelect none to the views to disalbe text selection

This commit is contained in:
Salijoghli 2025-09-03 20:07:34 +04:00
parent d6a197ae17
commit b65d0c1447
51 changed files with 1663 additions and 102 deletions

View File

@ -258,14 +258,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -299,7 +292,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -114,7 +114,7 @@
"props": {
"text": "FIO",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -195,7 +195,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@ -221,14 +221,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -262,7 +255,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

View File

@ -445,6 +445,20 @@
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-PE",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye"
}
],
"top": [
@ -599,6 +613,20 @@
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-PE",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye"
}
],
"top": [

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

View File

@ -120,7 +120,7 @@
},
"text": "SIO",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -201,7 +201,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -118,7 +118,7 @@
"props": {
"text": "PX",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -199,7 +199,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

View File

@ -1479,7 +1479,6 @@
}
},
"props": {
"currentTabIndex": 1,
"menuType": "modern",
"tabSize": {
"width": 1000

View File

@ -1,6 +1,6 @@
{
"custom": {
"alarmHighlight": "",
"alarmHighlight": "value",
"alarm_filter": {
"show_VFD": true,
"show_beacons": true,

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -0,0 +1,758 @@
{
"custom": {
"PLC_list": [
"MCM01",
"MCM02"
],
"state": 0,
"string": "Clear"
},
"params": {
"tagProps": [
"System/MCM01/Photoeyes/TPE/PS3_1_TPE3",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.PLC_list": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC"
},
"transforms": [
{
"code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n",
"type": "script"
}
],
"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": "if(isNull({value}), 0, {value})",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.string": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "Clear",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "Clear"
},
{
"input": 2,
"output": "Blocked"
},
{
"input": 3,
"output": "Disabled"
},
{
"input": 4,
"output": "Jammed"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"width": 400
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}"
},
"type": "expr"
}
}
},
"props": {
"style": {
"color": "#FFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-PE\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon",
"tooltip": {
"enabled": true,
"style": {
"cursor": "pointer"
},
"text": "Close faceplate"
}
},
"props": {
"path": "material/close",
"style": {
"cursor": "pointer",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.display.icon"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "30px",
"shrink": 0
},
"props": {
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px",
"display": false
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)"
},
"enabled": false,
"type": "expr"
}
}
},
"props": {
"style": {
"classes": "Labels/Label_1",
"marginTop": 20
},
"text": "No Active Alarms"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "AlarmStatusTable"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.filters.active.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": "\treturn value[1:]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"columns": {
"active": {
"displayPath": {
"enabled": false
},
"priority": {
"enabled": false
},
"source": {
"enabled": false
},
"state": {
"enabled": false
}
}
},
"filters": {
"active": {
"priorities": {
"critical": false,
"high": false,
"low": false,
"medium": false
},
"states": {
"clearUnacked": false
}
}
},
"refreshRate": 500,
"toolbar": {
"enabled": false
}
},
"type": "ia.display.alarmstatustable"
}
],
"meta": {
"name": "Active_tab"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "NAME"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "DeviceName"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": " return value.rsplit(\u0027/\u0027, 1)[-1]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Name"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"overflow": "hidden"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "COMMUNICATION FAULTED"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "PB_Light"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/HMI/Alarm/Communication_Fault"
},
"transforms": [
{
"expression": "if(isNull({value}), \"UNKNOWN\", {value})",
"type": "expression"
},
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "Faulted"
},
{
"input": false,
"output": "Not Faulted"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "NOT FAULTED",
"output": "#47FF47"
},
{
"input": "FAULTED",
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px",
"shrink": 2
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "STATUS"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "status"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"path": "view.custom.string"
},
"transforms": [
{
"expression": "coalesce({value},\"UNKNOWN\")",
"type": "expression"
}
],
"type": "property"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "#00FF00",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#00FF00"
},
{
"input": 2,
"output": "#000000"
},
{
"input": 3,
"output": "#0000D9"
},
{
"input": 4,
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px",
"shrink": 2
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_2"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Info_tab"
},
"position": {
"tabIndex": 1
},
"props": {
"direction": "column",
"style": {
"margin-left": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "tabs"
},
"position": {
"grow": 1
},
"props": {
"currentTabIndex": 1,
"menuType": "modern",
"tabSize": {
"width": 1000
},
"tabStyle": {
"active": {
"classes": "",
"color": "#FFFFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
},
"inactive": {
"classes": "",
"color": "#B8B8B8",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
},
"tabs": [
"Alarms",
"Info"
]
},
"type": "ia.container.tab"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "670px",
"grow": 1
},
"props": {
"style": {
"border-top": "1px solid white",
"gap": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "800px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "Buttons/Button-Menu"
}
},
"type": "ia.container.flex"
}
}

View File

@ -140,7 +140,7 @@
},
"props": {
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -233,7 +233,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -257,14 +257,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -298,7 +291,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -118,7 +118,7 @@
"props": {
"text": "SOL",
"textStyle": {
"fontSize": 10,
"fontSize": "0.5vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -192,7 +192,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -445,6 +445,20 @@
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-PE",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye"
}
],
"top": [
@ -599,6 +613,20 @@
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Chute"
},
{
"anchor": "fixed",
"autoBreakpoint": 480,
"content": "cover",
"handle": "hide",
"iconUrl": "",
"id": "Docked-East-PE",
"modal": false,
"resizable": false,
"show": "onDemand",
"size": 400,
"viewParams": {},
"viewPath": "autStand/PopUp-Views/Controller-Equipment/Information-Docked-East-Photoeye"
}
],
"top": [

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T15:06:14Z"
"timestamp": "2025-09-03T15:44:23Z"
},
"lastModificationSignature": "d7c1074dcfab6ea792b341f9f17ffe277dfcef1be9751a4c720614bc85142508"
"lastModificationSignature": "6a0ac6a4d3ad1698d7576b78a112ad2bcc98f10bf8f48567b9f90026d780df54"
}
}

View File

@ -1,6 +1,6 @@
{
"custom": {
"alarmHighlight": "",
"alarmHighlight": "value",
"alarm_filter": {
"show_VFD": true,
"show_beacons": true,

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T09:52:22Z"
"timestamp": "2025-09-03T15:44:10Z"
},
"lastModificationSignature": "a3157291a52e672e41c58e25611ed05c24728860cc0fbbf5d5ea08285665e06b"
"lastModificationSignature": "f4e42b5f44ca6a97a34da5f34af41b550dc038f05d4a6b93d9c18b606eaa9087"
}
}

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T14:06:15Z"
"timestamp": "2025-09-03T15:51:44Z"
},
"lastModificationSignature": "d5232a318367d19f4a2e7e168642219563ba5654aa71d83410af57a3d7e4d64e"
"lastModificationSignature": "f3e21bff90d6d480a55f2f9bb29c9bd4f7fdc7bf86d1f18943b0dae6ba5d83f6"
}
}

View File

@ -140,7 +140,7 @@
},
"props": {
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -233,7 +233,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T13:02:31Z"
"timestamp": "2025-09-03T15:51:16Z"
},
"lastModificationSignature": "be41b6389f844da07cdd3351f48bd2f92ff1f7f749e534d6ca639116bd0936a2"
"lastModificationSignature": "32937641e82bcd90161040e95a87728f32508568b344bb807cfa63df3fb14d9e"
}
}

View File

@ -114,7 +114,7 @@
"props": {
"text": "FIO",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -195,7 +195,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T11:05:06Z"
"timestamp": "2025-09-03T15:46:56Z"
},
"lastModificationSignature": "7586829a23034a010799346c21739bafff0bffc3348d709c1742896974976b85"
"lastModificationSignature": "06991c0e3e3facb6418c4ca3802ebfc42969f7ceda0655577e634682925e5a81"
}
}

View File

@ -221,14 +221,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -262,7 +255,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T10:52:01Z"
"timestamp": "2025-09-03T15:47:15Z"
},
"lastModificationSignature": "3e1d03923538c6635de8c3fd9d16b6ad4078bafe746cb8da7b2211ee27dfd93d"
"lastModificationSignature": "a79732e0940941214a569258d6c45cea3316dd589eaf8b915d0a5e3864fad3ed"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 154 B

After

Width:  |  Height:  |  Size: 141 B

View File

@ -257,14 +257,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -298,7 +291,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T10:06:19Z"
"timestamp": "2025-09-03T15:45:47Z"
},
"lastModificationSignature": "1da8c29fadaf8fa76f7713d8373f7d14324886484638cc894342793d3b63c097"
"lastModificationSignature": "10abf855bd85c55e2e6a2c07a100047d4c0445d668331bb96c8ac81651976479"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

After

Width:  |  Height:  |  Size: 105 B

View File

@ -258,14 +258,7 @@
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.openDock(\u0027Docked-East-Photoeye\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
},
"onMouseEnter": {
"config": {
"script": "\tfrom time import sleep\n\n\talarm \u003d []\n\tmessage \u003d None\n\n\tsleep(0.5)\n\n\tif system.tag.exists(\"System/aws_data\"):\n\t\tif self.view.params.tagProps[0] !\u003d \"\":\n\t\t\ttags_to_read \u003d system.tag.readBlocking(\"System/aws_data\")\n\t\t\tdecode_alarm_data \u003d system.util.jsonDecode(tags_to_read[0].value)\n\t\t\talarm \u003d [decode_alarm_data[i] for i in decode_alarm_data\n\t\t\t\t\tif decode_alarm_data[i][\u0027sourceId\u0027].startswith(self.view.params.tagProps[0])]\n\t\tif alarm:\n\t\t\talarm \u003d sorted(alarm, key \u003d lambda t:t[\u0027timestamp\u0027], reverse\u003dTrue)\n\t\t\tmessage \u003d max(alarm, key \u003d lambda p:p[\u0027priority\u0027]).get(\u0027message\u0027)\n\t\t\tif len(alarm) \u003e 1:\n\t\t\t\tmessage +\u003d \" (+\" + str(len(alarm)-1) + \")\"\n\tself.view.custom.alarm_message \u003d message"
"script": "\tsystem.perspective.openDock(\u0027Docked-East-PE\u0027,params\u003d{\u0027tagProps\u0027:self.view.params.tagProps})"
},
"scope": "G",
"type": "script"
@ -299,7 +292,8 @@
"props": {
"mode": "percent",
"style": {
"cursor": "pointer"
"cursor": "pointer",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T13:04:42Z"
"timestamp": "2025-09-03T15:50:57Z"
},
"lastModificationSignature": "0d68c16def444369d271db35d46c59d96b058b5c79b47099d4c1a4382cb67892"
"lastModificationSignature": "61a843f550f0bd57f24651afc9511ab4731c0aac9022392bdb2240a81f55ae20"
}
}

View File

@ -118,7 +118,7 @@
"props": {
"text": "PX",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -199,7 +199,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T13:07:25Z"
"timestamp": "2025-09-03T15:49:42Z"
},
"lastModificationSignature": "cff8863f932ccc825cdc8c51ba8c95ac36d5db3d9324815e4bca2c75fb9b853d"
"lastModificationSignature": "69658ed9aaa4e1cf9f5e13de8c4906aba778dabab3d345f163098b9897669305"
}
}

View File

@ -120,7 +120,7 @@
},
"text": "SIO",
"textStyle": {
"fontSize": "20px",
"fontSize": "1vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -201,7 +201,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -9,8 +9,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T13:15:32Z"
"timestamp": "2025-09-03T16:02:38Z"
},
"lastModificationSignature": "01b237dbfb15beb6b86aeaadceae774a24a34b3cadf505c7a74aaf0cea275701"
"lastModificationSignature": "109467d2a982941cd8d35a0de3dba653a0770c79c2841c86a1e8e5873c9c65f7"
}
}

View File

@ -118,7 +118,7 @@
"props": {
"text": "SOL",
"textStyle": {
"fontSize": 10,
"fontSize": "0.5vw",
"textAlign": "center",
"textTransform": "uppercase"
}
@ -192,7 +192,8 @@
"style": {
"borderStyle": "solid",
"cursor": "pointer",
"overflow": "hidden"
"overflow": "hidden",
"userSelect": "none"
}
},
"type": "ia.container.coord"

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T13:58:52Z"
"timestamp": "2025-09-03T15:28:33Z"
},
"lastModificationSignature": "80f7b129da7285682c8f19de642720a06d0a7decadafc208718b77430b25d2e1"
"lastModificationSignature": "f4de52b3c278c2411641e1614d6284807a4d158e82add82c45059be54d5f9ee5"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

View File

@ -10,8 +10,8 @@
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-02T15:08:02Z"
"timestamp": "2025-09-03T15:28:07Z"
},
"lastModificationSignature": "65337aa0f4b091cf29b9a15a074c22bd6ff1e0b0fd79d05628d749179dfc284c"
"lastModificationSignature": "e74b9e2d5e0135178d5764430ccb80b64f150b57aac32d18305660dcfcb59d03"
}
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1479,7 +1479,6 @@
}
},
"props": {
"currentTabIndex": 1,
"menuType": "modern",
"tabSize": {
"width": 1000

View File

@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModification": {
"actor": "admin",
"timestamp": "2025-09-03T15:46:18Z"
},
"lastModificationSignature": "75d49b1e838becbe66d20b450f80ab797082e5a6763cf8b065269200b301b37e"
}
}

View File

@ -0,0 +1,758 @@
{
"custom": {
"PLC_list": [
"MCM01",
"MCM02"
],
"state": 0,
"string": "Clear"
},
"params": {
"tagProps": [
"System/MCM01/Photoeyes/TPE/PS3_1_TPE3",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value",
"value"
]
},
"propConfig": {
"custom.PLC_list": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC"
},
"transforms": [
{
"code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n",
"type": "script"
}
],
"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": "if(isNull({value}), 0, {value})",
"type": "expression"
}
],
"type": "tag"
},
"persistent": true
},
"custom.string": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "Clear",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "Clear"
},
{
"input": 2,
"output": "Blocked"
},
{
"input": 3,
"output": "Disabled"
},
{
"input": 4,
"output": "Jammed"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
},
"persistent": true
},
"params.tagProps": {
"paramDirection": "input",
"persistent": true
}
},
"props": {
"defaultSize": {
"width": 400
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}"
},
"type": "expr"
}
}
},
"props": {
"style": {
"color": "#FFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tsystem.perspective.closeDock(\u0027Docked-East-PE\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Icon",
"tooltip": {
"enabled": true,
"style": {
"cursor": "pointer"
},
"text": "Close faceplate"
}
},
"props": {
"path": "material/close",
"style": {
"cursor": "pointer",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.display.icon"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "30px",
"shrink": 0
},
"props": {
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "32px",
"display": false
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)"
},
"enabled": false,
"type": "expr"
}
}
},
"props": {
"style": {
"classes": "Labels/Label_1",
"marginTop": 20
},
"text": "No Active Alarms"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "AlarmStatusTable"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.filters.active.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": "\treturn value[1:]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"columns": {
"active": {
"displayPath": {
"enabled": false
},
"priority": {
"enabled": false
},
"source": {
"enabled": false
},
"state": {
"enabled": false
}
}
},
"filters": {
"active": {
"priorities": {
"critical": false,
"high": false,
"low": false,
"medium": false
},
"states": {
"clearUnacked": false
}
}
},
"refreshRate": 500,
"toolbar": {
"enabled": false
}
},
"type": "ia.display.alarmstatustable"
}
],
"meta": {
"name": "Active_tab"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "NAME"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "DeviceName"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "view.params.tagProps[0]"
},
"transforms": [
{
"code": " return value.rsplit(\u0027/\u0027, 1)[-1]",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"backgroundColor": "#FFFFFF",
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Name"
},
"position": {
"basis": "35px"
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel",
"overflow": "hidden"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "COMMUNICATION FAULTED"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "PB_Light"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"0": "{view.params.tagProps[0]}",
"fc": "{session.custom.fc}"
},
"tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/HMI/Alarm/Communication_Fault"
},
"transforms": [
{
"expression": "if(isNull({value}), \"UNKNOWN\", {value})",
"type": "expression"
},
{
"fallback": "Unknown",
"inputType": "scalar",
"mappings": [
{
"input": true,
"output": "Faulted"
},
{
"input": false,
"output": "Not Faulted"
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "tag"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#000000",
"inputType": "scalar",
"mappings": [
{
"input": "NOT FAULTED",
"output": "#47FF47"
},
{
"input": "FAULTED",
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px",
"shrink": 2
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "NameField"
},
"position": {
"basis": "50%",
"grow": 1
},
"props": {
"style": {
"paddingLeft": 20
},
"text": "STATUS"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "status"
},
"position": {
"basis": "50%",
"grow": 1
},
"propConfig": {
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"fallback": "#D5D5D5",
"inputType": "scalar",
"mappings": [
{
"input": "UNKNOWN",
"output": "#FFFFFF"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
},
"props.text": {
"binding": {
"config": {
"path": "view.custom.string"
},
"transforms": [
{
"expression": "coalesce({value},\"UNKNOWN\")",
"type": "expression"
}
],
"type": "property"
}
},
"props.textStyle.color": {
"binding": {
"config": {
"path": "view.custom.state"
},
"transforms": [
{
"fallback": "#00FF00",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "#00FF00"
},
{
"input": 2,
"output": "#000000"
},
{
"input": 3,
"output": "#0000D9"
},
{
"input": 4,
"output": "#FF0000"
}
],
"outputType": "color",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"classes": "Text-Styles/Ariel-Bold-12pt",
"paddingLeft": 10
}
},
"type": "ia.display.label"
}
],
"meta": {
"name": "Property"
},
"position": {
"basis": "35px",
"shrink": 2
},
"props": {
"style": {
"classes": "PopUp-Styles/InfoLabel"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_2"
},
"position": {
"basis": "35px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Info_tab"
},
"position": {
"tabIndex": 1
},
"props": {
"direction": "column",
"style": {
"margin-left": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "tabs"
},
"position": {
"grow": 1
},
"props": {
"currentTabIndex": 1,
"menuType": "modern",
"tabSize": {
"width": 1000
},
"tabStyle": {
"active": {
"classes": "",
"color": "#FFFFFF",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
},
"inactive": {
"classes": "",
"color": "#B8B8B8",
"fontFamily": "Arial",
"fontSize": 14,
"fontWeight": "bold",
"paddingLeft": 10
}
},
"tabs": [
"Alarms",
"Info"
]
},
"type": "ia.container.tab"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "670px",
"grow": 1
},
"props": {
"style": {
"border-top": "1px solid white",
"gap": ""
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "800px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "Buttons/Button-Menu"
}
},
"type": "ia.container.flex"
}
}