|
4 | 4 |
|
5 | 5 | namespace Guiziweb\SyliusGridAssistantPlugin\Schema; |
6 | 6 |
|
7 | | -use Guiziweb\SyliusGridAssistantPlugin\Schema\Builder\FilterSchemaBuilderRegistry; |
| 7 | +use Guiziweb\SyliusGridAssistantPlugin\Schema\Builder\FilterSchemaBuilderRegistryInterface; |
8 | 8 | use Guiziweb\SyliusGridAssistantPlugin\Schema\Builder\TranslateLabelTrait; |
9 | | -use Sylius\Component\Grid\Definition\Filter; |
10 | 9 | use Sylius\Component\Grid\Definition\Grid; |
11 | 10 | use Sylius\Component\Grid\Provider\GridProviderInterface; |
12 | 11 | use Symfony\Component\DependencyInjection\Attribute\Autowire; |
|
23 | 22 | public function __construct( |
24 | 23 | #[Autowire(service: 'sylius.grid.chain_provider')] |
25 | 24 | private GridProviderInterface $gridProvider, |
26 | | - private FilterSchemaBuilderRegistry $filterSchemaBuilderRegistry, |
| 25 | + private FilterSchemaBuilderRegistryInterface $filterSchemaBuilderRegistry, |
27 | 26 | private TranslatorInterface $translator, |
28 | 27 | ) { |
29 | 28 | } |
@@ -64,24 +63,15 @@ private function buildFiltersSchema(Grid $grid): array |
64 | 63 | continue; |
65 | 64 | } |
66 | 65 |
|
67 | | - $filters[$name] = $this->buildFilterSchema($filter); |
68 | | - } |
69 | | - |
70 | | - return $filters; |
71 | | - } |
72 | | - |
73 | | - /** |
74 | | - * @return array<string, mixed> |
75 | | - */ |
76 | | - private function buildFilterSchema(Filter $filter): array |
77 | | - { |
78 | | - $type = $filter->getType(); |
| 66 | + $type = $filter->getType(); |
| 67 | + if (!$this->filterSchemaBuilderRegistry->has($type)) { |
| 68 | + continue; |
| 69 | + } |
79 | 70 |
|
80 | | - if (!$this->filterSchemaBuilderRegistry->has($type)) { |
81 | | - return []; |
| 71 | + $filters[$name] = $this->filterSchemaBuilderRegistry->get($type)->build($filter); |
82 | 72 | } |
83 | 73 |
|
84 | | - return $this->filterSchemaBuilderRegistry->get($type)->build($filter); |
| 74 | + return $filters; |
85 | 75 | } |
86 | 76 |
|
87 | 77 | /** |
|
0 commit comments