Files
Stream_PHX_A7/Gateways/FE/projects/.resources/9651a5e36d8e50da032686005530fa17cc8587977abef2949ddce45080618b58

359 lines
12 KiB
Plaintext

{
"custom": {},
"events": {
"system": {
"onStartup": {
"config": {
"script": "\tend \u003d system.date.now()\n\tstart \u003d system.date.addDays(end, -1)\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.startDate \u003d start\n\tself.getChild(\"root\").getChild(\"AlarmJournalTable\").props.dateRange.historical.endDate \u003d end"
},
"scope": "G",
"type": "script"
}
}
},
"params": {},
"props": {
"defaultSize": {
"height": 1163,
"width": 1290
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "20%",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "parent.meta.name"
},
"type": "property"
}
}
},
"props": {
"textStyle": {
"fontSize": 14,
"fontWeight": "bold"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "TextField"
},
"position": {
"basis": "80%",
"grow": 1
},
"props": {
"placeholder": "Use * for wildcard - e.g. *SomeTag/Alarm*"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "Source Filter"
},
"position": {
"basis": "50px",
"grow": 1
},
"props": {
"style": {
"paddingBottom": "10px",
"paddingLeft": "10px",
"paddingRight": "10px",
"paddingTop": "10px"
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "20%",
"grow": 1
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "parent.meta.name"
},
"type": "property"
}
}
},
"props": {
"textStyle": {
"fontSize": 14,
"fontWeight": "bold"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "TextField"
},
"position": {
"basis": "80%",
"grow": 1
},
"props": {
"placeholder": "Use * for wildcard - e.g. *CHWP\n*"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "Display Path Filter"
},
"position": {
"basis": "50px",
"grow": 1
},
"props": {
"style": {
"paddingBottom": "10px",
"paddingLeft": "10px",
"paddingRight": "10px",
"paddingTop": "10px"
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "Header"
},
"position": {
"basis": "50px",
"shrink": 0
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "AlarmJournalTable"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.filter.conditions.displayPath": {
"binding": {
"config": {
"path": "../Header/Display Path Filter/TextField.props.text"
},
"type": "property"
}
},
"props.filter.conditions.source": {
"binding": {
"config": {
"path": "../Header/Source Filter/TextField.props.text"
},
"type": "property"
}
}
},
"props": {
"columns": {
"displayPath": {
"enabled": true
},
"eventId": {
"enabled": false
},
"state": {
"enabled": true
}
},
"dateRange": {
"historical": {
"endDate": {
"$": [
"ts",
192,
1776346653933
],
"$ts": 1776346653931
},
"startDate": {
"$": [
"ts",
192,
1776346653933
],
"$ts": 1776260253931
}
},
"realtime": {
"interval": 1
}
},
"filter": {
"conditions": {},
"events": {
"acked": false,
"active": false,
"cleared": false
},
"priorities": {
"critical": false,
"high": false,
"low": false,
"medium": false
}
},
"pager": {
"initialOption": 100
},
"rowStyles": {
"acked": {
"base": {
"color": "#000000"
},
"priorities": {
"critical": {
"backgroundColor": "#e2202888"
},
"diagnostic": {
"backgroundColor": "#7166b788"
},
"high": {
"backgroundColor": "#de7c3388"
},
"low": {
"backgroundColor": "#7266b788"
},
"medium": {
"backgroundColor": "#f4b83488"
}
}
},
"active": {
"base": {
"color": "#000000"
},
"priorities": {
"critical": {
"backgroundColor": "#ed1c24"
},
"diagnostic": {
"backgroundColor": "#7166b7",
"color": "#FFFFFF"
},
"high": {
"backgroundColor": "#de7c33"
},
"low": {
"backgroundColor": "#7166b7",
"color": "#FFFFFF"
},
"medium": {
"backgroundColor": "#f4b834"
}
}
},
"cleared": {
"base": {
"color": "#FFFFFF"
},
"priorities": {
"critical": {
"backgroundColor": "#2E5EAA"
},
"diagnostic": {
"backgroundColor": "#FFFFFF"
},
"high": {
"backgroundColor": "#507ABF"
},
"low": {
"backgroundColor": "#A0BEEF"
},
"medium": {
"backgroundColor": "#7198D6"
}
}
}
},
"toolbar": {
"enableFilter": false,
"enableFilterResults": false,
"toggleableFilter": false
}
},
"type": "ia.display.alarmjournaltable"
},
{
"children": [
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\t\n\tdateRange \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.dateRange\n\tif dateRange[\u0027mode\u0027] \u003d\u003d \u0027historical\u0027:\n\t\thist \u003d dateRange[\u0027historical\u0027]\n\t\tstartDate \u003d hist[\u0027startDate\u0027]\n\t\tendDate \u003d hist[\u0027endDate\u0027]\n\telse:\n\t\treal \u003d dateRange[\u0027realtime\u0027]\n\t\t\n\t\tendDate \u003d system.date.now()\n\t\tunit \u003d real[\u0027unit\u0027]\n\t\tinterval \u003d real[\u0027interval\u0027]\n\t\t\n\t\tif unit \u003d\u003d \"seconds\":\n\t\t\tstartDate \u003d system.date.addSeconds(endDate, -interval)\n\t\telif unit \u003d\u003d \"minutes\":\n\t\t\tstartDate \u003d system.date.addMinutes(endDate, -interval)\n\t\telif unit \u003d\u003d \"hours\":\n\t\t\tstartDate \u003d system.date.addHours(endDate, -interval)\n\t\telif unit \u003d\u003d \"days\":\n\t\t\tstartDate \u003d system.date.addDays(endDate, -interval)\n\t\telif unit \u003d\u003d \"weeks\":\n\t\t\tstartDate \u003d system.date.addWeeks(endDate, -interval)\n\t\telif unit \u003d\u003d \"months\":\n\t\t\tstartDate \u003d system.date.addMonths(endDate, -interval)\n\t\telif unit \u003d\u003d \"years\":\n\t\t\tstartDate \u003d system.date.addYears(endDate, -interval)\n\t\n\t\n\tfilter \u003d self.parent.parent.getChild(\"AlarmJournalTable\").props.filter\n\tpriority \u003d helper.util.true_keys(filter[\u0027priorities\u0027])\n\tevents \u003d helper.util.true_keys(filter[\u0027events\u0027])\n\tstate \u003d helper.util.parse_event_filter_to_query_states(events)\n\tsource \u003d filter[\u0027conditions\u0027][\u0027source\u0027]\n\tdisplayPath \u003d filter[\u0027conditions\u0027][\u0027displayPath\u0027]\n\t\n\n\talarms \u003d system.alarm.queryJournal(startDate \u003d startDate, endDate\u003dendDate, priority\u003dpriority, state\u003dstate, includeData\u003dTrue, source\u003dsource, displaypath\u003ddisplayPath)\n\t\n\theaders \u003d [\u0027eventTime\u0027, \u0027source\u0027, \u0027eventState\u0027, \u0027eventValue\u0027, \u0027displayPath\u0027, \u0027label\u0027, \u0027id\u0027]\n\trows \u003d []\n\t\n\tfor alarm in alarms:\n\t\trows.append([str(alarm[header]) for header in headers])\n\t\t\n\talarmData \u003d system.dataset.toDataSet(headers, rows)\n\tsummaryDS \u003d helper.journal.groupJournalByPathAndState(alarms)\n\t\n\texcelBytes \u003d system.dataset.toExcel(True, [alarmData, summaryDS], sheetNames\u003d[\"Journal\", \"Counts\"])\n\t# Trigger download on the client\n\tend_str \u003d system.date.format(endDate, \u0027yyMMddHHmmss\u0027)\n\tstart_str \u003d system.date.format(startDate, \u0027yyMMddHHmmss\u0027)\n\tfname \u003d \u0027_\u0027.join([\u0027AlarmHist\u0027,end_str, start_str,\u0027.xlsx\u0027])\n\t\n\tsystem.perspective.download(fname, excelBytes, \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\")\n\t\n\treturn\n\t"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "DirectExport"
},
"position": {
"basis": "205px"
},
"props": {
"style": {
"marginBottom": "10px",
"marginTop": "10px"
},
"text": "Export Summary"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "58px"
},
"props": {
"justify": "center"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
}