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
laravel-paypalpayment is simple package help you process direct credit card paym...
Powerful PHP database abstraction layer (DBAL) with many features for database s...