PHPackages                             adultdate/filament-queueable-bulk-actions - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. adultdate/filament-queueable-bulk-actions

ActiveLibrary[Queues &amp; Workers](/categories/queues)

adultdate/filament-queueable-bulk-actions
=========================================

This Filament plugin simplifies managing bulk operations asynchronously in a queue. It provides tracking and status updates for tasks, while supporting both action calls and job dispatches. Excellent for bulk data updates and tasks with Filament &amp; Livewire support for real-time notifications.

4.0.0(6mo ago)014MITPHPPHP ^8.2

Since Apr 18Pushed 4mo agoCompare

[ Source](https://github.com/adultdate/filament-queueable-bulk-actions)[ Packagist](https://packagist.org/packages/adultdate/filament-queueable-bulk-actions)[ Docs](https://github.com/bytexr/queueable-bulk-actions)[ GitHub Sponsors](https://github.com/bytexr)[ RSS](/packages/adultdate-filament-queueable-bulk-actions/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (14)Versions (21)Used By (0)

This is my package queueable-bulk-actions
=========================================

[](#this-is-my-package-queueable-bulk-actions)

[![Latest Version on Packagist](https://camo.githubusercontent.com/6ab64db8fc6bdc30b8b2b613ba29f1d2274d8d756db7b8c8a0b479a999eb1b58/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6164756c74646174652f66696c616d656e742d717565756561626c652d62756c6b2d616374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/adultdate/filament-queueable-bulk-actions)[![Total Downloads](https://camo.githubusercontent.com/3e49c443dd08ac45f237018e3407d807602100bc2d87fc49efa7ca3c691523e4/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6164756c74646174652f66696c616d656e742d717565756561626c652d62756c6b2d616374696f6e732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/adultdate/filament-queueable-bulk-actions)

This Filament plugin simplifies managing bulk operations asynchronously in a queue. It provides tracking and status updates for tasks, while supporting both action calls and job dispatches. Excellent for bulk data updates and tasks with Filament &amp; Livewire support for real-time notifications.

Installation
------------

[](#installation)

You can install the package via composer:

Filament 4

```
composer require adultdate/filament-queueable-bulk-actions "^4.0"
```

Filament 3

```
composer require adultdate/filament-queueable-bulk-actions "^3.0"
```

You can publish and run the migrations with:

```
php artisan vendor:publish --tag="queueable-bulk-actions-migrations"
php artisan migrate
```

You can publish the config file with:

```
php artisan vendor:publish --tag="queueable-bulk-actions-config"
```

Optionally, you can publish the views using

```
php artisan vendor:publish --tag="queueable-bulk-actions-views"
```

Usage
-----

[](#usage)

First you will need to register this plugin on your Filament panel

```
use \Bytexr\QueueableBulkActions\QueueableBulkActionsPlugin;
use Filament\View\PanelsRenderHook;
\Bytexr\QueueableBulkActions\Enums\StatusEnum;

public function panel(Panel $panel): Panel
{
    return $panel
        ->plugins([
            QueueableBulkActionsPlugin::make()
                ->bulkActionModel(YourBulkActionModel::class) // (optional) - Allows you to register your own model which extends \Bytexr\QueueableBulkActions\Models\BulkAction
                ->bulkActionRecordModel(YourBulkActionRecordModel::class) // (optional) - Allows you to register your own model for records which extends \Bytexr\QueueableBulkActions\Models\BulkActionRecord
                ->renderHook(TablesRenderHook::HEADER_BEFORE) // (optional) - Allows you to change where notification is rendered, multiple render hooks can be passed as array [Default: PanelsRenderHook::RESOURCE_PAGES_LIST_RECORDS_TABLE_BEFORE]
                ->pollingInterval('5s') // (optional) - Allows you to change or disable polling interval, set to null to disable. [Default: 5s]
                ->queue('redis', 'default')  // (optional) - Allows you to change which connection and queue should be used [Default: env('QUEUE_CONNECTION'), default]
                ->resource(YourBulkActionResource::class) // (optional) - Allows you to change which resource should be used to display historical bulk actions
                ->colors([
                    StatusEnum::QUEUED->value => 'slate',
                    StatusEnum::IN_PROGRESS->value => 'info',
                    StatusEnum::FINISHED->value => 'success',
                    StatusEnum::FAILED->value => 'danger',
                ]), // (optional) - Allows you to change notification and badge colors used for statuses. Uses filament colors defined in panel provider. [Default: as show in method]
        ]);
}
```

To start leveraging the benefits of this package, you'll initially create a job tailored to manage your unique bulk action records. This specialized job should inherit from the `Bytexr\QueueableBulkActions\Jobs\BulkActionJob` class, enabling it to seamlessly employ the features of the package.

```
