Spaces:
No application file
No application file
File size: 1,029 Bytes
d2897cd |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 |
<?php
declare(strict_types=1);
namespace Mautic\LeadBundle\Provider;
use Mautic\LeadBundle\Event\FormAdjustmentEvent;
use Mautic\LeadBundle\LeadEvents;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\FormInterface;
final class FormAdjustmentsProvider implements FormAdjustmentsProviderInterface
{
public function __construct(
private EventDispatcherInterface $dispatcher
) {
}
/**
* @param FormInterface<FormInterface<mixed>> $form
* @param mixed[] $fieldDetails
*
* @return FormInterface<FormInterface<mixed>>
*/
public function adjustForm(FormInterface $form, string $fieldAlias, string $fieldObject, string $operator, array $fieldDetails): FormInterface
{
$event = new FormAdjustmentEvent($form, $fieldAlias, $fieldObject, $operator, $fieldDetails);
$this->dispatcher->dispatch($event, LeadEvents::ADJUST_FILTER_FORM_TYPE_FOR_FIELD);
return $event->getForm();
}
}
|