label(__('filament-actions::edit.single.label')); $this->modalHeading(fn (): string => __('filament-actions::edit.single.modal.heading', ['label' => $this->getRecordTitle()])); $this->modalSubmitActionLabel(__('filament-actions::edit.single.modal.actions.save.label')); $this->successNotificationTitle(__('filament-actions::edit.single.notifications.saved.title')); $this->groupedIcon('heroicon-m-pencil-square'); $this->fillForm(function (HasActions $livewire, Model $record): array { if ($translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver()) { $data = $translatableContentDriver->getRecordAttributesToArray($record); } else { $data = $record->attributesToArray(); } if ($this->mutateRecordDataUsing) { $data = $this->evaluate($this->mutateRecordDataUsing, ['data' => $data]); } return $data; }); $this->action(function (): void { $this->process(function (array $data, HasActions $livewire, Model $record) { if ($translatableContentDriver = $livewire->makeFilamentTranslatableContentDriver()) { $translatableContentDriver->updateRecord($record, $data); } else { $record->update($data); } }); $this->success(); }); } public function mutateRecordDataUsing(?Closure $callback): static { $this->mutateRecordDataUsing = $callback; return $this; } }