diff --git a/packages/actions/src/Concerns/CanBeMounted.php b/packages/actions/src/Concerns/CanBeMounted.php index b937bc798e..d6c0ef3af7 100644 --- a/packages/actions/src/Concerns/CanBeMounted.php +++ b/packages/actions/src/Concerns/CanBeMounted.php @@ -26,9 +26,9 @@ trait CanBeMounted } /** - * @param array | Closure $data + * @param array | Closure | null $data */ - public function fillForm(array | Closure $data): static + public function fillForm(array | Closure | null $data): static { $this->mountUsing(function (?Form $form) use ($data) { $form?->fill($this->evaluate($data)); diff --git a/packages/forms/src/Components/Select.php b/packages/forms/src/Components/Select.php index 98f2def572..52692bff81 100644 --- a/packages/forms/src/Components/Select.php +++ b/packages/forms/src/Components/Select.php @@ -422,10 +422,6 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has return null; } - if (blank($this->getState())) { - return null; - } - if (! $this->hasEditOptionActionFormSchema()) { return null; } @@ -454,7 +450,8 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has ->icon(FilamentIcon::resolve('forms::components.select.actions.edit-option') ?? 'heroicon-m-pencil-square') ->iconButton() ->modalHeading($this->getEditOptionModalHeading() ?? __('filament-forms::components.select.actions.edit_option.modal.heading')) - ->modalSubmitActionLabel(__('filament-forms::components.select.actions.edit_option.modal.actions.save.label')); + ->modalSubmitActionLabel(__('filament-forms::components.select.actions.edit_option.modal.actions.save.label')) + ->visible(fn (): bool => filled($this->getState())); if ($this->modifyManageOptionActionsUsing) { $action = $this->evaluate($this->modifyManageOptionActionsUsing, [ @@ -472,9 +469,9 @@ class Select extends Field implements Contracts\CanDisableOptions, Contracts\Has } /** - * @return array + * @return ?array */ - public function getEditOptionActionFormData(): array + public function getEditOptionActionFormData(): ?array { return $this->evaluate($this->fillEditOptionActionFormUsing); }