You are here

public function MediaListBuilder::buildRow in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/media/src/MediaListBuilder.php \Drupal\media\MediaListBuilder::buildRow()

Builds a row for an entity in the entity listing.

Parameters

\Drupal\Core\Entity\EntityInterface $entity: The entity for this row of the list.

Return value

array A render array structure of fields for this entity.

Overrides EntityListBuilder::buildRow

See also

\Drupal\Core\Entity\EntityListBuilder::render()

File

core/modules/media/src/MediaListBuilder.php, line 115

Class

MediaListBuilder
Provides a listing of media items.

Namespace

Drupal\media

Code

public function buildRow(EntityInterface $entity) {

  /** @var \Drupal\media\MediaInterface $entity */
  if ($this->thumbnailStyleExists) {
    $row['thumbnail'] = [];
    if ($thumbnail_uri = $entity
      ->getSource()
      ->getMetadata($entity, 'thumbnail_uri')) {
      $row['thumbnail']['data'] = [
        '#theme' => 'image_style',
        '#style_name' => 'thumbnail',
        '#uri' => $thumbnail_uri,
        '#height' => 50,
      ];
    }
  }
  $row['name']['data'] = [
    '#type' => 'link',
    '#title' => $entity
      ->label(),
    '#url' => $entity
      ->toUrl(),
  ];
  $row['type'] = $entity->bundle->entity
    ->label();
  $row['author']['data'] = [
    '#theme' => 'username',
    '#account' => $entity
      ->getOwner(),
  ];
  $row['status'] = $entity
    ->isPublished() ? $this
    ->t('Published') : $this
    ->t('Unpublished');
  $row['changed'] = $this->dateFormatter
    ->format($entity
    ->getChangedTime(), 'short');
  if ($this->languageManager
    ->isMultilingual()) {
    $row['language'] = $this->languageManager
      ->getLanguageName($entity
      ->language()
      ->getId());
  }
  return $row + parent::buildRow($entity);
}