anish / clearfield-action
A Filament action that allows users to quickly reset all form fields with customizable confirmation dialogs and notifications.
Installs: 1
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 0
Open Issues: 0
pkg:composer/anish/clearfield-action
Requires
- php: ^8.1
- filament/filament: ^4.0
- spatie/laravel-package-tools: ^1.15.0
README
A Filament action that allows users to quickly reset all form fields with customizable confirmation dialogs and notifications.
Features
- One-click form field clearing
- Customizable icons and colors
- Optional confirmation dialog
- Success notifications
- Works with Create and Edit pages
- Customizable callbacks (before/after reset)
- Compatible with Filament v4
Requirements
- PHP 8.1+
- Filament 4.0+
- Laravel 10+
Installation
You can install the package via Composer:
composer require anish/clearfield-action
Usage
Basic Usage
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(), ]; } }
With Confirmation
ClearFieldAction::make() ->requiresConfirmation() ->confirmationTitle('Clear Form Fields?') ->confirmationDescription('Are you sure you want to clear all form fields?')
Custom Notification
ClearFieldAction::make() ->notificationTitle('Fields Cleared') ->notificationBody('All form fields have been reset successfully.')
With Callbacks
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'); })
Hide Notification
ClearFieldAction::make() ->showNotification(false)
Custom Icon and Color
ClearFieldAction::make() ->icon('heroicon-o-x-mark') ->color('danger') ->label('Clear All')
Configuration
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 body
Available Methods
requiresConfirmation(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 tooltip
Compatibility
This package supports:
- Filament v4.0+
License
MIT
Author
anishregmi17