2025-09-11 16:44:17 +04:00

954 lines
27 KiB
JSON

{
"custom": {},
"params": {},
"props": {
"defaultSize": {
"height": 1080,
"width": 70
}
},
"root": {
"children": [
{
"children": [
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tmap_selected \u003d self.session.custom.alarm_filter.show_map\n\tself.custom.show \u003d False\n\tif not map_selected:\n\t\tsystem.perspective.navigate(\"/\")\n\telse:\n\t\tsystem.perspective.navigate(\"/MAP-Home\")"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Home",
"tooltip": {
"enabled": true,
"text": "Home"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/home"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Home",
"textStyle": {
"fontSize": 10
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tif self.props.selected \u003d\u003d True and self.page.props.path \u003d\u003d \"/\":\n\t\tsystem.perspective.navigate(\"/MAP-Home\")\n\t\t\n\telif self.page.props.path \u003d\u003d \"/MAP-Home\":\n\t\tsystem.perspective.navigate(\"/\")"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "ToggleSwitch",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "60px"
},
"propConfig": {
"meta.tooltip.text": {
"binding": {
"config": {
"path": "session.custom.alarm_filter.show_map"
},
"transforms": [
{
"expression": "if({value}, \"Toggle for home card view\", \"Toggle for home detailed view\")",
"type": "expression"
}
],
"type": "property"
}
},
"position.display": {
"binding": {
"config": {
"path": "/root.custom.show_home_selector"
},
"type": "property"
}
},
"props.selected": {
"binding": {
"config": {
"bidirectional": true,
"path": "session.custom.alarm_filter.show_map"
},
"type": "property"
}
}
},
"props": {
"color": {
"background-color": "",
"selected": "#FFFFFF",
"unselected": "#FFFFFF"
},
"label": {
"position": "left",
"style": {
"classes": "",
"fontSize": "10px"
},
"text": "Map View"
},
"style": {
"borderBottomLeftRadius": "5px",
"borderBottomRightRadius": "5px",
"borderColor": "#AAAAAA",
"borderStyle": "solid",
"borderTopLeftRadius": "5px",
"borderTopRightRadius": "5px",
"borderWidth": "0.5px",
"classes": "Buttons/Button-Menu",
"margin": "1px"
}
},
"type": "ia.input.toggle-switch"
}
],
"events": {
"dom": {
"onMouseEnter": {
"config": {
"script": "\tself.parent.custom.show_home_selector \u003d True"
},
"scope": "G",
"type": "script"
},
"onMouseLeave": {
"config": {
"script": "\tself.parent.custom.show_home_selector \u003d False"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "FlexContainer"
},
"propConfig": {
"position.basis": {
"binding": {
"config": {
"expression": "if({parent.custom.show_home_selector} \u003d True, \"130px\", \"70px\")"
},
"type": "expr"
}
}
},
"props": {
"direction": "column",
"style": {
"overflow": "hidden"
}
},
"type": "ia.container.flex"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/Real-Time\")"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Alarms",
"tooltip": {
"enabled": true,
"text": "Alarms"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/access_alarm"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Alarms",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\n\tsystem.perspective.openPopup(id \u003d \"Search\", view \u003d \"PopUp-Views/Search\", \n\t\t\t\t\t\t\t\t\t\t\t\tshowCloseIcon \u003d False, modal \u003d True,\n\t\t\t\t\t\t\t\t\t\t\t\tviewportBound \u003d True,\n\t\t\t\t\t\t\t\t\t\t\t\tdraggable \u003d False,\n\t\t\t\t\t\t\t\t\t\t\t\toverlayDismiss \u003d True\n\t\t\t\t\t\t\t\t\t\t\t\t)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "search",
"tooltip": {
"enabled": true,
"text": "Search"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/search"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Search",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tconfig.project_config.reset_highlights(self)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Search off",
"tooltip": {
"enabled": true,
"text": "Search Off"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/search_off"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Search Off",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"draggable": false,
"id": "IL8RVZ5T",
"modal": true,
"overlayDismiss": true,
"position": {
"relativeLocation": "top-right"
},
"positionType": "relative",
"resizable": false,
"showCloseIcon": false,
"type": "open",
"viewParams": {
"viewFocus": "{session.custom.view_in_focus}"
},
"viewPath": "PopUp-Views/Detail-View-Filter",
"viewportBound": true
},
"scope": "C",
"type": "popup"
}
}
},
"meta": {
"name": "Filter",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"custom.filters_active": {
"binding": {
"config": {
"expression": "if(!{session.custom.alarm_filter.show_diagnostic} ||\r\n!{session.custom.alarm_filter.show_gateways} ||\r\n!{session.custom.alarm_filter.show_low_alarm} ||\r\n{session.custom.alarm_filter.orderby} ||\r\n!{session.custom.alarm_filter.show_running} ||\r\n!{session.custom.alarm_filter.show_fio} ||\r\n!{session.custom.alarm_filter.show_camera_jams} ||\r\n!{session.custom.alarm_filter.show_safety}, \r\nTrue,\r\nFalse)\r\n"
},
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.custom.filters_active}, \"Status Filters are active\",\r\n\"Select Status Filters\")"
},
"type": "expr"
}
},
"props.image.icon.color": {
"binding": {
"config": {
"expression": "if({this.custom.filters_active},\r\n\"#FF8C00\",\r\n\"#FFFFFF\")\r\n"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"path": "material/filter_alt",
"style": {
"classes": ""
}
},
"position": "top",
"width": 32
},
"style": {
"classes": "Buttons/Button-Menu, filter-button",
"margin": 1
},
"text": "Filter",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": [
{
"config": {
"params": {},
"view": "Main-Views/CT_Main"
},
"enabled": false,
"scope": "C",
"type": "nav"
},
{
"config": {
"script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/Tools\")"
},
"scope": "G",
"type": "script"
}
]
}
},
"meta": {
"name": "Tools",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"custom.has_role": {
"binding": {
"config": {
"expression": "isAuthorized(false, \u0027Authenticated/Roles/eurme-ignition-developers\u0027, \r\n\t\u0027Authenticated/Roles/eurme-ignition-ae\u0027, \u0027Authenticated/Roles/narme-ignition-developers\u0027)"
},
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.custom.has_role}\u003d False, \r\n\"You do not have the required role to access this page\",\r\n\"Access tools page\")\r\n"
},
"type": "expr"
}
},
"props.enabled": {
"binding": {
"config": {
"path": "this.custom.has_role"
},
"type": "property"
}
},
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/handyman"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Tools",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"page": "/Command"
},
"scope": "C",
"type": "nav"
}
}
},
"meta": {
"name": "Control",
"tooltip": {
"enabled": true
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"custom.has_role": {
"binding": {
"config": {
"expression": "{session.custom.fc}"
},
"transforms": [
{
"code": "#\trme_role \u003d value +\"-rme-all\"\n\trme_role \u003d \"eurme-ignition-developers\"\n\troles \u003d (self.session.props.auth.user.roles)\n\tif (rme_role.lower() in roles \n\tor rme_role.upper() in roles):\n\t\treturn True\n\telse:\n\t\treturn False",
"type": "script"
}
],
"type": "expr"
}
},
"meta.tooltip.text": {
"binding": {
"config": {
"expression": "if({this.custom.has_role}\u003d False, \r\n\"You do not have the required role to access this page\",\r\n\"Access controls page\")\r\n"
},
"type": "expr"
}
},
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/gamepad"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Control",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tsystem.perspective.navigate(\"/Windows/Statistics\")\n\tquery2 \u003d \"\"\"\n\tCREATE TABLE IF NOT EXISTS dumper_cycles (\n\t id INT AUTO_INCREMENT PRIMARY KEY,\n\t t_stamp DATETIME NOT NULL,\n\t ulgl1 TINYINT(1) DEFAULT 0,\n\t ulgl2 TINYINT(1) DEFAULT 0,\n\t ulgl3 TINYINT(1) DEFAULT 0,\n\t ulgl4 TINYINT(1) DEFAULT 0\n\t);\n\t\"\"\"\n\tsystem.db.runUpdateQuery(query2, \"MariaDB\")\n\t"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Statistic",
"tooltip": {
"enabled": true,
"text": "Notifications"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if(isNull({session.custom.download_url}), False, True)"
},
"enabled": false,
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FCFFFC",
"path": "material/leaderboard"
},
"position": "top",
"width": 32
},
"style": {
"classes": "Buttons/Button-Menu",
"color": "#FFFFFF",
"margin": 1
},
"text": "Statistic",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tsystem.perspective.navigate(\"/Windows/Status\")\n\tself.session.custom.show_dpm_view \u003d False\n\tself.session.custom.show_dpm_device_view \u003d False"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Status",
"tooltip": {
"enabled": true,
"text": "Notifications"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": ""
},
"enabled": false,
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFD",
"path": "material/done"
},
"position": "top",
"width": 32
},
"style": {
"classes": "Buttons/Button-Menu",
"color": "#FFFFFF",
"margin": 1
},
"text": "Status",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"custom": {
"show": false
},
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tsystem.perspective.closePopup(\"DevicePopUP\")\n\tsystem.perspective.closePopup(\"StatusPopUP\")\n\tself.custom.show \u003d False\n\tsystem.perspective.navigate(\"/Help\")"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Help",
"tooltip": {
"enabled": true,
"text": "Navigate to the help wiki"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/help_outline"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Help",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\tsystem.perspective.navigateBack()"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Back",
"tooltip": {
"enabled": true,
"text": "Back"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFFFF",
"path": "material/keyboard_return"
},
"position": "top",
"width": 32
},
"style": {
"margin": 1
},
"text": "Back",
"textStyle": {
"fontSize": 10
}
},
"type": "ia.input.button"
},
{
"events": {
"component": {
"onActionPerformed": {
"config": {
"script": "\turl \u003d self.session.custom.download_url\n\tself.session.custom.download_url \u003d None\n\tsystem.perspective.navigate(url \u003d url , newTab \u003d True)"
},
"scope": "G",
"type": "script"
}
}
},
"meta": {
"name": "Downloads",
"tooltip": {
"enabled": true,
"text": "Notifications"
}
},
"position": {
"basis": "70px"
},
"propConfig": {
"position.display": {
"binding": {
"config": {
"expression": "if(isNull({session.custom.download_url}), False, True)"
},
"type": "expr"
}
}
},
"props": {
"image": {
"height": 32,
"icon": {
"color": "#FFFAF1",
"path": "material/cloud_download"
},
"position": "top",
"width": 32
},
"style": {
"classes": "Buttons/Button-Menu",
"color": "#FFFFFF",
"margin": 1
},
"text": "Download",
"textStyle": {
"classes": "Text-Styles/Docked-Buttons"
}
},
"type": "ia.input.button"
}
],
"custom": {
"show_home_selector": false
},
"meta": {
"name": "root"
},
"propConfig": {
"props.style.classes": {
"binding": {
"config": {
"path": "session.props.theme"
},
"transforms": [
{
"code": "\tif \u0027dark\u0027 in value:\n\t\treturn \u0027Buttons/Button-Menu\u0027\n\telse:\n\t\treturn \u0027Buttons/Button-Menu\u0027",
"type": "script"
}
],
"type": "property"
}
}
},
"props": {
"direction": "column",
"style": {}
},
"type": "ia.container.flex"
}
}