Try to add placeholder

This commit is contained in:
Pol Dellaiera 2022-02-22 12:14:26 +01:00
parent e1b3719746
commit 37e38436a8
No known key found for this signature in database
GPG Key ID: D476DFE9C67467CA
2 changed files with 48 additions and 8 deletions

View File

@ -20,6 +20,7 @@ use Chill\MainBundle\Form\Type\PickCivilityType;
use Chill\MainBundle\Form\Type\Select2CountryType;
use Chill\MainBundle\Form\Type\Select2LanguageType;
use Chill\MainBundle\Templating\TranslatableStringHelper;
use Chill\MainBundle\Templating\TranslatableStringHelperInterface;
use Chill\PersonBundle\Config\ConfigPersonAltNamesHelper;
use Chill\PersonBundle\Entity\Person;
use Chill\PersonBundle\Entity\PersonPhone;
@ -27,6 +28,13 @@ use Chill\PersonBundle\Form\Type\GenderType;
use Chill\PersonBundle\Form\Type\PersonAltNameType;
use Chill\PersonBundle\Form\Type\PersonPhoneType;
use Chill\PersonBundle\Form\Type\Select2MaritalStatusType;
use Doctrine\ORM\EntityRepository;
use Doctrine\ORM\QueryBuilder;
use libphonenumber\PhoneNumberFormat;
use libphonenumber\PhoneNumberType;
use libphonenumber\PhoneNumberUtil;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\DependencyInjection\ParameterBag\ParameterBagInterface;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\CallbackTransformer;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
@ -57,17 +65,21 @@ class PersonType extends AbstractType
protected TranslatableStringHelper $translatableStringHelper;
private ParameterBagInterface $parameterBag;
/**
* @param string[] $personFieldsConfiguration configuration of visibility of some fields
*/
public function __construct(
array $personFieldsConfiguration,
ConfigPersonAltNamesHelper $configAltNamesHelper,
TranslatableStringHelper $translatableStringHelper
TranslatableStringHelperInterface $translatableStringHelper,
ParameterBagInterface $parameterBag
) {
$this->config = $personFieldsConfiguration;
$this->configAltNamesHelper = $configAltNamesHelper;
$this->translatableStringHelper = $translatableStringHelper;
$this->parameterBag = $parameterBag;
}
public function buildForm(FormBuilderInterface $builder, array $options)
@ -126,15 +138,43 @@ class PersonType extends AbstractType
}
if ('visible' === $this->config['phonenumber']) {
$builder->add('phonenumber', TelType::class, [
'required' => false,
// 'placeholder' => '+33623124554' //TODO placeholder for phone numbers
]);
$examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
PhoneNumberType::FIXED_LINE
);
$builder
->add(
'phonenumber',
TelType::class,
[
'required' => false,
'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL)
],
]
);
}
if ('visible' === $this->config['mobilenumber']) {
$examplePhoneNumber = PhoneNumberUtil::getInstance()
->getExampleNumberForType(
$this->parameterBag->get('chill_main.phone_helper')['default_carrier_code'],
PhoneNumberType::MOBILE
);
$builder
->add('mobilenumber', TelType::class, ['required' => false])
->add(
'mobilenumber',
TelType::class,
[
'required' => false,
'attr' => [
'placeholder' => PhoneNumberUtil::getInstance()->format($examplePhoneNumber, PhoneNumberFormat::NATIONAL)
],
]
)
->add('acceptSMS', CheckboxType::class, [
'required' => false,
]);

View File

@ -1,15 +1,15 @@
services:
Chill\PersonBundle\Form\:
autowire: true
autoconfigure: true
resource: '../../Form/'
Chill\PersonBundle\Form\PersonType:
autowire: true
autoconfigure: true
arguments:
$personFieldsConfiguration: '%chill_person.person_fields%'
$configAltNamesHelper: '@Chill\PersonBundle\Config\ConfigPersonAltNamesHelper'
$translatableStringHelper: '@Chill\MainBundle\Templating\TranslatableStringHelper'
tags:
- { name: form.type, alias: '@chill.person.form.person_creation' }