{
  "custom": {
    "PLC_list": [
      "MCM01",
      "MCM02",
      "MCM03",
      "MCM04",
      "MCM05",
      "MCM06",
      "MCM07"
    ],
    "running_state": -1,
    "state": 0,
    "views_data": []
  },
  "params": {
    "tagProps": [
      "/System/Station/Buttons/UL1_3_JR_PB2",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value"
    ]
  },
  "propConfig": {
    "custom.PLC_list": {
      "binding": {
        "config": {
          "fallbackDelay": 2.5,
          "mode": "indirect",
          "references": {
            "fc": "{session.custom.fc}"
          },
          "tagPath": "[{fc}_SCADA_TAG_PROVIDER]Configuration/PLC"
        },
        "transforms": [
          {
            "code": "\tdevices \u003d system.util.jsonDecode(value)\n\tplcList \u003d []\n\tfor k in devices.keys():\n\t\tplcList.append(k)\n\t\t\n\treturn(sorted(set(plcList)))\n",
            "type": "script"
          }
        ],
        "type": "tag"
      },
      "persistent": true
    },
    "custom.running_state": {
      "binding": {
        "config": {
          "expression": "try(jsonGet({session.custom.state_messages},{this.custom.tag_path_to_lookup}),-1)\t\r\n"
        },
        "transforms": [
          {
            "expression": "if({value} !\u003d -1, try(jsonGet({value},\"state\"),4),{value})",
            "type": "expression"
          }
        ],
        "type": "expr"
      },
      "persistent": true
    },
    "custom.state": {
      "binding": {
        "config": {
          "fallbackDelay": 2.5,
          "mode": "indirect",
          "references": {
            "0": "{view.params.tagProps[0]}",
            "fc": "{session.custom.fc}"
          },
          "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
        },
        "transforms": [
          {
            "expression": "if(isNull({value}), 0, {value})",
            "type": "expression"
          },
          {
            "fallback": null,
            "inputType": "scalar",
            "mappings": [
              {
                "input": 3,
                "output": 3
              },
              {
                "input": 2,
                "output": 2
              },
              {
                "input": 1,
                "output": 1
              },
              {
                "input": 0,
                "output": 0
              }
            ],
            "outputType": "scalar",
            "type": "map"
          }
        ],
        "type": "tag"
      },
      "persistent": true
    },
    "custom.views_data": {
      "binding": {
        "config": {
          "struct": {
            "equipment_id": "{view.params.tagProps[0]}"
          },
          "waitOnAll": true
        },
        "transforms": [
          {
            "code": "\tproject_info \u003d system.perspective.getProjectInfo()\n\t#self.custom.views_data \u003d project_info\n\tviews \u003d project_info.get(\"views\")\n\t#equipment_id \u003d self.view.params.tagProps[0]\n\tviews_data \u003d [i for i in views if i[\"path\"].startswith(\"Custom-Views/\"+ value.equipment_id)]\n\t#self.custom.views_data \u003d views_data\n\t\n\treturn views_data",
            "type": "script"
          }
        ],
        "type": "expr-struct"
      },
      "persistent": true
    },
    "params.tagProps": {
      "paramDirection": "input",
      "persistent": true
    }
  },
  "props": {
    "defaultSize": {
      "width": 400
    }
  },
  "root": {
    "children": [
      {
        "children": [
          {
            "children": [
              {
                "meta": {
                  "name": "Label"
                },
                "position": {
                  "grow": 1
                },
                "propConfig": {
                  "props.text": {
                    "binding": {
                      "config": {
                        "expression": "\u0027Source ID: \u0027 + {view.params.tagProps[0]}"
                      },
                      "type": "expr"
                    }
                  }
                },
                "props": {
                  "style": {
                    "color": "#FFFF",
                    "fontFamily": "Arial",
                    "fontSize": 14,
                    "fontWeight": "bold",
                    "paddingLeft": 10
                  }
                },
                "type": "ia.display.label"
              },
              {
                "events": {
                  "dom": {
                    "onClick": {
                      "config": {
                        "script": "\tsystem.perspective.closeDock(\u0027Docked-East-DS\u0027)\n\tself.getSibling(\"tabs\").props.currentTabIndex \u003d 0"
                      },
                      "scope": "G",
                      "type": "script"
                    }
                  }
                },
                "meta": {
                  "name": "Icon",
                  "tooltip": {
                    "enabled": true,
                    "style": {
                      "cursor": "pointer"
                    },
                    "text": "Close faceplate"
                  }
                },
                "props": {
                  "path": "material/close",
                  "style": {
                    "cursor": "pointer",
                    "marginBottom": 5,
                    "marginLeft": 5,
                    "marginRight": 5,
                    "marginTop": 5
                  }
                },
                "type": "ia.display.icon"
              }
            ],
            "meta": {
              "name": "FlexContainer"
            },
            "position": {
              "basis": "30px",
              "shrink": 0
            },
            "props": {
              "style": {
                "overflow": "hidden"
              }
            },
            "type": "ia.container.flex"
          },
          {
            "children": [
              {
                "children": [
                  {
                    "children": [
                      {
                        "meta": {
                          "name": "Label"
                        },
                        "position": {
                          "basis": "32px",
                          "display": false
                        },
                        "propConfig": {
                          "position.display": {
                            "binding": {
                              "config": {
                                "expression": "if({../AlarmTable.props.params.length_of_table_data} \u003d 0, True, False)"
                              },
                              "enabled": false,
                              "type": "expr"
                            }
                          }
                        },
                        "props": {
                          "style": {
                            "classes": "Labels/Label_1",
                            "marginTop": 20
                          },
                          "text": "No Active Alarms"
                        },
                        "type": "ia.display.label"
                      },
                      {
                        "meta": {
                          "name": "AlarmStatusTable"
                        },
                        "position": {
                          "basis": "400px",
                          "grow": 1
                        },
                        "propConfig": {
                          "props.filters.active.text": {
                            "binding": {
                              "config": {
                                "path": "view.params.tagProps[0]"
                              },
                              "transforms": [
                                {
                                  "code": "\treturn value[1:]",
                                  "type": "script"
                                }
                              ],
                              "type": "property"
                            }
                          }
                        },
                        "props": {
                          "columns": {
                            "active": {
                              "displayPath": {
                                "enabled": false
                              },
                              "priority": {
                                "enabled": false
                              },
                              "source": {
                                "enabled": false
                              },
                              "state": {
                                "enabled": false
                              }
                            }
                          },
                          "filters": {
                            "active": {
                              "priorities": {
                                "critical": false,
                                "high": false,
                                "low": false,
                                "medium": false
                              },
                              "states": {
                                "clearUnacked": false
                              }
                            }
                          },
                          "refreshRate": 500,
                          "toolbar": {
                            "enabled": false
                          }
                        },
                        "type": "ia.display.alarmstatustable"
                      }
                    ],
                    "meta": {
                      "name": "Active_tab"
                    },
                    "props": {
                      "direction": "column"
                    },
                    "type": "ia.container.flex"
                  },
                  {
                    "children": [
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "meta": {
                                  "name": "NameField"
                                },
                                "position": {
                                  "basis": "50%",
                                  "grow": 1
                                },
                                "props": {
                                  "style": {
                                    "paddingLeft": 20
                                  },
                                  "text": "NAME"
                                },
                                "type": "ia.display.label"
                              },
                              {
                                "meta": {
                                  "name": "DeviceName"
                                },
                                "position": {
                                  "basis": "50%",
                                  "grow": 1
                                },
                                "propConfig": {
                                  "props.text": {
                                    "binding": {
                                      "config": {
                                        "path": "view.params.tagProps[0]"
                                      },
                                      "transforms": [
                                        {
                                          "code": "   return value.rsplit(\u0027/\u0027, 1)[-1]",
                                          "type": "script"
                                        }
                                      ],
                                      "type": "property"
                                    }
                                  }
                                },
                                "props": {
                                  "style": {
                                    "backgroundColor": "#FFFFFF",
                                    "classes": "Text-Styles/Ariel-Bold-12pt",
                                    "paddingLeft": 10
                                  }
                                },
                                "type": "ia.display.label"
                              }
                            ],
                            "meta": {
                              "name": "Name"
                            },
                            "position": {
                              "basis": "35px"
                            },
                            "props": {
                              "style": {
                                "classes": "PopUp-Styles/InfoLabel",
                                "overflow": "hidden"
                              }
                            },
                            "type": "ia.container.flex"
                          }
                        ],
                        "meta": {
                          "name": "FlexContainer_0"
                        },
                        "position": {
                          "basis": "35px"
                        },
                        "props": {
                          "direction": "column"
                        },
                        "type": "ia.container.flex"
                      },
                      {
                        "children": [
                          {
                            "children": [
                              {
                                "meta": {
                                  "name": "NameField"
                                },
                                "position": {
                                  "basis": "50%",
                                  "grow": 1
                                },
                                "props": {
                                  "style": {
                                    "paddingLeft": 20
                                  },
                                  "text": "COMMUNICATION FAULTED"
                                },
                                "type": "ia.display.label"
                              },
                              {
                                "meta": {
                                  "name": "PB_Light"
                                },
                                "position": {
                                  "basis": "50%",
                                  "grow": 1
                                },
                                "propConfig": {
                                  "props.style.backgroundColor": {
                                    "binding": {
                                      "config": {
                                        "path": "this.props.text"
                                      },
                                      "transforms": [
                                        {
                                          "fallback": "#D5D5D5",
                                          "inputType": "scalar",
                                          "mappings": [
                                            {
                                              "input": "UNKNOWN",
                                              "output": "#FFFFFF"
                                            }
                                          ],
                                          "outputType": "color",
                                          "type": "map"
                                        }
                                      ],
                                      "type": "property"
                                    }
                                  },
                                  "props.text": {
                                    "binding": {
                                      "config": {
                                        "fallbackDelay": 2.5,
                                        "mode": "indirect",
                                        "references": {
                                          "0": "{view.params.tagProps[0]}",
                                          "fc": "{session.custom.fc}"
                                        },
                                        "tagPath": "[{fc}_SCADA_TAG_PROVIDER]{0}/STATE"
                                      },
                                      "transforms": [
                                        {
                                          "expression": "coalesce({value},{view.params.forceFaultStatus},\"UNKNOWN\")",
                                          "type": "expression"
                                        },
                                        {
                                          "fallback": "UNKNOWN",
                                          "inputType": "scalar",
                                          "mappings": [
                                            {
                                              "input": 1,
                                              "output": "FAULTED"
                                            },
                                            {
                                              "input": 0,
                                              "output": "NOT FAULTED"
                                            }
                                          ],
                                          "outputType": "scalar",
                                          "type": "map"
                                        }
                                      ],
                                      "type": "tag"
                                    }
                                  },
                                  "props.textStyle.color": {
                                    "binding": {
                                      "config": {
                                        "path": "this.props.text"
                                      },
                                      "transforms": [
                                        {
                                          "fallback": "#000000",
                                          "inputType": "scalar",
                                          "mappings": [
                                            {
                                              "input": "NOT FAULTED",
                                              "output": "#47FF47"
                                            },
                                            {
                                              "input": "FAULTED",
                                              "output": "#FF0000"
                                            }
                                          ],
                                          "outputType": "color",
                                          "type": "map"
                                        }
                                      ],
                                      "type": "property"
                                    }
                                  }
                                },
                                "props": {
                                  "style": {
                                    "classes": "Text-Styles/Ariel-Bold-12pt",
                                    "paddingLeft": 10
                                  }
                                },
                                "type": "ia.display.label"
                              }
                            ],
                            "meta": {
                              "name": "Property"
                            },
                            "position": {
                              "basis": "35px",
                              "shrink": 2
                            },
                            "props": {
                              "style": {
                                "classes": "PopUp-Styles/InfoLabel"
                              }
                            },
                            "type": "ia.container.flex"
                          }
                        ],
                        "meta": {
                          "name": "FlexContainer_1"
                        },
                        "position": {
                          "basis": "35px"
                        },
                        "props": {
                          "direction": "column"
                        },
                        "type": "ia.container.flex"
                      }
                    ],
                    "meta": {
                      "name": "Info_tab"
                    },
                    "position": {
                      "tabIndex": 1
                    },
                    "props": {
                      "direction": "column",
                      "style": {
                        "margin-left": ""
                      }
                    },
                    "type": "ia.container.flex"
                  }
                ],
                "meta": {
                  "name": "tabs"
                },
                "position": {
                  "grow": 1
                },
                "props": {
                  "currentTabIndex": 1,
                  "menuType": "modern",
                  "tabSize": {
                    "width": 1000
                  },
                  "tabStyle": {
                    "active": {
                      "classes": "",
                      "color": "#FFFFFF",
                      "fontFamily": "Arial",
                      "fontSize": 14,
                      "fontWeight": "bold",
                      "paddingLeft": 10
                    },
                    "inactive": {
                      "classes": "",
                      "color": "#B8B8B8",
                      "fontFamily": "Arial",
                      "fontSize": 14,
                      "fontWeight": "bold",
                      "paddingLeft": 10
                    }
                  },
                  "tabs": [
                    "Alarms",
                    "Info"
                  ]
                },
                "type": "ia.container.tab"
              }
            ],
            "meta": {
              "name": "FlexContainer_1"
            },
            "position": {
              "basis": "670px",
              "grow": 1
            },
            "props": {
              "style": {
                "border-top": "1px solid white",
                "gap": ""
              }
            },
            "type": "ia.container.flex"
          }
        ],
        "meta": {
          "name": "FlexContainer"
        },
        "position": {
          "basis": "800px",
          "grow": 1
        },
        "props": {
          "direction": "column"
        },
        "type": "ia.container.flex"
      }
    ],
    "meta": {
      "name": "root"
    },
    "props": {
      "direction": "column",
      "style": {
        "classes": "Buttons/Button-Menu"
      }
    },
    "type": "ia.container.flex"
  }
}