A Filament action that allows users to quickly reset all form fields with customizable confirmation dialogs and notifications.
You can install the package via Composer:
composer require anish/clearfield-action
Add ClearFieldAction to your resource page's create record or edit record header actions:
<?php
namespace App\Filament\Resources\Users\Pages;
use Filament\Resources\Pages\CreateRecord;
use App\Filament\Resources\Users\UserResource;
use Anish\ClearFieldAction\Actions\ClearFieldAction;
class CreateUser extends CreateRecord
{
protected static string $resource = UserResource::class;
protected function getHeaderActions(): array
{
return [
ClearFieldAction::make(),
];
}
}
ClearFieldAction::make()
->requiresConfirmation()
->confirmationTitle('Clear Form Fields?')
->confirmationDescription('Are you sure you want to clear all form fields?')
ClearFieldAction::make()
->notificationTitle('Fields Cleared')
->notificationBody('All form fields have been reset successfully.')
ClearFieldAction::make()
->beforeReset(function ($livewire) {
// Execute before clearing fields
Log::info('Clearing form fields');
})
->afterReset(function ($livewire) {
// Execute after clearing fields
Log::info('Form fields cleared');
})
ClearFieldAction::make()
->showNotification(false)
ClearFieldAction::make()
->icon('heroicon-o-x-mark')
->color('danger')
->label('Clear All')
Publish the config file to customize default settings:
php artisan vendor:publish --tag=clearfield-action-config
Available configuration options:
icon - Default icon for the actioncolor - Default color schemelabel - Default label texttooltip - Default tooltip textrequires_confirmation - Whether to show confirmation by defaultconfirmation_title - Default confirmation dialog titleconfirmation_description - Default confirmation dialog descriptionshow_notification - Whether to show notification by defaultnotification_title - Default notification titlenotification_body - Default notification bodyrequiresConfirmation(bool|Closure $condition) - Enable/disable confirmation dialogconfirmationTitle(string|Closure|null $title) - Set confirmation dialog titleconfirmationDescription(string|Closure|null $description) - Set confirmation dialog descriptionbeforeReset(Closure $callback) - Callback executed before clearing fieldsafterReset(Closure $callback) - Callback executed after clearing fieldsshowNotification(bool|Closure $show) - Show/hide success notificationnotificationTitle(string|Closure|null $title) - Set notification titlenotificationBody(string|Closure|null $body) - Set notification bodyicon(string $icon) - Set action iconcolor(string $color) - Set action colorlabel(string|null $label) - Set action labeltooltip(string $tooltip) - Set action tooltipThis package supports:
MIT
anishregmi17
How can I help you explore Laravel packages today?