{
  "custom": {},
  "params": {
    "configuring": false,
    "timePeriod": "",
    "title": "Global Quality"
  },
  "propConfig": {
    "params.configuring": {
      "onChange": {
        "enabled": null,
        "script": "\tviewParams\u003dself.params\n\tviewParams\u003dself.params\n\tconfigParams\u003dself.getChild(\"root/configuration\").props.params\n\tif currentValue.value:\n\t\tconfigParams.timePeriodIn \u003d viewParams.timePeriod\n\t\tconfigParams.titleIn \u003d viewParams.title\n\telif previousValue is not None and previousValue.value:\n\t\tviewParams.timePeriod \u003d configParams.timePeriodOut\n\t\tviewParams.title \u003d configParams.titleOut"
      },
      "paramDirection": "input",
      "persistent": true
    },
    "params.timePeriod": {
      "paramDirection": "inout",
      "persistent": true
    },
    "params.title": {
      "paramDirection": "inout",
      "persistent": true
    }
  },
  "props": {
    "defaultSize": {
      "height": 200,
      "width": 200
    }
  },
  "root": {
    "children": [
      {
        "meta": {
          "name": "configuration"
        },
        "position": {
          "basis": "800px",
          "grow": 1
        },
        "propConfig": {
          "position.display": {
            "binding": {
              "config": {
                "path": "view.params.configuring"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "params": {
            "timePeriodIn": "",
            "timePeriodOut": "",
            "titleIn": "Global Quality",
            "titleOut": "Global Quality"
          },
          "path": "Page/Widgets/Configuration/Time Period, Title"
        },
        "type": "ia.display.view"
      },
      {
        "children": [
          {
            "meta": {
              "name": "title"
            },
            "position": {
              "shrink": 0
            },
            "propConfig": {
              "position.display": {
                "binding": {
                  "config": {
                    "expression": "coalesce({view.params.title},\u0027\u0027)!\u003d\u0027\u0027"
                  },
                  "type": "expr"
                }
              },
              "props.params.text": {
                "binding": {
                  "config": {
                    "path": "view.params.title"
                  },
                  "type": "property"
                }
              }
            },
            "props": {
              "path": "Page/Embedded/Widget Title"
            },
            "type": "ia.display.view"
          },
          {
            "meta": {
              "name": "dial"
            },
            "position": {
              "grow": 1
            },
            "propConfig": {
              "props.params.percent": {
                "binding": {
                  "config": {
                    "path": "../mesAnalysisController.props.data"
                  },
                  "transforms": [
                    {
                      "code": "\treturn 100*value.getValueAt(0,0) if value.rowCount\u003e0 else 0",
                      "type": "script"
                    }
                  ],
                  "type": "property"
                }
              }
            },
            "props": {
              "params": {
                "label": ""
              },
              "path": "Page/Embedded/Dial"
            },
            "type": "ia.display.view"
          },
          {
            "meta": {
              "name": "mesAnalysisController"
            },
            "position": {
              "basis": "64px",
              "display": false
            },
            "propConfig": {
              "custom.end": {
                "binding": {
                  "config": {
                    "fallbackDelay": 2.5,
                    "mode": "expression",
                    "tagPath": "runScript(\u0027shared.mes.schedule.getTagPathForTimePeriodEnd\u0027, 0, {view.params.timePeriod}, {view.params.equipmentPath})"
                  },
                  "type": "tag"
                }
              },
              "custom.start": {
                "binding": {
                  "config": {
                    "fallbackDelay": 2.5,
                    "mode": "expression",
                    "tagPath": "runScript(\u0027shared.mes.schedule.getTagPathForTimePeriodStart\u0027, 0, {view.params.timePeriod}, {view.params.equipmentPath})"
                  },
                  "type": "tag"
                }
              },
              "custom.update": {
                "binding": {
                  "config": {
                    "struct": {
                      "end": "{this.custom.end}",
                      "eqPath": "{view.params.equipmentPath}",
                      "period": "{view.params.timePeriod}",
                      "start": "{this.custom.start}"
                    },
                    "waitOnAll": true
                  },
                  "transforms": [
                    {
                      "code": "\tself.props.endDate  \u003d value[\"end\"]\n\tself.props.startDate \u003d value[\"start\"]\n\treturn value",
                      "type": "script"
                    }
                  ],
                  "type": "expr-struct"
                }
              }
            },
            "props": {
              "data": {
                "$": [
                  "ds",
                  192,
                  1668728440746
                ],
                "$columns": []
              },
              "drillDownOptions": {
                "$": [
                  "ds",
                  192,
                  1668728440746
                ],
                "$columns": []
              },
              "executionTime": 70,
              "refreshOnSettingsChange": true,
              "selectedAnalysisName": "Global OEE Quality"
            },
            "type": "mes.production.mesAnalysisController"
          },
          {
            "meta": {
              "name": "timePeriodLabel"
            },
            "position": {
              "basis": "32px"
            },
            "propConfig": {
              "position.display": {
                "binding": {
                  "config": {
                    "struct": {
                      "timePeriod": "{view.params.timePeriod}"
                    },
                    "waitOnAll": true
                  },
                  "transforms": [
                    {
                      "code": "\tif value[\"timePeriod\"] \u003d\u003d \"\" or value[\"timePeriod\"] \u003d\u003d None:\n\t\treturn False \n\treturn True",
                      "type": "script"
                    }
                  ],
                  "type": "expr-struct"
                }
              },
              "props.text": {
                "binding": {
                  "config": {
                    "path": "view.params.timePeriod"
                  },
                  "transforms": [
                    {
                      "code": "\treturn \"(Based on \" +value + \")\"",
                      "type": "script"
                    }
                  ],
                  "type": "property"
                }
              }
            },
            "props": {
              "style": {
                "color": "#808080",
                "fontFamily": "Roboto",
                "fontSize": 12,
                "textAlign": "center"
              }
            },
            "type": "ia.display.label"
          }
        ],
        "meta": {
          "name": "runtime"
        },
        "position": {
          "basis": "200px",
          "grow": 1
        },
        "propConfig": {
          "position.display": {
            "binding": {
              "config": {
                "expression": "!{view.params.configuring}"
              },
              "type": "expr"
            }
          }
        },
        "props": {
          "direction": "column",
          "style": {
            "overflow": "hidden"
          }
        },
        "type": "ia.container.flex"
      }
    ],
    "meta": {
      "name": "root"
    },
    "props": {
      "direction": "column"
    },
    "type": "ia.container.flex"
  }
}