<?php
/*
* Author: Dominik Piekarski <code@dompie.de>
* Created at: 2020/10/13 12:29
*/
declare(strict_types=1);
namespace App\Form\Search;
use App\Dto\SearchOptions;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Routing\RouterInterface;
class GlobalSearch extends AbstractType
{
protected RouterInterface $router;
public const BLOCK_PREFIX = '_gs';
public function __construct(RouterInterface $router)
{
$this->router = $router;
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('term', TextType::class, [
'required' => false,
'attr' => [
'maxlength' => 100,
'placeholder' => $options['placeholder'] ?? 'Frivol.com durchsuchen'
]
])->add('searchType', HiddenType::class, [
'required' => false,
]);
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'action' => $this->router->generate('app_searchresult_findall'),
'method' => 'GET',
'data_class', SearchOptions::class,
'csrf_protection' => false,
]);
}
public function getBlockPrefix()
{
return self::BLOCK_PREFIX;
}
}