SAT9/.resources/0bc3fc19061281e52b5a57088ab17ad9317455b2917a8ad912cea990ba8f8bb9
2025-04-18 19:44:27 +04:00

2890 lines
110 KiB
Plaintext

{
"custom": {
"EntriesList": [
{
"PrimaryKey": "2024-05-08 10:17:51",
"author": "pll",
"body": "Introducing our brand new Announcement Feature! 🎉 Stay in the loop with important updates, new features, planned downtime events, all in one place. Never miss out again! Check it out now and stay tuned for the latest updates. 🔊",
"childproj": "https://eu-preprod.scada2.rme.amazon.dev: MAN2",
"expire": "2024-05-09 05:00:00",
"link1": "https://",
"link1title": "",
"link2": "https://",
"link2title": "",
"priority": "Healthy",
"publish": "2024-05-08 10:08:33",
"title": "📢 Exciting News! 📢",
"whids": ""
}
],
"PreviewJSON": [
{
"author": "cojonas",
"body": "",
"childproj": "https://eu-development.scada2.rme.amazon.dev:",
"expire": "2024-05-08 05:00:00",
"link1": "https://",
"link1title": "",
"link2": "https://",
"link2title": "",
"publish": "2024-04-26 07:07:32",
"title": ""
}
],
"TableSelection": null,
"activityLogger": {
"alt_pageid": "notifyTool",
"start_time": {
"$": [
"ts",
192,
1715164768393
],
"$ts": 1715164768393
}
},
"body": "",
"entryCount": 0,
"expire": "2024-05-09 05:00:00",
"fileName": "Notifications_as of 2024-4-8_10_40_3.xlsx",
"link1": "https://",
"link1title": "",
"link2": "https://",
"link2title": "",
"priority": "Healthy",
"publish": "2024-05-08 10:39:28",
"title": "",
"whids": ""
},
"events": {
"system": {
"onShutdown": {
"config": {
"script": "\tactivityLog.productMetrics.callLogger(self, \u0027page\u0027)"
},
"scope": "G",
"type": "script"
},
"onStartup": {
"config": {
"script": "\t\t\n\tfrom datetime import datetime, timedelta\n\t\n\tself.custom.activityLogger.start_time \u003d system.date.now()\n\t\n\tsystem.perspective.sendMessage(\u0027refreshNotifyIcon\u0027)\n\tsystem.perspective.sendMessage(\u0027refreshNotifyTable\u0027)\n\tdt \u003d datetime.today()\n\tself.getChild(\"root\").getChild(\"FlexContainer\").getChild(\"FlexContainer_Left\").getChild(\"FlexContainer\").getChild(\"Publish-DateTimeInput\").props.value \u003d dt\n"
},
"scope": "G",
"type": "script"
}
}
},
"params": {},
"propConfig": {
"custom.EntriesList": {
"persistent": true
},
"custom.PreviewJSON": {
"persistent": true
},
"custom.TableSelection": {
"binding": {
"config": {
"path": "/root/FlexContainer_4/FlexContainer/Table.props.selection.data[0]"
},
"type": "property"
},
"persistent": true
},
"custom.activityLogger": {
"persistent": true
},
"custom.activityLogger.pageid": {
"binding": {
"config": {
"path": "page.props.path"
},
"transforms": [
{
"code": " if value \u003d\u003d\u0027/\u0027 or value \u003d\u003d \u0027\u0027 or value \u003d\u003d None:\n return self.custom.activityLogger.alt_pageid.lower()\n else:\n return value[1:].lower()\n\treturn value",
"type": "script"
}
],
"type": "property"
}
},
"custom.body": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Middle/FlexContainer_0/Body-TextArea.props.text"
},
"type": "property"
},
"persistent": true
},
"custom.entryCount": {
"persistent": true
},
"custom.expire": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Left/FlexContainer_0/Expire-DateTimeInput.props.formattedValue"
},
"type": "property"
},
"persistent": true
},
"custom.fileName": {
"binding": {
"config": {
"expression": "\r\n\u0027Notifications_as of \u0027\r\n+ dateExtract(now(),\u0027year\u0027) +\u0027-\u0027\r\n+ dateExtract(now(),\u0027month\u0027) +\u0027-\u0027\r\n+ dateExtract(now(),\u0027day\u0027) +\u0027_\u0027\r\n+ dateExtract(now(),\u0027hour\u0027) +\u0027_\u0027\r\n+ dateExtract(now(),\u0027minute\u0027) +\u0027_\u0027\r\n+ dateExtract(now(),\u0027second\u0027)+\u0027.xlsx\u0027"
},
"type": "expr"
},
"persistent": true
},
"custom.link1": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Right/FlexContainer/FlexContainer_2/FlexContainer/URL1-TextField.props.text"
},
"transforms": [
{
"code": "#\tif len(value) \u003e0:\n\tif \u0027http://\u0027 not in value and \u0027https://\u0027 not in value:\n\t\tvalue \u003d \u0027https://\u0027+value\n\n\t\treturn value\n\telse:\n\t\treturn value",
"type": "script"
}
],
"type": "property"
},
"persistent": true
},
"custom.link1title": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Right/FlexContainer/FlexContainer_2/FlexContainer_0/URL1-NameTextField.props.text"
},
"type": "property"
},
"persistent": true
},
"custom.link2": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Right/FlexContainer/FlexContainer_3/FlexContainer/URL2-TextField.props.text"
},
"transforms": [
{
"code": "#\tif len(value) \u003e0:\n\tif \u0027http://\u0027 not in value and \u0027https://\u0027 not in value:\n\t\tvalue \u003d \u0027https://\u0027+value\n\n\t\treturn value\n\telse:\n\t\treturn value",
"type": "script"
}
],
"type": "property"
},
"persistent": true
},
"custom.link2title": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Right/FlexContainer/FlexContainer_3/FlexContainer_0/URL2-NameTextField.props.text"
},
"transforms": [
{
"code": "#\tif len(value) \u003e0:\n\treturn value",
"type": "script"
}
],
"type": "property"
},
"persistent": true
},
"custom.priority": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Left/FlexContainer_2/Dropdown.props.value"
},
"type": "property"
},
"persistent": true
},
"custom.publish": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Left/FlexContainer/Publish-DateTimeInput.props.formattedValue"
},
"type": "property"
},
"persistent": true
},
"custom.title": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Middle/FlexContainer/Title-TextField.props.text"
},
"type": "property"
},
"persistent": true
},
"custom.whids": {
"binding": {
"config": {
"path": "/root/FlexContainer/FlexContainer_Left/FlexContainer_1/WHID-TextArea.props.text"
},
"type": "property"
},
"persistent": true
}
},
"props": {
"defaultSize": {
"height": 1080,
"width": 1920
}
},
"root": {
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "108px"
},
"props": {
"text": "Publish Date",
"textStyle": {
"paddingLeft": 5
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Publish-DateTimeInput",
"tooltip": {
"enabled": true,
"location": "top-left",
"sustain": 2000
}
},
"position": {
"basis": "170px",
"grow": 1
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.props.minDate"
},
"transforms": [
{
"code": "\t\n\tmsg \u003d \u0027Time is UTC. Minimum publish date is \u0027 +str(value)\n\t\n\treturn msg",
"type": "script"
}
],
"type": "property"
}
},
"props.minDate": {
"binding": {
"config": {
"expression": "midnight(addDays(now(),-1))"
},
"type": "expr"
}
}
},
"props": {
"format": "YYYY-MM-DD hh:mm:ss",
"formattedValue": "2024-05-08 10:39:28",
"value": {
"$": [
"ts",
192,
1715164768393
],
"$ts": 1715164768393
}
},
"type": "ia.input.date-time-input"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "40px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "108px"
},
"props": {
"text": "Expire Date",
"textStyle": {
"paddingLeft": 5
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Expire-DateTimeInput",
"tooltip": {
"enabled": true,
"location": "top-left",
"sustain": 2000
}
},
"position": {
"basis": "170px",
"grow": 1
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"path": ".../FlexContainer/Publish-DateTimeInput.props.value"
},
"transforms": [
{
"code": "\t\n\tmsg \u003d \u0027Time is UTC. Minimum expire date is \u0027 +str(value)\n\t\n\treturn msg",
"type": "script"
}
],
"type": "property"
}
},
"props.minDate": {
"binding": {
"config": {
"path": ".../FlexContainer/Publish-DateTimeInput.props.value"
},
"transforms": [
{
"code": "\tfrom datetime import datetime, timedelta\n\tdt \u003d datetime.today()\n\t\n\treturn dt",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"format": "YYYY-MM-DD hh:mm:ss",
"formattedValue": "2024-05-09 05:00:00",
"value": {
"$": [
"ts",
0,
1714766194471
],
"$ts": 1715274000000
}
},
"type": "ia.input.date-time-input"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "40px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "TextArea"
},
"position": {
"basis": "308px",
"display": false
},
"propConfig": {
"props.text": {
"binding": {
"config": {
"path": "session.props.auth.user.roles"
},
"type": "property"
}
}
},
"type": "ia.input.text-area"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "152px"
},
"props": {
"text": "WHID\u0027s",
"textStyle": {
"paddingLeft": 5
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "WHID-TextArea",
"tooltip": {
"enabled": true,
"location": "top-left",
"sustain": 2000,
"text": "Enter WHID\u0027s for WHID specific notifications, blank for all WHID\u0027s"
}
},
"position": {
"basis": "240px"
},
"type": "ia.input.text-area"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "40px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "152px"
},
"props": {
"text": "Priority",
"textStyle": {
"paddingLeft": 5
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Dropdown"
},
"position": {
"basis": "256px"
},
"propConfig": {
"props.options": {
"binding": {
"config": {
"path": "session.custom.colours.colour_impaired"
},
"transforms": [
{
"code": "\n\theaders \u003d [\u0027Priority\u0027] \n\tstates \u003d [[\u0027Healthy\u0027],[\u0027Diagnostic\u0027], [\u0027Low\u0027], [\u0027Medium\u0027], [\u0027High\u0027]]\n\tdataset \u003d system.dataset.toDataSet(headers, states)\n\t\n\treturn dataset",
"type": "script"
}
],
"type": "property"
}
},
"props.style.backgroundColor": {
"binding": {
"config": {
"path": "this.props.value"
},
"transforms": [
{
"fallback": "state5",
"inputType": "scalar",
"mappings": [
{
"input": "Healthy",
"output": "state5"
},
{
"input": "Diagnostic",
"output": "state4"
},
{
"input": "Low",
"output": "state3"
},
{
"input": "Medium",
"output": "state2"
},
{
"input": "High",
"output": "state1"
}
],
"outputType": "scalar",
"type": "map"
},
{
"code": "\tprefix \u003d self.session.custom.colours[value]\n\treturn prefix",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"style": {
"fontWeight": "bold"
},
"value": "Healthy"
},
"type": "ia.input.dropdown"
}
],
"meta": {
"name": "FlexContainer_2"
},
"position": {
"basis": "40px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_Left"
},
"position": {
"basis": "300px"
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "97px"
},
"props": {
"text": "Title",
"textStyle": {
"textAlign": "center"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Title-TextField",
"tooltip": {
"enabled": true,
"location": "top-left",
"sustain": 2000
}
},
"position": {
"basis": "150px",
"grow": 1
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"code": "\ttooltip \u003d \u0027Required Field, Character count: \u0027 + str(len(value))\n\t\n\treturn tooltip",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"placeholder": "Enter Title"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "40px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "97px"
},
"props": {
"text": "Body",
"textStyle": {
"textAlign": "center"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "Body-TextArea",
"tooltip": {
"enabled": true,
"location": "top-left",
"sustain": 2000
}
},
"position": {
"basis": "240px",
"grow": 1
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"path": "this.props.text"
},
"transforms": [
{
"code": "\ttooltip \u003d \u0027Required Field, Character count: \u0027 + str(len(value))\n\t\n\treturn tooltip",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"placeholder": "Enter Notification Text",
"rejectUpdatesWhileFocused": false,
"resize": "vertical",
"wrap": "hard"
},
"type": "ia.input.text-area"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "143px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"custom": {
"PreviewJSON": "value"
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tmsg \u003d {\u0027instances\u0027:[{\u0027title\u0027:self.view.custom.title, \n\t\t\u0027body\u0027:self.view.custom.body,\n\t\t\u0027publish\u0027:str(self.view.custom.publish)[:19],\n\t\t\u0027expire\u0027:str(self.view.custom.expire)[:19],\n\t\t\u0027link1\u0027:self.view.custom.link1,\n\t\t\u0027link1title\u0027:self.view.custom.link1title,\n\t\t\u0027link2\u0027:self.view.custom.link2,\n\t\t\u0027link2title\u0027:self.view.custom.link2title,\n\t\t\u0027author\u0027:self.session.props.auth.user.userName,\n\t\t\u0027priority\u0027:self.view.custom.priority,\n\t\t\u0027childproj\u0027:self.session.props.gateway.address}],\n\t\t\u0027entryCount\u0027:1}\n#\tself.view.custom.PreviewJSON \u003d value\n\n\tsystem.perspective.openPopup(\u0027jKEJ8tuj34\u0027,\u0027PopUp-Views/Notify-Tool/Notify-Popup\u0027,params\u003dmsg, modal\u003dTrue, resizable\u003dTrue, overlayDismiss\u003dTrue, title\u003d\u0027Notification Preview\u0027)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Preview-Button"
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/preview"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Preview"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tfrom datetime import datetime\n\timport time\n\tfields \u003d [self.view.custom.body,\n\t\t\t\tself.view.custom.title, \n\t\t\t\tself.view.custom.publish,\n\t\t\t\tself.view.custom.expire,]\n\t\t\t\t\n\twhids \u003d str(self.view.custom.whids.upper())\t\t\t\n\ttry:\n\t\tif \u0027\u0027 not in fields and None not in fields:\n\t\t\tchidproj \u003d self.session.props.gateway.address +\u0027 \u0027+self.session.custom.fc\n\t\t\tnow \u003d datetime.now()\n\t\t\tnowstr \u003d str(now)[:19]\n\t\t\t\n\t\t\tpayload \u003d {\u0027PrimaryKey\u0027:nowstr,\n\t\t\t\t\u0027title\u0027:self.view.custom.title, \n\t\t\t\t\u0027body\u0027:self.view.custom.body,\n\t\t\t\t\u0027publish\u0027:str(self.view.custom.publish)[:19],\n\t\t\t\t\u0027expire\u0027:str(self.view.custom.expire)[:19],\n\t\t\t\t\u0027link1\u0027:self.view.custom.link1,\n\t\t\t\t\u0027link1title\u0027:self.view.custom.link1title,\n\t\t\t\t\u0027link2\u0027:self.view.custom.link2,\n\t\t\t\t\u0027link2title\u0027:self.view.custom.link2title,\n\t\t\t\t\u0027whids\u0027:whids,\n\t\t\t\t\u0027priority\u0027:self.view.custom.priority,\n\t\t\t\t\u0027author\u0027:(self.session.props.auth.user.userName)[:3],\n\t\t\t\t\u0027childproj\u0027:chidproj}\n\t\t\t\t\n#\t\t\tsystem.perspective.print(payload)\n\t\t\tnotifyTool.WriteToDynamo.DynamoWriter(payload)\n\t\t\tsystem.perspective.sendMessage(\u0027refreshNotifyTable\u0027)\n\t\telse:\n\t\t\t\n\t\t\tmsg\u003d {\u0027body\u0027:\u0027Title, Body, Publish date, and Expire date cannot be blank\u0027}\n\t\t\tsystem.perspective.openPopup(\u0027jKEJ8tuj\u0027,\u0027PopUp-Views/Notify-Tool/Notify-Submit-Popup\u0027,params\u003dmsg, modal\u003dTrue, overlayDismiss\u003dTrue, title \u003d \"Whoops, don\u0027t forget the words\")\n\texcept:\n\t\tpass\n\t\t\n\n"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Submit-Button"
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/send"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Submit"
},
"type": "ia.input.button"
},
{
"custom": {
"PreviewJSON": "value"
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tclear \u003d \u0027\u0027\n\tself.parent.parent.getChild(\"FlexContainer\").getChild(\"Title-TextField\").props.text \u003d clear\n\tself.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Body-TextArea\").props.text \u003d clear\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_2\").getChild(\"FlexContainer\").getChild(\"URL1-TextField\").props.text \u003d clear\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_2\").getChild(\"FlexContainer_0\").getChild(\"URL1-NameTextField\").props.text \u003d clear\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_3\").getChild(\"FlexContainer\").getChild(\"URL2-TextField\").props.text \u003d clear\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_3\").getChild(\"FlexContainer_0\").getChild(\"URL2-NameTextField\").props.text \u003d clear\n\tself.parent.parent.parent.getChild(\"FlexContainer_Left\").getChild(\"FlexContainer_1\").getChild(\"WHID-TextArea\").props.text \u003d clear\n\t"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Preview-Button_0"
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/format_clear"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Clear"
},
"type": "ia.input.button"
},
{
"custom": {
"PreviewJSON": "value"
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\trow \u003d self.parent.parent.parent.parent.getChild(\"FlexContainer_4\").getChild(\"FlexContainer\").getChild(\"Table\").props.selection.data[0]\n\t\t\n\tself.parent.parent.getChild(\"FlexContainer\").getChild(\"Title-TextField\").props.text \u003d row[\u0027title\u0027]\n\tself.parent.parent.getChild(\"FlexContainer_0\").getChild(\"Body-TextArea\").props.text \u003d row[\u0027body\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_2\").getChild(\"FlexContainer\").getChild(\"URL1-TextField\").props.text \u003d row[\u0027link1\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_2\").getChild(\"FlexContainer_0\").getChild(\"URL1-NameTextField\").props.text \u003d row[\u0027link1title\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_3\").getChild(\"FlexContainer\").getChild(\"URL2-TextField\").props.text \u003d row[\u0027link2\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Right\").getChild(\"FlexContainer\").getChild(\"FlexContainer_3\").getChild(\"FlexContainer_0\").getChild(\"URL2-NameTextField\").props.text \u003d row[\u0027link2title\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Left\").getChild(\"FlexContainer_1\").getChild(\"WHID-TextArea\").props.text \u003d row[\u0027whids\u0027]\n\tself.parent.parent.parent.getChild(\"FlexContainer_Left\").getChild(\"FlexContainer_2\").getChild(\"Dropdown\").props.value \u003d row[\u0027priority\u0027]"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Populate-Button"
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/upgrade"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Populate"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "FlexContainer_1"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "space-evenly"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_Middle"
},
"position": {
"basis": "900px"
},
"props": {
"direction": "column",
"style": {
"borderBottomLeftRadius": 10,
"borderBottomRightRadius": 10,
"borderTopLeftRadius": 10,
"borderTopRightRadius": 10
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "URL1-Label"
},
"position": {
"basis": "110px"
},
"props": {
"text": "Link 1",
"textStyle": {
"textAlign": "center"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "URL1-TextField"
},
"position": {
"basis": "150px",
"grow": 1
},
"props": {
"placeholder": "Enter Link 1"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "200px"
},
"props": {
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "URL1-NameLabel"
},
"position": {
"basis": "110px"
},
"props": {
"style": {
"paddingLeft": 5,
"paddingRight": 5
},
"text": "Link 1 Name"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "URL1-NameTextField"
},
"position": {
"basis": "150px",
"grow": 1
},
"props": {
"placeholder": "Enter Link 1 Title"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "200px"
},
"props": {
"style": {
"marginBottom": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_2"
},
"position": {
"basis": "92px"
},
"props": {
"direction": "column",
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"meta": {
"name": "URL2-Label"
},
"position": {
"basis": "110px"
},
"props": {
"text": "Link 2",
"textStyle": {
"textAlign": "center"
}
},
"type": "ia.display.label"
},
{
"meta": {
"name": "URL2-TextField"
},
"position": {
"basis": "150px",
"grow": 1
},
"props": {
"placeholder": "Enter Link 2"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "200px"
},
"props": {
"style": {
"marginBottom": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
},
{
"children": [
{
"meta": {
"name": "URL2-NameLabel"
},
"position": {
"basis": "110px"
},
"props": {
"style": {
"paddingLeft": 5,
"paddingRight": 5
},
"text": "Link 2 Name"
},
"type": "ia.display.label"
},
{
"meta": {
"name": "URL2-NameTextField"
},
"position": {
"basis": "150px",
"grow": 1
},
"props": {
"placeholder": "Enter Link 2 Title"
},
"type": "ia.input.text-field"
}
],
"meta": {
"name": "FlexContainer_0"
},
"position": {
"basis": "200px"
},
"props": {
"style": {
"marginBottom": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_3"
},
"position": {
"basis": "92px"
},
"props": {
"direction": "column",
"style": {
"borderBottomLeftRadius": 4,
"borderBottomRightRadius": 4,
"borderStyle": "solid",
"borderTopLeftRadius": 4,
"borderTopRightRadius": 4,
"borderWidth": 1,
"classes": "Buttons/Button-Menu",
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "200px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_Right"
},
"position": {
"basis": "300px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "800px"
},
"type": "ia.container.flex"
},
{
"children": [
{
"children": [
{
"children": [
{
"children": [
{
"meta": {
"name": "Label"
},
"position": {
"basis": "170px"
},
"props": {
"style": {
"textAlign": "center"
},
"text": "Notification Entries"
},
"type": "ia.display.label"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "40px",
"grow": 1
},
"props": {
"justify": "space-around",
"style": {
"classes": "Background-Styles/Controller"
}
},
"type": "ia.container.flex"
},
{
"custom": {
"entries": [
{
"PrimaryKey": "2024-05-08 10:17:51",
"author": "pll",
"body": "Introducing our brand new Announcement Feature! 🎉 Stay in the loop with important updates, new features, planned downtime events, all in one place. Never miss out again! Check it out now and stay tuned for the latest updates. 🔊",
"childproj": "https://eu-preprod.scada2.rme.amazon.dev: MAN2",
"expire": "2024-05-09 05:00:00",
"link1": "https://",
"link1title": "",
"link2": "https://",
"link2title": "",
"priority": "Healthy",
"publish": "2024-05-08 10:08:33",
"title": "📢 Exciting News! 📢",
"whids": ""
}
],
"entryCount": 1,
"highestPriority": 5
},
"events": {
"dom": {
"onClick": {
"config": {
"draggable": true,
"id": "ioNP2CXn",
"modal": true,
"overlayDismiss": true,
"resizable": true,
"showCloseIcon": true,
"title": "Notifications",
"type": "open",
"viewParams": {
"entryCount": "{/root/FlexContainer_4/FlexContainer/FlexContainer_4/Icon.custom.entryCount}",
"instances": "{/root/FlexContainer_4/FlexContainer/FlexContainer_4/Icon.custom.entries}"
},
"viewPath": "PopUp-Views/Notify-Tool/Notify-Popup",
"viewportBound": false
},
"scope": "C",
"type": "popup"
}
}
},
"meta": {
"name": "Icon",
"tooltip": {
"enabled": true,
"location": "bottom-right",
"style": {
"whiteSpace": "pre"
},
"text": "📢 Exciting News! 📢\n"
}
},
"position": {
"basis": "30px"
},
"propConfig": {
"custom.refreshMSG": {
"binding": {
"config": {
"expression": "now(90000)\r\n// Update property value every 90 seconds, firing change script"
},
"type": "expr"
},
"onChange": {
"enabled": null,
"script": "\tsystem.perspective.sendMessage(\u0027refreshNotifyIcon\u0027)\n\tsystem.perspective.sendMessage(\u0027refreshNotifyTable\u0027)"
}
},
"position.display": {
"binding": {
"config": {
"path": "view.custom.EntriesList"
},
"transforms": [
{
"code": "\tfrom datetime import datetime\n\t\n#\tRead entries from dynamo table\n\treturns \u003d notifyTool.ReadFromDynamo.DynamoReader()\n\tEntriesList \u003d returns[\u0027Items\u0027]\n\t\n\tEntriesList.reverse()\n\n\n#\tCreate empty list and now string\n\tpublishdates \u003d []\n\tnow \u003d datetime.now()\n\tnowstr \u003d str(now)[:19]\n\tactiveNotify \u003d False\n\twhid \u003d self.session.custom.fc\n\tstates \u003d {\u0027Healthy\u0027:5,\u0027Diagnostic\u0027:4, \u0027Low\u0027:3, \u0027Medium\u0027:2, \u0027High\u0027:1}\n\n\tactiveEntries \u003d []\n\ttooltip \u003d []\n\tcount \u003d 0\n\thighestPriority \u003d 5\n\tfor e in EntriesList:\n\t\t\n\t\tif len(e[\u0027whids\u0027])\u003e0:\t\t\t\t# Check for WHID in whid field\n\t\t\tif whid in e[\u0027whids\u0027]:\t\t\t# Check for WHID match in whid field\n\t\t\t\t#\tCheck EntriesList for active entries based on publish and expire times\n\t\t\t\tif nowstr \u003e\u003d e[\u0027publish\u0027] and nowstr\u003c\u003dstr( e[\u0027expire\u0027]):\n\t\t\t\t\tactiveEntries.append(e)\n\t\t\t\t\ttooltip.append(e[\u0027title\u0027])\n\t\t\t\t\tactiveNotify \u003d True\n\t\t\t\t\tcount +\u003d1\n\t\t\t\t\tif states[e[\u0027priority\u0027]] \u003c highestPriority:\n\t\t\t\t\t\thighestPriority \u003d states[e[\u0027priority\u0027]]\n\t\telse:\n\t\t\tif nowstr \u003e\u003d e[\u0027publish\u0027] and nowstr\u003c\u003dstr( e[\u0027expire\u0027]):\n\t\t\t\tactiveEntries.append(e)\n\t\t\t\ttooltip.append(e[\u0027title\u0027])\n\t\t\t\tactiveNotify \u003d True\t\t\n\t\t\t\tcount +\u003d1\t\n\t\t\t\tif states[e[\u0027priority\u0027]] \u003c highestPriority:\n\t\t\t\t\thighestPriority \u003d states[e[\u0027priority\u0027]]\n\n\ttooltiptext \u003d \u0027\u0027\n\tfor i in tooltip:\n\t\ttooltiptext+\u003d i+\u0027\\n\u0027\n\t\t\n\tself.custom.entries \u003d activeEntries\n\tself.custom.highestPriority \u003d highestPriority\n\tself.custom.entryCount \u003d count\n\tself.meta.tooltip.text \u003d tooltiptext\t\n\n\treturn activeNotify",
"type": "script"
}
],
"type": "property"
}
},
"props.color": {
"binding": {
"config": {
"path": "this.custom.highestPriority"
},
"transforms": [
{
"fallback": "state5",
"inputType": "scalar",
"mappings": [
{
"input": 1,
"output": "state1"
},
{
"input": 2,
"output": "state2"
},
{
"input": 3,
"output": "state3"
},
{
"input": 4,
"output": "state4"
},
{
"input": 5,
"output": "state5"
}
],
"outputType": "scalar",
"type": "map"
},
{
"code": "\ttest \u003d self.session.custom.colours.colour_impaired\n\tstatecolor \u003d self.session.custom.colours[value]\n\treturn statecolor",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"path": "material/campaign",
"style": {
"marginLeft": 5,
"marginRight": 5
}
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "refreshNotifyIcon",
"pageScope": true,
"script": "\tself.refreshBinding(\u0027position.display\u0027)\n\tself.refreshBinding(\u0027props.color\u0027)\n",
"sessionScope": true,
"viewScope": false
}
]
},
"type": "ia.display.icon"
},
{
"meta": {
"name": "Label"
},
"position": {
"basis": "130px"
},
"props": {
"style": {
"textAlign": "center"
},
"text": "Icon Preview"
},
"type": "ia.display.label"
},
{
"events": {
"dom": {
"onClick": {
"config": {
"script": "\tjsonFile \u003d self.parent.parent.getChild(\"Table\").props.data\n\theaders \u003d list(set(jsonFile[0].keys()))\n\t\n\trowdata \u003d []\n\tfor r in jsonFile:\n\t\trow \u003d []\n\t\tfor k in headers:\n\t\t\trow.append(r[k])\n\t\trowdata.append(row)\n\t\n\tdataset \u003d system.dataset.toDataSet(headers, rowdata)\n\tdatasetexcel \u003d system.dataset.toExcel(True, [dataset])\n\t\n\tfilename \u003d self.view.custom.fileName\n\tsystem.perspective.download(filename, datasetexcel)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Retrieve_Test_0",
"tooltip": {
"enabled": true,
"text": "Download Table as Excel"
}
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/cloud_download"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Download"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\ttry:\n\t\treturns \u003d notifyTool.ReadFromDynamo.DynamoReader()\n\t\tself.view.custom.EntriesList \u003d returns[\u0027Items\u0027]\n\n\texcept:\n\t\tsystem.perspective.print(\u0027Error manual refreshing from Dynamo Table\u0027)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Retrieve_Test",
"tooltip": {
"enabled": true,
"text": "Manual Refresh of Table"
}
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/get_app"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Refresh"
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\t\n\tPK \u003d self.view.custom.TableSelection[\u0027PrimaryKey\u0027]\n\tPub \u003d self.view.custom.TableSelection[\u0027publish\u0027]\n\n\treturns \u003d notifyTool.DeleteFromDynamo.DynamoDeleter(PrimaryKey\u003dPK,publish\u003dPub)\n\tsystem.perspective.sendMessage(\u0027refreshNotifyTable\u0027)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Delete-Button",
"tooltip": {
"enabled": true,
"text": "Permanently Delete selected entry"
}
},
"position": {
"basis": "115px"
},
"props": {
"image": {
"icon": {
"path": "material/delete_forever"
}
},
"style": {
"backgroundColor": "#555555",
"classes": "Background-Styles/Controller",
"marginBottom": 5,
"marginLeft": 20,
"marginRight": 20,
"marginTop": 5
},
"text": "Delete"
},
"type": "ia.input.button"
}
],
"meta": {
"name": "FlexContainer_4"
},
"position": {
"basis": "40px"
},
"props": {
"justify": "flex-end"
},
"type": "ia.container.flex"
},
{
"meta": {
"name": "Table"
},
"position": {
"basis": "400px",
"grow": 1
},
"propConfig": {
"props.data": {
"binding": {
"config": {
"path": "view.custom.EntriesList"
},
"type": "property"
}
}
},
"props": {
"columns": [
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "priority",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Priority"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 60
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "PrimaryKey",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Submit Date"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "descending",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 85
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "publish",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Publish Date"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "ascending",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 85
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "expire",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Expire Date"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 85
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "title",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Title"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": false,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": "Body"
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "body",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Body"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 450
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "author",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Author"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 80
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "link1title",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Link 1 Title"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 140
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "link1",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Link 1"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": false,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "link2title",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Link 2 Title"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": true,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": 140
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "link2",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Link 2"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": false,
"style": {
"classes": "",
"overflowWrap": "break-word"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": "falseq",
"field": "childproj",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "Published from:"
},
"justify": "auto",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": false,
"style": {
"classes": "",
"overflowWrap": "break-word"
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
},
{
"align": "center",
"boolean": "checkbox",
"dateFormat": "MM/DD/YYYY",
"editable": false,
"field": "whids",
"filter": {
"boolean": {
"condition": ""
},
"date": {
"condition": "",
"value": ""
},
"enabled": false,
"number": {
"condition": "",
"value": ""
},
"string": {
"condition": "",
"value": ""
},
"visible": "on-hover"
},
"footer": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": ""
},
"header": {
"align": "center",
"justify": "left",
"style": {
"classes": ""
},
"title": "WHID Specific"
},
"justify": "center",
"nullFormat": {
"includeNullStrings": false,
"nullFormatValue": "",
"strict": false
},
"number": "value",
"numberFormat": "0,0.##",
"progressBar": {
"bar": {
"color": "",
"style": {
"classes": ""
}
},
"max": 100,
"min": 0,
"track": {
"color": "",
"style": {
"classes": ""
}
},
"value": {
"enabled": true,
"format": "0,0.##",
"justify": "center",
"style": {
"classes": ""
}
}
},
"render": "auto",
"resizable": true,
"sort": "none",
"sortable": true,
"strictWidth": false,
"style": {
"classes": ""
},
"toggleSwitch": {
"color": {
"selected": "",
"unselected": ""
}
},
"viewParams": {},
"viewPath": "",
"visible": true,
"width": ""
}
],
"rows": {
"style": {
"marginBottom": 2.5,
"marginTop": 2.5,
"overflowWrap": "break-word"
}
},
"sortOrder": [
"PrimaryKey",
"publish"
],
"style": {
"marginBottom": 5,
"marginLeft": 5,
"marginRight": 5,
"marginTop": 5
}
},
"scripts": {
"customMethods": [],
"extensionFunctions": null,
"messageHandlers": [
{
"messageType": "refreshNotifyTable",
"pageScope": true,
"script": "\ttry:\n\t\treturns \u003d notifyTool.ReadFromDynamo.DynamoReader()\n\t\tself.view.custom.EntriesList \u003d returns[\u0027Items\u0027]\n\t\tself.refreshBinding(\u0027props.data\u0027)\n\t\t# implement your handler here\n\texcept:\n\t\tsystem.perspective.print(\u0027Error updating Notification Table\u0027)",
"sessionScope": false,
"viewScope": false
}
]
},
"type": "ia.display.table"
}
],
"meta": {
"name": "FlexContainer"
},
"position": {
"basis": "200px",
"grow": 1
},
"props": {
"direction": "column"
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "FlexContainer_4"
},
"position": {
"basis": "1300px",
"grow": 1
},
"type": "ia.container.flex"
}
],
"meta": {
"name": "root"
},
"propConfig": {
"meta.visible": {
"binding": {
"config": {
"path": "session.props.auth.user.roles"
},
"transforms": [
{
"code": "\n\troles \u003d [\u0027Authenticated/Roles/eurme-ignition-admins\u0027]\n\tauth \u003d system.perspective.isAuthorized(False, securityLevels\u003droles)\n\treturn auth",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"direction": "column",
"style": {
"classes": "Background-Styles/Controller"
}
},
"type": "ia.container.flex"
}
}