fixed filament resource forms
This commit is contained in:
@@ -4,12 +4,21 @@ namespace App\Filament\Resources;
|
||||
|
||||
use App\Filament\Resources\PhotoResource\Pages;
|
||||
use App\Models\Photo;
|
||||
use App\Models\Event;
|
||||
use Filament\Resources\Resource;
|
||||
use Filament\Tables;
|
||||
use Filament\Tables\Table;
|
||||
use Filament\Actions;
|
||||
use Filament\Forms;
|
||||
use Filament\Forms\Form;
|
||||
use Filament\Schemas\Schema;
|
||||
use Filament\Forms\Components\TextInput;
|
||||
use Filament\Forms\Components\Select;
|
||||
use Filament\Forms\Components\Toggle;
|
||||
use Filament\Forms\Components\FileUpload;
|
||||
use Filament\Forms\Components\KeyValue;
|
||||
use UnitEnum;
|
||||
use BackedEnum;
|
||||
use Filament\Actions;
|
||||
|
||||
class PhotoResource extends Resource
|
||||
{
|
||||
@@ -18,11 +27,35 @@ class PhotoResource extends Resource
|
||||
protected static UnitEnum|string|null $navigationGroup = 'Content';
|
||||
protected static ?int $navigationSort = 30;
|
||||
|
||||
public static function form(Schema $form): Schema
|
||||
{
|
||||
return $form->schema([
|
||||
Select::make('event_id')
|
||||
->label('Event')
|
||||
->options(Event::all()->pluck('name', 'id'))
|
||||
->searchable()
|
||||
->required(),
|
||||
FileUpload::make('image_path')
|
||||
->label('Photo')
|
||||
->image()
|
||||
->directory('photos')
|
||||
->required()
|
||||
->visibility('public'),
|
||||
Toggle::make('is_featured')
|
||||
->label('Is Featured')
|
||||
->default(false),
|
||||
KeyValue::make('metadata')
|
||||
->label('Metadata')
|
||||
->keyLabel('Key')
|
||||
->valueLabel('Value'),
|
||||
])->columns(2);
|
||||
}
|
||||
|
||||
public static function table(Table $table): Table
|
||||
{
|
||||
return $table
|
||||
->columns([
|
||||
Tables\Columns\ImageColumn::make('thumbnail_path')->label('Thumb')->circular(),
|
||||
Tables\Columns\ImageColumn::make('image_path')->label('Photo')->disk('public')->visibility('public'),
|
||||
Tables\Columns\TextColumn::make('id')->sortable(),
|
||||
Tables\Columns\TextColumn::make('event_id')->label('Event'),
|
||||
Tables\Columns\TextColumn::make('likes_count')->label('Likes'),
|
||||
|
||||
Reference in New Issue
Block a user