From 5af507b54b0b17d113273a3055759ae520efa6ed Mon Sep 17 00:00:00 2001 From: Boy132 Date: Thu, 12 Dec 2024 14:14:52 +0100 Subject: [PATCH] Add own column class for node health (#820) --- .../Resources/NodeResource/Pages/ListNodes.php | 6 ++---- .../Tables/Columns/NodeHealthColumn.php | 17 +++++++++++++++++ .../livewire/columns/version-column.blade.php | 4 ++-- 3 files changed, 21 insertions(+), 6 deletions(-) create mode 100644 app/Filament/Components/Tables/Columns/NodeHealthColumn.php diff --git a/app/Filament/Admin/Resources/NodeResource/Pages/ListNodes.php b/app/Filament/Admin/Resources/NodeResource/Pages/ListNodes.php index 5839980ab..25d5b2d2d 100644 --- a/app/Filament/Admin/Resources/NodeResource/Pages/ListNodes.php +++ b/app/Filament/Admin/Resources/NodeResource/Pages/ListNodes.php @@ -3,6 +3,7 @@ namespace App\Filament\Admin\Resources\NodeResource\Pages; use App\Filament\Admin\Resources\NodeResource; +use App\Filament\Components\Tables\Columns\NodeHealthColumn; use App\Models\Node; use Filament\Actions; use Filament\Resources\Pages\ListRecords; @@ -27,10 +28,7 @@ class ListNodes extends ListRecords ->label('UUID') ->searchable() ->hidden(), - IconColumn::make('health') - ->alignCenter() - ->state(fn (Node $node) => $node) - ->view('livewire.columns.version-column'), + NodeHealthColumn::make('health'), TextColumn::make('name') ->icon('tabler-server-2') ->sortable() diff --git a/app/Filament/Components/Tables/Columns/NodeHealthColumn.php b/app/Filament/Components/Tables/Columns/NodeHealthColumn.php new file mode 100644 index 000000000..ebde23d0a --- /dev/null +++ b/app/Filament/Components/Tables/Columns/NodeHealthColumn.php @@ -0,0 +1,17 @@ +alignCenter(); + } +} diff --git a/resources/views/livewire/columns/version-column.blade.php b/resources/views/livewire/columns/version-column.blade.php index 758cfd7c2..706b1f81e 100644 --- a/resources/views/livewire/columns/version-column.blade.php +++ b/resources/views/livewire/columns/version-column.blade.php @@ -1,8 +1,8 @@ @php use Filament\Tables\Columns\IconColumn\IconColumnSize; - $node = $getState(); - $size = $getSize($state) ?? IconColumnSize::Large; + $node = $getRecord(); + $size = $getSize($node) ?? IconColumnSize::Large; $sizeClasses = match ($size) { IconColumnSize::ExtraSmall, 'xs' => 'fi-ta-icon-item-size-xs h-3 w-3',