{ "widgettype": "VBox", "options": { "width": "100%", "height": "100%", "style": { "padding": "20px" } }, "subwidgets": [ { "widgettype": "Text", "options": { "text": "Active Sessions", "fontSize": "24px", "fontWeight": "bold", "style": { "marginBottom": "24px", "color": "#F8FAFC" } } }, { "widgettype": "DataViewer", "options": { "data_url": "/hermes-web-cli/sessions/active", "page_rows": 20, "row_options": { "fields": [ { "name": "session_id", "label": "Session ID", "uitype": "str" }, { "name": "session_name", "label": "Session Name", "uitype": "str" }, { "name": "service_name", "label": "Service", "uitype": "str" }, { "name": "message_count", "label": "Messages", "uitype": "int" }, { "name": "created_at", "label": "Created", "uitype": "date" }, { "name": "status", "label": "Status", "uitype": "str" } ] }, "editable": { "add_icon": "fa fa-plus", "update_icon": "fa fa-edit", "delete_icon": "fa fa-trash", "new_data_url": "/hermes-web-cli/sessions", "update_data_url": "/hermes-web-cli/sessions/{id}", "delete_data_url": "/hermes-web-cli/sessions/{id}" }, "toolbar": { "tools": [ { "name": "open_session", "text": "Open Chat", "icon": "fa fa-comments" }, { "name": "export_session", "text": "Export", "icon": "fa fa-download" } ] } }, "binds": [ { "wid": "self", "event": "open_session", "actiontype": "script", "script": "const selectedRow = event.params; if (selectedRow) { const url = `{{entire_url('session_chat.ui')}}?session_id=${selectedRow.session_id}`; bricks.app.load_widget(url, 'main-content', 'replace'); }" }, { "wid": "self", "event": "export_session", "actiontype": "script", "script": "const selectedRow = event.params; if (selectedRow) { window.location.href = `/hermes-web-cli/sessions/${selectedRow.session_id}/export`; }" } ] } ] }