feat(panels): render each panel's state classes from the store

A panel's collapsed, dock-pinned, dock-pinned-top, layout-auto-collapsed
and accordion-collapsed classes are drawn by its root's v-panel-state from
the gev-panel-chrome store. PanelChrome, its restore, the layout
controller, both rails and the side accordion present each panel's state
there instead of writing its classes; the rails call onCollapse(panel,
{collapsed, auto}). The directive applies a change in a synchronous
watcher, since the rails measure a panel in the task that opens or closes
it.

Destroying the chrome inside Cockpit now puts back the panels Cockpit's
entry closed while it can still present them. Without a shell, the voice
tools' set_panel_open reports that there is no panel to open. QA scripts
present the states they set instead of writing the classes.
This commit is contained in:
Sameh Khamis committed 2026-10-31 23:51:47 -07:00
1 parent dd3a2c87f9
commit 95523e09cd
37 files changed
+404 -135

No files matched your search

+8 -4
View File
@@ -122,7 +122,8 @@
"src/firstRunCopy.js",
"src/ui/kit/UiButton.vue",
"src/ui/stores/panelChrome.js",
"src/ui/rail/PanelCollapseButton.vue"
"src/ui/rail/PanelCollapseButton.vue",
"src/ui/rail/panelState.js"
],
"external": ["vue", "pinia"]
},
@@ -1048,7 +1049,8 @@
"src/ui/stores/worldOverlayActions.js",
"src/ui/stores/awarenessDirection.js",
"src/ui/stores/hud.js",
"src/ui/stores/panelChrome.js"
"src/ui/stores/panelChrome.js",
"src/ui/rail/panelState.js"
],
"external": ["cesium", "vue", "pinia"]
},
@@ -3054,7 +3056,8 @@
"src/ui/stores/hud.js",
"src/ui/stores/firstRun.js",
"src/firstRunCopy.js",
"src/ui/stores/panelChrome.js"
"src/ui/stores/panelChrome.js",
"src/ui/rail/panelState.js"
],
"external": [
"hls.js",
@@ -3863,7 +3866,8 @@
"src/ui/panelRailCatalog.js",
"src/ui/panelAccordion.js",
"src/ui/vueRuntime.js",
"src/ui/stores/panelChrome.js"
"src/ui/stores/panelChrome.js",
"src/ui/rail/panelState.js"
],
"external": ["vue", "pinia"]
},