You are here

class ReferenceViewsData in Bibliography & Citation 2.0.x

Same name and namespace in other branches
  1. 8 modules/bibcite_entity/src/ReferenceViewsData.php \Drupal\bibcite_entity\ReferenceViewsData

Provides the views data for the reference entity type.

Hierarchy

Expanded class hierarchy of ReferenceViewsData

File

modules/bibcite_entity/src/ReferenceViewsData.php, line 10

Namespace

Drupal\bibcite_entity
View source
class ReferenceViewsData extends EntityViewsData {

  /**
   * {@inheritdoc}
   */
  public function getViewsData() {
    $data = parent::getViewsData();
    $data['bibcite_reference']['id']['argument'] = [
      'id' => 'bibcite_reference',
      'name field' => 'title',
      'numeric' => TRUE,
    ];
    $data['bibcite_reference']['citation'] = [
      'title' => $this
        ->t('Citation'),
      'help' => $this
        ->t('Render reference as citation'),
      'field' => [
        'id' => 'bibcite_citation',
      ],
    ];
    $data['bibcite_reference']['links'] = [
      'title' => $this
        ->t('Links'),
      'help' => $this
        ->t('Render reference links'),
      'field' => [
        'id' => 'bibcite_links',
      ],
    ];
    $data['bibcite_reference']['bulk_form'] = [
      'title' => $this
        ->t('Operations bulk form'),
      'help' => $this
        ->t('Add a form element that lets you run operations on multiple reference entries.'),
      'field' => [
        'id' => 'bulk_form',
      ],
    ];

    // @todo Use $this->entityTypeManager only, once Drupal 8.9.0 is released.
    $entity_manager = isset($this->entityTypeManager) ? $this->entityTypeManager : $this->entityManager;
    $entity_type = $entity_manager
      ->getDefinition('bibcite_keyword');
    $data['bibcite_reference__keywords']['keywords_target_id']['relationship'] = [
      'base' => $this
        ->getViewsTableForEntityType($entity_type),
      'base field' => $entity_type
        ->getKey('id'),
      'label' => $entity_type
        ->getLabel(),
      'title' => $entity_type
        ->getLabel(),
      'id' => 'standard',
    ];
    $entity_manager = isset($this->entityTypeManager) ? $this->entityTypeManager : $this->entityManager;
    $entity_type = $entity_manager
      ->getDefinition('bibcite_contributor');
    $data['bibcite_reference__author']['author_target_id']['relationship'] = [
      'base' => $this
        ->getViewsTableForEntityType($entity_type),
      'base field' => $entity_type
        ->getKey('id'),
      'label' => $entity_type
        ->getLabel(),
      'title' => $entity_type
        ->getLabel(),
      'id' => 'standard',
    ];
    $data['bibcite_reference__bibcite_citekey']['bibcite_citekey'] = [
      'title' => $this
        ->t('Citation key'),
      'field' => [
        'id' => 'field',
      ],
      'argument' => [
        'field' => 'bibcite_citekey_value',
        'id' => 'string',
      ],
      'filter' => [
        'field' => 'bibcite_citekey_value',
        'id' => 'string',
      ],
      'sort' => [
        'field' => 'bibcite_citekey_value',
        'id' => 'standard',
      ],
      'entity field' => 'bibcite_citekey',
    ];
    $data['bibcite_reference_revision__bibcite_citekey']['bibcite_citekey'] = $data['bibcite_reference__bibcite_citekey']['bibcite_citekey'];
    return $data;
  }

}

Members

Namesort descending Modifiers Type Description Overrides
EntityViewsData::$entityFieldManager protected property The entity field manager.
EntityViewsData::$entityType protected property Entity type for this views data handler instance.
EntityViewsData::$entityTypeManager protected property The entity type manager.
EntityViewsData::$fieldStorageDefinitions protected property The field storage definitions for all base fields of the entity type.
EntityViewsData::$moduleHandler protected property The module handler.
EntityViewsData::$storage protected property The storage used for this entity type.
EntityViewsData::$translationManager protected property The translation manager.
EntityViewsData::addEntityLinks protected function Sets the entity links in case corresponding link templates exist.
EntityViewsData::createInstance public static function Instantiates a new instance of this entity handler. Overrides EntityHandlerInterface::createInstance
EntityViewsData::getFieldStorageDefinitions protected function Gets the field storage definitions.
EntityViewsData::getViewsTableForEntityType public function Gets the table of an entity type to be used as base table in views. Overrides EntityViewsDataInterface::getViewsTableForEntityType
EntityViewsData::mapFieldDefinition protected function Puts the views data for a single field onto the views data.
EntityViewsData::mapSingleFieldViewsData protected function Provides the views data for a given data type and schema field.
EntityViewsData::processViewsDataForEntityReference protected function Processes the views data for an entity reference field.
EntityViewsData::processViewsDataForLanguage protected function Processes the views data for a language field.
EntityViewsData::processViewsDataForTextLong protected function Processes the views data for a text field with formatting.
EntityViewsData::processViewsDataForUuid protected function Processes the views data for a UUID field.
EntityViewsData::__construct public function Constructs an EntityViewsData object.
ReferenceViewsData::getViewsData public function Returns views data for the entity type. Overrides EntityViewsData::getViewsData
StringTranslationTrait::$stringTranslation protected property The string translation service. 4
StringTranslationTrait::formatPlural protected function Formats a string containing a count of items.
StringTranslationTrait::getNumberOfPlurals protected function Returns the number of plurals supported by a given language.
StringTranslationTrait::getStringTranslation protected function Gets the string translation service.
StringTranslationTrait::setStringTranslation public function Sets the string translation service to use. 2
StringTranslationTrait::t protected function Translates a string to the current language or to a given language.