leek/filament-right-click
Adds static right-click context menus to Filament table rows and Flowforge Kanban cards. Menu items trigger native Filament actions, so modals, confirmation, authorization, validation, and notifications stay handled by Filament.
Architecture fit
Table macro (contextMenuActions(), contextMenuBulkActions()) plus an optional Board macro for Flowforge. No schema changes, no migrations, no data model coupling, no service-provider-heavy wiring beyond FilamentRightClickPlugin::make().Action/BulkAction, so modals, confirmation, authorization, validation, notifications, and redirects remain owned by Filament. This is the right architectural bet — the package adds an input surface, not a second action system.Integration feasibility
composer require, php artisan filament:assets, one plugin registration per panel). Menu definitions live beside existing table() config, so discovery cost for a Filament-fluent developer is near zero.Technical risk
^1.5. That is a hard fork in the support matrix and must be reconciled with our own Filament upgrade calendar before adoption.mountTableAction(actionName, recordKey), the newer unified mountAction(actionName, [], { recordKey }), and synchronizes Filament's selected-record properties before mounting bulk actions. These are not contractual APIs. A Filament minor release can break action firing without a PHP error — the menu renders, the click does nothing.ContextMenu key, Shift+F10, arrows, Enter/Space, Escape), but touch/long-press is explicitly out of scope for v1. A right-click-only affordance is undiscoverable for mouse-less users and invisible on tablets.php artisan filament:assets becomes part of the release runbook; the assets are loadedOnRequest(), so a missed step yields silently dead menus.ContextMenuItem::mirrors('rowAction') (per-row hiding, dangling separators/sections pruned) is the mitigation — and a reason to prefer v2 where possible.Key questions
data-filament-right-click-record-config, row wire:key, data-card-id) and its drift risk.Stack fit
Migration path
Compatibility
Relaticle\Flowforge\Board exists — zero cost if we don't use it, no conditional code from us.Sequencing
hidden()/disabled() actions.Maintenance
Support
ContextMenuItem DSL needs a short internal reference so developers extend existing menus rather than hand-rolling parallel implementations.Scaling
Failure modes
filament:assets skipped in a deploy) — menus never open, again with no error signal.mirrors(); otherwise it reads as a defect.Shift+F10, which most won't discover without a hint.Ramp-up
Action::make() usage and the README covers single, bulk, submenu, and Flowforge cases with working examples.How can I help you explore Laravel packages today?