Customizable Dashboard Widgets
CommunityLet users customize Filament dashboards: drag, resize, and arrange widgets on a permission-aware collage grid.
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Author:
John Michael Rivera Gonzalez
Documentation

Customize Filament dashboards: drag, resize, and arrange widgets.
Give every Filament user a personal desktop: add widgets, drag them into place, resize from any edge, and save the layout. Your existing Filament widgets keep working — this plugin turns the dashboard into a collage canvas with permissions, defaults, templates, and an admin lock.
Compatible with Filament v5 · PHP 8.2+ · English & Spanish · Dark mode · Free (MIT)

#Highlights
- Fits real work — users arrange KPIs, charts, and tables the way they think, not in a fixed Filament column grid
- Zero rewrite — keep your widgets; the plugin wraps them
- Permission-aware — only show widgets each user can view
- Admin control — company default layout, apply to everyone, lock customization
- Templates — save, restore, and share layouts across the panel
- Charts that follow the cell — ApexCharts / stats reflow when resized
#Dark mode

#Customize from the avatar menu
Open Customize dashboard from the user menu — no extra pages required.

#Edit mode
Drag widgets, resize from any edge, remove with ×, and save personal or company defaults.

#Feature tour
#Collage grid
- 24-column fine grid (45px comfortable / 32px compact)
- Drag freely with float gaps (drop small widgets into leftover holes)
- Resize from all edges and corners
- Grab cursor (open / closed hand)
- Escape cancels edit mode
- Mobile stacks to one column (drag disabled under 768px)
#Catalog & layouts
- Catalog from
getWidgets()+ search - Personal layout (“Save for me”)
- Panel default (“Save as default for everyone”)
- Apply default to all users
- Auto-packed layout when nothing is saved yet
#Templates
- Save / restore named templates
- Share templates with other users on the same panel
- Optional: disable with
->templates(false)
#Admin (avatar menu)
| Action | Purpose |
|---|---|
| Customize dashboard | Opens /?customize=1 |
#While editing (header)
Save for me · Cancel · Reset to default · Save as default · Apply to all users
#Quick start
composer require johnrivera7/filament-custom-dashboard-widgets
php artisan filament-widget-grid:install
use JohnRivera7\FilamentWidgetGrid\FilamentWidgetGridPlugin;
$panel->plugins([
FilamentWidgetGridPlugin::make()
->canViewWidget(fn (string $widget): bool => auth()->user()?->can('view', $widget) ?? false)
->canCustomize(fn (): bool => auth()->check())
->canManageDefaults(fn (): bool => auth()->user()?->hasRole('super_admin') ?? false),
]);
use Filament\Pages\Dashboard as BaseDashboard;
use JohnRivera7\FilamentWidgetGrid\Concerns\HasWidgetGrid;
class Dashboard extends BaseDashboard
{
use HasWidgetGrid;
public function getWidgets(): array
{
return [
\App\Filament\Widgets\StatsOverview::class,
\App\Filament\Widgets\OrdersChart::class,
];
}
}
Open customize from the avatar menu or visit /?customize=1.
#Configuration
FilamentWidgetGridPlugin::make()
->columns(24)
->cellHeight(45)
->maxHeight(60)
->density('comfortable') // or 'compact'
->float(true)
->templates(true)
->canViewWidget(...)
->canCustomize(...)
->canManageDefaults(...)
->canShareTemplates(...);
Optional widget author hints (not required for drag/resize):
public static int $gridW = 12;
public static int $gridH = 10;
public static int $gridMinH = 4;
public static bool $gridSizeToContent = true;
$gridMinW is ignored so cells can always shrink.
#Migrating from dash-arrange
php artisan filament-widget-grid:import-dash-arrange --panel=admin
#License
MIT — free to use. See LICENSE.
The author
I am a full-stack developer focused on building reliable web platforms for education, enterprise, and business operations. I work mainly with Laravel and Filament, creating admin panels, reusable packages, and integrations that solve real production needs.
I also have a background in cybersecurity as an ethical hacker, which shapes how I design and review software: secure authentication flows, proper access control, hardening production environments, and thinking about real-world attack surfaces before they become problems.
I contribute to the Filament ecosystem by developing open-source panel plugins, with a strong focus on authentication, enterprise SSO, and tools that help teams manage complex workflows from a clean admin interface. I follow official Filament standards and aim to publish practical, well-documented packages that developers can adopt with confidence.
Beyond Filament, I develop Moodle plugins and customizations for e-learning platforms, including integrations, Microsoft Teams modules, learning activities, custom course formats, and automated cloud backup solutions. I also build Laravel applications for insurance, commercial, corporate, and agricultural management systems.
My infrastructure work includes high-availability setups with PostgreSQL clusters, GlusterFS, Nginx, and Consul, as well as Odoo ERP and POS implementations. I enjoy working across the full stack—from backend architecture and DevOps automation to polished admin interfaces and end-user workflows.
I publish open-source packages on Packagist and GitHub, and I plan to keep expanding my contributions to Filament with new panel plugins over time.
From the same author
Flow
Integrate Flow (Chile) payments into Filament with a credentials UI, HMAC signing helpers, and checkout redirects.
Author:
John Michael Rivera Gonzalez
SAML2 Okta
Adds SAML2 single sign-on to your Filament panel with a full admin UI for IdP configuration, certificate management, user provisioning, SAML field mapping, and a customizable login button for Okta, Azure AD, Google Workspace, Auth0, and other standard identity providers.
Author:
John Michael Rivera Gonzalez
Transbank Webpay
Integrate Transbank Webpay Plus payments into Filament with a credentials UI, official SDK helpers, and POST token_ws redirects.
Author:
John Michael Rivera Gonzalez
Featured Plugins
A selection of plugins curated by the Filament team
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Data Lens
Advanced Data Visualization for Laravel Filament - a premium reporting solution enabling custom column creation, sophisticated filtering, and enterprise-grade data insights within admin panels.
Padmission
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament