Version 1
[yaffs-website] / web / core / modules / block_content / src / BlockContentViewsData.php
diff --git a/web/core/modules/block_content/src/BlockContentViewsData.php b/web/core/modules/block_content/src/BlockContentViewsData.php
new file mode 100644 (file)
index 0000000..010ede0
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+
+namespace Drupal\block_content;
+
+use Drupal\views\EntityViewsData;
+
+/**
+ * Provides the views data for the block_content entity type.
+ */
+class BlockContentViewsData extends EntityViewsData {
+
+  /**
+   * {@inheritdoc}
+   */
+  public function getViewsData() {
+
+    $data = parent::getViewsData();
+
+    $data['block_content_field_data']['id']['field']['id'] = 'field';
+
+    $data['block_content_field_data']['info']['field']['id'] = 'field';
+    $data['block_content_field_data']['info']['field']['link_to_entity default'] = TRUE;
+
+    $data['block_content_field_data']['type']['field']['id'] = 'field';
+
+    $data['block_content']['block_content_listing_empty'] = [
+      'title' => $this->t('Empty block library behavior'),
+      'help' => $this->t('Provides a link to add a new block.'),
+      'area' => [
+        'id' => 'block_content_listing_empty',
+      ],
+    ];
+    // Advertise this table as a possible base table.
+    $data['block_content_field_revision']['table']['base']['help'] = $this->t('Block Content revision is a history of changes to block content.');
+    $data['block_content_field_revision']['table']['base']['defaults']['title'] = 'info';
+
+    // @todo EntityViewsData should add these relationships by default.
+    //   https://www.drupal.org/node/2410275
+    $data['block_content_field_revision']['id']['relationship']['id'] = 'standard';
+    $data['block_content_field_revision']['id']['relationship']['base'] = 'block_content_field_data';
+    $data['block_content_field_revision']['id']['relationship']['base field'] = 'id';
+    $data['block_content_field_revision']['id']['relationship']['title'] = $this->t('Block Content');
+    $data['block_content_field_revision']['id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');
+
+    $data['block_content_field_revision']['revision_id']['relationship']['id'] = 'standard';
+    $data['block_content_field_revision']['revision_id']['relationship']['base'] = 'block_content_field_data';
+    $data['block_content_field_revision']['revision_id']['relationship']['base field'] = 'revision_id';
+    $data['block_content_field_revision']['revision_id']['relationship']['title'] = $this->t('Block Content');
+    $data['block_content_field_revision']['revision_id']['relationship']['label'] = $this->t('Get the actual block content from a block content revision.');
+
+    return $data;
+  }
+
+}