araga-dev / filament-invertible-fields
Invertible (include/except) fields and table filters for Filament 4 (MultiSelect & TextInput).
Installs: 3
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/araga-dev/filament-invertible-fields
Requires
- php: ^8.2
- filament/filament: ^4.0
- spatie/laravel-package-tools: ^1.16
Requires (Dev)
- laravel/pint: ^1.0
- pestphp/pest: ^3.0
- phpstan/phpstan: ^1.10
README
Fields and Table Filters for Filament 4 that let users switch between Include (Only) and Exclude (Except) modes with a single toggle.
Included:
-
InvertibleMultiSelect+InvertibleMultiSelectFilter -
InvertibleTextInput+InvertibleTextInputFilter(comma-separated by default) -
Package:
araga-dev/filament-invertible-fields -
Namespace:
Araga\FilamentInvertibleFields -
View namespace:
filament-invertible-fields:: -
Translations:
resources/lang/en,resources/lang/pt_BR
Installation
composer require araga-dev/filament-invertible-fields
(Laravel will auto-discover the service provider.)
Optional:
php artisan vendor:publish --tag="filament-invertible-fields-views" php artisan vendor:publish --tag="filament-invertible-fields-translations"
Usage
MultiSelect Filter
use Araga\FilamentInvertibleFields\Tables\Filters\InvertibleMultiSelectFilter; InvertibleMultiSelectFilter::make('status') ->label(__('filament-invertible-fields::messages.status')) ->column('status') ->options([ 'draft' => 'Draft', 'published' => 'Published', 'archived' => 'Archived', ]);
MultiSelect Field
use Araga\FilamentInvertibleFields\Forms\Components\InvertibleMultiSelect; InvertibleMultiSelect::make('values') ->options([ '1' => 'One', '2' => 'Two' ]);
Text Filter (comma-separated list by default)
use Araga\FilamentInvertibleFields\Tables\Filters\InvertibleTextInputFilter; InvertibleTextInputFilter::make('sku') ->label(__('filament-invertible-fields::messages.sku')) ->column('sku') ->listSeparator(','); // "123, 456, 789"
Text Field
use Araga\FilamentInvertibleFields\Forms\Components\InvertibleTextInput; InvertibleTextInput::make('values') ->listSeparator(','); // optional
i18n
- English and Brazilian Portuguese included.
- You can publish and edit the translation files with the command above.
License
MIT