{
  "custom": {
    "key": {
      "alt_pageid": "library",
      "pageid": "library",
      "start_time": {
        "$": [
          "ts",
          192,
          1702653666845
        ],
        "$ts": 1702653102761
      }
    }
  },
  "events": {
    "system": {
      "onStartup": {
        "config": {
          "script": "\t#############################################################################################\n\t# Purpose:\tThis script searches the current views in the parent project. Script compares \t#\n\t#\t\t\tthe information from S3 to make sure the correct paths and information is\t\t#\n\t#\t\t\tdisplayed to the child objects. Where the path is the key for the JSON\t\t\t#\n\t# Login: \t\t\tDate:\t\t\t\t#Comment:\t\t\t\t\t\t\t\tVersion:\t#                               \n\t# dmamani\t\t\t1/4/23\t\t\t\tRelease to Production\t\t\t\t\tV1\t\t\t#\n\t# \t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t#\n\t#############################################################################################\n\t\t\n\t# - Params to Force Filters to show all symbols on the custom properties\n\tself.session.custom.alarm_filter.show_running \u003d True\n\tself.session.custom.alarm_filter.show_safety \u003d True\n\tself.session.custom.alarm_filter.show_diagnostic \u003d True\n\tself.session.custom.alarm_filter.show_gateways \u003d True\n\tself.session.custom.alarm_filter.show_low_alarm \u003d True\n\tfrom SymbolLibrary import list_categories, fetch_library, update_symbol_library\n\t# - Default Symbol JSON structure definitions\n\tdefault_symbol_info \u003d {\"description\": \"\",\t\"name\": \"\",\t\"category\": \"\",\"info\": \"\"} \n\t# - Get all Symbol Views and write them to tags\n\tproject_info \u003d system.perspective.getProjectInfo()\n\tviews \u003d project_info.get(\u0027views\u0027,[])\n\t# - Define criterias\n\tfilter_criterion \u003d \"Symbol-Views\"\n\tfilter_criterion2 \u003d \"Symbol-Library-Views\"\n\tfilter_criterion3 \u003d \"Controller-Views\"\n\tfilter_criterion4 \u003d \"Symbol-Views/Equipment-Views/Test\"\n\t# - Filter views that are not necessary for the symbol library and ensure the correct path\n\tfiltered_views \u003d [\n\t\tview for view in views \n\t\tif filter_criterion in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion2 in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion3 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\tand not filter_criterion4 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\t]\n\t# - Create JSON from the list \n\tjson_structure \u003d []\n\tsymbol_view_list \u003d []\n\tfor view in filtered_views:\n\t\tinstance \u003d {\n\t\t\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"instancePosition\": {},\n\t\t\t\"Path\": view.get(\u0027path\u0027,\u0027\u0027),\n\t\t\t\"forceRunning\": 3,\n\t\t\t\"forceFault\": None\n\t\t}\n\t\tjson_structure.append(instance)\n\t\tsymbol_view_list.append(view.get(\u0027path\u0027,\u0027\u0027))\n\tjson_structure.sort(key \u003d lambda x:x[\u0027Path\u0027].split(\"/\")[len(x[\u0027Path\u0027].split(\"/\"))-1])\n\t# - Encode JSON for igniton variables to populate correctly\n\tjson_result \u003d system.util.jsonEncode(json_structure)\n\tself.params.Dataset \u003d filtered_views\n\tself.params.FilteredViews \u003d json_structure\n\tsystem.perspective.print(filtered_views)\n\t\n\t# - Get all Symbol Categories from JSON Dictionary\t\n\tremote_json \u003d fetch_library(username\u003dself.session.props.auth.user.userName)\n\tfor path in json_structure:\n\t\tif path[\"Path\"] not in remote_json:\n\t\t\tupdate_symbol_library(path[\"Path\"], username\u003dself.session.props.auth.user.userName, **default_symbol_info)\n\t\t\tremote_json[path[\"Path\"]] \u003d default_symbol_info\n\t# - Remove by key  in case symbol does not exist in Folder Structure\n\tself.params.SymbolLibrary \u003d {k: v for k, v in remote_json.items() if k in symbol_view_list}\n\tcategory_data \u003d [{\"Category\": category} for category in list_categories(self.params.SymbolLibrary)]\n\tself.params.CategoryList \u003d category_data\n"
        },
        "scope": "G",
        "type": "script"
      }
    }
  },
  "params": {
    "CategoryList": [
      {
        "Category": "ALL"
      },
      {
        "Category": "Control"
      },
      {
        "Category": "Device Status"
      },
      {
        "Category": "Equipment Status"
      },
      {
        "Category": "Field Device"
      },
      {
        "Category": "Machine"
      },
      {
        "Category": "Network"
      },
      {
        "Category": "Not in use"
      },
      {
        "Category": "Safety"
      }
    ],
    "SelectedCategory": "",
    "SelectedDescription": "",
    "SelectedInfo": "",
    "SelectedPath": "",
    "SelectedRow": "ALL",
    "SymbolDetails": {
      "ARSAW": {
        "category": "",
        "description": "",
        "info": "Test",
        "path": "Symbol-Views/Equipment-Views/ARSAW"
      },
      "AUS": {
        "category": "A",
        "description": "AUS DESCRIPTION AUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTIONAUS DESCRIPTION",
        "info": "AUS INFO AUS INFO AUS INFO  AUS INFO  AUS INFO  AUS INFO  AUS INFO  AUS INFO  AUS INFO AUS INFO  ",
        "path": "Symbol-Views/Equipment-Views/AUS"
      },
      "Camera": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Camera"
      },
      "ControlCabinet": {
        "category": "",
        "description": "",
        "info": "### Symbol Information\nDate Created:  12/20/21\n\nCreated By:  amazonuser\n\nSize: 10X10",
        "path": "Symbol-Views/Equipment-Views/ControlCabinet"
      },
      "DeviceStatus": {
        "category": "B",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Device-Views/DeviceStatus"
      },
      "DeviceStatus_old": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Device-Views/DeviceStatus_old"
      },
      "Estop": {
        "category": "C",
        "description": "E-stop description, E-stop description, E-stop description, E-stop description, E-stop description",
        "info": "E-stop info, E-stop info, E-stop info, E-stop info, E-stop info, E-stop info, E-stop info",
        "path": "Symbol-Views/Equipment-Views/Estop"
      },
      "GoodsLift": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/GoodsLift"
      },
      "JAM": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/JAM"
      },
      "Light_Curtain": {
        "category": "B",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Light_Curtain"
      },
      "Main_Panel": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Main_Panel"
      },
      "Network": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Network"
      },
      "Pointer": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Pointer"
      },
      "PressureSwitch": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/PressureSwitch"
      },
      "PullChord": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/PullChord"
      },
      "PullChord_End": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/PullChord_End"
      },
      "PullChord_Line": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/PullChord_Line"
      },
      "PullChord_Line_Vertical": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical"
      },
      "RFID": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/RFID"
      },
      "Robot": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Robot"
      },
      "SLAMs": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/SLAMs"
      },
      "SafetyGate": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/SafetyGate"
      },
      "Stacker_Destacker": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Stacker_Destacker"
      },
      "Status": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Status"
      },
      "StatusNonPowered": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/StatusNonPowered"
      },
      "StatusNonPowered_NS": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS"
      },
      "Status_NS": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/Status_NS"
      },
      "THEA": {
        "category": "",
        "description": "",
        "info": "",
        "path": "Symbol-Views/Equipment-Views/THEA"
      }
    },
    "SymbolLibrary": ""
  },
  "propConfig": {
    "custom.key": {
      "persistent": true
    },
    "params.CategoryList": {
      "binding": {
        "config": {
          "bidirectional": true,
          "path": "/root/Dashboard.props.widgets[0].viewParams.Categories"
        },
        "type": "property"
      },
      "paramDirection": "inout",
      "persistent": true
    },
    "params.Dataset": {
      "binding": {
        "config": {
          "path": "/root/Dashboard.props.widgets[3].viewParams.Dataset"
        },
        "type": "property"
      }
    },
    "params.FilteredViews": {
      "binding": {
        "config": {
          "bidirectional": true,
          "path": "/root/Dashboard.props.widgets[3].viewParams.FilteredViews"
        },
        "type": "property"
      }
    },
    "params.SelectedCategory": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.SelectedDescription": {
      "binding": {
        "config": {
          "bidirectional": true,
          "path": "/root/Dashboard.props.widgets[1].viewParams.Description"
        },
        "type": "property"
      },
      "paramDirection": "inout",
      "persistent": true
    },
    "params.SelectedInfo": {
      "binding": {
        "config": {
          "bidirectional": true,
          "path": "/root/Dashboard.props.widgets[2].viewParams.Information"
        },
        "type": "property"
      },
      "paramDirection": "inout",
      "persistent": true
    },
    "params.SelectedPath": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.SelectedRow": {
      "onChange": {
        "enabled": null,
        "script": "\tfrom SymbolLibrary import search_items\n\tsystem.perspective.print(currentValue.value)\n\titems \u003d  [{\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t\t\t},\n\t\t\t\t\t\"instancePosition\": {},\n\t\t\t\t\t\"forceRunning\": 3,\n\t\t\t\t\t\"forceFault\": None,\n\t\t\t\t\"Path\": item} for item in search_items(self.params.SymbolLibrary,currentValue.value)]\n\tsystem.perspective.print(items)\n\tself.params.FilteredViews \u003d items\n\t\n\t"
      },
      "paramDirection": "inout",
      "persistent": true
    },
    "params.SymbolDetails": {
      "binding": {
        "config": {
          "path": ""
        },
        "enabled": false,
        "transforms": [
          {
            "code": "\tfrom SymbolLibrary import library_items\n\treturn library_items",
            "type": "script"
          }
        ],
        "type": "property"
      },
      "paramDirection": "inout",
      "persistent": true
    },
    "params.SymbolLibrary": {
      "binding": {
        "config": {
          "path": "/root/Dashboard.props.widgets[3].viewParams.SymbolLibrary"
        },
        "type": "property"
      },
      "paramDirection": "inout",
      "persistent": true
    }
  },
  "props": {
    "defaultSize": {
      "height": 786,
      "width": 1196
    }
  },
  "root": {
    "children": [
      {
        "events": {
          "dom": {
            "onDoubleClick": {
              "config": {
                "draggable": true,
                "id": "editItem",
                "modal": false,
                "overlayDismiss": false,
                "resizable": true,
                "showCloseIcon": true,
                "type": "open",
                "viewParams": {
                  "btnTextPrimary": "Submit Changes",
                  "btnTextSecondary": "",
                  "editField1": "{view.params.SelectedCategory}",
                  "editField2": "{view.params.SelectedInfo}",
                  "editField3": "{view.params.SelectedDescription}",
                  "field1Description": "Category",
                  "field2Description": "Information",
                  "field3Description": "Description",
                  "message": " ",
                  "path": "{view.params.SelectedPath}",
                  "showCloseBtn": "False",
                  "title": "Update Symbol Details"
                },
                "viewPath": "PopUp-Views/EditItem",
                "viewportBound": false
              },
              "scope": "C",
              "type": "popup"
            }
          }
        },
        "meta": {
          "name": "Dashboard"
        },
        "position": {
          "basis": "400px",
          "grow": 1
        },
        "propConfig": {
          "props.widgets[0].viewParams.Dataset": {
            "binding": {
              "config": {
                "path": "view.params.Dataset"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "editingToggle": false,
          "stretch": {
            "rowCount": 5
          },
          "widgets": [
            {
              "body": {
                "style": {
                  "classes": ""
                }
              },
              "header": {
                "enabled": true,
                "style": {
                  "classes": ""
                },
                "title": "Category"
              },
              "isConfigurable": false,
              "minSize": {
                "columnSpan": 1,
                "rowSpan": 1
              },
              "name": "Category",
              "position": {
                "columnEnd": 3,
                "columnStart": 1,
                "rowEnd": 3,
                "rowStart": 1
              },
              "style": {
                "classes": ""
              },
              "viewParams": {
                "Categories": [
                  {
                    "Category": "ALL"
                  },
                  {
                    "Category": "Control"
                  },
                  {
                    "Category": "Device Status"
                  },
                  {
                    "Category": "Equipment Status"
                  },
                  {
                    "Category": "Field Device"
                  },
                  {
                    "Category": "Machine"
                  },
                  {
                    "Category": "Network"
                  },
                  {
                    "Category": "Not in use"
                  },
                  {
                    "Category": "Safety"
                  }
                ],
                "SelectedRow": ""
              },
              "viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Filter-View"
            },
            {
              "body": {
                "style": {
                  "classes": ""
                }
              },
              "header": {
                "enabled": true,
                "style": {
                  "classes": ""
                },
                "title": "Symbol Description"
              },
              "isConfigurable": false,
              "minSize": {
                "columnSpan": 1,
                "rowSpan": 1
              },
              "name": "Description",
              "position": {
                "columnEnd": 9,
                "columnStart": 3,
                "rowEnd": 6,
                "rowStart": 4
              },
              "style": {
                "classes": ""
              },
              "viewParams": {
                "Description": ""
              },
              "viewPath": "Symbol-Views/Symbol-Library-Views/Selected-Symbol-Description"
            },
            {
              "body": {
                "style": {
                  "classes": ""
                }
              },
              "header": {
                "enabled": true,
                "style": {
                  "classes": ""
                },
                "title": "Symbol Information"
              },
              "isConfigurable": false,
              "minSize": {
                "columnSpan": 1,
                "rowSpan": 1
              },
              "name": "Information",
              "position": {
                "columnEnd": 3,
                "columnStart": 1,
                "rowEnd": 6,
                "rowStart": 3
              },
              "style": {
                "classes": ""
              },
              "viewParams": {
                "Information": ""
              },
              "viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Information-View"
            },
            {
              "body": {
                "style": {
                  "classes": ""
                }
              },
              "header": {
                "enabled": true,
                "style": {
                  "classes": ""
                },
                "title": "Symbol Library - All Available Symbols"
              },
              "isConfigurable": false,
              "minSize": {
                "columnSpan": 1,
                "rowSpan": 1
              },
              "name": "Description",
              "position": {
                "columnEnd": 9,
                "columnStart": 3,
                "rowEnd": 4,
                "rowStart": 1
              },
              "style": {
                "classes": ""
              },
              "viewParams": {
                "Dataset": [
                  {
                    "path": "Symbol-Views/Device-Views/DeviceStatus"
                  },
                  {
                    "path": "Symbol-Views/Device-Views/DeviceStatus_old"
                  },
                  {
                    "path": "Symbol-Views/Device-Views/Estop"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/ARSAW"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/AUS"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Camera"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/ControlCabinet"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Estop"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/GoodsLift"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/JAM"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Light_Curtain"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Main_Panel"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Network"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Pointer"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/PressureSwitch"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/PullChord"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/PullChord_End"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/PullChord_Line"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/RFID"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Robot"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/SLAMs"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/SafetyGate"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Stacker_Destacker"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Status"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/StatusNonPowered"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Status_NS"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/THEA"
                  },
                  {
                    "path": "Symbol-Views/Equipment-Views/Test"
                  }
                ],
                "FilteredViews": [
                  {
                    "Path": "Symbol-Views/Equipment-Views/ARSAW",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/AUS",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Camera",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/CognexCamera",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/ControlCabinet",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Device-Views/DeviceStatus",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Device-Views/DeviceStatus_old",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Device-Views/Estop",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Estop",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/GoodsLift",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/JAM",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Light_Curtain",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Main_Panel",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Network",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Pointer",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/PressureSwitch",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/PullChord",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/PullChord_End",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/PullChord_Line",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/PullChord_Line_Vertical",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/RFID",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Robot",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/SLAMs",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/SafetyGate",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Stacker_Destacker",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Status",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/StatusNonPowered",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/StatusNonPowered_NS",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/Status_NS",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  },
                  {
                    "Path": "Symbol-Views/Equipment-Views/THEA",
                    "forceFault": null,
                    "forceRunning": 3,
                    "instancePosition": {},
                    "instanceStyle": {
                      "classes": ""
                    }
                  }
                ],
                "SelectedValue": "",
                "SymbolLibrary": "",
                "key": ""
              },
              "viewPath": "Symbol-Views/Symbol-Library-Views/Symbol-Icons-View"
            }
          ]
        },
        "type": "ia.display.dashboard"
      }
    ],
    "meta": {
      "name": "root"
    },
    "scripts": {
      "customMethods": [],
      "extensionFunctions": null,
      "messageHandlers": [
        {
          "messageType": "UserClickInfo",
          "pageScope": true,
          "script": "\tfrom pprint import pformat\n\tSymbolPath \u003d payload[\"UserClickPath\"]\n\tsystem.perspective.print(pformat(self.view.params.SymbolLibrary[SymbolPath]))\n\tself.view.params.SelectedInfo \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027info\u0027]\n\tself.view.params.SelectedDescription \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027description\u0027]\n\tself.view.params.SelectedPath \u003d SymbolPath \n\tself.view.params.SelectedCategory \u003d self.view.params.SymbolLibrary[SymbolPath][\u0027category\u0027]\n\tsystem.perspective.print(SymbolPath)\n",
          "sessionScope": false,
          "viewScope": false
        },
        {
          "messageType": "UserClickCategory",
          "pageScope": true,
          "script": "\n\tSelectedRow \u003d payload[\"UserClickData\"]\n\tself.view.params.SelectedRow \u003d SelectedRow",
          "sessionScope": false,
          "viewScope": false
        },
        {
          "messageType": "UserClickRefresh",
          "pageScope": true,
          "script": "\tfrom SymbolLibrary import list_categories, fetch_library\n\t\n\t#Get all Symbol Views and write them to tags\n\tproject_info \u003d system.perspective.getProjectInfo()\n\tviews \u003d project_info.get(\u0027views\u0027,[])\n\t# - Define criterias\n\tfilter_criterion \u003d \"Symbol-Views\"\n\tfilter_criterion2 \u003d \"Symbol-Library-Views\"\n\tfilter_criterion3 \u003d \"Controller-Views\"\n\tfilter_criterion4 \u003d \"Symbol-Views/Equipment-Views/Test\"\n\t# - Filter views that are not necessary for the symbol library and ensure the correct path\n\tfiltered_views \u003d [\n\t\tview for view in views \n\t\tif filter_criterion in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion2 in view.get(\u0027path\u0027,\u0027\u0027) \n\t\tand not filter_criterion3 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\tand not filter_criterion4 in view.get(\u0027path\u0027,\u0027\u0027)\n\t\t]\n\t# - Create JSON from the list \n\tjson_structure \u003d []\n\tsymbol_view_list \u003d []\n\tfor view in filtered_views:\n\t\tinstance \u003d {\n\t\t\t\"instanceStyle\": {\n\t\t\t\t\"classes\": \"\"\n\t\t\t},\n\t\t\t\"instancePosition\": {},\n\t\t\t\"Path\": view.get(\u0027path\u0027,\u0027\u0027),\n\t\t\t\"forceRunning\": 3,\n\t\t\t\"forceFault\": None\n\t\t}\n\t\tjson_structure.append(instance)\n\t\tsymbol_view_list.append(view.get(\u0027path\u0027,\u0027\u0027))\n\tjson_structure.sort(key \u003d lambda x:x[\u0027Path\u0027].split(\"/\")[len(x[\u0027Path\u0027].split(\"/\"))-1])\t\n\t# - Encode JSON for igniton variables to populate correctly\n\tjson_result \u003d system.util.jsonEncode(json_structure)\n\tself.view.params.Dataset \u003d filtered_views\n\tself.view.params.FilteredViews \u003d json_structure\n\tsystem.perspective.print(filtered_views)\n\t\n\t# - Get all Symbol Categories from JSON Dictionary\t\n\tremote_json \u003d fetch_library(username\u003dself.session.props.auth.user.userName)\n\tself.view.params.SymbolLibrary \u003d {k: v for k, v in remote_json.items() if k in symbol_view_list}\n\tcategory_data \u003d [{\"Category\": category} for category in list_categories(self.view.params.SymbolLibrary)]\n\tself.view.params.CategoryList \u003d category_data\n\tself.view.params.SelectedRow \u003d \u0027ALL\u0027\n\tself.view.params.SelectedDescription \u003d \"\"\n\tself.view.params.SelectedInfo \u003d \"\"",
          "sessionScope": false,
          "viewScope": false
        }
      ]
    },
    "type": "ia.container.flex"
  }
}