Allow Cancel to leave unchanged dashboard configuration #5

Open
opened 2026-09-08 17:34:51 +02:00 by zemion · 1 comment
Owner

Cancel is currently disabled until a layout is edited, trapping users in configuration mode.

Acceptance: enter configuration and cancel immediately without modifying or saving a layout; Save remains disabled for clean drafts. Dirty Cancel asks before discarding and restores the saved layout on confirmation; choosing to stay preserves the draft. Protect in-flight saves and existing save-conflict behavior. Reuse the shared semantic action bar, include EN/DE docs, browser regressions and no-write assertions.

Coordinated with GovOPlaN/govoplan-core#300.

Cancel is currently disabled until a layout is edited, trapping users in configuration mode. Acceptance: enter configuration and cancel immediately without modifying or saving a layout; Save remains disabled for clean drafts. Dirty Cancel asks before discarding and restores the saved layout on confirmation; choosing to stay preserves the draft. Protect in-flight saves and existing save-conflict behavior. Reuse the shared semantic action bar, include EN/DE docs, browser regressions and no-write assertions. Coordinated with https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/300. <!-- govoplan-navigation-layout-20260908-govoplan-dashboard -->
zemion added the
type
bug
priority
p1
status
in-progress
labels 2026-09-08 17:34:51 +02:00
Author
Owner

Implemented Cancel/exit availability for clean dashboard configuration through the shared action-bar contract. Save remains disabled while clean; dirty Cancel prompts using the shared guard; stay preserves edits, discard restores saved layout, and Save and leave persists once without restoring an obsolete hidden draft. Both actions remain disabled during saving. EN/DE documentation updated.

Verification after the ultrawide follow-up: 33 focused real-browser cases passed, including 3085px three-field recipient grids, two-way pointer/keyboard resizing, right-scroll-boundary shrink with stable handle/scroll position, width persistence, Delivery visibility, table-card desktop/mobile/loading geometry, navigation and EN/DE dashboard cancellation/save-and-leave. Actual authenticated 5173 campaign/version at 3085px also passed all five columns' grow/shrink/reload checks with zero campaign writes or JavaScript errors. Sizing unit regressions, strict conformance TypeScript, 27 Campaign documentation/navigation tests, final 72/72 manifest/architecture checks, and the final full-product production build with bundle-budget checks passed. The earlier full 243-case browser suite passed before this follow-up. The broad workspace gate completed its backend and focused frontend unit stages, but was deliberately interrupted during the optional-module build matrix after the user reported the ultrawide problem; do not treat that full gate as completed. Local implementation only: no commit, tag, push, release, or issue closure in this slice.

Implemented Cancel/exit availability for clean dashboard configuration through the shared action-bar contract. Save remains disabled while clean; dirty Cancel prompts using the shared guard; stay preserves edits, discard restores saved layout, and Save and leave persists once without restoring an obsolete hidden draft. Both actions remain disabled during saving. EN/DE documentation updated. Verification after the ultrawide follow-up: 33 focused real-browser cases passed, including 3085px three-field recipient grids, two-way pointer/keyboard resizing, right-scroll-boundary shrink with stable handle/scroll position, width persistence, Delivery visibility, table-card desktop/mobile/loading geometry, navigation and EN/DE dashboard cancellation/save-and-leave. Actual authenticated 5173 campaign/version at 3085px also passed all five columns' grow/shrink/reload checks with zero campaign writes or JavaScript errors. Sizing unit regressions, strict conformance TypeScript, 27 Campaign documentation/navigation tests, final 72/72 manifest/architecture checks, and the final full-product production build with bundle-budget checks passed. The earlier full 243-case browser suite passed before this follow-up. The broad workspace gate completed its backend and focused frontend unit stages, but was deliberately interrupted during the optional-module build matrix after the user reported the ultrawide problem; do not treat that full gate as completed. Local implementation only: no commit, tag, push, release, or issue closure in this slice. <!-- govoplan-navigation-layout-20260908-implementation-evidence -->
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-dashboard#5