Filament Table Select

screenshot of Filament Table Select

Laravel Filament form component for selecting related records with a table.

Overview

The Filament Table Select is an innovative Form component designed to enhance the user experience by replacing the traditional Select field. Unlike conventional selection methods, this package allows users to choose related records from a fully functional Filament table, providing greater context and ease of use. It is particularly useful for applications that require users to have an overview of multiple records, making the selection process more intuitive and straightforward. The component is also highly customizable, giving developers the flexibility to tailor its appearance and behavior to match their application's needs.

This package is essential for those using Filament v3.x, as it offers functionalities that can significantly improve form interactions. With the upcoming Filament v4.x presenting a new built-in component, the Table Select serves as a bridge for users seeking a more dynamic and contextual method for record selection.

Features

  • Enhanced Selection Interface: Users can select related records from a comprehensive Filament table, offering more context compared to standard select fields.

  • Multi Selection Capability: The ability to utilize a belongsToMany() relationship allows users to select multiple records at once, making data handling more efficient.

  • Customized Labels and Badges: Easily customize the color, icon, and size of selected option badges to create a visually appealing user interface.

  • Dynamic Table Configuration: Configure your selection table by adding or removing columns, and modifying the query for personalized data display.

  • Deep Validation Controls: Set minimum and maximum selection limits with minItems() and maxItems(), enabling validation features that ensure data integrity.

  • Performance Optimizations: Selected option customizations can be optimized for performance, ensuring that selected records are not loaded into memory excessively during requests.

  • Closure-Based Customization: Implement complex configurations by passing closures into selection methods, providing flexibility in how the table operates within different contexts.