summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/Toolbar/Filter.php14
1 files changed, 14 insertions, 0 deletions
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);
+ }
}