Skip to content

[6.x] Dashboard widget preferences - #14690

Draft
jasonvarga wants to merge 3 commits into
width-column-spansfrom
dashboard-widget-preferences
Draft

[6.x] Dashboard widget preferences#14690
jasonvarga wants to merge 3 commits into
width-column-spansfrom
dashboard-widget-preferences

Conversation

@jasonvarga

Copy link
Copy Markdown
Member

Summary

  • Adds per-user dashboard widget preferences, allowing widgets to be added, removed, reordered, and configured via the Control Panel
  • Widget configuration is persisted to user preferences via a new DashboardWidgetsController
  • Widget edit mode uses an overlay with a drag handle, width selector, configure, and remove actions
  • Widget picker uses a dropdown instead of a full-width stack panel
  • Dashboard components (WidgetConfigStack, WidgetPicker, WidgetEditOverlay) and Dashboard.vue are all written using the Composition API (<script setup>)
  • Removed description() method from widget classes as it is unused in the UI

Test plan

  • Enable edit mode on the dashboard and add widgets from the dropdown picker
  • Configure a widget and confirm settings are saved and applied
  • Reorder widgets via drag and drop
  • Remove a widget
  • Change widget width using the width selector in the edit overlay
  • Save and confirm preferences persist after page reload
  • Cancel editing and confirm no changes are applied

Widgets now define a blueprint (width, classes, and any widget-specific
fields) instead of relying on ad-hoc config arrays, so their settings
can be edited through a standard field UI.
Introduces DashboardWidgetsController with meta, update, and destroy
actions so users can customize which widgets appear on their dashboard
and configure them via their blueprint fields. DashboardController now
resolves and pre-processes widget configs (from preferences or config
fallback) for the editing UI.
Adds WidgetPicker, WidgetEditChrome, and WidgetConfigStack components
so widgets can be added, reordered, resized, and configured directly
from the dashboard, plus a WidthSelector field and supporting styles.
@jasonvarga
jasonvarga force-pushed the dashboard-widget-preferences branch from d90e7a4 to 7245d80 Compare August 28, 2026 21:54
@jasonvarga
jasonvarga changed the base branch from 6.x to width-column-spans August 28, 2026 21:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant