Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 14 |
| CompositeFormElementTrait | |
0.00% |
0 / 1 |
|
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 14 |
| preRenderCompositeFormElement | |
0.00% |
0 / 1 |
42 | |
0.00% |
0 / 14 |
|||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\Core\Render\Element\CompositeFormElementTrait. | |
| */ | |
| namespace Drupal\Core\Render\Element; | |
| /** | |
| * Provides a trait for radios, checkboxes, and similar composite form elements. | |
| * | |
| * Any form element that is comprised of several distinct parts can use this | |
| * trait to add support for a composite title or description. | |
| */ | |
| trait CompositeFormElementTrait { | |
| /** | |
| * Adds form element theming to an element if its title or description is set. | |
| * | |
| * This is used as a pre render function for checkboxes and radios. | |
| */ | |
| public static function preRenderCompositeFormElement($element) { | |
| // Set the element's title attribute to show #title as a tooltip, if needed. | |
| if (isset($element['#title']) && $element['#title_display'] == 'attribute') { | |
| $element['#attributes']['title'] = $element['#title']; | |
| if (!empty($element['#required'])) { | |
| // Append an indication that this field is required. | |
| $element['#attributes']['title'] .= ' (' . t('Required') . ')'; | |
| } | |
| } | |
| if (isset($element['#title']) || isset($element['#description'])) { | |
| // @see #type 'fieldgroup' | |
| $element['#attributes']['id'] = $element['#id'] . '--wrapper'; | |
| $element['#theme_wrappers'][] = 'fieldset'; | |
| $element['#attributes']['class'][] = 'fieldgroup'; | |
| $element['#attributes']['class'][] = 'form-composite'; | |
| } | |
| return $element; | |
| } | |
| } |