Action button not updating with `isProcessing`
I have a panel where I am displaying a custom Livewire component that has a table and action. But the action doesn't react to the
isProcessing
alpine prop that is toggled on when a file is uploading.
public function form(Form $form): Form
{
return $form
->schema([
Section::make()
->maxWidth('lg')
->schema([
Placeholder::make('')
->content('You must register a business to you the website.'),
TextInput::make('name')
->label('Business name')
->autofocus()
->unique(Company::class, 'name')
->required()
->minLength(3),
FileUpload::make('logo')
->label('Business logo')
->extraAttributes(['class' => 'max-w-[18rem]'])
->image(),
])
])
->statePath('data');
}
public function getFormActions(): array
{
return [
Action::make('submit')
->action(function () {
Company::create($this->form->getState());
redirect(Dashboard::getUrl());
})
->label('Register business')
];
}
public function form(Form $form): Form
{
return $form
->schema([
Section::make()
->maxWidth('lg')
->schema([
Placeholder::make('')
->content('You must register a business to you the website.'),
TextInput::make('name')
->label('Business name')
->autofocus()
->unique(Company::class, 'name')
->required()
->minLength(3),
FileUpload::make('logo')
->label('Business logo')
->extraAttributes(['class' => 'max-w-[18rem]'])
->image(),
])
])
->statePath('data');
}
public function getFormActions(): array
{
return [
Action::make('submit')
->action(function () {
Company::create($this->form->getState());
redirect(Dashboard::getUrl());
})
->label('Register business')
];
}
<x-filament-panels::page>
<x-filament-panels::form
:wire:key="$this->getId() . '.forms.' . $this->getFormStatePath()"
wire:submit="create">
{{ $this->form }}
<x-filament-panels::form.actions
:actions="$this->getCachedFormActions()"
:full-width="$this->hasFullWidthFormActions()" />
</x-filament-panels::form>
</x-filament-panels::page>
<x-filament-panels::page>
<x-filament-panels::form
:wire:key="$this->getId() . '.forms.' . $this->getFormStatePath()"
wire:submit="create">
{{ $this->form }}
<x-filament-panels::form.actions
:actions="$this->getCachedFormActions()"
:full-width="$this->hasFullWidthFormActions()" />
</x-filament-panels::form>
</x-filament-panels::page>
1 Reply
I have source dived but all I can find is:
https://github.com/filamentphp/filament/blob/7f5a7a821f680bd17917181cc185fc1091a2cf1a/packages/support/resources/views/components/button/index.blade.php#L132-L133