You are here

public static function MenuDetails::preRender in Menu Link (Field) 2.0.x

Pre-render callback: Builds a renderable array for the menu link widget.

Parameters

array $element: A renderable array.

Return value

array A renderable array.

File

src/Render/Element/MenuDetails.php, line 28

Class

MenuDetails
Provides a pre-render callback for menu field details.

Namespace

Drupal\menu_link\Render\Element

Code

public static function preRender($element) {
  $element['menu']['enabled'] = $element['enabled'];
  $element['menu']['title'] = $element['title'];
  $element['menu']['description'] = $element['description'];
  $element['menu']['menu_parent'] = $element['menu_parent'];
  $element['menu']['weight'] = $element['weight'];

  // Hide the elements when enabled is disabled.
  foreach ([
    'title',
    'description',
    'menu_parent',
    'weight',
  ] as $form_element) {
    $element['menu'][$form_element]['#states'] = [
      'invisible' => [
        'input[name="' . $element['menu']['enabled']['#name'] . '"]' => [
          'checked' => FALSE,
        ],
      ],
    ];
  }
  unset($element['enabled'], $element['title'], $element['description'], $element['menu_parent'], $element['weight']);
  return $element;
}