tima / filament-column-order
Reusable Filament widget for saving/reordering table columns
1.0.10
2025-09-22 21:10 UTC
Requires
- php: >=8.2
- filament/actions: ^3.3
- filament/forms: ^3.3
- filament/notifications: ^3.3
- filament/support: ^3.3
- filament/tables: ^3.3
- filament/widgets: ^3.3
- illuminate/database: >=11.0
- illuminate/support: >=11.0
README
Пакет для Filament, який дозволяє змінювати порядок колонок у таблицях через drag & drop та зберігати його у базі даних.
Встановлення
- Встановити пакет:
composer require tima/filament-column-order 2.Опублікувати ресурси та міграції: php artisan vendor:publish --tag=filament-column-order-views php artisan vendor:publish --tag=filament-column-order-migrations php artisan migrate Використання 1. Додати віджет у Resource: use Tima\FilamentColumnOrder\Widgets\ColumnsOrderWidget; protected function getHeaderWidgets(): array { return [ ColumnsOrderWidget::make([ 'labels' => [ 'id' => 'ID', 'title' => 'Назва', 'active' => 'Статус', ], 'key' => 'products_table_columns', ]), ]; } Це створить drag & drop віджет для сортування колонок. 2. Використовувати порядок колонок у Table use Tima\FilamentColumnOrder\Widgets\ColumnsOrderWidget; use Filament\Tables\Columns\TextColumn; use Archilex\ToggleIconColumn\Columns\ToggleIconColumn; $allColumns = [ 'id' => TextColumn::make('id')->label('ID')->sortable()->searchable(), 'title' => TextColumn::make('title')->label('Назва'), 'active' => ToggleIconColumn::make('active')->label('Статус'), ]; $order = ColumnsOrderWidget::getOrder('products_table_columns', array_keys($allColumns)); $table->columns(ColumnsOrderWidget::sortColumns($order, $allColumns)); 3. Drag & Drop Віджет автоматично підключає SortableJS і дозволяє змінювати порядок колонок. Порядок зберігається у таблиці setting_columns.