Proposing a different ux for saving dashboard widget layout changes.
Take it for a spin here https://deploy-preview-3653–redash-preview.netlify.com
Currently when in dashboard edit mode, there are “Apply Changes” and “Cancel” buttons which are inconsistent (only apply to resize and drag - not to added / deleted widgets) and buggy (there is a scenario causing widget overlap).
Ditch cancellability and embrace auto-save, ala-Google Docs.
One button to switch off edit mode, next to it a save status indicator.
How it works
Each layout change marks a dirty state “Saved*” and triggers a server save to each changed widgets, debounced by 1 second, then the asterisk disappears.
Any error saving yields a notification and dirty indication persists.
Different variation experiments:
- A longer debounce delay and a manual “Save” button - saving manually is simply unnecessary and doesn’t need to be on the mind of those editing the dashboard.
- Three indicator states “Save*”, “Saving”, “Saved” - the “Saving” state is too quick and the text is jumpy.
- Spinner when saving - calls needless attention.
The version implemented eventually is the least distracting and simplest.
Let me know what you think.