You are here

public function BrightcoveInlineEntityFormComplex::formElement in Brightcove Video Connect 3.x

Same name and namespace in other branches
  1. 8.2 src/Plugin/Field/FieldWidget/BrightcoveInlineEntityFormComplex.php \Drupal\brightcove\Plugin\Field\FieldWidget\BrightcoveInlineEntityFormComplex::formElement()
  2. 8 src/Plugin/Field/FieldWidget/BrightcoveInlineEntityFormComplex.php \Drupal\brightcove\Plugin\Field\FieldWidget\BrightcoveInlineEntityFormComplex::formElement()

File

src/Plugin/Field/FieldWidget/BrightcoveInlineEntityFormComplex.php, line 29

Class

BrightcoveInlineEntityFormComplex
Complex inline widget.

Namespace

Drupal\brightcove\Plugin\Field\FieldWidget

Code

public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
  $element = parent::formElement($items, $delta, $element, $form, $form_state);

  // Wrap label in link.
  foreach (Element::children($element['entities']) as $key) {

    /** @var \Drupal\Core\Entity\Entity $entity */
    $entity = $element['entities'][$key]['#entity'];
    $child_element =& $element['entities'][$key];
    if (!empty($entity
      ->id())) {
      $child_element['#label'] = Link::fromTextAndUrl($child_element['#label'], Url::fromRoute('entity.brightcove_text_track.canonical', [
        'brightcove_text_track' => $entity
          ->id(),
      ]))
        ->toString();
    }
  }
  return $element;
}