Content option can now be used to insert dom elements into a form element. E.g. an image into a button.

This commit is contained in:
Lewin Probst 2020-03-19 15:16:34 +01:00
parent c3844d6722
commit eec70787ef

View file

@ -93,11 +93,27 @@ return new class extends Module
unset($element["name"]);
}
$form_element = $this->createAndSetupElement(
$element[self::OPTIONS_ELEMENT],
$element[self::OPTIONS_CONTENT],
array_diff_key($element, $this->non_attribute_options)
);
if (is_array($element[self::OPTIONS_CONTENT])) {
$content_element = $element[self::OPTIONS_CONTENT];
$content = $this->createAndSetupElement(
$content_element[self::OPTIONS_ELEMENT],
$content_element[self::OPTIONS_CONTENT],
array_diff_key($content_element, $this->non_attribute_options)
);
$form_element = $this->createAndSetupElement(
$element[self::OPTIONS_ELEMENT],
'',
array_diff_key($element, $this->non_attribute_options)
);
$form_element->appendChild($content);
} else {
$form_element = $this->createAndSetupElement(
$element[self::OPTIONS_ELEMENT],
$element[self::OPTIONS_CONTENT],
array_diff_key($element, $this->non_attribute_options)
);
}
foreach ($element[self::OPTIONS_ELEMENTS] as $element) {
$form_element->appendChild($this->createFormElementGroup($element));