From 4605d101a402e715e35a4ea61cf175bba1ba4f6f Mon Sep 17 00:00:00 2001
From: Sam Light <samlight1994@gmail.com>
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')

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