mirror of
https://github.com/bilawalsidhu/gods-eye-view.git
synced 2026-11-05 10:53:59 +00:00
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:
1 parent
dd3a2c87f9
commit
95523e09cd
37 files changed
+404
-135
No files matched your search
@@ -7,6 +7,7 @@ import {
|
||||
layoutRightPanelRail,
|
||||
measurePanelNaturalHeight,
|
||||
} from './panelRails.js';
|
||||
import { applyPanelState, readPanelState } from './rail/panelState.js';
|
||||
|
||||
test('Display uses an inner scroll body only in Cyber', () => {
|
||||
const body = { scrollTop: 95 };
|
||||
@@ -169,7 +170,11 @@ function fixture(
|
||||
matchMedia: () => ({ matches: mobile }),
|
||||
getComputedStyle: (node) => node.computed,
|
||||
},
|
||||
onCollapse: (panel) => collapsed.push(panel.id),
|
||||
// The owner presents the patch; the panel's root draws it at once.
|
||||
onCollapse: (panel, patch) => {
|
||||
collapsed.push(panel.id);
|
||||
applyPanelState(panel, { ...readPanelState(panel), ...patch });
|
||||
},
|
||||
onRetry: () => {
|
||||
retries += 1;
|
||||
},
|
||||
|
||||
Reference in new issue
Block a user