Spaces:
No application file
No application file
File size: 1,835 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 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 |
<?php
declare(strict_types=1);
namespace Mautic\LeadBundle\Event;
use Mautic\LeadBundle\Segment\OperatorOptions;
use Symfony\Component\Form\FormInterface;
use Symfony\Contracts\EventDispatcher\Event;
final class FormAdjustmentEvent extends Event
{
/**
* @param FormInterface<mixed> $form
* @param mixed[] $fieldDetails
*/
public function __construct(
private FormInterface $form,
private string $fieldAlias,
private string $fieldObject,
private string $operator,
private array $fieldDetails
) {
}
/**
* @return FormInterface<mixed>
*/
public function getForm(): FormInterface
{
return $this->form;
}
public function getFieldAlias(): string
{
return $this->fieldAlias;
}
public function getFieldObject(): string
{
return $this->fieldObject;
}
public function getOperator(): string
{
return $this->operator;
}
public function operatorIsOneOf(string ...$operators): bool
{
return in_array($this->getOperator(), $operators);
}
public function fieldTypeIsOneOf(string ...$fieldTypes): bool
{
return in_array($this->getFieldType(), $fieldTypes);
}
public function getFieldType(): string
{
return $this->fieldDetails['properties']['type'];
}
/**
* @return mixed[]
*/
public function getFieldDetails(): array
{
return $this->fieldDetails;
}
/**
* @return mixed[]
*/
public function getFieldChoices(): array
{
return $this->fieldDetails['properties']['list'] ?? [];
}
public function filterShouldBeDisabled(): bool
{
return $this->operatorIsOneOf(OperatorOptions::EMPTY, OperatorOptions::NOT_EMPTY);
}
}
|