getTabs v3.2.77 error: trim(): Argument #1 ($string) must be of type string, Filament\Support\Enums\
Something has changed between Filament v3.2.76 and v3.2.77 with getTabs. In .76, this code works fine:
That same code results in this error in 3.2.77:
I'm not sure what I'm doing wrong, as that appears to be valid usage according to documentation.
<?php
namespace App\Filament\Resources\EndpointResource\Pages;
use App\Filament\Resources\EndpointResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use Filament\Resources\Components\Tab;
use Filament\Support\Enums\IconPosition;
use Illuminate\Database\Eloquent\Builder;
use Archilex\AdvancedTables\AdvancedTables;
class ListEndpoints extends ListRecords
{
protected static string $resource = EndpointResource::class;
use AdvancedTables;
public function getTabs(): array
{
return [
'all' => Tab::make('All')
->label('All')
->icon('heroicon-m-ellipsis-horizontal-circle')
->iconPosition(IconPosition::After),
'live' => Tab::make('Live')
->label('Live')
->icon('heroicon-o-signal')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Live')),
'pending' => Tab::make('Pending')
->label('Pending')
->icon('heroicon-o-bolt-slash')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Pending')),
'inactive' => Tab::make('Inactive')
->label('Inactive')
->icon('heroicon-m-signal-slash')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Inactive')),
];
}
}<?php
namespace App\Filament\Resources\EndpointResource\Pages;
use App\Filament\Resources\EndpointResource;
use Filament\Actions;
use Filament\Resources\Pages\ListRecords;
use Filament\Resources\Components\Tab;
use Filament\Support\Enums\IconPosition;
use Illuminate\Database\Eloquent\Builder;
use Archilex\AdvancedTables\AdvancedTables;
class ListEndpoints extends ListRecords
{
protected static string $resource = EndpointResource::class;
use AdvancedTables;
public function getTabs(): array
{
return [
'all' => Tab::make('All')
->label('All')
->icon('heroicon-m-ellipsis-horizontal-circle')
->iconPosition(IconPosition::After),
'live' => Tab::make('Live')
->label('Live')
->icon('heroicon-o-signal')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Live')),
'pending' => Tab::make('Pending')
->label('Pending')
->icon('heroicon-o-bolt-slash')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Pending')),
'inactive' => Tab::make('Inactive')
->label('Inactive')
->icon('heroicon-m-signal-slash')
->iconPosition(IconPosition::After)
->modifyQueryUsing(fn (Builder $query) => $query->where('status', 'Inactive')),
];
}
}That same code results in this error in 3.2.77:
TypeError
PHP 8.3.6
10.48.10
trim(): Argument #1 ($string) must be of type string, Filament\Support\Enums\IconPosition givenTypeError
PHP 8.3.6
10.48.10
trim(): Argument #1 ($string) must be of type string, Filament\Support\Enums\IconPosition givenI'm not sure what I'm doing wrong, as that appears to be valid usage according to documentation.
Solution
Issue resolved by removing published filament-views: /resources/views/vendor/filament