[2.x] [Filament] Update deprecated getFormSchema method to use form() override (#354)

This commit is contained in:
Rasel Islam Rafi
2024-11-29 02:13:10 +06:00
committed by GitHub
parent acdbfa70f5
commit d4ec4c66ed
30 changed files with 327 additions and 284 deletions

View File

@ -9,6 +9,7 @@
use Filament\Forms\Components\TextInput;
use Filament\Forms\Concerns\InteractsWithForms;
use Filament\Forms\Contracts\HasForms;
use Filament\Forms\Form;
use Filament\Notifications\Notification;
use Filament\Widgets\Widget;
@ -33,36 +34,37 @@ public function mount(): void
$this->timezone = auth()->user()->timezone;
}
public function getFormSchema(): array
public function form(Form $form): Form
{
$rules = UpdateUserProfileInformation::rules(auth()->user());
return [
Section::make()
->heading('Profile Information')
->description('Update your account\'s profile information and email address.')
->schema([
TextInput::make('name')
->label('Name')
->rules($rules['name']),
TextInput::make('email')
->label('Email')
->rules($rules['email']),
Select::make('timezone')
->label('Timezone')
->searchable()
->options(
collect(timezone_identifiers_list())
->mapWithKeys(fn ($timezone) => [$timezone => $timezone])
)
->rules($rules['timezone']),
])
->footerActions([
Action::make('save')
->label('Save')
->action(fn () => $this->submit()),
]),
];
return $form
->schema([
Section::make()
->heading('Profile Information')
->description('Update your account\'s profile information and email address.')
->schema([
TextInput::make('name')
->label('Name')
->rules($rules['name']),
TextInput::make('email')
->label('Email')
->rules($rules['email']),
Select::make('timezone')
->label('Timezone')
->searchable()
->options(
collect(timezone_identifiers_list())
->mapWithKeys(fn ($timezone) => [$timezone => $timezone])
)
->rules($rules['timezone']),
])
->footerActions([
Action::make('save')
->label('Save')
->action(fn () => $this->submit()),
]),
]);
}
public function submit(): void