orchidsoftware / platform

Orchid is a @laravel package that allows for rapid application development of back-office applications, admin/user panels, and dashboards.
https://orchid.software
MIT License
4.26k stars 631 forks source link

Improving Filter Experience #2684

Closed tabuna closed 11 months ago

tabuna commented 11 months ago

This PR aims to enhance the functionality and usability of filters in the project. The changes made in this PR address multiple areas simultaneously, resulting in an improved experience for users.

Pattern String Support in Parameter Instructions

One of the primary enhancements included in this PR is the introduction of pattern string support in parameter instructions. With this update, developers can now define parameter patterns using a convenient syntax. The following code snippet demonstrates its usage:

/**
 * The array of matched parameters.
 *
 * @var null|array
 */
public $parameters = [
    'pattern.*',
];

This change simplifies parameter declaration and improves clarity when working with filters.

Elimination of $display Attribute Requirement

Additionally, this PR eliminates the need to explicitly set the $display attribute for filters. Previously, developers had to manually specify whether the attribute should be displayed based on the presence or absence of certain fields.

With this update, the system intelligently determines the necessity of the $display attribute, removing the burden of manual configuration. This enhancement allows for a more streamlined and user-friendly filter experience.

codecov[bot] commented 11 months ago

Codecov Report

Merging #2684 (cf74de3) into master (6ae01d1) will increase coverage by 0.02%. The diff coverage is 100.00%.

:exclamation: Current head cf74de3 differs from pull request most recent head d8c0f20. Consider uploading reports for the commit d8c0f20 to get more accurate results

@@             Coverage Diff              @@
##             master    #2684      +/-   ##
============================================
+ Coverage     88.84%   88.86%   +0.02%     
- Complexity      932      934       +2     
============================================
  Files           155      155              
  Lines          3173     3179       +6     
============================================
+ Hits           2819     2825       +6     
  Misses          354      354              
Files Changed Coverage Δ
src/Filters/Filter.php 75.86% <100.00%> (+5.02%) :arrow_up:
src/Screen/Layouts/Selection.php 92.30% <100.00%> (+0.64%) :arrow_up: