You are here

protected function FieldGroupTable::hideElementTitle in Field Group Table 8

Hide title of a requested element.

Parameters

array $element: Element definition.

int $lvl: Current depth.

2 calls to FieldGroupTable::hideElementTitle()
FieldGroupTable::buildRowForm in src/Plugin/field_group/FieldGroupFormatter/FieldGroupTable.php
Build table row for a "form" context.
FieldGroupTable::buildRowView in src/Plugin/field_group/FieldGroupFormatter/FieldGroupTable.php
Build table row for a "view" context.

File

src/Plugin/field_group/FieldGroupFormatter/FieldGroupTable.php, line 647

Class

FieldGroupTable
Plugin implementation of the 'field_group_table' formatter.

Namespace

Drupal\field_group_table\Plugin\field_group\FieldGroupFormatter

Code

protected function hideElementTitle(array &$element, $lvl = 0) {
  if (isset($element['#title'])) {
    switch ($this->context) {
      case 'view':
        if (isset($element['#label_display']) && $element['#label_display'] === 'above') {
          $element['#label_display'] = 'hidden';
        }
        break;
      case 'form':
        if (!isset($element['#type']) || !in_array($element['#type'], [
          'radio',
          'checkbox',
        ])) {
          $element['#title_display'] = 'invisible';
        }
        break;
    }
  }
  if (($children = Element::children($element)) && $lvl < 9) {
    $lvl++;
    foreach ($children as $child) {
      $this
        ->hideElementTitle($element[$child], $lvl);
    }
  }
}