- How do I install guava/filament-modal-relation-managers in a Laravel app?
- Install it with composer require guava/filament-modal-relation-managers. You also need a custom Filament theme and an @source directive in your theme CSS pointing to vendor/guava/filament-modal-relation-managers/resources/**/* so the package styles are compiled. After that, import RelationManagerAction and attach it to a table row, schema entry, or page header action.
- Which Filament versions are supported by filament-modal-relation-managers?
- The package explicitly supports Filament 3, 4, and 5, with major-locked plugin versions: Filament 3.x uses plugin 1.x, Filament 4.x uses 2.x, and Filament 5.x uses 3.x. That mapping removes ambiguity during upgrades because each Filament major has a matching plugin major. Check the compatibility table before installing if you are on an older Filament release.
- Why does this package require a custom Filament theme?
- The package ships Tailwind CSS overrides for Filament modal and table markup, and those styles must be included in your compiled theme. Filament's stock theme will not pick up vendor CSS automatically, so you add an @source line to your theme.css and rebuild assets. If you do not already have a custom theme, adopting this package means owning a theme build pipeline.
- How do I open a Filament relation manager in a modal from a table row?
- Use RelationManagerAction in your table's record actions and point it at the relation manager class with relationManager(LessonRelationManager::class). Set a label if needed and optionally use the compact modifier to control modal padding. The action opens the relation manager in a modal on the current page instead of navigating to the record edit page.
- Can I use RelationManagerAction in schema, infolist, and page header actions?
- Yes. The package is designed to work from table row actions, schema or infolist suffix actions, and page header actions using the same RelationManagerAction class. This makes it additive to existing Filament primitives without changing your models, policies, or relation manager classes. The compact modifier is also available across those contexts for tighter modal layout.
- How is authorization handled for relation managers inside modals?
- Authorization still delegates to your Laravel policies and Filament relation manager visibility rules, so users see only what your policies allow. Because the action can expose relations from table rows, schema entries, and page headers where they were not previously reachable, verify that canView and related checks are enforced per action. Do not assume the modal changes authorization behavior; test each surface with a restricted user.
- What are the known limitations of embedding relation managers in Filament modals?
- Relation managers were built for page context, so modal use can expose gaps around nested action modals, file uploads or rich editors, table bulk actions, pagination and query-string state, and pageClass resolution after create or edit redirects. The changelog includes repeated pageClass fixes, which shows this is an area to test in your own relation managers. Keep the specific relation managers you plan to surface simple, or validate the complex behaviors before rollout.
- Is guava/filament-modal-relation-managers production-ready?
- Architecturally it is a low-risk, presentation-layer adapter with no data model, queue, cache, or service-provider bootstrapping, so the code surface is small. The main production concerns are ecosystem maturity and support: the package has modest adoption, no commercial support tier, and GitHub issues only. Treat it as a small dependency in the admin UI critical path and have a reimplementation plan, estimated at one to three days for a mid-level Filament developer.
- How do I upgrade this package when moving to a new Filament major version?
- Upgrade the plugin in lockstep with Filament: Filament 3 uses plugin 1.x, Filament 4 uses 2.x, and Filament 5 uses 3.x, so expect a plugin major bump when you move Filament majors. After upgrading, rebuild your custom theme because the package CSS is compiled through the @source directive. Re-test modal behaviors such as nested actions, uploads, bulk actions, pagination, and redirects because Filament minor releases can affect modal markup.
- What should I check before adding modal relation managers to an existing Laravel app?
- Confirm that you already have a custom Filament theme and that its build runs in CI, because the package requires vendor CSS to be compiled through an @source directive. Check your Filament major against the plugin compatibility table and identify which relation managers you will surface, especially any with uploads, nested actions, or bulk operations. Also decide who owns the dependency and what the fallback is if maintenance stops; the feature is small enough to reimplement if needed.