BrightcoveInlineEntityFormComplex.php in Brightcove Video Connect 8.2
File
src/Plugin/Field/FieldWidget/BrightcoveInlineEntityFormComplex.php
View source
<?php
namespace Drupal\brightcove\Plugin\Field\FieldWidget;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\Core\Link;
use Drupal\Core\Render\Element;
use Drupal\Core\Url;
use Drupal\inline_entity_form\Plugin\Field\FieldWidget\InlineEntityFormComplex;
class BrightcoveInlineEntityFormComplex extends InlineEntityFormComplex {
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
$element = parent::formElement($items, $delta, $element, $form, $form_state);
foreach (Element::children($element['entities']) as $key) {
$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;
}
public static function buildEntityFormActions($element) {
$parent_element = parent::buildEntityFormActions($element);
if ($element['#op'] == 'add') {
$save_label = t('Save Text Track');
}
else {
$save_label = t('Update Text Track');
}
$parent_element['actions']['ief_' . $element['#op'] . '_save']['#value'] = $save_label;
return $parent_element;
}
}