lowerrocklabs/laravel-livewire-tables-advanced-filters

Additional/Advanced Filters for Rappasoft's Laravel Livewire Tables

1.0.15 2023-04-10 17:38 UTC

README

PHP Unit PHP Stan L8 Test Coverage

PHP Unit Test Coverage

LaravelLivewireTablesAdvancedFilters

Advanced filters for Rappasoft Laravel Livewire Tables v2.0 and above

  • Numeric Range Filter
  • Date Range Filter
  • Date Picker Filter
  • Smart Select (Select2 Style)
  • Component Filter (Under Development)

Demo Available Here: https://tabledemo.lowerrocklabs.com/

Package is currently under active development & testing, please use caution when using in a production environment.

Configuration

Please see the Wiki for detailed configuration options and examples.

Current Status

Laravel Support

Installation

This package is available to be installed via Composer

composer require lowerrocklabs/laravel-livewire-tables-advanced-filters

The Filters

Filter classes should be in your table's head in the same way as existing filters.

Numeric Range Filter

Filter with a configurable Minimum/Maximum value, provides two values to the filter() function

| Number Range Filter | Number Range Filter |

Date Filters

There are two filters, one is a standard single-date picker (DatePickerFilter), and the other is a range filter (DateRangeFilter)

Date Range Filter

Flatpickr Filter with a configurable Minimum/Maximum value, provides two values to the filter() function () in the form of an array. Date Range Filter Date Range Filter

Date Picker Filter

Flatpickr Filter with a configurable Minimum/Maximum value, provides one values to the filter() function

| Date Picker Filter | Date Picker Filter | Date Picker Filter |

SmartSelect Filter

A Select2 style Filter built in AlpineJS. This takes a list of potential options, and allows the end-user to filter them on-the-fly, and select appropriate values.

Other Notes

This package makes several on-the-fly adjustments to the default toolbar blade, including:

  • Customisable width of the filter menu Set the following value in the configuration file. You may pass any valid width class/selectors to this field. 'customFilterMenuWidth' => 'md:w-80',
  • Filter menu will lock open until you click to close the menu

Publishing Assets

CSS

You may publish these to your public path using:

php artisan vendor:publish livewiretablesadvancedfilters-css

Lang

php artisan vendor:publish livewiretablesadvancedfilters-lang

Views

Please exercise restraint when publishing the views, as this package is in active development!

php artisan vendor:publish livewiretablesadvancedfilters-views