/** * @param \Symfony\Component\Form\FormBuilderInterface $builder * @param \Leapt\AdminBundle\Datalist\Filter\DatalistFilterInterface $filter * @param array $options */ public function buildForm(FormBuilderInterface $builder, DatalistFilterInterface $filter, array $options) { $formOptions = ['class' => $options['class'], 'label' => $options['label'], 'query_builder' => $options['query_builder'], 'required' => false, 'multiple' => $options['multiple']]; foreach ($this->getDefinedOptions() as $option) { if (isset($options[$option])) { $formOptions[$option] = $options[$option]; } } $builder->add($filter->getName(), EntityType::class, $formOptions); }
/** * @param \Symfony\Component\Form\FormBuilderInterface $builder * @param \Leapt\AdminBundle\Datalist\Filter\DatalistFilterInterface $filter * @param array $options */ public function buildForm(FormBuilderInterface $builder, DatalistFilterInterface $filter, array $options) { $formOptions = ['choices' => $options['choices'], 'label' => $options['label'], 'required' => false, 'choices_as_values' => true]; foreach ($this->getDefinedOptions() as $option) { if (isset($options[$option])) { $formOptions[$option] = $options[$option]; } } $builder->add($filter->getName(), ChoiceType::class, $formOptions); }
/** * @param \Twig_Environment $env * @param \Leapt\AdminBundle\Datalist\Filter\DatalistFilterInterface $filter * @return string * @throws \Exception */ public function renderDatalistFilter(\Twig_Environment $env, DatalistFilterInterface $filter) { $blockNames = [$filter->getType()->getBlockName() . '_filter', '_' . $filter->getDatalist()->getName() . '_' . $filter->getName() . '_filter']; $childForm = $filter->getDatalist()->getFilterForm()->get($filter->getName()); return $this->renderBlock($env, $filter->getDatalist(), $blockNames, ['form' => $childForm->createView(), 'filter' => $filter, 'datalist' => $filter->getDatalist()]); }
/** * @param Filter\DatalistFilterInterface $filter * @return DatalistInterface */ public function addFilter(DatalistFilterInterface $filter) { $this->filters[$filter->getName()] = $filter; return $this; }
/** * @param \Symfony\Component\Form\FormBuilderInterface $builder * @param \Leapt\AdminBundle\Datalist\Filter\DatalistFilterInterface $filter * @param array $options */ public function buildForm(FormBuilderInterface $builder, DatalistFilterInterface $filter, array $options) { $builder->add($filter->getName(), SearchType::class, ['label' => $options['label']]); }