3 namespace Wallabag\ApiBundle\Form\Type
;
5 use Symfony\Component\Form\AbstractType
;
6 use Symfony\Component\Form\CallbackTransformer
;
7 use Symfony\Component\Form\Extension\Core\Type\SubmitType
;
8 use Symfony\Component\Form\Extension\Core\Type\TextType
;
9 use Symfony\Component\Form\Extension\Core\Type\UrlType
;
10 use Symfony\Component\Form\FormBuilderInterface
;
11 use Symfony\Component\OptionsResolver\OptionsResolver
;
13 class ClientType
extends AbstractType
15 public function buildForm(FormBuilderInterface
$builder, array $options)
18 ->add('name', TextType
::class, ['label' => 'developer.client.form.name_label'])
19 ->add('redirect_uris', UrlType
::class, [
21 'label' => 'developer.client.form.redirect_uris_label',
22 'property_path' => 'redirectUris',
23 'default_protocol' => null,
25 ->add('save', SubmitType
::class, ['label' => 'developer.client.form.save_label'])
28 $builder->get('redirect_uris')
29 ->addModelTransformer(new CallbackTransformer(
30 function ($originalUri) {
33 function ($submittedUri) {
34 return [$submittedUri];
40 public function configureOptions(OptionsResolver
$resolver)
42 $resolver->setDefaults([
43 'data_class' => 'Wallabag\ApiBundle\Entity\Client',
47 public function getBlockPrefix()