dskripchenko / orchid-extra
Extra Classes For Orchid.
v2.2.1
2026-07-21 06:46 UTC
Requires
- php: ^8.2
- ext-json: *
- laravel/framework: ^11.0 || ^12.0 || ^13.0
- orchid/platform: ^14.0
README
Extra building blocks for the Orchid admin platform — an inline filter factory and base Screen / Layout classes that cut boilerplate.
Requirements
PHP 8.2–8.5 · Laravel 11 / 12 / 13 · Orchid Platform 14.
Install
composer require dskripchenko/orchid-extra
Selection — inline filters
Instead of writing a Filter class per column, build filters inline through the
Selection facade:
use Dskripchenko\OrchidExtra\Facades\Selection; public function filters(): iterable { return [ Selection::input('Name', 'name'), Selection::date('Created', 'created_at'), Selection::switcher('Active', 'is_active'), Selection::selectFromModel('Author', 'author_id', new User), Selection::selectFromQuery('Category', 'category_id', Category::query()->where('active', true)), Selection::selectFromOptions('Status', 'status', ['draft' => 'Draft', 'published' => 'Published']), ]; }
| method | purpose |
|---|---|
input($name, $field, $operator = 'like') |
text filter |
date($name, $field, $format = 'Y-m-d', $range = true) |
date / date-range |
switcher($name, $field) |
boolean toggle |
selectFromModel($name, $field, Model $entity, $entityName = 'name', $entityKey = 'id') |
select from a model |
selectFromQuery($name, $field, Builder $query, …) |
select from a query |
selectFromOptions($name, $field, array $options) |
select from a static list |
Each is also available as a Filters\Base*Filter class if you prefer subclassing.
Base classes
Extend these to stand up list / edit screens with less setup:
Screens\BaseListScreen,Screens\BaseEditScreen,Screens\ScreenLayouts\BaseListLayout
License
MIT © Denis Skripchenko