service = $service; } /** @return array */ protected function getDefaultHeaderActions(): array { return [ DeleteAction::make() ->tooltip(fn (User $user) => user()?->id === $user->id ? trans('admin/user.self_delete') : ($user->servers()->count() > 0 ? trans('admin/user.has_servers') : trans('filament-actions::delete.single.modal.actions.delete.label'))) ->disabled(fn (User $user) => user()?->id === $user->id || $user->servers()->count() > 0), Action::make('save') ->hiddenLabel() ->action('save') ->keyBindings(['mod+s']) ->tooltip(trans('filament-panels::resources/pages/edit-record.form.actions.save.label')) ->icon(TablerIcon::DeviceFloppy), ]; } protected function getFormActions(): array { return []; } protected function handleRecordUpdate(Model $record, array $data): Model { if (!$record instanceof User) { return $record; } unset($data['roles'], $data['avatar']); return $this->service->handle($record, $data); } }