- How do I switch a Filament resource from a table to a grid/card layout?
- Use the `HasGridList` trait in your resource class and define the card layout via `grid()` instead of `table()`. The package automatically preserves all Filament table features like search, filters, and bulk actions. No need to rewrite your resource logic.
- Can I customize individual card designs beyond the default sections?
- Yes. You can use Blade views with `cardView()`, closures for dynamic content (e.g., `describeUsing()`), or structured sections. This flexibility supports everything from simple badges to fully custom card layouts.
- Will this work with my existing Filament filters and search?
- Absolutely. The package reuses Filament’s underlying table infrastructure, so all your existing filters, search, and sorting logic continues to work seamlessly with the grid layout.
- What Laravel and Filament versions does this package support?
- The package requires **Laravel 13+** and **Filament 4+**, which means it’s optimized for PHP 8.4+. If you’re using older versions, you’ll need to upgrade or consider alternatives.
- How do I handle large datasets with grid layouts?
- The package includes pagination, bulk selection, and performance optimizations like `content-visibility: auto` to skip rendering offscreen cards. For datasets over 100 records, ensure proper pagination is configured at the plugin or page level.
- Do I need Tailwind CSS to use this package?
- Yes, the package relies on Tailwind for responsive grid layouts and styling. If you don’t use Tailwind, you’ll need to manually add the package’s CSS classes to your theme or configure Tailwind to include them via `@source` in your theme file.
- Can I set global defaults for grid columns or pagination?
- Yes. Register the `FilamentGridListPlugin` in your panel provider to define defaults like grid columns per breakpoint, gap spacing, and pagination settings. These defaults apply across all grid list pages unless overridden.
- What if I need to migrate back to a table layout later?
- The package is designed for low coupling. You can revert to the default table layout by removing the `HasGridList` trait and using `table()` as usual. All your existing table configurations remain intact.
- Are there any known issues with bulk actions in grid mode?
- Bulk actions work out of the box, but complex workflows (e.g., multi-step processes) may require additional JavaScript or custom Blade logic. Test thoroughly with your specific use case, especially if actions depend on visual feedback.
- Is this package actively maintained? How do I report bugs?
- As of now, the package has low adoption, so stability isn’t guaranteed. Check the [GitHub repository](https://github.com/mustafakhaleddev/filament-grid-list) for updates or open issues. For critical bugs, consider reaching out to the maintainer or exploring alternatives like custom table views.