{ "custom": {}, "events": { "system": { "onStartup": { "config": { "script": "\tq = self.session.custom.PrimeControls.query\n\tspans = {'4h': 4, '8h': 8, '24h': 24, '7d': 168}\n\tpreset = q.rangePreset\n\tnow = system.date.toMillis(system.date.now())\n\tif preset in spans:\n\t\t# relative presets re-anchor to now on every session start\n\t\tq.endMs = now\n\t\tq.startMs = now - spans[preset] * 3600 * 1000\n\telif not q.startMs or q.startMs == 0:\n\t\tq.endMs = now\n\t\tq.startMs = now - 8 * 3600 * 1000\n\t\tq.rangePreset = '8h'" }, "scope": "G", "type": "script" } } }, "params": {}, "propConfig": { "custom.bundle": { "binding": { "config": { "expression": "{session.custom.PrimeControls.query.refreshToken} + '|' + {session.custom.PrimeControls.query.startMs} + '|' + {session.custom.PrimeControls.query.endMs}" }, "transforms": [ { "code": "\tq = self.session.custom.PrimeControls.query\n\tif not q.startMs or not q.endMs:\n\t\treturn None\n\treturn PrimeControls.alarms.getDashboardBundle(q.startMs, q.endMs, {'priorities': list(q.priorities), 'areas': list(q.areas), 'states': list(q.states), 'search': q.search})", "type": "script" } ], "type": "expr" } } }, "props": { "defaultSize": { "height": 900, "width": 1600 } }, "root": { "children": [ { "meta": { "name": "header" }, "position": { "basis": "150px", "shrink": 0 }, "propConfig": { "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } } }, "props": { "path": "PrimeControls/Shell/Header" }, "type": "ia.display.view" }, { "children": [ { "meta": { "name": "tabBtn0" }, "position": { "basis": "140px", "shrink": 0 }, "props": { "params": { "index": 0, "title": "Overview" }, "path": "PrimeControls/Components/TabButton" }, "type": "ia.display.view" }, { "meta": { "name": "tabBtn1" }, "position": { "basis": "140px", "shrink": 0 }, "props": { "params": { "index": 1, "title": "Analysis" }, "path": "PrimeControls/Components/TabButton" }, "type": "ia.display.view" }, { "meta": { "name": "tabBtn2" }, "position": { "basis": "140px", "shrink": 0 }, "props": { "params": { "index": 2, "title": "Bad Actors" }, "path": "PrimeControls/Components/TabButton" }, "type": "ia.display.view" }, { "meta": { "name": "tabBtn3" }, "position": { "basis": "140px", "shrink": 0 }, "props": { "params": { "index": 3, "title": "Journal" }, "path": "PrimeControls/Components/TabButton" }, "type": "ia.display.view" } ], "meta": { "name": "tabBar" }, "position": { "basis": "42px", "shrink": 0 }, "props": { "style": { "borderBottomColor": "var(--neutral-40)", "borderBottomStyle": "solid", "borderBottomWidth": "1px" } }, "type": "ia.container.flex" }, { "meta": { "name": "filterBar" }, "position": { "basis": "auto", "shrink": 0 }, "propConfig": { "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } }, "position.display": { "binding": { "config": { "expression": "{session.custom.PrimeControls.ui.selectedTab} != 0" }, "type": "expr" } } }, "props": { "path": "PrimeControls/Shell/FilterBar", "style": { "minHeight": "56px" } }, "type": "ia.display.view" }, { "children": [ { "meta": { "name": "tabOverview" }, "position": { "grow": 1 }, "propConfig": { "position.display": { "binding": { "config": { "expression": "{session.custom.PrimeControls.ui.selectedTab} = 0" }, "type": "expr" } }, "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } } }, "props": { "path": "PrimeControls/Tabs/Overview" }, "type": "ia.display.view" }, { "meta": { "name": "tabAnalysis" }, "position": { "grow": 1 }, "propConfig": { "position.display": { "binding": { "config": { "expression": "{session.custom.PrimeControls.ui.selectedTab} = 1" }, "type": "expr" } }, "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } } }, "props": { "path": "PrimeControls/Tabs/Analysis" }, "type": "ia.display.view" }, { "meta": { "name": "tabBadActors" }, "position": { "grow": 1 }, "propConfig": { "position.display": { "binding": { "config": { "expression": "{session.custom.PrimeControls.ui.selectedTab} = 2" }, "type": "expr" } }, "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } } }, "props": { "path": "PrimeControls/Tabs/BadActors" }, "type": "ia.display.view" }, { "meta": { "name": "tabJournal" }, "position": { "grow": 1 }, "propConfig": { "position.display": { "binding": { "config": { "expression": "{session.custom.PrimeControls.ui.selectedTab} = 3" }, "type": "expr" } }, "props.params.bundle": { "binding": { "config": { "path": "view.custom.bundle" }, "type": "property" } } }, "props": { "path": "PrimeControls/Tabs/Journal" }, "type": "ia.display.view" } ], "meta": { "name": "tabContent" }, "position": { "grow": 1 }, "props": { "direction": "column" }, "type": "ia.container.flex" } ], "meta": { "name": "root" }, "props": { "direction": "column", "style": { "classes": "PrimeControls/PageBg", "gap": "10px" } }, "type": "ia.container.flex" } }