Exemple #1
0
 /**
  * {@inheritdoc}
  */
 public function filter(DataSourceBuilderInterface $builder, GridInterface $grid, array $filters = [])
 {
     foreach ($filters as $name => $filter) {
         if (!$grid->hasFilter($name)) {
             continue;
         }
         $gridFilter = $grid->getFilter($name);
         $types = $this->resolveTypes($gridFilter->getType());
         $resolver = new OptionsResolver();
         foreach ($types as $type) {
             $type->configureOptions($resolver);
         }
         reset($types)->filter($filter, $resolver->resolve(array_merge(['filter' => $gridFilter, 'grid' => $grid, 'builder' => $builder], $gridFilter->getOptions())));
     }
 }