328 lines
9.6 KiB
Plaintext
328 lines
9.6 KiB
Plaintext
{
|
|
"custom": {
|
|
"breadcrumbs": [
|
|
"Spaces",
|
|
"Floor 1",
|
|
"DM11"
|
|
]
|
|
},
|
|
"params": {},
|
|
"propConfig": {
|
|
"custom.breadcrumbs": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "session.custom.breadcrumbs"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\treturn value.split(\u0027/\u0027)",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "property"
|
|
},
|
|
"persistent": true
|
|
}
|
|
},
|
|
"props": {
|
|
"defaultSize": {
|
|
"height": 80,
|
|
"width": 1200
|
|
}
|
|
},
|
|
"root": {
|
|
"children": [
|
|
{
|
|
"children": [
|
|
{
|
|
"meta": {
|
|
"name": "Icon"
|
|
},
|
|
"position": {
|
|
"basis": "38px",
|
|
"shrink": 0
|
|
},
|
|
"propConfig": {
|
|
"props.path": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "view.custom.breadcrumbs[0]"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"fallback": "material/menu_open",
|
|
"inputType": "scalar",
|
|
"mappings": [
|
|
{
|
|
"input": "Home",
|
|
"output": "material/home"
|
|
},
|
|
{
|
|
"input": "Spaces",
|
|
"output": "material/domain"
|
|
},
|
|
{
|
|
"input": "Equipment",
|
|
"output": "material/settings_input_component"
|
|
},
|
|
{
|
|
"input": "Analysis",
|
|
"output": "material/analytics"
|
|
},
|
|
{
|
|
"input": "Alarms",
|
|
"output": "material/notifications"
|
|
},
|
|
{
|
|
"input": "Diagnostics",
|
|
"output": "material/build"
|
|
}
|
|
],
|
|
"outputType": "scalar",
|
|
"type": "map"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"color": "var(--text-color)",
|
|
"style": {
|
|
"marginRight": "5px",
|
|
"opacity": "0.50"
|
|
}
|
|
},
|
|
"type": "ia.display.icon"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "Breadcrumbs"
|
|
},
|
|
"position": {
|
|
"grow": 1,
|
|
"shrink": 0
|
|
},
|
|
"propConfig": {
|
|
"props.instances": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "session.custom.breadcrumbs"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"code": "\titems \u003d value.split(\u0027/\u0027)\n\treturn_array \u003d []\n\tfor item in items:\n\t\tnew_item \u003d {}\n\t\tnew_item[\u0027label\u0027] \u003d item\n\t\tnew_item[\u0027isLast\u0027] \u003d False\n\t\treturn_array.append(new_item)\n\treturn_array[-1][\u0027isLast\u0027] \u003d True\n\treturn return_array",
|
|
"type": "script"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"alignContent": "space-around",
|
|
"alignItems": "center",
|
|
"elementPosition": {
|
|
"basis": "auto",
|
|
"shrink": 0
|
|
},
|
|
"path": "Frames/Layouts/Header/Label",
|
|
"style": {
|
|
"gap": "var(--space-xs)",
|
|
"overflow": "visible"
|
|
}
|
|
},
|
|
"type": "ia.display.flex-repeater"
|
|
},
|
|
{
|
|
"children": [
|
|
{
|
|
"events": {
|
|
"dom": {
|
|
"onClick": [
|
|
{
|
|
"config": {},
|
|
"enabled": false,
|
|
"scope": "C",
|
|
"type": "login"
|
|
},
|
|
{
|
|
"config": {
|
|
"script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"meta": {
|
|
"name": "Icon"
|
|
},
|
|
"position": {
|
|
"basis": "30px"
|
|
},
|
|
"propConfig": {
|
|
"props.path": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "session.props.auth.authenticated"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"fallback": "material/login",
|
|
"inputType": "scalar",
|
|
"mappings": [
|
|
{
|
|
"input": true,
|
|
"output": "material/person_outline"
|
|
},
|
|
{
|
|
"input": false,
|
|
"output": "material/login"
|
|
}
|
|
],
|
|
"outputType": "scalar",
|
|
"type": "map"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"color": "var(--text-color)"
|
|
},
|
|
"type": "ia.display.icon"
|
|
},
|
|
{
|
|
"events": {
|
|
"dom": {
|
|
"onClick": [
|
|
{
|
|
"config": {},
|
|
"enabled": false,
|
|
"scope": "C",
|
|
"type": "login"
|
|
},
|
|
{
|
|
"config": {
|
|
"script": "\tif self.session.props.auth.authenticated:\n\t\tsystem.perspective.logout()\n\telse:\n\t\tsystem.perspective.login()"
|
|
},
|
|
"scope": "G",
|
|
"type": "script"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"meta": {
|
|
"name": "Button"
|
|
},
|
|
"propConfig": {
|
|
"props.text": {
|
|
"binding": {
|
|
"config": {
|
|
"path": "session.props.auth.authenticated"
|
|
},
|
|
"transforms": [
|
|
{
|
|
"fallback": "\"Login\"",
|
|
"inputType": "scalar",
|
|
"mappings": [
|
|
{
|
|
"input": true,
|
|
"output": "{session.props.auth.user.userName}"
|
|
},
|
|
{
|
|
"input": false,
|
|
"output": "\"Login\""
|
|
}
|
|
],
|
|
"outputType": "expression",
|
|
"type": "map"
|
|
}
|
|
],
|
|
"type": "property"
|
|
}
|
|
}
|
|
},
|
|
"props": {
|
|
"textStyle": {
|
|
"color": "var(--text-color)"
|
|
}
|
|
},
|
|
"type": "ia.input.button"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "Controls"
|
|
},
|
|
"position": {
|
|
"basis": "200px"
|
|
},
|
|
"props": {
|
|
"justify": "flex-end",
|
|
"style": {
|
|
"gap": "var(--space-xs)"
|
|
}
|
|
},
|
|
"type": "ia.container.flex"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "Content"
|
|
},
|
|
"position": {
|
|
"basis": "100%"
|
|
},
|
|
"props": {
|
|
"alignContent": "center",
|
|
"alignItems": "center",
|
|
"style": {
|
|
"paddingLeft": "10px"
|
|
}
|
|
},
|
|
"type": "ia.container.flex"
|
|
},
|
|
{
|
|
"meta": {
|
|
"name": "Label"
|
|
},
|
|
"position": {
|
|
"basis": "1px"
|
|
},
|
|
"props": {
|
|
"style": {
|
|
"border": "var(--container-border)"
|
|
}
|
|
},
|
|
"type": "ia.display.label"
|
|
}
|
|
],
|
|
"meta": {
|
|
"name": "root"
|
|
},
|
|
"props": {
|
|
"alignContent": "center",
|
|
"direction": "column",
|
|
"style": {
|
|
"backgroundColor": "var(--container-root)",
|
|
"padding": "var(--space-sm)"
|
|
}
|
|
},
|
|
"scripts": {
|
|
"customMethods": [],
|
|
"extensionFunctions": null,
|
|
"messageHandlers": [
|
|
{
|
|
"messageType": "updateBreadcrumb",
|
|
"pageScope": true,
|
|
"script": "\tself.view.custom.path \u003d payload[\u0027target\u0027]",
|
|
"sessionScope": false,
|
|
"viewScope": false
|
|
}
|
|
]
|
|
},
|
|
"type": "ia.container.flex"
|
|
}
|
|
} |