{
  "custom": {},
  "params": {
    "tagProps": [
      "PLC15/OPC/inAlarms0",
      "1_Profinet node fault",
      "",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value",
      "value"
    ]
  },
  "propConfig": {
    "params.tagProps": {
      "paramDirection": "inout",
      "persistent": true
    },
    "params.tagProps[0]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[1]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[2]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[3]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[4]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[5]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[6]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[7]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[8]": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.tagProps[9]": {
      "paramDirection": "input",
      "persistent": true
    }
  },
  "props": {
    "defaultSize": {
      "height": 40,
      "width": 40
    },
    "styles": "value"
  },
  "root": {
    "children": [
      {
        "meta": {
          "name": "Icon"
        },
        "position": {
          "basis": "264px"
        },
        "propConfig": {
          "meta.visible": {
            "binding": {
              "config": {
                "expression": "if({parent.custom.state}\u003d1||{parent.custom.covert_mode}||{parent.custom.isMatch}\u003e0,true,false)"
              },
              "type": "expr"
            }
          },
          "props.style.classes": {
            "binding": {
              "config": {
                "expression": "{parent.custom.ref_state}"
              },
              "overlayOptOut": true,
              "transforms": [
                {
                  "fallback": "State-Styles/State106",
                  "inputType": "scalar",
                  "mappings": [
                    {
                      "input": 0,
                      "output": "State-Styles/State0"
                    },
                    {
                      "input": 1,
                      "output": "State-Styles/State1"
                    },
                    {
                      "input": 2,
                      "output": "State-Styles/State2"
                    },
                    {
                      "input": 3,
                      "output": "State-Styles/State3"
                    },
                    {
                      "input": 4,
                      "output": "State-Styles/State4"
                    },
                    {
                      "input": 5,
                      "output": "State-Styles/State5"
                    },
                    {
                      "input": 6,
                      "output": "State-Styles/State6"
                    },
                    {
                      "input": 101,
                      "output": "State-Styles/State101"
                    },
                    {
                      "input": 102,
                      "output": "State-Styles/State102"
                    },
                    {
                      "input": 103,
                      "output": "State-Styles/State103"
                    },
                    {
                      "input": 104,
                      "output": "State-Styles/State104"
                    },
                    {
                      "input": 105,
                      "output": "State-Styles/State105"
                    },
                    {
                      "input": 106,
                      "output": "State-Styles/State106"
                    }
                  ],
                  "outputType": "style-list",
                  "type": "map"
                }
              ],
              "type": "expr"
            }
          }
        },
        "props": {
          "path": "material/place"
        },
        "type": "ia.display.icon"
      }
    ],
    "events": {
      "dom": {
        "onDoubleClick": {
          "config": {
            "script": "\ttagProps \u003d self.view.params.tagProps\n\tsystem.perspective.openPopup(\"DevicePopUP\", \"PopUp-Views/Device/Information-Device\", params \u003d{\"tagProps\":tagProps},resizable \u003d 1)\n\t"
          },
          "scope": "G",
          "type": "script"
        }
      }
    },
    "meta": {
      "name": "root"
    },
    "propConfig": {
      "custom.alarm_active": {
        "binding": {
          "config": {
            "fallbackDelay": 2.5,
            "mode": "indirect",
            "references": {
              "0": "{view.params.tagProps[0]}",
              "1": "{view.params.tagProps[1]}"
            },
            "tagPath": "{0}/Alarms/{1}.IsActive"
          },
          "type": "tag"
        }
      },
      "custom.alarm_priority_int": {
        "binding": {
          "config": {
            "fallbackDelay": 2.5,
            "mode": "indirect",
            "references": {
              "0": "{view.params.tagProps[0]}",
              "1": "{view.params.tagProps[1]}"
            },
            "tagPath": "{0}/Alarms/{1}.Priority"
          },
          "transforms": [
            {
              "expression": "case({value},\n\"Critical\",1,\n\"High\",1,\n\"Medium\",2,\n\"Low\",3,\n\"Diagnostic\",4,0)",
              "type": "expression"
            }
          ],
          "type": "tag"
        }
      },
      "custom.alarm_shelved": {
        "binding": {
          "config": {
            "fallbackDelay": 2.5,
            "mode": "indirect",
            "references": {
              "0": "{view.params.tagProps[0]}",
              "1": "{view.params.tagProps[1]}"
            },
            "tagPath": "{0}/Alarms/{1}.IsShelved"
          },
          "type": "tag"
        }
      },
      "custom.covert_mode": {
        "binding": {
          "config": {
            "path": "session.custom.covert"
          },
          "type": "property"
        }
      },
      "custom.isMatch": {
        "binding": {
          "config": {
            "expression": "if({session.custom.deviceSearchId} \u003d {this.custom.search_path},1,0)"
          },
          "type": "expr"
        },
        "onChange": {
          "enabled": null,
          "script": "\tif currentValue.value \u003d\u003d 1:\n\t\tself.print(self.custom.search_path)\n\t\tself.session.custom.searchId \u003d \"\""
        },
        "persistent": false
      },
      "custom.ref_state": {
        "binding": {
          "config": {
            "expression": "if({this.custom.state}\u003d1 \u0026\u0026 {this.custom.isMatch}\u003d1,{this.custom.alarm_priority_int} + 100,\nif({this.custom.state}\u003d1 \u0026\u0026 {this.custom.isMatch}\u003d0,{this.custom.alarm_priority_int},\nif({this.custom.state}\u003d0 \u0026\u0026 {this.custom.isMatch}\u003d1,105,5)))"
          },
          "type": "expr"
        }
      },
      "custom.search_path": {
        "binding": {
          "config": {
            "expression": "{view.params.tagProps[0]}+\"/\"+{view.params.tagProps[1]}"
          },
          "type": "expr"
        }
      },
      "custom.state": {
        "binding": {
          "config": {
            "expression": "if({this.custom.alarm_shelved},0,\nif({this.custom.alarm_active},1,0))"
          },
          "type": "expr"
        }
      }
    },
    "props": {
      "direction": "column"
    },
    "type": "ia.container.flex"
  }
}