{
  "custom": {},
  "params": {
    "device_name": "Test",
    "driver": "value",
    "enabled": false,
    "host_name": "value",
    "status": "value"
  },
  "propConfig": {
    "params.device_name": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.driver": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.enabled": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.host_name": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.status": {
      "paramDirection": "input",
      "persistent": true
    }
  },
  "props": {
    "defaultSize": {
      "height": 50,
      "width": 1908
    }
  },
  "root": {
    "children": [
      {
        "meta": {
          "name": "Label"
        },
        "position": {
          "basis": "400px"
        },
        "propConfig": {
          "props.text": {
            "binding": {
              "config": {
                "path": "view.params.device_name"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "style": {
            "textAlign": "center"
          }
        },
        "type": "ia.display.label"
      },
      {
        "meta": {
          "name": "Label_0"
        },
        "position": {
          "basis": "400px"
        },
        "propConfig": {
          "props.text": {
            "binding": {
              "config": {
                "path": "view.params.driver"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "style": {
            "textAlign": "center"
          }
        },
        "type": "ia.display.label"
      },
      {
        "meta": {
          "name": "Label_1"
        },
        "position": {
          "basis": "200px"
        },
        "propConfig": {
          "props.text": {
            "binding": {
              "config": {
                "path": "view.params.enabled"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "style": {
            "textAlign": "center"
          }
        },
        "type": "ia.display.label"
      },
      {
        "meta": {
          "name": "Label_2"
        },
        "position": {
          "basis": "564px"
        },
        "propConfig": {
          "props.text": {
            "binding": {
              "config": {
                "path": "view.params.status"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "style": {
            "textAlign": "center"
          }
        },
        "type": "ia.display.label"
      },
      {
        "meta": {
          "name": "Label_3"
        },
        "position": {
          "basis": "564px"
        },
        "propConfig": {
          "props.text": {
            "binding": {
              "config": {
                "path": "view.params.host_name"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "style": {
            "textAlign": "center"
          }
        },
        "type": "ia.display.label"
      },
      {
        "children": [
          {
            "meta": {
              "name": "Label_0"
            },
            "position": {
              "basis": "2px",
              "grow": 1
            },
            "type": "ia.display.label"
          },
          {
            "events": {
              "component": {
                "onActionPerformed": {
                  "config": {
                    "script": "\timport sys\n\tfrom java.lang import Exception\n\t\n\ttry:\n\t\tif system.tag.exists(\"System/DeviceList\"):\n\t\t\tdevice_cfg \u003d system.tag.read(\"System/DeviceList\").value\n\t\t\tif device_cfg\u003d\u003d\u0027\u0027:\n\t\t\t\tdevice_cfg\u003d\u0027{}\u0027\n\t\t\tcfg \u003d system.util.jsonDecode(device_cfg)\n\t\t\tenabled \u003d self.view.params.enabled\n\t\t\tdevice \u003d self.view.params.device_name\n\t\t\tsystem.perspective.print(enabled)\n\t\t\tif enabled:\n\t\t\t\tdevice_list \u003d cfg.get(\"Devicedisable\",[])\n\t\t\t\tif device not in device_list:\n\t\t\t\t\tdevice_list.append(device)\n\t\t\t\tcfg[\"Devicedisable\"] \u003d device_list\n\t\t\tif not enabled:\n\t\t\t\tdevice_list \u003d cfg.get(\"DeviceEnable\",[])\n\t\t\t\tif device not in device_list:\n\t\t\t\t\tdevice_list.append(device)\n\t\t\t\tcfg[\"DeviceEnable\"] \u003d device_list\n\t\t\tsystem.perspective.print(cfg)  \n\t\t\tencode \u003d system.util.jsonEncode(cfg)\n\t\t\tsystem.tag.write(\"System/DeviceList\",encode)\t\n\texcept:\n\t    logger \u003d system.util.getLogger(\"Device_Enable\")\n\t    exc_type, exc_obj, tb \u003d sys.exc_info()\n\t    lineno \u003d tb.tb_lineno\n\t    errorMessage\u003d str(lineno) + str(exc_type) + str(exc_obj)\n\t    #system.gui.errorBox(errorMessage,\"Error\")\n\t    "
                  },
                  "scope": "G",
                  "type": "script"
                }
              }
            },
            "meta": {
              "name": "Button_0"
            },
            "position": {
              "basis": "50px"
            },
            "propConfig": {
              "props.text": {
                "binding": {
                  "config": {
                    "expression": "if({view.params.enabled} \u003d True, \"Disable Device\", \"Enable Device\")"
                  },
                  "type": "expr"
                }
              }
            },
            "props": {
              "style": {
                "classes": "Buttons/PB_1"
              }
            },
            "type": "ia.input.button"
          },
          {
            "meta": {
              "name": "Label"
            },
            "position": {
              "basis": "2px",
              "grow": 1
            },
            "type": "ia.display.label"
          }
        ],
        "meta": {
          "name": "FlexContainer"
        },
        "position": {
          "basis": "200px"
        },
        "props": {
          "direction": "column"
        },
        "type": "ia.container.flex"
      }
    ],
    "custom": {
      "update": "value",
      "update_enable": "value"
    },
    "meta": {
      "name": "root"
    },
    "props": {
      "style": {
        "borderStyle": "ridge"
      }
    },
    "type": "ia.container.flex"
  }
}