8f55d09206272b7306f51e1b2d727f7515c68217
[yaffs-website] / web / modules / contrib / blazy / src / Plugin / views / field / BlazyViewsFieldMedia.php
1 <?php
2
3 namespace Drupal\blazy\Plugin\views\field;
4
5 use Drupal\views\ResultRow;
6
7 /**
8  * Defines a custom field that renders a preview of a media.
9  *
10  * @ViewsField("blazy_media")
11  */
12 class BlazyViewsFieldMedia extends BlazyViewsFieldPluginBase {
13
14   /**
15    * {@inheritdoc}
16    */
17   public function render(ResultRow $values) {
18     /** @var \Drupal\media_entity\Entity\Media $media */
19     $media = $values->_entity;
20
21     $data['settings'] = $this->mergedViewsSettings();
22     $data['settings']['delta'] = $values->index;
23
24     return $this->buildPreview($data, $media, $media->label());
25   }
26
27   /**
28    * Defines the scope for the form elements.
29    */
30   public function getScopedFormElements() {
31     return ['multimedia' => TRUE, 'view_mode' => 'default'] + parent::getScopedFormElements();
32   }
33
34 }