Spaces:
No application file
No application file
File size: 1,532 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 |
<?php
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;
}
}
}
|