BooleanType::getBlockPrefix()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php declare(strict_types = 1);
2
3
namespace Bukashk0zzz\BooleanTypeBundle\Form\Type;
4
5
use Bukashk0zzz\BooleanTypeBundle\Form\DataTransformer\BooleanTransformer;
6
use Symfony\Component\Form\AbstractType;
7
use Symfony\Component\Form\Extension\Core\Type\TextType;
8
use Symfony\Component\Form\FormBuilderInterface;
9
use Symfony\Component\OptionsResolver\OptionsResolver;
10
11
class BooleanType extends AbstractType
12
{
13
    /**
14
     * @param array<mixed> $options
15
     */
16
    public function buildForm(FormBuilderInterface $builder, array $options): void
17
    {
18
        if (!$options['transform']) {
19
            return;
20
        }
21
22
        $builder->addModelTransformer(new BooleanTransformer());
23
    }
24
25
    /**
26
     * Set parameters for the boolean field. Acceptable values: true, false.
27
     * Default value: false.
28
     */
29
    public function configureOptions(OptionsResolver $resolver): void
30
    {
31
        $resolver->setDefaults(
32
            [
33
                'choices' => [
34
                    true,
35
                    false,
36
                ],
37
                'transform' => true,
38
                'compound' => false,
39
                'empty_data' => false,
40
            ]
41
        );
42
    }
43
44
    public function getParent(): string
45
    {
46
        return TextType::class;
47
    }
48
49
    /**
50
     * @return string|null
51
     */
52
    public function getBlockPrefix(): string
53
    {
54
        return 'checkbox';
55
    }
56
}
57