Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / web / core / modules / media / tests / modules / media_test_source / src / Plugin / media / Source / TestWithHiddenSourceField.php
diff --git a/web/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestWithHiddenSourceField.php b/web/core/modules/media/tests/modules/media_test_source/src/Plugin/media/Source/TestWithHiddenSourceField.php
new file mode 100644 (file)
index 0000000..e5ac525
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+
+namespace Drupal\media_test_source\Plugin\media\Source;
+
+use Drupal\Core\Entity\Display\EntityFormDisplayInterface;
+use Drupal\Core\Entity\Display\EntityViewDisplayInterface;
+use Drupal\media\MediaTypeInterface;
+
+/**
+ * Provides test media source.
+ *
+ * @MediaSource(
+ *   id = "test_hidden_source_field",
+ *   label = @Translation("Test source with hidden source field"),
+ *   description = @Translation("Test media source with hidden source field."),
+ *   allowed_field_types = {"string"},
+ * )
+ */
+class TestWithHiddenSourceField extends Test {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareViewDisplay(MediaTypeInterface $type, EntityViewDisplayInterface $display) {
+    $display->removeComponent($this->getSourceFieldDefinition($type)->getName());
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  public function prepareFormDisplay(MediaTypeInterface $type, EntityFormDisplayInterface $display) {
+    $display->removeComponent($this->getSourceFieldDefinition($type)->getName());
+  }
+
+  /**
+   * {@inheritdoc}
+   */
+  protected function getSourceFieldName() {
+    return 'field_media_hidden';
+  }
+
+}