- Flatten nested style objects directly into options
- Text/Title use 'text', Button uses 'label'
- All paths use {{entire_url()}}
76 lines
2.3 KiB
XML
76 lines
2.3 KiB
XML
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"maxWidth": "100%",
|
|
"padding": "10px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"alignItems": "center",
|
|
"justifyContent": "space-between",
|
|
"marginBottom": "15px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "Text",
|
|
"options": {
|
|
"text": "统一仪表板",
|
|
"fontSize": "20px",
|
|
"fontWeight": "bold"
|
|
}
|
|
},
|
|
{
|
|
"widgettype": "Select",
|
|
"options": {
|
|
"data": [
|
|
{
|
|
"value": "executive",
|
|
"label": "管理视图"
|
|
},
|
|
{
|
|
"value": "sales",
|
|
"label": "销售视图"
|
|
},
|
|
{
|
|
"value": "finance",
|
|
"label": "财务视图"
|
|
},
|
|
{
|
|
"value": "customer",
|
|
"label": "客户视图"
|
|
}
|
|
],
|
|
"onChange": "switch_dashboard",
|
|
"width": "120px"
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"widgettype": "ScrollView",
|
|
"options": {
|
|
"maxHeight": "calc(100vh - 100px)"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "VBox",
|
|
"options": {
|
|
"gap": "15px"
|
|
},
|
|
"subwidgets": [
|
|
{
|
|
"widgettype": "HBox",
|
|
"options": {
|
|
"gap": "10px",
|
|
"flexWrap": "wrap"
|
|
},
|
|
"subwidgets": []
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
]
|
|
} |