<?php
namespace App\Form\Custom;
use App\Entity\Forms;
use App\Manager\FormsManager;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\OptionsResolver\OptionsResolver;
class OriginTypeSelectorType extends AbstractType
{
private FormsManager $formsManager;
/**
* @param FormsManager $formsManager
*/
public function __construct(FormsManager $formsManager)
{
$this->formsManager = $formsManager;
}
public function getParent(): string
{
return ChoiceType::class;
}
public function configureOptions(OptionsResolver $resolver)
{
$originTypes = $this->originTypesArray();
$resolver->setDefaults([
'placeholder' => '¿Cómo te enteraste de nosotros?',
'choices' => $originTypes,
]);
}
protected function originTypesArray(): array
{
/** @var Forms $forms */
$forms = $this->formsManager->find(1);
$originTypes = $forms->getOriginTypes();
$originTypesArray = [];
foreach ($originTypes as $originType) {
$originTypesArray[$originType['title']] = $originType['title'];
}
return $originTypesArray;
}
}