video_embed_field-8.x-2.4/src/Plugin/Field/FieldWidget/VideoTextfield.php
src/Plugin/Field/FieldWidget/VideoTextfield.php
<?php
namespace Drupal\video_embed_field\Plugin\Field\FieldWidget;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Field\WidgetBase;
use Drupal\Core\Form\FormStateInterface;
/**
* A widget to input video URLs.
*
* @FieldWidget(
* id = "video_embed_field_textfield",
* label = @Translation("Video Textfield"),
* field_types = {
* "video_embed_field"
* },
* )
*/
class VideoTextfield extends WidgetBase {
/**
* {@inheritdoc}
*/
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
$element['value'] = $element + [
'#type' => 'textfield',
'#default_value' => $items[$delta]->value ?? NULL,
'#size' => 60,
'#maxlength' => $this->getFieldSetting('max_length'),
'#attributes' => ['class' => ['js-text-full', 'text-full']],
'#allowed_providers' => $this->getFieldSetting('allowed_providers'),
'#theme' => 'input__video',
];
return $element;
}
}
