Version 1
[yaffs-website] / web / modules / contrib / slick / src / Plugin / Field / FieldFormatter / SlickFileFormatter.php
diff --git a/web/modules/contrib/slick/src/Plugin/Field/FieldFormatter/SlickFileFormatter.php b/web/modules/contrib/slick/src/Plugin/Field/FieldFormatter/SlickFileFormatter.php
new file mode 100644 (file)
index 0000000..1922de6
--- /dev/null
@@ -0,0 +1,44 @@
+<?php
+
+namespace Drupal\slick\Plugin\Field\FieldFormatter;
+
+use Drupal\Core\Field\FieldDefinitionInterface;
+use Drupal\blazy\Dejavu\BlazyVideoTrait;
+
+/**
+ * Plugin implementation of the 'Slick File' formatter to get ME within images.
+ *
+ * This is not 'Slick Media', instead a simple mix of image and optional video.
+ */
+class SlickFileFormatter extends SlickFileFormatterBase {
+
+  use SlickFormatterTrait;
+  use BlazyVideoTrait;
+
+  /**
+   * {@inheritdoc}
+   */
+  public function buildSettings() {
+    return ['blazy' => TRUE] + parent::getSettings();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getScopedFormElements() {
+    return [
+      'fieldable_form' => TRUE,
+      'multimedia'     => TRUE,
+      'view_mode'      => $this->viewMode,
+    ] + parent::getScopedFormElements();
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public static function isApplicable(FieldDefinitionInterface $field_definition) {
+    $storage = $field_definition->getFieldStorageDefinition();
+    return $storage->isMultiple() && $storage->getSetting('target_type') === 'file';
+  }
+
+}