1: <?php
2: namespace TIC\FormBundle\Form\Type;
3:
4: #use Symfony\Component\Form\AbstractType as BaseType;
5: use TIC\FormBundle\Base\TICWidgetType as BaseType;
6:
7: use Symfony\Component\OptionsResolver\OptionsResolver;
8:
9: /**
10: * Saisie d'une valeur numérique de pourcentage.
11: */
12: class NumberPercentType extends BaseType
13: {
14: protected $form_parent = NumberType::class;
15: protected $default_suffix = '%';
16:
17:
18: /**
19: * {@inheritdoc}
20: */
21: public function configureOptions(OptionsResolver $resolver): void
22: {
23: parent::configureOptions($resolver);
24:
25: $resolver->setDefaults(array(
26: 'suffix' => true, // %
27: 'scale' => 0, // nombre entier par défaut (pas de détection auto selon la locale)
28: 'grouping' => false, // possibilité de passer le séparateur à utiliser
29: 'rounding_mode' => \NumberFormatter::ROUND_HALFUP,
30: # 'multiplier' => 100, // si besoin de multiplier la valeur avant affichage
31: 'min' => 0, // valeur minimale autorisée (attribut HTML5)
32: 'max' => 100, // valeur maximale autorisée (attribut HTML5)
33: 'step' => 5, // valeur pour l'incrément (attribut HTML5)
34: 'fixed' => false, // pour afficher les décimales nulles
35: 'mode' => 'html5',// activation du mode 'html5' ou 'js'
36: ));
37: }
38:
39:
40: }
41: