260502 Backup

This commit is contained in:
2026-05-02 05:21:54 +00:00
parent 671e1e7c0c
commit a590cd030f
1331 changed files with 35503 additions and 87262 deletions

View File

@@ -41,7 +41,7 @@
},
"/CHW_System/:pageId": {
"title": "",
"viewPath": "Pages/Mechanical/CHW_System"
"viewPath": "Pages/Mechanical/CHW_System_Layout"
},
"/DH101/:pageId": {
"title": "",

View File

@@ -7,10 +7,10 @@
"config.json"
],
"attributes": {
"lastModificationSignature": "cf8816d06eade5b58cb59891bb00f71cfb5bb4068965a2e3cdf53337790ed15f",
"lastModificationSignature": "5f1d03dc35dcb81aa02b6bffac390a91d94c960ae70a4c774c112404d7bc441b",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-20T15:56:03Z"
"timestamp": "2026-05-01T21:13:37Z"
}
}
}

View File

@@ -7,10 +7,10 @@
"props.json"
],
"attributes": {
"lastModificationSignature": "54e7b298f238335555912ad3495a989204c9cf00d3f77129bd80494e22233d13",
"lastModificationSignature": "2d755c92157bd569b632664e7e00c04448e904254064e74b7c4c3a68d0804026",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-21T00:59:20Z"
"timestamp": "2026-05-01T14:32:58Z"
}
}
}

View File

@@ -0,0 +1,5 @@
{
"base": {
"style": {}
}
}

View File

@@ -0,0 +1,16 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"data.bin"
],
"attributes": {
"lastModificationSignature": "15c08907b7a7c46539b6987e8c1457065e75832eeecfb294f127d4018152d344",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T20:40:08Z"
}
}
}

View File

@@ -0,0 +1,16 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"style.json"
],
"attributes": {
"lastModificationSignature": "2820e594bcb0487ad33c9fae6731e0c46bc210aa9023c94b585d3658ac03a899",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T20:42:49Z"
}
}
}

View File

@@ -0,0 +1,9 @@
{
"base": {
"style": {
"color": "var(--text-on-light)",
"fontFamily": "Noto Sans",
"fontSize": "16px"
}
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "1a34546b5bc26075f31e368d0d2016321693b1b50f227823b01d8f1a66808fd5",
"lastModificationSignature": "1106c652b25825a645b42e45f70eb82613bc87af37be166fa210409aebc531b4",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-22T23:23:40Z"
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "e9251b5f2ed407886d9336b07c8c873ab387a317f64fa4ee0aece666827f2beb",
"lastModificationSignature": "6ccf24bc804c45d1ff33d7339f959768ef3ba66d4f8e7e5f5a8086895a0be964",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-22T23:23:34Z"
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "21f75c80226b67630c61f0d9562a2206b0cd95c90c8ce8b4095bdcfe5616beb7",
"lastModificationSignature": "150cc355fb9fa45e64521dce0feaf683060631c05a3e28f05ce8a47f0b93c9e7",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-22T23:21:00Z"
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -8,10 +8,10 @@
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "afea976c35bb1809141b67554d07eeb845210618537841ed5ed30dce92f3bc46",
"lastModificationSignature": "416c3a38598039c67599bb611a2a726c61bb05312e00db526ba988d29bfe8f1a",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-22T23:20:59Z"
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "013324e7f8b384a62dd3d8218dd2ad903630f798391539a1b9dfd1d2e37762f1",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a5f653b9fb674258fee3e78fb3321650dfe65ed35c17184b464ffed824e9395d",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:27:01Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "d90ff793193b3a1bc9d343dc5e797cff4fa9fc0eee9ea2c89bff19fa83c20e3a",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "7a28c9b664ac56bee07d4ae7d826a813a92a34ee05d763e379ad14061f941080",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "f8602d048503e9aa3bd948d57679190e64345d649c3ca9a552d1ee3df8839c8e",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "e3f04593820abab475190a8a92933a4935c65d03c03e09733076d7120bd7e817",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "f9627e9bc1ecf632a5c3bd6342877d52b815526ba5913e2a367bf84d27008a87",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "0a54b16ca665d97e2a62bafb90780f33a9209372c5dc9bb4a6265b445a9e67bb",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "73202b7b883631f3fb8a72232ef5013a33157ac37a65fb2a69df71a64bf430a3",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a2569aaa8d9772e49bf7abb8033fb7bc63f92913508daa41026234a3afe1390c",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "3dc493e52a59d02c786a9848f65f6e271bfb3060e88f10a9b4b961ec6abb18ee",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a544ba41fc0d59a7a844433d579f3ec785ece42bfffdaaa4999916cf67d7d21a",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "c1ea25f4f301a51dd275dd427d35ee907ce5cf46b151884cb5cc12dd9102a115",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "226c72755b75a5242d5796d46b18711d5f71e536e5883818adf3cd6f1cd0c847",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "66148e3b98d332817e940bcbff0d05b39bbe5e89f6e891bc0fdd6d059dc33c5a",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "8120b5c6779c966d91dc438d8895d0145f96185dc8fdb79f484f68dd912ce799",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "fb310d59ebcf220fa784bfc7f355b997ae34e0da40f885c2ffdc3db7a52823b2",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "972cf85da59700ba46895dbe984e8a3f7f438d923ec4e12007423fecdbac04fd",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -0,0 +1,427 @@
{
"custom": {
"tabsConfig": {
"tabs": [
"Status",
"Control",
"Config",
"Trend",
"Meta",
"Wiki"
]
},
"trendConfig": {
"selectedPens": []
}
},
"params": {
"auth": {
"almAck": true,
"almShelve": true,
"config": true,
"control": true
},
"objectName": "Motor",
"tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR"
},
"propConfig": {
"custom.tabsConfig": {
"persistent": true
},
"custom.tabsConfig.showConfig": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"1": "{view.params.tagPath}"
},
"tagPath": "{1}/Config"
},
"transforms": [
{
"expression": "coalesce({value},false) !\u003d false",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.tabsConfig.showControl": {
"binding": {
"config": {
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"1": "{view.params.tagPath}"
},
"tagPath": "{1}/Control"
},
"transforms": [
{
"expression": "coalesce({value},false) !\u003d false",
"type": "expression"
}
],
"type": "tag"
}
},
"custom.trendConfig": {
"persistent": true
},
"params.auth": {
"paramDirection": "input",
"persistent": true
},
"params.objectName": {
"paramDirection": "input",
"persistent": true
},
"params.tagPath": {
"paramDirection": "input",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"children": [
{
"meta": {
"name": "Status"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
},
"props.path": {
"binding": {
"config": {
"expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Info\u0027)"
},
"type": "expr"
}
}
},
"props": {
"loading": {
"order": "with-parent"
}
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Trend"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.selectedPens": {
"binding": {
"config": {
"path": "view.custom.trendConfig.selectedPens"
},
"type": "property"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
},
"props.path": {
"binding": {
"config": {
"expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Trends\u0027)"
},
"type": "expr"
}
}
},
"props": {
"loading": {
"order": "with-parent"
}
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Config"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.auth": {
"binding": {
"config": {
"path": "view.params.auth"
},
"type": "property"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
},
"props.path": {
"binding": {
"config": {
"expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Config\u0027)"
},
"type": "expr"
}
}
},
"props": {
"loading": {
"order": "with-parent"
}
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Meta"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.auth": {
"binding": {
"config": {
"path": "view.params.auth"
},
"type": "property"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
},
"props.path": {
"binding": {
"config": {
"expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Meta\u0027)"
},
"type": "expr"
}
}
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Wiki"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.auth": {
"binding": {
"config": {
"path": "view.params.auth"
},
"type": "property"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
}
},
"props": {
"path": "Library/Framework/Tag Notes/View Notes"
},
"type": "ia.display.view"
},
{
"meta": {
"name": "Control"
},
"propConfig": {
"position.tabIndex": {
"binding": {
"config": {
"expression": "{parent.props.tabs}"
},
"transforms": [
{
"code": "\treturn value.indexOf(self.meta.name)",
"type": "script"
}
],
"type": "expr"
}
},
"props.params.auth": {
"binding": {
"config": {
"path": "view.params.auth"
},
"type": "property"
}
},
"props.params.tagPath": {
"binding": {
"config": {
"path": "view.params.tagPath"
},
"type": "property"
}
},
"props.path": {
"binding": {
"config": {
"expression": "concat(\u0027Library/Templates/\u0027,{view.params.objectName},\u0027/Control\u0027)"
},
"type": "expr"
}
}
},
"props": {
"loading": {
"order": "with-parent"
}
},
"type": "ia.display.view"
}
],
"meta": {
"name": "TabContainer"
},
"position": {
"basis": "300px",
"grow": 1
},
"propConfig": {
"props.tabs": {
"binding": {
"config": {
"expression": "{view.custom.tabsConfig}"
},
"transforms": [
{
"code": "\ttabs \u003d value[\u0027tabs\u0027]\n\tshowConfig \u003d value[\u0027showConfig\u0027]\n\tshowControl \u003d value[\u0027showControl\u0027]\n\tif not showConfig:\n\t\ttabs.pop(tabs.indexOf(\u0027Config\u0027))\n\tif not showControl:\n\t\ttabs.pop(tabs.indexOf(\u0027Control\u0027))\n\t\n\treturn tabs",
"type": "script"
}
],
"type": "expr"
}
}
},
"props": {
"contentStyle": {
"backgroundColor": "var(--container)"
},
"currentTabIndex": 2
},
"type": "ia.container.tab"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column"
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "enableDisablePen",
"pageScope": true,
"script": "\t# When a pen is selected or de-selected on the trends page, this handler is\n\t# responsible for appending or removing the pen name from the proper trend\n\t# config list.\n\t\n\tname \u003d payload[\u0027name\u0027]\n\tenabledOrDisabled \u003d payload[\u0027enabledOrDisabled\u0027]\n\tgroup \u003d payload[\u0027group\u0027]\n\t\n\tif enabledOrDisabled \u003d\u003d True:\n\t\tif name not in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].append(name)\n\telse:\n\t\tif name in self.view.custom.trendConfig[\u0027selectedPens\u0027]:\n\t\t\tself.view.custom.trendConfig[\u0027selectedPens\u0027].remove(name)",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.container.flex"
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "0847f2b2fed41dce79b041af83d4ee33ac55ba8459de8392ffbb977d1eabaa22",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -9,14 +9,14 @@
"config": true,
"control": true
},
"tagPath": "[Ignition_Common_IO_Gtwy]MPR1241/SATB1_MPR1241_M4_ATS"
"tagPath": "[Ignition_Common_IO_Gtwy]Roof/CH31_MOTOR"
},
"propConfig": {
"custom.allTags": {
"binding": {
"config": {
"struct": {
"tagPath": "{view.params.tagPath} + \"/Meta\""
"tagPath": "{view.params.tagPath} + \"/Config\""
},
"waitOnAll": true
},
@@ -55,14 +55,13 @@
"config": {
"struct": {
"allTags": "{view.custom.allTags}",
"auth": "{view.params.auth.config}",
"tagPath": "{view.params.tagPath} + \"/Meta/\""
"tagPath": "{view.params.tagPath} + \"/Config\""
},
"waitOnAll": true
},
"transforms": [
{
"code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + tagName\n\t\ttag[\u0027enabled\u0027] \u003d value[\u0027auth\u0027]\n\t\toutput.append(tag)\n\t\t\n\treturn output",
"code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\t\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\t\t\n\treturn output",
"type": "script"
}
],

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a797fb6c5b9b4e1d9810b740f5ed37ded6219f82f29d34abec34f14b2bd6de69",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

View File

@@ -0,0 +1,468 @@
{
"custom": {
"OCmd": {}
},
"params": {
"auth": {
"almAck": true,
"almShelve": true,
"config": true,
"control": true
},
"tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR"
},
"propConfig": {
"custom.OCmd": {
"persistent": true
},
"custom.OCmd.Mode": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"tagPath": "{view.params.tagPath}"
},
"tagPath": "{tagPath}/Control/ModeCMD"
},
"type": "tag"
}
},
"custom.OCmd.OOS": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"tagPath": "{view.params.tagPath}"
},
"tagPath": "{tagPath}/Control/OCmd_OOS"
},
"type": "tag"
}
},
"custom.OCmd.Reset": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"tagPath": "{view.params.tagPath}"
},
"tagPath": "{tagPath}/Control/OCmd_Reset"
},
"type": "tag"
}
},
"custom.OCmd.Run": {
"binding": {
"config": {
"bidirectional": true,
"fallbackDelay": 2.5,
"mode": "indirect",
"references": {
"tagPath": "{view.params.tagPath}"
},
"tagPath": "{tagPath}/Control/OCmd_Run"
},
"type": "tag"
}
},
"params.auth": {
"paramDirection": "input",
"persistent": true
},
"params.tagPath": {
"paramDirection": "input",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"children": [
{
"children": [
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.view.custom.OCmd.Mode \u003d True"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "AutoBtn"
},
"position": {
"basis": "50%"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"path": "view.params.auth.control"
},
"type": "property"
}
},
"props.primary": {
"binding": {
"config": {
"path": "view.custom.OCmd.Mode"
},
"type": "property"
}
}
},
"props": {
"text": "Auto"
},
"type": "ia.input.button"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.view.custom.OCmd.Mode \u003d False"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "CloseBtn"
},
"position": {
"basis": "50%"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"path": "view.params.auth.control"
},
"type": "property"
}
},
"props.primary": {
"binding": {
"config": {
"path": "view.custom.OCmd.Mode"
},
"transforms": [
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": true
},
{
"input": true,
"output": false
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"text": "Manual"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Row1"
},
"position": {
"basis": "50px"
},
"props": {
"style": {
"gap": "10px",
"overflow": "visible"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.view.custom.OCmd.Run \u003d True"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "StartBtn"
},
"position": {
"basis": "50%"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)"
},
"type": "expr"
}
},
"props.primary": {
"binding": {
"config": {
"path": "view.custom.OCmd.Run"
},
"type": "property"
}
}
},
"props": {
"text": "Start"
},
"type": "ia.input.button"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.view.custom.OCmd.Run \u003d False"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "StopBtn"
},
"position": {
"basis": "50%"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"expression": "if({view.params.auth.control}, if(!{view.custom.OCmd.Mode}, true, false) , false)"
},
"type": "expr"
}
},
"props.primary": {
"binding": {
"config": {
"path": "view.custom.OCmd.Run"
},
"transforms": [
{
"fallback": null,
"inputType": "scalar",
"mappings": [
{
"input": false,
"output": true
},
{
"input": true,
"output": false
}
],
"outputType": "scalar",
"type": "map"
}
],
"type": "property"
}
}
},
"props": {
"text": "Stop"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Row2"
},
"position": {
"basis": "50px"
},
"props": {
"style": {
"gap": "10px",
"overflow": "visible"
}
},
"type": "ia.container.flex"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tself.view.custom.OCmd.Reset \u003d True"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Reset Btn"
},
"position": {
"basis": "50px"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"path": "view.params.auth.control"
},
"type": "property"
}
}
},
"props": {
"primary": false,
"text": "Reset"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "Left Column"
},
"position": {
"basis": "50%"
},
"props": {
"direction": "column",
"style": {
"gap": "10px",
"overflow": "visible"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "Description",
"tooltip": {
"width": "50%"
}
},
"position": {
"basis": "50%"
},
"props": {
"text": "Out of Service",
"textStyle": {
"textAlign": "right"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Val"
},
"position": {
"basis": "50%"
},
"propConfig": {
"props.enabled": {
"binding": {
"config": {
"path": "view.params.auth.control"
},
"type": "property"
}
},
"props.selected": {
"binding": {
"config": {
"bidirectional": true,
"path": "view.custom.OCmd.OOS"
},
"type": "property"
}
}
},
"props": {
"text": ""
},
"type": "ia.input.checkbox"
}
],
"meta": {
"name": "OutOfService"
},
"position": {
"basis": "50px"
},
"props": {
"style": {
"gap": "10px",
"overflow": "visible"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Right Column"
},
"position": {
"basis": "50%"
},
"props": {
"direction": "column",
"style": {
"gap": "10px",
"overflow": "visible"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"style": {
"classes": "containers/padded-container",
"gap": "10px"
}
},
"type": "ia.container.flex"
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "4d8afa83def9f32a880f9d0b1ee91d2f80bc472e6243f2db4ea1bcc76c473eea",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.0 KiB

View File

@@ -0,0 +1,133 @@
{
"custom": {
"allTags": [
{
"dataType": "Int8",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 999,
"instanceStyle": {
"classes": ""
},
"name": "EquipCounts",
"options": []
},
{
"dataType": "Float4",
"displaySelection": 0,
"format": "0.0",
"instancePosition": 999,
"instanceStyle": {
"classes": ""
},
"name": "Runtime",
"options": []
},
{
"dataType": "Boolean",
"displaySelection": 1,
"format": "0.0",
"instancePosition": 999,
"instanceStyle": {
"classes": ""
},
"name": "Status Running",
"options": [
"Stopped",
"Running"
]
}
]
},
"params": {
"tagPath": "[Ignition_Common_IO_Gtwy]Roof/SATB1_RF_CH01_MOTOR"
},
"propConfig": {
"custom.allTags": {
"binding": {
"config": {
"struct": {
"tagPath": "{view.params.tagPath}"
},
"waitOnAll": true
},
"enabled": false,
"transforms": [
{
"code": "\toutput \u003d []\n\t# Simulate fetching tag configurations and sorting by name\n\tnodes \u003d system.tag.getConfiguration(value[\u0027tagPath\u0027], True)\n\tfor item in nodes:\n\t if \u0027tags\u0027 in item:\n\t \tsortedTags \u003d sorted(item[\u0027tags\u0027], key\u003dlambda x: x[\u0027name\u0027])\n\t \t#sortedTags \u003d sorted(sortedTags, key\u003dlambda x: x.get(\u0027engUnit\u0027, \u0027misc\u0027) if x.get(\u0027engUnit\u0027, \u0027misc\u0027) !\u003d \"\" else \u0027misc\u0027)\n for tagConfig in sortedTags:\n if str(tagConfig[\u0027tagType\u0027]) \u003d\u003d \u0027AtomicTag\u0027:\n name \u003d tagConfig.get(\"name\", \"\")\n dataType \u003d tagConfig.get(\"dataType\", \"\")\n tagPath \u003d value[\u0027tagPath\u0027] + \u0027/\u0027 + name\n if dataType \u003d\u003d \u0027Boolean\u0027:\n \tdisplaySel \u003d 1\n else:\n \tdisplaySel \u003d 0\n instance \u003d {\n \"instanceStyle\": {\n \"classes\": \"\"\n },\n \"instancePosition\": 999,\n \"name\": name,\n \"dataType\": dataType,\n \"displaySelection\": displaySel,\n \"format\": \"0.0\",\n \"options\": []\n }\n output.append(instance)\n\t# Return or process the sorted output\n\treturn output",
"type": "script"
}
],
"type": "expr-struct"
},
"persistent": true
},
"params.tagPath": {
"paramDirection": "input",
"persistent": true
}
},
"props": {},
"root": {
"children": [
{
"meta": {
"name": "FlexRepeater"
},
"position": {
"basis": "100%"
},
"propConfig": {
"props.instances": {
"binding": {
"config": {
"struct": {
"allTags": "{view.custom.allTags}",
"tagPath": "{view.params.tagPath}"
},
"waitOnAll": true
},
"transforms": [
{
"code": "\toutput \u003d []\n\tallTags \u003d system.util.jsonDecode(system.util.jsonEncode(value[\u0027allTags\u0027]))\n\tfor tag in allTags:\n\t\ttagName \u003d tag[\"name\"]\n\t\ttag[\"tagPath\"] \u003d value[\"tagPath\"] + \"/\" +tagName\n\t\toutput.append(tag)\n\toutput_sorted \u003d sorted(output, key\u003dlambda item: item[\"instancePosition\"])\n\treturn output_sorted",
"type": "script"
}
],
"type": "expr-struct"
}
}
},
"props": {
"alignContent": "flex-start",
"elementPosition": {
"basis": "50%",
"grow": 0
},
"loading": {
"order": "with-parent"
},
"path": "Library/Framework/Tag Info",
"style": {
"border": "1px solid var(--border)",
"gap": "10px 0",
"padding": "10px"
},
"useDefaultViewHeight": false,
"useDefaultViewWidth": false,
"wrap": "wrap"
},
"type": "ia.display.flex-repeater"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column",
"style": {
"classes": "containers/padded-container"
}
},
"type": "ia.container.flex"
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "8120b5c6779c966d91dc438d8895d0145f96185dc8fdb79f484f68dd912ce799",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "a47317a66294c8878b0cbbfb7ee2ce1486c22c2248ae2aa93ed59abd930e8ec7",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-04-28T18:28:33Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "3ea2c49a6e0236cd1dd9a57cfd9ac88be58b73a79fb79825c0637464dfc96db2",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "516459272dea866e23f7fd6c002b25e4c192906917debb2b3d64b94941ddcfc7",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "6ae9393c20daa30b11db73bc0a54e708ec65384250df40248d3fa74500cd12c1",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

View File

@@ -0,0 +1,17 @@
{
"scope": "G",
"version": 1,
"restricted": false,
"overridable": true,
"files": [
"view.json",
"thumbnail.png"
],
"attributes": {
"lastModificationSignature": "010d13f4667e8cf8a61940617cc2fa13700c2d0820a1b2d15852fe2b03fd13e8",
"lastModification": {
"actor": "Emmanuel",
"timestamp": "2026-05-01T19:28:32Z"
}
}
}

Some files were not shown because too many files have changed in this diff Show More