protected function WebformCustomComposite::prepareElementPreRenderCallbacks in Webform 6.x
Same name and namespace in other branches
- 8.5 src/Plugin/WebformElement/WebformCustomComposite.php \Drupal\webform\Plugin\WebformElement\WebformCustomComposite::prepareElementPreRenderCallbacks()
Prepare an element's pre render callbacks.
Parameters
array $element: An element.
\Drupal\webform\WebformSubmissionInterface $webform_submission: A webform submission.
Overrides WebformElementBase::prepareElementPreRenderCallbacks
File
- src/
Plugin/ WebformElement/ WebformCustomComposite.php, line 98
Class
- WebformCustomComposite
- Provides a custom composite element.
Namespace
Drupal\webform\Plugin\WebformElementCode
protected function prepareElementPreRenderCallbacks(array &$element, WebformSubmissionInterface $webform_submission = NULL) {
parent::prepareElementPreRenderCallbacks($element, $webform_submission);
// Set custom wrapper type to theme wrappers.
// @see \Drupal\webform\Element\WebformMultiple::getInfo
// @see \Drupal\webform\Element\WebformCompositeFormElementTrait::preRenderWebformCompositeFormElement
if (isset($element['#wrapper_type'])) {
$element['#theme_wrappers'] = [
$element['#wrapper_type'],
];
$element += [
'#attributes' => [],
];
switch ($element['#wrapper_type']) {
case 'fieldset':
$element['#attributes']['class'][] = 'fieldgroup';
$element['#attributes']['class'][] = 'form-composite';
break;
case 'container':
// Apply wrapper attributes to attributes.
if (isset($element['#wrapper_attributes'])) {
$element['#attributes'] = NestedArray::mergeDeep($element['#attributes'], $element['#wrapper_attributes']);
}
break;
}
}
}