diff --git a/app/Filament/Dashboard/Resources/MoleculeResource/Pages/ListMolecules.php b/app/Filament/Dashboard/Resources/MoleculeResource/Pages/ListMolecules.php index 099e742a..eb76282c 100644 --- a/app/Filament/Dashboard/Resources/MoleculeResource/Pages/ListMolecules.php +++ b/app/Filament/Dashboard/Resources/MoleculeResource/Pages/ListMolecules.php @@ -25,13 +25,13 @@ protected function getHeaderActions(): array public function getPresetViews(): array { return [ - 'active mols' => PresetView::make() + 'active' => PresetView::make() ->modifyQueryUsing(fn ($query) => $query->where('active', true)) ->favorite() ->badge(Molecule::query()->where('active', true)->count()) ->preserveAll() ->default(), - 'deactive mols' => PresetView::make() + 'revoked' => PresetView::make() ->modifyQueryUsing(fn ($query) => $query->where('active', false)) ->favorite() ->badge(Molecule::query()->where('active', false)->count()) diff --git a/app/Filament/Dashboard/Resources/OrganismResource.php b/app/Filament/Dashboard/Resources/OrganismResource.php index 5e223fc8..081c047c 100644 --- a/app/Filament/Dashboard/Resources/OrganismResource.php +++ b/app/Filament/Dashboard/Resources/OrganismResource.php @@ -13,6 +13,7 @@ use Filament\Tables\Table; use Illuminate\Support\Facades\Cache; use Illuminate\Support\HtmlString; +use Archilex\AdvancedTables\Filters\AdvancedFilter; class OrganismResource extends Resource { @@ -49,25 +50,26 @@ public static function table(Table $table): Table ->formatStateUsing(function (Organism $organism) { $url = urldecode($organism->iri); - return new HtmlString("{$organism->rank}
{$url}"); + return new HtmlString("
{$organism->rank}

{$url}
"); }), - Tables\Columns\TextColumn::make('iri') - ->toggleable(isToggledHiddenByDefault: true), - Tables\Columns\TextColumn::make('created_at') - ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), - Tables\Columns\TextColumn::make('updated_at') - ->dateTime() - ->sortable() - ->toggleable(isToggledHiddenByDefault: true), + // Tables\Columns\TextColumn::make('iri') + // ->toggleable(isToggledHiddenByDefault: true), + // Tables\Columns\TextColumn::make('created_at') + // ->dateTime() + // ->sortable() + // ->toggleable(isToggledHiddenByDefault: true), + // Tables\Columns\TextColumn::make('updated_at') + // ->dateTime() + // ->sortable() + // ->toggleable(isToggledHiddenByDefault: true), ]) ->filters([ - // + AdvancedFilter::make() + ->includeColumns(), ]) ->actions([ // Tables\Actions\ViewAction::make(), - Tables\Actions\EditAction::make(), + // Tables\Actions\EditAction::make(), ]) ->bulkActions([ Tables\Actions\BulkActionGroup::make([ diff --git a/app/Filament/Dashboard/Resources/OrganismResource/Pages/ListOrganisms.php b/app/Filament/Dashboard/Resources/OrganismResource/Pages/ListOrganisms.php index 873cf541..9c7d2014 100644 --- a/app/Filament/Dashboard/Resources/OrganismResource/Pages/ListOrganisms.php +++ b/app/Filament/Dashboard/Resources/OrganismResource/Pages/ListOrganisms.php @@ -3,11 +3,15 @@ namespace App\Filament\Dashboard\Resources\OrganismResource\Pages; use App\Filament\Dashboard\Resources\OrganismResource; +use App\Models\Organism; use Filament\Actions; use Filament\Resources\Pages\ListRecords; +use Archilex\AdvancedTables\AdvancedTables; +use Archilex\AdvancedTables\Components\PresetView; class ListOrganisms extends ListRecords { + use AdvancedTables; protected static string $resource = OrganismResource::class; protected function getHeaderActions(): array @@ -16,4 +20,21 @@ protected function getHeaderActions(): array Actions\CreateAction::make(), ]; } + + public function getPresetViews(): array + { + return [ + 'organisms' => PresetView::make() + ->modifyQueryUsing(fn ($query) => $query->where('molecule_count', '>', 0)) + ->favorite() + ->badge(Organism::query()->where('molecule_count', '>', 0)->count()) + ->preserveAll() + ->default(), + 'inactive entries' => PresetView::make() + ->modifyQueryUsing(fn ($query) => $query->where('molecule_count', '<=', 0)) + ->favorite() + ->badge(Organism::query()->where('molecule_count', '<=', 0)->count()) + ->preserveAll(), + ]; + } }