Power-Components / livewire-powergrid

⚡ PowerGrid generates modern, powerful and easy-to-customize data tables using Laravel Livewire.
https://livewire-powergrid.com
MIT License
1.48k stars 217 forks source link

[ENHANCEMENT] Query String: Improve Filter Control and add prefix (for usage w/ multiple tables) #1566

Closed dansysanalyst closed 4 months ago

dansysanalyst commented 4 months ago

⚡ PowerGrid - Pull Request

Welcome and thank you for your interest in contributing to our project!. You must use this template to submit a Pull Request or it will not be accepted.


Motivation

Description

This Pull Request aims to improve the filter control while using Query String and adds the possibility to prefix fields, to use query string with more than one component in the same page.

Filter control

BEFORE

CleanShot 2024-05-23 at 13 07 57@2x

🚀 AFTER

CleanShot 2024-05-23 at 14 32 21@2x

Prefix Query String (Multiple Components)

CleanShot 2024-05-24 at 01 57 06@2x

When using multiple components, the user must pass the parameter $prefix to the powerGridQueryString(). As a result, each URL parameter will be prefixed with the provided prefix:

class DemoTable extends PowerGridComponent
{
    protected function queryString()
    {
        return $this->powerGridQueryString('table1');
    }
http://powergrid-demo.test/two-tables-in-the-same-page?table1_name=ark&table2_name=a&table2_calories=true

While we could use the $tableName as a prefix, I think it's best to give the user control so they can decide what is in the URL. Some people my prefer "table_name" instead of "dish_table_name".

I could not find a way to write proper tests for query-string.

Related Issue(s): https://github.com/Power-Components/livewire-powergrid/issues/1563

Documentation

This PR requires Documentation update?

dansysanalyst commented 4 months ago

CleanShot 2024-05-23 at 11 18 24@2x

@luanfreitasdev , what are your thoughts on adding a background color to the "clear all" to differentiate it from the individual filter cleaning buttons?

luanfreitasdev commented 4 months ago

CleanShot 2024-05-23 at 11 18 24@2x

@luanfreitasdev , what are your thoughts on adding a background color to the "clear all" to differentiate it from the individual filter cleaning buttons?

Done. Thank you @dansysanalyst !