diff --git a/app/Nova/Filters/LibraryItemWithoutLibrary.php b/app/Nova/Filters/LibraryItemWithoutLibrary.php new file mode 100644 index 00000000..b3881b50 --- /dev/null +++ b/app/Nova/Filters/LibraryItemWithoutLibrary.php @@ -0,0 +1,37 @@ +when($value['without'], fn($query) => $query->whereDoesntHave('libraries')); + } + + /** + * Get the filter's available options. + * + * @param \Laravel\Nova\Http\Requests\NovaRequest $request + * + * @return array + */ + public function options(NovaRequest $request) + { + return [ + 'Library-Item without Library' => 'without', + ]; + } +} diff --git a/app/Nova/LibraryItem.php b/app/Nova/LibraryItem.php index 44e8bac1..e7f4935d 100644 --- a/app/Nova/LibraryItem.php +++ b/app/Nova/LibraryItem.php @@ -5,6 +5,7 @@ namespace App\Nova; use App\Enums\LibraryItemType; use App\Notifications\ModelCreatedNotification; use App\Nova\Actions\SetStatusAction; +use App\Nova\Filters\LibraryItemWithoutLibrary; use Ebess\AdvancedNovaMediaLibrary\Fields\Files; use Ebess\AdvancedNovaMediaLibrary\Fields\Images; use Illuminate\Database\Eloquent\Model; @@ -196,7 +197,9 @@ class LibraryItem extends Resource */ public function filters(Request $request) { - return []; + return [ + new LibraryItemWithoutLibrary() + ]; } /**