{ "custom": { "breadcrumb": "/Electrical System Overview/Oneline/P1-P5/P5/P5.1" }, "params": {}, "propConfig": { "custom.breadcrumb": { "persistent": true } }, "props": { "defaultSize": { "width": 220 } }, "root": { "children": [ { "children": [ { "meta": { "name": "Logo" }, "position": { "basis": "98%", "shrink": 0 }, "propConfig": { "props.elements[0].fill": { "binding": { "config": { "path": "session.props.theme" }, "transforms": [ { "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", "type": "script" } ], "type": "property" } }, "props.elements[1].fill": { "binding": { "config": { "path": "session.props.theme" }, "transforms": [ { "code": "\treturn \u0027#FFFFFF\u0027 if \u0027light\u0027 in value else \u0027var(--neutral-100)\u0027", "type": "script" } ], "type": "property" } } }, "props": { "elements": [ { "elements": [ { "elements": [ { "height": "153.657", "id": "SVGID_1_", "name": "SVGID_1_", "type": "rect", "width": "761.146", "x": "1.5" } ], "name": "defs", "type": "defs" }, { "elements": [ { "href": "#SVGID_1_", "name": "use", "overflow": "visible", "type": "use" } ], "id": "SVGID_2_", "name": "SVGID_2_", "type": "clipPath" }, { "clipPath": "url(#SVGID_2_)", "d": "M186.923,148.914h-10.948v-28.08h10.948c8.826,0,14.926,6.058,14.926,13.962 v0.078C201.849,142.778,195.749,148.914,186.923,148.914 M195.389,134.874c0-4.972-3.411-8.462-8.466-8.462h-4.773v16.927h4.773 c5.055,0,8.466-3.408,8.466-8.383V134.874z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "d": "M250.979,148.914l-2.569-6.296h-11.872l-2.569,6.296h-6.296l12.032-28.279 h5.699l12.032,28.279H250.979z M242.475,128.057l-3.731,9.104h7.462L242.475,128.057z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "295.619,126.533 295.619,148.914 289.442,148.914 289.442,126.533 280.897,126.533 280.897,120.834 304.164,120.834 304.164,126.533 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "d": "M350.93,148.914l-2.569-6.296h-11.872l-2.567,6.296h-6.298l12.032-28.279h5.699 l12.032,28.279H350.93z M342.425,128.057l-3.731,9.104h7.462L342.425,128.057z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "d": "M436.397,149.396c-8.263,0-14.402-6.377-14.402-14.44v-0.082 c0-7.982,6.019-14.52,14.644-14.52c5.295,0,8.462,1.765,11.075,4.332l-3.938,4.531c-2.159-1.964-4.371-3.168-7.173-3.168 c-4.733,0-8.149,3.935-8.149,8.746v0.078c0,4.814,3.331,8.827,8.149,8.827c3.206,0,5.17-1.285,7.379-3.291l3.927,3.973 C445.022,147.473,441.813,149.396,436.397,149.396", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "477.585,148.914 477.585,120.834 498.769,120.834 498.769,126.331 483.721,126.331 483.721,132.026 496.961,132.026 496.961,137.522 483.721,137.522 483.721,143.421 498.964,143.421 498.964,148.914 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "548.9,148.914 535.304,131.063 535.304,148.914 529.207,148.914 529.207,120.834 534.902,120.834 548.056,138.126 548.056,120.834 554.155,120.834 554.155,148.914 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "598.354,126.533 598.354,148.914 592.175,148.914 592.175,126.533 583.635,126.533 583.635,120.834 606.9,120.834 606.9,126.533 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "636.373,148.914 636.373,120.834 657.557,120.834 657.557,126.331 642.509,126.331 642.509,132.026 655.75,132.026 655.75,137.522 642.509,137.522 642.509,143.421 657.753,143.421 657.753,148.914 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "d": "M705.043,148.914l-6.019-8.983h-4.854v8.983h-6.179v-28.08h12.836 c6.622,0,10.589,3.49,10.589,9.268v0.082c0,4.53-2.443,7.379-6.015,8.703l6.859,10.027H705.043z M705.16,130.421 c0-2.646-1.846-4.009-4.851-4.009h-6.139v8.061h6.257c3.007,0,4.732-1.604,4.732-3.97V130.421z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "d": "M751.727,149.315c-4.25,0-8.543-1.484-11.909-4.492l3.646-4.371 c2.524,2.085,5.174,3.409,8.384,3.409c2.524,0,4.052-1.005,4.052-2.649v-0.078c0-1.565-0.963-2.368-5.653-3.571 c-5.66-1.442-9.307-3.008-9.307-8.583v-0.082c0-5.095,4.087-8.461,9.825-8.461c4.094,0,7.581,1.281,10.429,3.568l-3.21,4.651 c-2.485-1.722-4.933-2.766-7.297-2.766c-2.368,0-3.614,1.083-3.614,2.446v0.081c0,1.844,1.207,2.447,6.058,3.689 c5.695,1.484,8.905,3.53,8.905,8.423v0.082C762.035,146.187,757.784,149.315,751.727,149.315", "name": "path", "type": "path" } ], "name": "group", "type": "group" }, { "elements": [ { "clipPath": "url(#SVGID_2_)", "d": "M171.603,74.682l8.769-10.429c7.94,6.875,16.001,10.783,26.191,10.783 c9.005,0,14.694-4.266,14.694-10.429v-0.233c0-5.926-3.316-9.126-18.727-12.68c-17.654-4.271-27.608-9.484-27.608-24.77v-0.237 c0-14.22,11.85-24.057,28.32-24.057c12.089,0,21.689,3.673,30.101,10.427l-7.819,11.024c-7.467-5.571-14.932-8.535-22.518-8.535 c-8.532,0-13.509,4.386-13.509,9.839v0.233c0,6.403,3.791,9.246,19.791,13.036c17.537,4.268,26.547,10.55,26.547,24.295v0.238 c0,15.522-12.21,24.767-29.63,24.767C193.525,87.955,181.558,83.568,171.603,74.682", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "290.127,17.325 263.818,17.325 263.818,3.816 331.13,3.816 331.13,17.325 304.821,17.325 304.821,86.769 290.127,86.769 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "d": "M365.041,3.816h36.975c10.429,0,18.606,3.08,23.937,8.294 c4.388,4.503,6.873,10.666,6.873,17.895v0.238c0,13.629-8.175,21.805-19.67,25.122l22.395,31.403h-17.296l-20.385-28.914h-18.251 v28.914h-14.577V3.816z M400.948,44.937c10.429,0,17.064-5.45,17.064-13.862v-0.241c0-8.884-6.397-13.745-17.182-13.745h-21.213 v27.848H400.948z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "469.228,3.816 530.73,3.816 530.73,16.85 483.802,16.85 483.802,38.419 525.396,38.419 525.396,51.454 483.802,51.454 483.802,73.734 531.321,73.734 531.321,86.769 469.228,86.769 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "d": "M596.523,3.223h13.508l36.5,83.545h-15.407l-8.413-20.024h-39.223 l-8.534,20.024h-14.934L596.523,3.223z M617.378,53.826l-14.34-33.184l-14.22,33.184H617.378z", "name": "path", "type": "path" }, { "clipPath": "url(#SVGID_2_)", "name": "polygon", "points": "679.263,3.816 694.787,3.816 720.025,43.043 745.271,3.816 760.792,3.816 760.792,86.769 746.217,86.769 746.217,27.279 720.025,66.385 719.557,66.385 693.6,27.518 693.6,86.769 679.263,86.769 ", "type": "polygon" }, { "clipPath": "url(#SVGID_2_)", "d": "M1.5,148.914h130.725V3.758H1.5V148.914z M118.767,117.624H22.734v11.789 h96.032v7.22H15.519v-26.23h103.248V117.624z M118.767,98.746H15.519v-7.212h96.029V79.875H15.519v-7.219h103.248V98.746z M118.767,23.256h-96.59v11.653h96.59v26.092H15.519v-7.218h96.029V42.128H14.961V16.04h103.806V23.256z", "name": "path", "type": "path" } ], "name": "logoAndStream", "type": "group" } ], "viewBox": "0 0 763 153.657" }, "type": "ia.shapes.svg" } ], "meta": { "name": "FlexContainer" }, "position": { "basis": "80px" }, "props": { "justify": "center", "style": { "backgroundColor": "#143663", "padding": "10px 15px" } }, "type": "ia.container.flex" }, { "events": { "component": { "onActionPerformed": { "config": { "script": "\ttrue \u003d True\n\tfalse \u003d False\n\tnewList \u003d []\n\tfor n in [\"CWS 3000\", \"CWS 4000\", \"CWS 5000\", \"CWS 6000\", \"CWS 7000\"]:\n\t\tnewList.append({\n\t\t \"label\": n,\n\t\t \"expanded\": false,\n\t\t \"data\": {},\n\t\t \"items\": []\n\t\t})\n\tself.getSibling(\"Tree_0\").props.items[1].items[8].items \u003d newList" }, "scope": "G", "type": "script" } } }, "meta": { "name": "PopulaterButton" }, "position": { "basis": "34px", "display": false }, "type": "ia.input.button" }, { "custom": { "lastSelection": [ 3, 2, 5, 4, 0 ] }, "events": { "component": { "onItemClicked": { "config": { "script": "\titemPath \u003d [int(x) for x in list(event.itemPath)]\n\titems \u003d self.props.items\n\ttarget \u003d self.props.selectionData[0].value.target\n\tGoTo \u003d self.props.selectionData[0].value.GoTo\n\tzoom \u003d self.props.selectionData[0].value.zoom\n\tlastSelection \u003d [int(x) for x in list(self.custom.lastSelection)]\n\titemsCopy \u003d system.util.jsonDecode(system.util.jsonEncode(items))\n\tbreadcrumb \u003d \u0027\u0027\n\tdef toggleItemsByPath(items, path, breadcrumb):\n\t\tcurrent_level \u003d items\n\t\t# Traverse down the levels to find the target node by following the path\n\t\tfor i, index in enumerate(path):\n\t\t\tif i \u003d\u003d len(path)-1:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index]\n\t\t\telse:\n\t\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\t\n\t\t# Recursively collapse all children within this node\n\t\tdef recursiveCollapse(node):\n\t\t\tif \u0027items\u0027 in node:\n\t\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\t\trecursiveCollapse(child)\n\t\t\n\t\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\t\n\t\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\t\tpass\n\t\telse:\n\t\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\t\n\t\tif not expand:\n\t\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\t\t\t\n\t\tself.view.custom.breadcrumb \u003d breadcrumb\n\t\t\t\t\n#\ttoggleItemsByPath(itemsCopy, itemPath, breadcrumb)\n\tself.toggleItemsByPath(itemPath, lastSelection, target, itemsCopy, itemPath, breadcrumb)\n\tself.props.items \u003d itemsCopy\n\tself.custom.lastSelection \u003d itemPath\n\tif target !\u003d \"\":\n\t\tsystem.perspective.sendMessage(\u0027updateBreadcrumb\u0027, {\u0027target\u0027:self.view.custom.breadcrumb})\n\t\tsystem.perspective.navigate(view \u003d target, params \u003d {\u0027GoTo\u0027:GoTo, \u0027zoom\u0027:zoom})" }, "scope": "G", "type": "script" } } }, "meta": { "name": "Tree" }, "position": { "basis": "516px", "grow": 1, "shrink": 0 }, "props": { "appearance": { "defaultNodeIcons": { "collapsed": { "path": "material/arrow_drop_up" }, "empty": { "path": "material/arrow_drop_up" }, "expanded": { "path": "material/arrow_right" } }, "expandIcons": { "expanded": { "color": "#E33939" } }, "selectedStyle": { "fontSize": 16 }, "unselectedStyle": { "fontSize": 16 } }, "items": [ { "data": { "GoTo": "", "content": "Home", "target": "Pages/Dashboards/Home", "zoom": "" }, "expanded": true, "items": [], "label": "Home" }, { "data": { "GoTo": "", "target": "Pages/Dashboards/CHW_System", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "Pages/Mechanical/Skid_Details", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "", "target": "Pages/Mechanical/LLS_CHW_Skids", "zoom": "" }, "expanded": false, "items": [], "label": "Lead Lag" } ], "label": "Chiller Package" }, { "data": { "GoTo": "/CHW_System", "target": "Pages/Mechanical/CHW_System", "zoom": "130%" }, "expanded": false, "items": [], "label": "CHWP Flow" } ], "label": "CHW System" }, { "data": { "GoTo": "", "target": "Pages/Dashboards/Datahalls", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "Development/testiframe", "zoom": "" }, "expanded": false, "items": [], "label": "DH 101" }, { "data": { "GoTo": "/DH102", "target": "Library/Layouts/iFrame/Main", "zoom": "143%" }, "expanded": false, "items": [], "label": "DH 102" }, { "data": { "GoTo": "DH201", "target": "Library/Layouts/DH_L2", "zoom": 100 }, "expanded": false, "items": [], "label": "DH 201" }, { "data": { "GoTo": "/DH202", "target": "Library/Layouts/iFrame/Main", "zoom": "143%" }, "expanded": false, "items": [], "label": "DH 202" }, { "data": { "GoTo": "/DH203", "target": "Library/Layouts/iFrame/Main", "zoom": "143%" }, "expanded": false, "items": [], "label": "DH 203" } ], "label": "Datahalls" }, { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "DOAS", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "DOAS" }, { "data": { "GoTo": "RTU", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "RTU" }, { "data": { "GoTo": "CRAH", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "CRAH" }, { "data": { "GoTo": "STU", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "STU" }, { "data": { "GoTo": "HUM", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "HUM" }, { "data": { "GoTo": "VAV", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "VAV" }, { "data": { "GoTo": "FCU", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "FCU" }, { "data": { "GoTo": "EF", "target": "Library/Layouts/Equipment_L3", "zoom": "value" }, "expanded": false, "items": [], "label": "EF" }, { "data": { "GoTo": "SP", "target": "Library/Layouts/Equipment_L3", "zoom": "value" }, "expanded": false, "items": [], "label": "ESP" } ], "label": "Mechanical" }, { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "", "target": "Pages/Dashboards/Generators", "zoom": "" }, "expanded": false, "items": [], "label": "GEN" }, { "data": { "GoTo": "", "target": "Pages/Dashboards/UPS", "zoom": "" }, "expanded": false, "items": [], "label": "UPS" }, { "data": { "GoTo": "", "target": "Pages/Dashboards/UPS", "zoom": "" }, "expanded": false, "items": [], "label": "Cellwatch" } ], "label": "Electrical" }, { "data": { "GoTo": "FS", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "Fire System" }, { "data": { "GoTo": "FS", "target": "Library/Layouts/Equipment_L3", "zoom": "" }, "expanded": false, "items": [], "label": "Plumbing" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Panels_List", "zoom": "" }, "expanded": false, "items": [], "label": "Control Panels" } ], "label": "Equipment" }, { "data": { "GoTo": "", "target": "Pages/Dashboards/EPMS", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "/Oneline_SES", "target": "Library/Layouts/iFrame/Main", "zoom": "94%" }, "expanded": false, "items": [], "label": "SES" }, { "data": { "GoTo": "/Oneline_UT", "target": "Library/Layouts/iFrame/Main", "zoom": "143%" }, "expanded": false, "items": [], "label": "UT" }, { "data": { "GoTo": "/Oneline_HS1", "target": "Library/Layouts/iFrame/Main", "zoom": "80%" }, "expanded": false, "items": [], "label": "HS1" }, { "data": { "GoTo": "/Oneline_HS2", "target": "Library/Layouts/iFrame/Main", "zoom": "75%" }, "expanded": false, "items": [], "label": "HS2" }, { "data": { "GoTo": "/", "target": "", "zoom": "70%" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_M1", "target": "Library/Layouts/iFrame/Main", "zoom": "80%" }, "expanded": false, "items": [], "label": "M1" }, { "data": { "GoTo": "/Oneline_M2", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M2" }, { "data": { "GoTo": "/Oneline_M3", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M3" }, { "data": { "GoTo": "/Oneline_M4", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M4" }, { "data": { "GoTo": "/Oneline_M5", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M5" }, { "data": { "GoTo": "/Oneline_M6", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M6" }, { "data": { "GoTo": "/Oneline_M7", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M7" }, { "data": { "GoTo": "/Oneline_M8", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "M8" } ], "label": "M1-M8" }, { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_DH101_P1", "target": "Library/Layouts/iFrame/Main", "zoom": "110%" }, "expanded": false, "items": [], "label": "P1" }, { "data": { "GoTo": "/Oneline_DH101_P2", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P2" }, { "data": { "GoTo": "/Oneline_DH101_P3", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P3" }, { "data": { "GoTo": "/Oneline_DH101_P4", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P4" }, { "data": { "GoTo": "/Oneline_DH101_P5", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P5" } ], "label": 101 }, { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_DH102_P1", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P1" }, { "data": { "GoTo": "/Oneline_DH102_P2", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P2" }, { "data": { "GoTo": "/Oneline_DH102_P3", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P3" }, { "data": { "GoTo": "/Oneline_DH102_P4", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P4" }, { "data": { "GoTo": "/Oneline_DH102_P5", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P5" } ], "label": 102 }, { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_DH201_P1", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P1" }, { "data": { "GoTo": "/Oneline_DH201_P2", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P2" }, { "data": { "GoTo": "/Oneline_DH201_P3", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P3" }, { "data": { "GoTo": "/Oneline_DH201_P4", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P4" }, { "data": { "GoTo": "/Oneline_DH201_P5", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P5" } ], "label": 201 }, { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_DH202_P1", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P1" }, { "data": { "GoTo": "/Oneline_DH202_P2", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P2" }, { "data": { "GoTo": "/Oneline_DH202_P3", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P3" }, { "data": { "GoTo": "/Oneline_DH202_P4", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P4" }, { "data": { "GoTo": "/Oneline_DH202_P5", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P5" } ], "label": 202 }, { "data": { "GoTo": "/", "target": "", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "/Oneline_DH203_P1", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P1" }, { "data": { "GoTo": "/Oneline_DH203_P2", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P2" }, { "data": { "GoTo": "/Oneline_DH203_P3", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P3" }, { "data": { "GoTo": "/Oneline_DH203_P4", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P4" }, { "data": { "GoTo": "/Oneline_DH203_P5", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" }, "expanded": false, "items": [], "label": "P5" } ], "label": 203 } ], "label": "DH" } ], "label": "Power Distribution" }, { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "Pages/Alarms/Active Alarms", "zoom": "" }, "expanded": false, "items": [], "label": "Active Alarms" }, { "data": { "GoTo": "", "target": "Pages/Alarms/History Journal", "zoom": "" }, "expanded": false, "items": [], "label": "History Journal" } ], "label": "Alarms" }, { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "Pages/Diagnostics/AdHocTrends", "zoom": "" }, "expanded": false, "items": [], "label": "Builder" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/TableTrends", "zoom": "" }, "expanded": false, "items": [], "label": "Tables" } ], "label": "Trend Center" }, { "data": { "GoTo": "", "target": "", "zoom": "" }, "expanded": true, "items": [ { "data": { "GoTo": "", "target": "Pages/Diagnostics/PLC Data", "zoom": "" }, "expanded": false, "items": [], "label": "PLC" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Server Status", "zoom": "" }, "expanded": false, "items": [ { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "Frontend" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "IO1" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "IO2" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "IO3" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "IO4" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "IO5" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "Common IO" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "MQTT Gtwy" } ], "label": "Gateways" }, { "data": { "GoTo": "", "target": "Pages/Diagnostics/Connections", "zoom": "" }, "expanded": false, "items": [], "label": "Connections" } ], "label": "Diagnostics \u0026 Tools" } ], "selection": [ "3/2/5/4/0" ], "selectionData": [ { "itemPath": "3/2/5/4/0", "value": { "GoTo": "/Oneline_P5.1*", "target": "Library/Layouts/iFrame/Main", "zoom": "113%" } } ], "style": { "fontFamily": "Nunito" } }, "scripts": { "customMethods": [ { "name": "toggleItemsByPath", "params": [ "itemPath", "lastSelection", "target", "items", "path", "breadcrumb" ], "script": "\tcurrent_level \u003d items\n\t# Traverse down the levels to find the target node by following the path\n\tfor i, index in enumerate(path):\n\t\tif i \u003d\u003d len(path)-1:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index]\n\t\telse:\n\t\t\tbreadcrumb +\u003d \"/{}\".format(current_level[index][\u0027label\u0027])\n\t\t\tcurrent_level \u003d current_level[index][\u0027items\u0027]\n\t\t\n\t# Recursively collapse all children within this node\n\tdef recursiveCollapse(node):\n\t\tif \u0027items\u0027 in node:\n\t\t\tnode[\u0027expanded\u0027] \u003d False\n\t\t\tfor child in node[\u0027items\u0027]:\n\t\t\t\trecursiveCollapse(child)\n\t\n\texpand \u003d not current_level[\u0027expanded\u0027]\n\t\n\tif not expand and itemPath !\u003d lastSelection and target !\u003d \"\":\n\t\tpass\n\telse:\n\t\tcurrent_level[\u0027expanded\u0027] \u003d expand\n\t\n\tif not expand:\n\t\tfor child in current_level[\u0027items\u0027]:\n\t\t\trecursiveCollapse(child)\n\tself.view.custom.breadcrumb \u003d breadcrumb" }, { "name": "generateSelectionPath", "params": [ "breadcrumbPath" ], "script": "\t\"\"\" breadcrumbPath is a string representation of the label at various levels\n\t\tie. /Electrical System Overview/Oneline/SES\n\t\"\"\"\n\tselectionItemList \u003d []\n\tdef recBuildPath(nodes, bcSplitList):\n\t\tfor i, crumb in enumerate(bcSplitList):\n\t\t\tfor nCtr, node in enumerate(nodes):\n\t\t\t\tif node[\"label\"] \u003d\u003d crumb:\n\t\t\t\t\tselectionItemList.append(nCtr)\n\t\t\t\t\trecBuildPath(node[\"items\"], bcSplitList[i+1:])\n\t\t\t\t\tbreak\n\t\treturn selectionItemList\n\tbcSplitList\u003d breadcrumbPath.split(\"/\")[1:] if breadcrumbPath[0]\u003d\u003d\"/\" else breadcrumbPath.split(\"/\")\n\tselectionItemList \u003d recBuildPath(utils.helper.sanitize_tree(self.props.items), bcSplitList)\n#\tsystem.perspective.print(\"--- %s || %s\"%(selectionItemList, bcSplitList))\n\treturn \"\" if len(selectionItemList) !\u003d len(bcSplitList) else \"/\".join(map(str,selectionItemList))" } ], "extensionFunctions": null, "messageHandlers": [ { "messageType": "updateNavSelection", "pageScope": true, "script": "\n#\tfor i,crumb in enumerate(bcSplitList):\n\tself.props.selection[0] \u003d self.generateSelectionPath(payload[\"breadcrumb\"])\n\t\n\t\t", "sessionScope": false, "viewScope": false } ] }, "type": "ia.display.tree" }, { "events": { "dom": { "onClick": { "config": { "draggable": true, "id": "sYFSKuOZ", "modal": false, "overlayDismiss": false, "resizable": true, "showCloseIcon": true, "title": "Tag Browser", "type": "open", "viewPath": "Delete ME/Tag Browser", "viewportBound": false }, "scope": "C", "type": "popup" } } }, "meta": { "name": "Label" }, "position": { "basis": "32px" }, "props": { "text": "Tag Browser", "textStyle": { "cursor": "pointer", "fontFamily": "inherit", "marginLeft": 25 } }, "type": "ia.display.label" } ], "meta": { "name": "root" }, "props": { "direction": "column", "style": { "classes": "navtree", "gap": "10px" } }, "scripts": { "customMethods": [], "extensionFunctions": null, "messageHandlers": [ { "messageType": "evtNavSelectionChange", "pageScope": true, "script": "\t# implement your handler here\n\tsystem.perspective.print(\"evtNavSelectionChange received\")", "sessionScope": true, "viewScope": false } ] }, "type": "ia.container.flex" } }