Skip to content

Commit

Permalink
feat: advanced filters are now available on organism table
Browse files Browse the repository at this point in the history
  • Loading branch information
sriramkanakam87 committed Aug 13, 2024
1 parent bb52c7b commit 6d69142
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 15 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -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())
Expand Down
28 changes: 15 additions & 13 deletions app/Filament/Dashboard/Resources/OrganismResource.php
Original file line number Diff line number Diff line change
Expand Up @@ -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
{
Expand Down Expand Up @@ -49,25 +50,26 @@ public static function table(Table $table): Table
->formatStateUsing(function (Organism $organism) {
$url = urldecode($organism->iri);

return new HtmlString("<strong>{$organism->rank}</strong> <br> <a href={$url} target='_blank'>{$url}</a>");
return new HtmlString("<div><strong>{$organism->rank}</strong></div> <br/> <div><a href={$url} target='_blank'>{$url}</a></div>");
}),
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([
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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(),
];
}
}

0 comments on commit 6d69142

Please sign in to comment.