From 5c24746657ac23c7a65c4e4efc89cf6bfcb5a52c Mon Sep 17 00:00:00 2001 From: Sam Light Date: Sun, 5 Nov 2023 19:38:00 +0000 Subject: Built basic table --- src/TableComponent.php | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 src/TableComponent.php (limited to 'src/TableComponent.php') diff --git a/src/TableComponent.php b/src/TableComponent.php new file mode 100644 index 0000000..e530415 --- /dev/null +++ b/src/TableComponent.php @@ -0,0 +1,55 @@ +model === null) { + throw new Exception('Requires $model to be set or query() method to be overridden'); + } + + return $this->model::query(); + } + + abstract protected function columns() : array; + + protected function search(Builder $builder, string $search) : void {} + + protected function filters() : array + { + return []; + } + + protected buildQuery() : Builder + { + $query = $this->query(); + } + + public function render() + { + $this->buildQuery()->paginate(); + $data = $query->paginate($this->pageSize); + $columns = $this->columns(); + + return view('laralight-tables::table', compact( + 'data', 'columns' + )); + } +} -- cgit v1.2.3