Spaces:
No application file
No application file
| declare(strict_types=1); | |
| namespace Mautic\LeadBundle\Event; | |
| use Symfony\Contracts\EventDispatcher\Event; | |
| /** | |
| * Event that collects operators for a specific field. | |
| */ | |
| final class FieldOperatorsEvent extends Event | |
| { | |
| /** | |
| * $allOperators example: | |
| * [ | |
| * '=' => [ | |
| * 'label' => 'equals', | |
| * 'expr' => 'eq', | |
| * 'negate_expr' => 'neq', | |
| * ], | |
| * '!=' => [ | |
| * 'label' => 'not equal', | |
| * 'expr' => 'neq', | |
| * 'negate_expr' => 'eq', | |
| * ], | |
| * ];. | |
| * | |
| * $defaultOperators example: | |
| * [ | |
| * 'equals' => '=', | |
| * 'not equal' => '!=' | |
| * ] | |
| * | |
| * @param array<string, string> $operators | |
| * @param array<string,array<string,string>> $allOperators | |
| */ | |
| public function __construct( | |
| private string $type, | |
| private string $field, | |
| private array $allOperators, | |
| private array $operators | |
| ) { | |
| } | |
| /** | |
| * @return array<string,string> | |
| */ | |
| public function getOperators(): array | |
| { | |
| return $this->operators; | |
| } | |
| public function getField(): string | |
| { | |
| return $this->field; | |
| } | |
| public function getType(): string | |
| { | |
| return $this->type; | |
| } | |
| public function addOperator(string $operator): void | |
| { | |
| if (isset($this->allOperators[$operator])) { | |
| $this->operators[$this->allOperators[$operator]['label']] = $operator; | |
| } | |
| } | |
| } | |