320 lines
8.5 KiB
Plaintext
320 lines
8.5 KiB
Plaintext
{
|
|
"custom": {
|
|
"endDate": "2025-4-20 23:59:59",
|
|
"location": null,
|
|
"startDate": "2025-4-18 00:00:00"
|
|
},
|
|
"params": {
|
|
"endDate": "2025-4-20 23:59:59",
|
|
"location": null,
|
|
"startDate": "2025-4-18 00:00:00"
|
|
},
|
|
"propConfig": {
|
|
"custom.endDate": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.params.endDate"
|
|
},
|
|
"type": "property"
|
|
},
|
|
"persistent": true
|
|
},
|
|
"custom.location": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.params.location"
|
|
},
|
|
"type": "property"
|
|
},
|
|
"persistent": true
|
|
},
|
|
"custom.startDate": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.params.startDate"
|
|
},
|
|
"type": "property"
|
|
},
|
|
"persistent": true
|
|
},
|
|
"params.endDate": {
|
|
"paramDirection": "input",
|
|
"persistent": true
|
|
},
|
|
"params.location": {
|
|
"paramDirection": "input",
|
|
"persistent": true
|
|
},
|
|
"params.startDate": {
|
|
"paramDirection": "input",
|
|
"persistent": true
|
|
}
|
|
},
|
|
"props": {},
|
|
"root": {
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"meta": {
|
|
"name": "Dropdown"
|
|
},
|
|
"position": {
|
|
"basis": "30px"
|
|
},
|
|
"props": {
|
|
"options": [
|
|
{
|
|
"label": "15 mins",
|
|
"value": 15
|
|
},
|
|
{
|
|
"label": "30 mins",
|
|
"value": 30
|
|
},
|
|
{
|
|
"label": "hourly",
|
|
"value": 60
|
|
},
|
|
{
|
|
"label": "daily",
|
|
"value": 1440
|
|
}
|
|
],
|
|
"placeholder": {
|
|
"text": "Select Interval"
|
|
},
|
|
"value": 60
|
|
},
|
|
"type": "ia.input.dropdown"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "Import"
|
|
},
|
|
"position": {
|
|
"basis": "34px",
|
|
"display": false
|
|
},
|
|
"props": {
|
|
"enabled": false,
|
|
"text": "Import"
|
|
},
|
|
"type": "ia.input.button"
|
|
},
|
|
{
|
|
"events": {
|
|
"component": {
|
|
"onActionPerformed": {
|
|
"config": {
|
|
"script": "\tdata \u003d [self.parent.parent.parent.getChild(\"Table\").props.data]\n\txlsBytes \u003d system.dataset.toExcel(True, data)\n\tsystem.perspective.download(\"Billing Data.xls\", xlsBytes)"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
}
|
|
}
|
|
},
|
|
"meta": {
|
|
"name": "Export"
|
|
},
|
|
"position": {
|
|
"basis": "34px"
|
|
},
|
|
"props": {
|
|
"text": "Export"
|
|
},
|
|
"type": "ia.input.button"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "Actions"
|
|
},
|
|
"position": {
|
|
"basis": "200px"
|
|
},
|
|
"props": {
|
|
"direction": "column",
|
|
"justify": "center"
|
|
},
|
|
"type": "ia.container.flex"
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"meta": {
|
|
"name": "DH1"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"selected": true,
|
|
"text": "Datahall 1"
|
|
},
|
|
"type": "ia.input.checkbox"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "DH2"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"text": "Datahall 2"
|
|
},
|
|
"type": "ia.input.checkbox"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "DH3"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"text": "Datahall 3"
|
|
},
|
|
"type": "ia.input.checkbox"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "DH4"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"text": "Datahall 4"
|
|
},
|
|
"type": "ia.input.checkbox"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "DH5"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"text": "Datahall 5"
|
|
},
|
|
"type": "ia.input.checkbox"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "AreaFilter"
|
|
},
|
|
"position": {
|
|
"basis": "400px"
|
|
},
|
|
"propConfig": {
|
|
"custom.areaSelection": {
|
|
"binding": {
|
|
"config": {
|
|
"struct": {
|
|
"areas": [
|
|
"if({./DH1.props.selected}, \"DH1\", \"\")",
|
|
"if({./DH2.props.selected}, \"DH2\", \"\")",
|
|
"if({./DH3.props.selected}, \"DH3\", \"\")",
|
|
"if({./DH4.props.selected}, \"DH4\", \"\")",
|
|
"if({./DH5.props.selected}, \"DH5\", \"\")"
|
|
]
|
|
},
|
|
"waitOnAll": true
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\treturn [v for v in value[\"areas\"] if len(v.value) \u003e 0]\n\t",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "expr-struct"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"wrap": "wrap"
|
|
},
|
|
"type": "ia.container.flex"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "CalculatedFields"
|
|
},
|
|
"position": {
|
|
"basis": "150px"
|
|
},
|
|
"props": {
|
|
"style": {
|
|
"gap": 5
|
|
}
|
|
},
|
|
"type": "ia.container.flex"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "Table"
|
|
},
|
|
"position": {
|
|
"basis": "400px",
|
|
"grow": 1
|
|
},
|
|
"propConfig": {
|
|
"custom.CoolingData": {
|
|
"binding": {
|
|
"config": {
|
|
"struct": {
|
|
"endDate": "{view.params.endDate}",
|
|
"interval": "{../CalculatedFields/Actions/Dropdown.props.value}",
|
|
"locations": "{../CalculatedFields/AreaFilter.custom.areaSelection}",
|
|
"startDate": "{view.params.startDate}"
|
|
},
|
|
"waitOnAll": true
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\treturn reports.MBR.coolingdata.doReport(value[\"startDate\"], value[\"endDate\"], \n\t\t\tvalue[\"locations\"], value[\"interval\"])",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "expr-struct"
|
|
}
|
|
},
|
|
"props.columns": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "this.props.data"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\treturn utils.helper.xformTableColumns(value)",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
},
|
|
"props.data": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "this.custom.CoolingData.measurementDS"
|
|
},
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"type": "ia.display.table"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "root"
|
|
},
|
|
"props": {
|
|
"direction": "column"
|
|
},
|
|
"type": "ia.container.flex"
|
|
}
|
|
} |