Filament Plugins

Purchase

Principles

A few core principles have guided the development of Filament Media Library Pro.

Customisability

All Filament actions used in the Media Library are defined in their own class. This means you can easily configure any specific action using their configureUsing() method:

php
use RalphJSmit\Filament\Explore\Filament\Actions;
use RalphJSmit\Filament\MediaLibrary\Filament\Actions as MediaLibraryActions;

Actions\CreateFolderAction::make();
Actions\CreateFolderBulkAction::make();
Actions\DeleteAction::make();
Actions\DeleteBulkAction::make();
Actions\DownloadAction::make();
Actions\DuplicateAction::make();
Actions\DuplicateBulkAction::make();
Actions\EditImageAction::make();
Actions\MoveAction::make();
Actions\MoveBulkAction::make();
Actions\PreviewAction::make();
Actions\RenameAction::make();
Actions\ReplaceAction::make();
Actions\SelectFileAction::make();
Actions\UploadAction::make();
Actions\ViewAction::make();

MediaLibraryActions\RegenerateAction::make();
MediaLibraryActions\SelectMediaAction::make();

Which can all be easily customised as such:

php
CreateFolderAction::configureUsing(function (CreateFolderAction $action) {
    $action->label('New directory');
});

Furthermore, it is easy to insert custom actions into all places where actions are supported inside the Media Library.

app/Providers/Filament/YourPanelProvider.php
use Filament\Actions\ActionGroup;
use RalphJSmit\Filament\Explore\Filament\Actions\DeleteAction;
use RalphJSmit\Filament\Explore\Filament\Actions\Action;

$plugin
    ->fileActions(fn () => [
        DeleteAction::make(),
        ActionGroup::make([
            Action::make('optimize')
                ->icon(Heroicon::OutlinedSparkles)
                ->action(function (FileData $file) {
                    // ...
                }),
        ]),
    ])

Flexibility (can power every project)

Another core principle that I followed was that the Media Library should be able to power any project. This means projects created from the V1, V2 and V3 of the Media Library with the MediaLibraryItem-structure, projects that already have an existing library of files on a regular Storage-disk, projects that already have an existing library of files on a spatie/media-library-library, or even legacy projects with a wholly different structure.

To learn more about drivers and their details, please read the drivers documentation.

© FilamentPlugins.com ✦ 2022 – 2026
PrivacyTerms & Conditions
All rights reserved.