mddev31/filament-dynamic-dashboard
DynamicWidget and optionally overriding size/setting methods. No major refactoring of Filament’s core or existing pages.spatie/laravel-permission optionally, which is a common dependency in Filament projects, reducing friction for role-based access control.Widget Compatibility:
width: 100%) that may break in dynamic layouts?Layout Requirements:
Performance:
Access Control:
Upgrade Path:
dashboards, dashboard_widgets) with clear migration paths. Existing Filament tables remain untouched.Assessment Phase:
Pilot Implementation:
DynamicWidget interface, traits).flat-12 vs. custom JSON).Phased Rollout:
Fallback Plan:
DynamicWidget. Complex widgets (e.g., those with iframes or third-party JS) may need wrapper components.sections, columns, rowHeight).resolveFilterDefaults) can be extended via the dashboard page class.config/filament-dynamic-dashboard.php (e.g., default template, widget settings).DynamicWidget to critical widgets, starting with those without fixed layouts.DynamicDashboard for each page, overriding methods like getDashboardFilters() as needed.getDynamicDashboardMaxWidth/Height for widgets that render poorly at extreme sizes.DynamicDashboard Livewire cache).php artisan filament:assets after updating the package or GridStack.js.DynamicWidget implementation and widget registration in Filament.gridstack-devtools: true in config) for layout inspection.livewire.log.dashboard_widgets table may grow with user-created layouts. Consider archiving old personal dashboards or implementing soft deletes.dashboard_id and section_slug for query performance.showWidgetLoader() to hide rendering delays.| Failure Scenario | Impact | Mitigation |
|---|---|---|
| GridStack.js bundle fails to load | Dashboards render as static grids | Fallback to a static layout template; monitor filament:assets errors. |
| Widget settings serialization fails | Widgets appear but with defaults | Validate getSettingsCasts() and use PHP 8.3’s typed properties. |
| Database migration corruption | Lost dashboard layouts | Backup before migrating; test rollback procedures. |
| User edits corrupt JSON layout | Broken |
How can I help you explore Laravel packages today?