From 4605d101a402e715e35a4ea61cf175bba1ba4f6f Mon Sep 17 00:00:00 2001 From: Sam Light Date: Fri, 28 Mar 2025 01:09:18 +0000 Subject: Setup some common filter features --- src/Toolbar/Filter.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'src/Toolbar/Filter.php') diff --git a/src/Toolbar/Filter.php b/src/Toolbar/Filter.php index ebda2c6..19f29cc 100644 --- a/src/Toolbar/Filter.php +++ b/src/Toolbar/Filter.php @@ -2,7 +2,21 @@ namespace Lightscale\LaralightTables\Toolbar; +use Closure; + abstract class Filter extends Item { + protected ?Closure $filterCallback = null; + + public function filter(callable $filterCB): static + { + $this->filterCallback = $filterCB; + return $this; + } + + public function applyFilter(Builder $query): void + { + ($this->filterCallback)($query, $value); + } } -- cgit v1.2.3