add('submit', SubmitType::class, [ 'label' => 'Valider', 'attr' => ['class' => 'btn btn-success'], ] ); $builder->add('id', TextType::class, ['label' => 'Clé', 'disabled' => true, ]); switch ($options['type']) { case 'string': $builder->add('value', TextType::class, ['label' => 'Valeur', 'required' => (0 == $options['required'] ? false : true), ]); break; case 'boolean': $choices = ['oui' => '1', 'non' => '0']; $builder->add('value', ChoiceType::class, ['label' => 'Valeur', 'required' => (0 == $options['required'] ? false : true), 'choices' => $choices, ]); break; case 'integer': $builder->add('value', IntegerType::class, [ 'label' => 'Valeur', 'attr' => ['min' => '0'], 'required' => (0 == $options['required'] ? false : true), ] ); break; case 'pourcentage': $builder->add('value', IntegerType::class, [ 'label' => 'Valeur', 'attr' => ['min' => '0', 'max' => '100'], 'required' => (0 == $options['required'] ? false : true), ] ); break; case 'font': $choices = [ 'ABeeZee-Regular' => 'ABeeZee-Regular', 'Acme-Regular' => 'Acme-Regular', 'AlfaSlabOne-Regular' => 'AlfaSlabOne-Regular', 'Anton-Regular' => 'Anton-Regular', 'Baloo-Regular' => 'Baloo-Regular', 'CarterOne-Regular' => 'CarterOne-Regular', 'Chewy-Regular' => 'Chewy-Regular', 'Courgette-Regular' => 'Courgette-Regular', 'FredokaOne-Regular' => 'FredokaOne-Regular', 'Futura-Condensed-Extra-Bold' => 'Futura-Condensed-Extra-Bold', 'Grandstander' => 'Grandstander', 'Helvetica' => 'Helvetica', 'Justanotherhand-Regular' => 'Justanotherhand-Regular', 'Lato-Regular' => 'Lato-Regular', 'LexendDeca-Regular' => 'LexendDeca-Regular', 'LuckiestGuy-Regular' => 'LuckiestGuy-Regular', 'Overpass-Black' => 'Overpass-Black', 'PassionOne' => 'PassionOne', 'Peacesans' => 'Peacesans', 'Redressed' => 'Redressed', 'Righteous-Regular' => 'Righteous-Regular', 'Roboto-Regular' => 'Roboto-Regular', 'RubikMonoOne-Regular' => 'RubikMonoOne-Regular', 'SigmarOne-Regular' => 'SigmarOne-Regular', 'Signika-Regular' => 'Signika-Regular', 'Teko-Bold' => 'Teko-Bold', 'Theboldfont' => 'Theboldfont', 'Viga-Regular' => 'Viga-Regular', ]; $builder->add('value', ChoiceType::class, ['label' => 'Valeur', 'required' => (0 == $options['required'] ? false : true), 'choices' => $choices, ]); break; case 'editor': $builder->add('value', CKEditorType::class, [ 'required' => (0 == $options['required'] ? false : true), 'config_name' => 'full_config', 'config' => [ 'height' => 600, 'filebrowserUploadRoute' => 'app_ckeditor_upload', ], ] ); break; case 'role': $choices = [ 'NO_BODY' => 'NO_BODY', 'ROLE_USER' => 'ROLE_USER', 'ROLE_MASTER' => 'ROLE_MASTER', 'ROLE_MANAGER' => 'ROLE_MANAGER', 'ROLE_MODO' => 'ROLE_MODO', ]; $builder->add('value', ChoiceType::class, ['label' => 'Valeur', 'label_attr' => ['style' => 'margin-top:15px;'], 'attr' => ['class' => 'form-control'], 'required' => (0 == $options['required'] ? false : true), 'choices' => $choices, ]); break; case 'logo': $builder->add('value', HiddenType::class); break; case 'header': $builder->add('value', HiddenType::class); break; case 'image': $builder->add('value', HiddenType::class); break; case 'color': $builder->add('value', TextType::class, ['label' => 'Valeur', 'attr' => ['class' => 'pick-a-color'], 'required' => (0 == $options['required'] ? false : true), ]); break; } $builder->add('help', TextareaType::class, ['label' => 'Aide', 'attr' => ['style' => 'height: 200px;'], 'required' => false, 'disabled' => true, ]); } public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults([ 'data_class' => 'App\Entity\Config', 'mode' => 'string', 'id' => 'string', 'type' => 'string', 'required' => 'string', ]); } }