Table with multiple filters on top: comma-separated text input, dropdowns, and their layout.
The whole filter logic is in the ProductResource resource tables filters() method.
The layout option FiltersLayout::AboveContent is added to show filters above the table.
The filtersFormColumns() method is added to show filters in a grid.
For searching code and name, the form is used with a TextInput. The query for this search is custom.
Before making a query, the explode() PHP function is used so that a comma can separate search values, and the array_map() function with trim is used to remove empty values.
Here is the code of how the query looks like for the code search (for name, it's the same, just a different variable):
->query(function ($query, array $data) { return $query->when($data['code'], function (Builder $query, int|string $codeInput) { // ...