| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | 
							- <?php
 - 
 - namespace App\Filament\Pages\Widgets;
 - 
 - use App\Models\Company;
 - use Closure;
 - use Exception;
 - use Filament\Tables;
 - use Filament\Widgets\TableWidget as PageWidget;
 - use Illuminate\Contracts\Support\Htmlable;
 - use Illuminate\Database\Eloquent\Builder;
 - use Illuminate\Database\Eloquent\Relations\Relation;
 - 
 - class Companies extends PageWidget
 - {
 -     protected int|string|array $columnSpan = [
 -         'md' => 2,
 -         'xl' => 3,
 -     ];
 - 
 -     protected function getTableQuery(): Builder|Relation
 -     {
 -         return Company::query();
 -     }
 - 
 -     protected function getTableHeading(): string|Htmlable|Closure|null
 -     {
 -         return null;
 -     }
 - 
 -     /**
 -      * @throws Exception
 -      */
 -     protected function getTableFilters(): array
 -     {
 -         return [
 -             Tables\Filters\SelectFilter::make('name')
 -                 ->label('Owner')
 -                 ->relationship('owner', 'name'),
 -             Tables\Filters\TernaryFilter::make('personal_company')
 -                 ->label('Personal Company')
 -         ];
 -     }
 - 
 -     protected function getTableColumns(): array
 -     {
 -         return [
 -             Tables\Columns\ViewColumn::make('owner.name')
 -                 ->view('filament.components.companies.avatar-column')
 -                 ->label('Owner')
 -                 ->sortable()
 -                 ->searchable()
 -                 ->grow(false),
 -             Tables\Columns\TextColumn::make('name')
 -                 ->weight('semibold')
 -                 ->label('Company')
 -                 ->sortable()
 -                 ->searchable(),
 -             Tables\Columns\TextColumn::make('users_count')
 -                 ->label('Employees')
 -                 ->weight('semibold')
 -                 ->counts('users')
 -                 ->sortable(),
 -             Tables\Columns\IconColumn::make('personal_company')
 -                 ->label('Personal Company')
 -                 ->boolean()
 -                 ->sortable()
 -                 ->trueIcon('heroicon-o-badge-check')
 -                 ->falseIcon('heroicon-o-x-circle')
 -                 ->trueColor('primary')
 -                 ->falseColor('secondary')
 -         ];
 -     }
 - }
 
 
  |