{
  "custom": {},
  "params": {
    "configuring": false,
    "equipmentPath": "",
    "timePeriod": "",
    "title": "Overall Effectiveness"
  },
  "propConfig": {
    "params.configuring": {
      "onChange": {
        "enabled": null,
        "script": "\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\t\tconfigParams.equipmentPathIn \u003d viewParams.equipmentPath\n\telif previousValue is not None and previousValue.value:\n\t\tviewParams.timePeriod \u003d configParams.timePeriodOut\n\t\tviewParams.title \u003d configParams.titleOut\n\t\tviewParams.equipmentPath \u003d configParams.equipmentPathOut"
      },
      "paramDirection": "input",
      "persistent": true
    },
    "params.equipmentPath": {
      "paramDirection": "input",
      "persistent": true
    },
    "params.timePeriod": {
      "paramDirection": "inout",
      "persistent": true
    },
    "params.title": {
      "paramDirection": "inout",
      "persistent": true
    }
  },
  "props": {},
  "root": {
    "children": [
      {
        "meta": {
          "name": "Controller_GlobalOEE"
        },
        "position": {
          "basis": "64px",
          "display": false
        },
        "propConfig": {
          "custom.data_list": {
            "binding": {
              "config": {
                "path": "this.props.data"
              },
              "transforms": [
                {
                  "code": "\tif value.getRowCount() \u003e 0:\n\t\tvalueDict \u003d {\"OEE\":value.getValueAt(0,\u0027OEE\u0027),\"Availability\":value.getValueAt(0,\u0027OEE Availability\u0027),\"Performance\":value.getValueAt(0,\u0027OEE Performance\u0027),\"Quality\":value.getValueAt(0,\u0027OEE Quality\u0027)}\n\t\treturn valueDict\n\telse:\n\t\treturn {\"OEE\":0,\"Availability\":0,\"Performance\":0,\"Quality\":0}\n\t",
                  "type": "script"
                }
              ],
              "type": "property"
            }
          },
          "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.filterParams[0].value": {
            "binding": {
              "config": {
                "path": "view.params.equipmentPath"
              },
              "transforms": [
                {
                  "code": "\tif value:\n\t\treturn value + \u0027\\*\\*\u0027\n\treturn \u0027\u0027",
                  "type": "script"
                }
              ],
              "type": "property"
            }
          }
        },
        "props": {
          "data": {
            "$": [
              "ds",
              192,
              1670977335046
            ],
            "$columns": []
          },
          "drillDownOptions": {
            "$": [
              "ds",
              192,
              1670977335046
            ],
            "$columns": []
          },
          "filterParams": [
            {
              "param": "eqPath",
              "type": "string"
            }
          ],
          "message": "Error executing analysis, check Gateway log for full stacktrace: The value for the (Equipment Path) filter item cannot be blank.",
          "refreshOnSettingsChange": true,
          "selectedAnalysisName": "Site OEE Scores"
        },
        "type": "mes.production.mesAnalysisController"
      },
      {
        "meta": {
          "name": "configuration"
        },
        "position": {
          "basis": "320px",
          "grow": 1
        },
        "propConfig": {
          "position.display": {
            "binding": {
              "config": {
                "path": "view.params.configuring"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "params": {
            "equipmentPathIn": "",
            "equipmentPathOut": "",
            "timePeriodIn": "",
            "timePeriodOut": "",
            "titleIn": "Overall Effectiveness",
            "titleOut": "Overall Effectiveness"
          },
          "path": "Page/Widgets/Configuration/Site Path, Time Period, Title"
        },
        "type": "ia.display.view"
      },
      {
        "meta": {
          "name": "runtime"
        },
        "position": {
          "basis": "320px",
          "grow": 1
        },
        "propConfig": {
          "position.display": {
            "binding": {
              "config": {
                "expression": "!{view.params.configuring}"
              },
              "type": "expr"
            }
          },
          "props.params.Availability": {
            "binding": {
              "config": {
                "path": "../Controller_GlobalOEE.custom.data_list.Availability"
              },
              "overlayOptOut": true,
              "type": "property"
            }
          },
          "props.params.OEE": {
            "binding": {
              "config": {
                "path": "../Controller_GlobalOEE.custom.data_list.OEE"
              },
              "overlayOptOut": true,
              "type": "property"
            }
          },
          "props.params.Performance": {
            "binding": {
              "config": {
                "path": "../Controller_GlobalOEE.custom.data_list.Performance"
              },
              "overlayOptOut": true,
              "type": "property"
            }
          },
          "props.params.Quality": {
            "binding": {
              "config": {
                "path": "../Controller_GlobalOEE.custom.data_list.Quality"
              },
              "overlayOptOut": true,
              "type": "property"
            }
          },
          "props.params.title": {
            "binding": {
              "config": {
                "path": "view.params.title"
              },
              "type": "property"
            }
          }
        },
        "props": {
          "path": "Page/Widgets/Dials/OEE Dials Stacked"
        },
        "type": "ia.display.view"
      },
      {
        "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": "root"
    },
    "props": {
      "direction": "column"
    },
    "type": "ia.container.flex"
  }
}