3 namespace Drupal\video_embed_field\Element;
5 use Drupal\Core\Render\Element\RenderElement;
6 use Drupal\Core\Template\Attribute;
9 * Providers an element design for embedding iframes.
11 * @RenderElement("video_embed_iframe")
13 class VideoEmbedIFrame extends RenderElement {
18 public function getInfo() {
20 '#theme' => 'video_embed_iframe',
27 [static::class, 'preRenderInlineFrameEmbed'],
33 * Transform the render element structure into a renderable one.
35 * @param array $element
36 * An element array before being processed.
39 * The processed and renderable element.
41 public static function preRenderInlineFrameEmbed($element) {
42 $element['#theme'] .= !empty($element['#provider']) ? '__' . $element['#provider'] : '';
44 if (is_array($element['#attributes'])) {
45 $element['#attributes'] = new Attribute($element['#attributes']);