shreejan/dash-arrange
| Install | |
|---|---|
composer require shreejan/dash-arrange |
|
| Latest Version: | 2.0.0 |
| PHP: | ^8.2 |
| License: | MIT |
| Last Updated: | May 12, 2026 |
| Links: | GitHub · Packagist |
DashArrange
A Filament plugin that allows users to customize their dashboard widgets with drag & drop functionality.
Installation
composer require shreejan/dash-arrange
Setup
Quick Setup (Recommended)
Run the install command which will automatically:
- Publish and run migrations
- Publish the Dashboard stub
php artisan dash-arrange:install
Make sure your app/Providers/Filament/AdminPanelProvider.php uses the correct Dashboard class:
use App\Filament\Pages\Dashboard; // Instead of Filament\Pages\Dashboard
That's it! The package is now ready to use.
Manual Setup
If you prefer to set up manually:
1. Publish and Run Migrations
php artisan vendor:publish --tag=dash-arrange-migrations
php artisan vendor:publish --tag=dash-arrange-dashboard
php artisan migrate
2. Update Your Dashboard Page
Update your app/Filament/Pages/Dashboard.php to use DashArrange:
<?php
namespace App\Filament\Pages;
use Shreejan\DashArrange\Traits\HasDashArrange;
use Filament\Pages\Dashboard as BaseDashboard;
class Dashboard extends BaseDashboard
{
use HasDashArrange;
protected string $view = 'dash-arrange::dashboard';
public function mount(): void
{
// Initialize DashArrange functionality
$this->mountHasDashArrange();
}
}
3. Update AdminPanelProvider
Make sure your app/Providers/Filament/AdminPanelProvider.php uses the correct Dashboard class:
use App\Filament\Pages\Dashboard; // Instead of Filament\Pages\Dashboard
4. (Optional) Publish Configuration
php artisan vendor:publish --tag=dash-arrange-config
Usage
Once installed, users will see a "Customize My Dashboard" button on their dashboard. They can:
- Drag and drop widgets to reorder them
- Show/hide widgets using checkboxes
- Save their preferences (stored per user)
- Revert unsaved changes with the Cancel button
- Widget preferences are persistent and user-specific
Configuration
Edit config/dash-arrange.php to customize:
- Grid columns: Default number of columns for the dashboard grid
- User model: Customize the user model if needed
- Permission checks: Add custom permission logic for widgets
- Customize Dashboard Button:
customize_dashboard_title: The title text for the customize dashboard button (default: 'Customize My Dashboard')customize_dashboard_button_color: The color of the customize dashboard button. Colors can be added inAdminPanelProvider.php->colors()method (default: 'primary')
Requirements
- PHP ^8.2
- Filament ^4.0
- Laravel ^12.0
Features
- ✅ Drag & drop widget reordering
- ✅ Show/hide widgets with checkboxes
- ✅ User-specific preferences (stored in database)
- ✅ Permission-based widget visibility (FilamentShield compatible)
- ✅ Responsive grid layout
- ✅ Widget column span support
- ✅ Easy installation command
- ✅ Fully customizable configuration
Support
- GitHub Repository: https://github.com/shreejanpandit/arragne-dashboard
- Issues: Report a bug or request a feature
Credits
Security
If you discover a security vulnerability within this package, please send an e-mail to shreezanpandit@gmail.com. All security vulnerabilities will be promptly addressed.
📄 License
The MIT License (MIT). Please see License File for more information.
Related Packages
Powerful PHP database abstraction layer (DBAL) with many features for database s...
Laravel Serializable Closure provides an easy and secure way to serialize closur...
Cli error handling for console/command-line PHP applications.
Version History
| Version | Released | PHP | Laravel | License |
|---|---|---|---|---|
| 2.0.0 | ^8.2 | ^12.0| | MIT | |
| 1.0.0 | ^8.4 | ^12.0 | MIT |