src/Form/Type/RadioButtonChoiceType.php line 15

Open in your IDE?
  1. <?php
  2. namespace App\Form\Type;
  3. use Symfony\Component\Form\AbstractType;
  4. use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
  5. use Symfony\Component\Form\FormBuilderInterface;
  6. use Symfony\Component\Form\FormInterface;
  7. use Symfony\Component\Form\FormView;
  8. use Symfony\Component\OptionsResolver\Options;
  9. use Symfony\Component\OptionsResolver\OptionsResolver;
  10. class RadioButtonChoiceType extends AbstractType
  11. {
  12.     public function configureOptions(OptionsResolver $resolver)
  13.     {
  14.         $resolver->setDefaults([
  15.             'expanded' => true,
  16.             'multiple' => false,
  17.             'label' => true,
  18.             'attr' => ['class' => 'radio-button'],
  19.             'label_attr' => ['class' => 'radio-custom'],
  20.         ]);
  21.         $resolver->setNormalizer('attr', function (Options $options$value) {
  22.             // Merge the child attr with the these, the parent constraints
  23.             if(!isset($value['class'])){
  24.                 $value['class']=' radio-button';
  25.             }
  26.             $value['class']= $value['class'].' radio-button';
  27.             return $value;
  28.         });
  29.     }
  30.     public function buildView(FormView $viewFormInterface $form, array $options)
  31.     {
  32.         $view->vars['is_buttonChoice'] = true;
  33.     }
  34.     public function getParent()
  35.     {
  36.         return ChoiceType::class;
  37.     }
  38. }