Modal Relation Managers plugin screenshot
Dark mode ready
Multilingual support
Supports v5.x

Modal Relation Managers

Community

Allows you to embed relation managers inside filament modals.

Tags: Panels Forms Widget
Supported versions:
5.x 4.x 3.x
Guava avatar Author: Guava

Package health

Beta

Automated checks of this plugin's Composer package

73 / 100
Security 50
Maintenance 100
Ecosystem 100
13 checks
  • Passed: Current Laravel version supported — Package dependencies resolve together with current Laravel 13.0.
  • Passed: Current PHP version supported — Constraint ^8.1 supports current PHP 8.5.
  • Skipped: Current Symfony version supported
  • Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
  • Passed: Commit and release recency — Active: last commit 120 days ago; last release 120 days ago.
  • Passed: composer.lock not committed by library composer.lock is absent from the released dist archive.
  • Passed: Dist archive is lean
  • Failed: GitHub Actions pinned to SHA View details on Plumb
  • Passed: Open security advisories
  • Warning: Dependabot PR responsiveness — Stale Dependabot PRs: oldest general PR is 124 days old.
  • Warning: Dependabot or Renovate configured — Updater does not cover the JavaScript ecosystem, which has a committed lockfile.
  • Failed: Dependency update cooldown configured No cooldown configured in .github/dependabot.yml. View details on Plumb
  • Passed: Provides a security policy
Third-party plugin. This is built by the community, not the Filament team. Filament does not review, endorse, or vet the security of plugins outside the filament/ namespace. Review the source and install at your own risk. Found malware or an unresolved security issue the author won't address? Report it .
Powered by Plumb Last scanned 1 day ago

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.

#Version compatibility

Filament version Plugin version
3.x 1.x
4.x 2.x
5.x 3.x

#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.