<?php
declare(strict_types=1);
namespace App\Form\EventListener\Global;
use App\Entity\Admin\Source;
use App\Form\FormHelper;
use App\Repository\Admin\SourceRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
class AddSourceFieldSubscriber extends FormHelper implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [FormEvents::PRE_SET_DATA => 'preSetData'];
}
public function preSetData(FormEvent $event): void
{
$event->getForm()->add('source', EntityType::class, $this->getEntityParameters(
Source::class,
'app.global.fields.source',
self::PLACEHOLDER_CHOICE,
true,
['query_builder' => fn (SourceRepository $repository) => $repository->getEnabledQB()],
));
}
}