<?php
namespace App\Form\Customer;
use App\Form\DataTransformer\UpperCaseTransformer;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Contracts\Translation\TranslatorInterface;
/**
* Formulář na stránku track and trace pro vyhledání informací o zásilce podle uživatelského kódu.
*/
class TrackAndTraceSearchType extends AbstractType
{
private TranslatorInterface $translator;
public function __construct(TranslatorInterface $translator)
{
$this->translator = $translator;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add(
'packageCode',
TextType::class,
['label' => $this->translator->trans('Najdi zásilku:', [], 'customer'), 'translation_domain' => 'customer',
'required' => true, 'attr' => [ 'pattern' => ".{0,64}", 'class' => 'flex-fill w-100']]
)
->add(
'next',
SubmitType::class,
['label' => $this->translator->trans('Hledej', [], 'customer'), 'translation_domain' => 'customer', 'attr' => [
'class' => 'btn btn-block btn-danger']]
);
$builder->get('packageCode')->addModelTransformer(new UpperCaseTransformer());
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => null,
]);
}
}