You are here

function lightning_media_field_widget_entity_browser_entity_reference_form_alter in Lightning Media 8.3

Same name and namespace in other branches
  1. 8.4 lightning_media.module \lightning_media_field_widget_entity_browser_entity_reference_form_alter()
  2. 8 lightning_media.module \lightning_media_field_widget_entity_browser_entity_reference_form_alter()
  3. 8.2 lightning_media.module \lightning_media_field_widget_entity_browser_entity_reference_form_alter()

Implements hook_field_widget_WIDGET_TYPE_form_alter().

File

./lightning_media.module, line 138
Core media asset support for Lightning.

Code

function lightning_media_field_widget_entity_browser_entity_reference_form_alter(array &$element, FormStateInterface $form_state, array $context) {

  // Move the remaining number of selections to the details summary.
  if (isset($element['current']['#prefix'])) {
    $element['#description'] .= $element['current']['#prefix'];
    unset($element['current']['#prefix']);
  }
  if (!empty($element['current']['items'])) {

    // Wrap the current selections in a nice <details> element.
    $cardinality = (int) $context['items']
      ->getFieldDefinition()
      ->getFieldStorageDefinition()
      ->getCardinality();
    $element['current']['#theme_wrappers'] = [
      'details' => [
        '#attributes' => [
          'open' => TRUE,
        ],
        '#title' => new Plural($cardinality, 'Current selection', 'Current selections'),
        '#summary_attributes' => [],
      ],
    ];
  }
}