2 declare(strict_types = 1);
32 public function __invoke(
string $_, $value, array $matches)
34 [, $formElementType, $formEditorIndex] = $matches;
37 $value !==
'Inspector-FinishersEditor'
38 && $value !==
'Inspector-ValidatorsEditor'
39 && $value !==
'Inspector-RequiredValidatorEditor'
44 $propertyCollectionName = $value ===
'Inspector-FinishersEditor' ?
'finishers' :
'validators';
46 $result = $this->extractorDto->getResult();
49 $value ===
'Inspector-FinishersEditor'
50 || $value ===
'Inspector-ValidatorsEditor'
52 $selectOptionsPath = implode(
55 'formElementsDefinition',
67 $this->extractorDto->getPrototypeConfiguration(),
71 foreach ($selectOptions as $selectOption) {
72 $validatorIdentifier = $selectOption[
'value'] ??
'';
73 if (empty($validatorIdentifier)) {
77 $result[
'formElements'][$formElementType][
'collections'][$propertyCollectionName][$validatorIdentifier][
'creatable'] =
true;
80 $validatorIdentifierPath = implode(
83 'formElementsDefinition',
88 'validatorIdentifier',
95 $this->extractorDto->getPrototypeConfiguration(),
96 $validatorIdentifierPath,
99 $result[
'formElements'][$formElementType][
'collections'][$propertyCollectionName][$validatorIdentifier][
'creatable'] =
true;
102 $this->extractorDto->setResult($result);