<?php
declare(strict_types=1);
namespace App\Form\EventListener\Order;
use App\Entity\Order\OrderInterface;
use App\Form\FormHelper;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Symfony\Component\Form\Extension\Core\Type\IntegerType;
use Symfony\Component\Form\FormEvent;
use Symfony\Component\Form\FormEvents;
class AddDelayOrderFieldSubscriber extends FormHelper implements EventSubscriberInterface
{
public static function getSubscribedEvents(): array
{
return [FormEvents::PRE_SET_DATA => 'preSetData'];
}
public function preSetData(FormEvent $event): void
{
$event->getForm()->add('period', IntegerType::class, $this->getNumberParameters(
'app.order.details.period',
(string) OrderInterface::ORDER_DELAY_MIN,
null,
[
'data' => OrderInterface::ORDER_DELAY_MIN,
'attr' => ['min' => OrderInterface::ORDER_DELAY_MIN, 'max' => OrderInterface::ORDER_DELAY_MAX],
],
));
}
}