<?php
namespace App\Filament\Widgets;
use Filament\Forms\Form;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Actions\ViewAction;
use Filament\Tables\Table;
use Filament\Widgets\TableWidget as BaseWidget;
class GenericTableWidget extends BaseWidget
{
public array $state;
protected static string $resourceClass;
public function table(Table $table): Table
{
$class = static::$resourceClass;
$form = fn(Form $form) => $class::form($form);
return $table
->heading($class::getNavigationLabel())
->query($class::getModel()::query())
->columns($class::getTableColumns())
->actions([
ViewAction::make()->form($form),
EditAction::make()->form($form),
DeleteAction::make(),
]);
}
}
<?php
namespace App\Filament\Widgets;
use Filament\Forms\Form;
use Filament\Tables\Actions\DeleteAction;
use Filament\Tables\Actions\EditAction;
use Filament\Tables\Actions\ViewAction;
use Filament\Tables\Table;
use Filament\Widgets\TableWidget as BaseWidget;
class GenericTableWidget extends BaseWidget
{
public array $state;
protected static string $resourceClass;
public function table(Table $table): Table
{
$class = static::$resourceClass;
$form = fn(Form $form) => $class::form($form);
return $table
->heading($class::getNavigationLabel())
->query($class::getModel()::query())
->columns($class::getTableColumns())
->actions([
ViewAction::make()->form($form),
EditAction::make()->form($form),
DeleteAction::make(),
]);
}
}