Plugins
Modal Relation Managers
Allows you to embed relation managers inside filament modals.
Form Builder
Widget
Panel Builder
Dark theme support
Yes
Multi language support
Yes
Compatible with the latest version
Supported versions: 3.x - 4.x
Documentation

filament-modal-relation-managers Banner

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package allows you to embed any of your relation managers inside modals using a provided filament action.

#Showcase

Screenshot 1 Screenshot 2 Screenshot 3

#Support us

Your support is key to the continual advancement of our plugin. We appreciate every user who has contributed to our journey so far.

While our plugin is available for all to use, if you are utilizing it for commercial purposes and believe it adds significant value to your business, we kindly ask you to consider supporting us through GitHub Sponsors. This sponsorship will assist us in continuous development and maintenance to keep our plugin robust and up-to-date. Any amount you contribute will greatly help towards reaching our goals. Join us in making this plugin even better and driving further innovation.

#Installation

You can install the package via composer:

composer require guava/filament-modal-relation-managers

#Assets

Make sure you have a custom filament theme installed (more info in the official documentation here) and add the following to your theme.css file property, so that our CSS overrides are correctly built:

@source '../../../../vendor/guava/filament-modal-relation-managers/resources/**/*';

#Usage

You can use the RelationManagerAction anywhere you like to open the relation manager as a modal:

use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
 
// for example in a filament table
return $table
->actions([
RelationManagerAction::make('lesson-relation-manager')
->label('View lessons')
->relationManager(LessonRelationManager::make()),
])
;
use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
// for example in a filament schema (form / infolist)
 
return $schema
->components([
TextEntry::make('title')
->suffixAction(RelationManagerAction::make()
->label('View lessons')
->relationManager(LessonRelationManager::make()))
])
;
use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
 
// for example in filament page
 
class EditCourse extends EditRecord {
 
// ...
 
protected function getHeaderActions(): array
{
return [
RelationManagerAction::make()
->label('View lessons')
->record($this->getRecord())
->relationManager(LessonRelationManager::make())
];
}
 
// ...
}

#Customization

We have a compact style which has no padding around the table, so it touches the edge of the modal.

To enable it:

use Guava\FilamentModalRelationManagers\Actions\RelationManagerAction;
 
RelationManagerAction::make()
->compact();

#Testing

composer test

#Changelog

Please see CHANGELOG for more information on what has changed recently.

#Contributing

Please see CONTRIBUTING for details.

#Security Vulnerabilities

Please review our security policy on how to report security vulnerabilities.

#Credits

#License

The MIT License (MIT). Please see License File for more information.

Featured Plugins