jeffersongoncalves/filament-saved-filter
filament-saved-filter by Jefferson Goncalves lets Filament users save and reuse table filter combinations, making admin panels and dashboards faster to navigate. Persist frequently used filters and restore them with a click.
timezone attribute, then the app's), a "My email reports" slide-over that lists the user's reports across every table in the tenant, and a view picker that shows what is currently scheduled for the selected view. That combination turns "email me this view" from a hidden one-off into a manageable subscription — a decision point about whether reporting is a roadmap pillar or just an escape hatch for exports.?view=4 and opens correctly even when the Views UI is in dropdown mode (explicit filters in the same link still win). This is the cheapest possible collaboration primitive: a user can paste a link into a ticket, chat, or runbook and land a colleague on the exact filtered, grouped, paged view — no shared-view ACL, no permission redesign. Decide whether URL-addressable table state is a default expectation across your admin surfaces.ManageRelatedRecords pages (tabs included) and custom pages using InteractsWithTable now get saved views, keyed by page class so they don't collide with the resource list's views; pages without tabs surface them in the Views menu (pages must call configureSavedFilters() in their own table()). This affects backlog sizing: "saved views" is no longer a per-resource feature but a cross-cutting platform capability, and the remaining gaps (e.g. email reports staying list-page-only) should be documented as known limits rather than discovered in QA.Adopt when most of the following hold:
jeffersongoncalves/laravel-saved-filter ^1.10 (timezone column, view and report IDs in the report context so every schedule links to its view), and you must re-publish and re-run migrations (vendor:publish --tag="saved-filter-migrations" then migrate). Per-view page size and grouping from the prior release similarly depend on the newer dependency line. Treat the dependency bump plus migration as one coordinated release step, including read-replica and large-table considerations.laravel-report-url to deliver oversized reports as temporary download links rather than shipping your own storage/signed-URL layer.Look elsewhere or defer when:
->tabShortcuts() and configurable ->keyBindings() mitigate this, so only avoid if you need full key-map ownership.To executives: Saved views now travel — the active view is encoded in the URL, so a user can paste a link and a colleague lands on the same filtered, grouped, paged table. The same views can be scheduled as email reports with a per-recipient timezone, and users get one place to see and manage every report they're subscribed to across the tenant. Saved views also extend past list screens to related-record tabs and custom table pages, closing the "why does it forget my settings?" gap across the admin panel. Scope is additive and the risky surface is small, but the upgrade does require a dependency bump and a database migration, so it needs a coordinated deploy rather than a routine merge.
To engineering: This release adds (1) saved views on ManageRelatedRecords pages and custom InteractsWithTable pages, keyed by page class so they don't collide with resource-list views — such pages must call configureSavedFilters() inside their own table(), and pages without tabs render views in the Views menu; email reports remain list-page-only. (2) Active view in the URL as ?view=4, which takes effect in dropdown mode too, while explicit filters in the same URL win; the report email's "Open the view" button uses it. (3) A tenant-wide "My email reports" slide-over to toggle or delete reports. (4) Per-report timezone — user's timezone attribute, else the app default — and the view picker now shows the current schedule for the selected view. (5) Import conflicts resolve to overwrite, skip, or "Name (2)". Upgrade requires jeffersongoncalves/laravel-saved-filter ^1.10 (timezone column, view and report IDs in the report context), so re-publish migrations with --tag="saved-filter-migrations" and re-run migrate in the same deploy as the dependency bump; audit any existing report rows for the new view/report linkage and backfill timezones where the user attribute is null. laravel-report-url is optional but needed if you want oversized reports delivered as temporary download links instead of attaching them. Prior guidance still holds: default save/manage shortcuts are overridable or disableable via ->keyBindings(), opt-in ->tabShortcuts() (Alt+1…9, Alt+] / Alt+[) is suppressed while typing, and both should be verified against existing global key listeners.
How can I help you explore Laravel packages today?