# HG changeset patch # User luka # Date 1794536231 18000 # Node ID 62953a663acc2f5d8330f15045b6ab343c32c11f # Parent 59eb5b4424cab5f613f8e66be79cab659f6cb27b changes for stubs around the base controller and filters, aswell as pagination diff -r 59eb5b4424ca -r 62953a663acc src/Generator/Controller/stubs/controller.stub --- a/src/Generator/Controller/stubs/controller.stub Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/Controller/stubs/controller.stub Thu Nov 12 21:17:11 2026 -0500 @@ -25,11 +25,10 @@ public function get_data({{ filterRequest }} $request) { - $filters = $request->validated()['filters'] ?? []; + $validated = $request->validated() ?? []; $data = []; - $data['records'] = {{ model }}::get_data($filters); - $data['total_records'] = count($data['records']); + $data = array_merge($data, {{ model }}::get_data($validated)); return $data; } diff -r 59eb5b4424ca -r 62953a663acc src/Generator/Requests/FilterRequestGenerator.php --- a/src/Generator/Requests/FilterRequestGenerator.php Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/Requests/FilterRequestGenerator.php Thu Nov 12 21:17:11 2026 -0500 @@ -44,7 +44,7 @@ */ protected function getStub() { - return $this->resolveStubPath('/stubs/request.stub'); + return $this->resolveStubPath('/stubs/filter_request.stub'); } /** diff -r 59eb5b4424ca -r 62953a663acc src/Generator/Requests/stubs/filter_request.stub --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/Generator/Requests/stubs/filter_request.stub Thu Nov 12 21:17:11 2026 -0500 @@ -0,0 +1,33 @@ + + */ + public function rules(): array + { + return [ + 'filters' => [ + // {{ valuesForValidation }} + ], + 'page' => ['nullable', 'int', 'min:0'], + 'page_size' => ['nullable', 'int', 'min:0'], + 'sort' => ['nullable', 'array'], + ]; + } +} diff -r 59eb5b4424ca -r 62953a663acc src/Generator/View/stubs/index.stub --- a/src/Generator/View/stubs/index.stub Wed Nov 11 18:46:46 2026 -0500 +++ b/src/Generator/View/stubs/index.stub Thu Nov 12 21:17:11 2026 -0500 @@ -28,6 +28,7 @@ if (el) { new ServerTable(el, { endpoint: '/{{ tableName }}/get_data', + filters: Object.fromEntries(new URLSearchParams(location.search)), columns: [ {{ columnInsertPoint }} {