Added missing modules, including some as submodules.
[yaffs-website] / web / modules / contrib / video_embed_field / src / Element / VideoEmbedIFrame.php
1 <?php
2
3 namespace Drupal\video_embed_field\Element;
4
5 use Drupal\Core\Render\Element\RenderElement;
6 use Drupal\Core\Template\Attribute;
7
8 /**
9  * Providers an element design for embedding iframes.
10  *
11  * @RenderElement("video_embed_iframe")
12  */
13 class VideoEmbedIFrame extends RenderElement {
14
15   /**
16    * {@inheritdoc}
17    */
18   public function getInfo() {
19     return [
20       '#theme' => 'video_embed_iframe',
21       '#provider' => '',
22       '#url' => '',
23       '#query' => [],
24       '#attributes' => [],
25       '#fragment' => [],
26       '#pre_render' => [
27         [static::class, 'preRenderInlineFrameEmbed'],
28       ],
29     ];
30   }
31
32   /**
33    * Transform the render element structure into a renderable one.
34    *
35    * @param array $element
36    *   An element array before being processed.
37    *
38    * @return array
39    *   The processed and renderable element.
40    */
41   public static function preRenderInlineFrameEmbed($element) {
42     $element['#theme'] .= !empty($element['#provider']) ? '__' . $element['#provider'] : '';
43
44     if (is_array($element['#attributes'])) {
45       $element['#attributes'] = new Attribute($element['#attributes']);
46     }
47
48     return $element;
49   }
50
51 }