shreejan/dash-arrange
最新稳定版本:1.0.0
Composer 安装命令:
composer require shreejan/dash-arrange
包简介
A Filament plugin for customizable dashboard widgets with drag & drop functionality
README 文档
README
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.4
- 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.
统计信息
- 总下载量: 42
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 2
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-13