# HG changeset patch # User Luka Sitas # Date 1794536375 18000 # Node ID cde7e0f145fab02508d6c04e56d3e3702b8c7148 # Parent 50ca202284d58d6245f7a62ce4dd671c4fc01dcb# Parent 62953a663acc2f5d8330f15045b6ab343c32c11f merge heads diff -r 50ca202284d5 -r cde7e0f145fa src/Generator/Controller/stubs/controller.stub --- a/src/Generator/Controller/stubs/controller.stub Thu Nov 12 21:19:22 2026 -0500 +++ b/src/Generator/Controller/stubs/controller.stub Thu Nov 12 21:19:35 2026 -0500 @@ -16,20 +16,19 @@ */ public function index({{ filterRequest }} $request) { - $validated = $request->validated(); + $validated = $request->validated(); $data = []; - $data['items'] = {{ model }}::get_data($validated); - $data = array_merge($data, {{ model }}::load_index()); + $data = array_merge($data, {{ model }}::load_index()); return view('{{ tableName }}.index', $data); } - public function get_data() + public function get_data({{ filterRequest }} $request) { + $validated = $request->validated() ?? []; $data = []; - $data['records'] = {{ model }}::get_data([]); - $data['total_records'] = count($data['records']); + $data = array_merge($data, {{ model }}::get_data($validated)); return $data; } diff -r 50ca202284d5 -r cde7e0f145fa src/Generator/Factory/FactoryGenerator.php --- a/src/Generator/Factory/FactoryGenerator.php Thu Nov 12 21:19:22 2026 -0500 +++ b/src/Generator/Factory/FactoryGenerator.php Thu Nov 12 21:19:35 2026 -0500 @@ -119,11 +119,11 @@ switch ($column['type_name']) { case 'date': - return "$value$nullable->date()"; + return "$value${nullable}->date()"; case 'timestamp': - return "$value$nullable->timestamp()"; + return "$value${nullable}->timestamp()"; case 'tinyint': - return "$value$nullable->numberBetween(0,1)"; + return "$value${nullable}->numberBetween(0,1)"; case 'bigint': if (isset($relations['belongsTo'][$column['name']])) { $related = $this->getNamespacedModel($relations['belongsTo'][$column['name']]['table']); @@ -131,11 +131,11 @@ } // fall through to int for lack of better option case 'int': - return "$value$nullable->randomNumber()"; + return "$value${nullable}->randomNumber()"; case 'float': - return "$value$nullable->randomFloat()"; + return "$value${nullable}->randomFloat()"; default: - return "$value$nullable->text()"; + return "$value${nullable}->text()"; } } diff -r 50ca202284d5 -r cde7e0f145fa src/Generator/Requests/FilterRequestGenerator.php --- a/src/Generator/Requests/FilterRequestGenerator.php Thu Nov 12 21:19:22 2026 -0500 +++ b/src/Generator/Requests/FilterRequestGenerator.php Thu Nov 12 21:19:35 2026 -0500 @@ -44,7 +44,7 @@ */ protected function getStub() { - return $this->resolveStubPath('/stubs/request.stub'); + return $this->resolveStubPath('/stubs/filter_request.stub'); } /** diff -r 50ca202284d5 -r cde7e0f145fa 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:19:35 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 50ca202284d5 -r cde7e0f145fa src/Generator/View/stubs/index.stub --- a/src/Generator/View/stubs/index.stub Thu Nov 12 21:19:22 2026 -0500 +++ b/src/Generator/View/stubs/index.stub Thu Nov 12 21:19:35 2026 -0500 @@ -28,6 +28,7 @@ if (el) { new ServerTable(el, { endpoint: '/{{ tableName }}/get_data', + filters: Object.fromEntries(new URLSearchParams(location.search)), columns: [ {{ columnInsertPoint }} {