function WorkspaceListBuilder::buildRow

Same name and namespace in other branches
  1. 9 core/modules/workspaces/src/WorkspaceListBuilder.php \Drupal\workspaces\WorkspaceListBuilder::buildRow()
  2. 8.9.x core/modules/workspaces/src/WorkspaceListBuilder.php \Drupal\workspaces\WorkspaceListBuilder::buildRow()
  3. 11.x core/modules/workspaces/src/WorkspaceListBuilder.php \Drupal\workspaces\WorkspaceListBuilder::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

File

core/modules/workspaces/src/WorkspaceListBuilder.php, line 107

Class

WorkspaceListBuilder
Defines a class to build a listing of workspace entities.

Namespace

Drupal\workspaces

Code

public function buildRow(EntityInterface $entity) {
  /** @var \Drupal\workspaces\WorkspaceInterface $entity */
  if (isset($entity->_depth) && $entity->_depth > 0) {
    $indentation = [
      '#theme' => 'indentation',
      '#size' => $entity->_depth,
    ];
  }
  $row['data'] = [
    'label' => [
      'data' => [
        '#prefix' => isset($indentation) ? $this->renderer
          ->render($indentation) : '',
        '#type' => 'link',
        '#title' => $entity->label(),
        '#url' => $entity->toUrl(),
      ],
    ],
    'owner' => ($owner = $entity->getOwner()) && $owner instanceof UserInterface ? $owner->getDisplayName() : $this->t('N/A'),
  ];
  $row['data'] = $row['data'] + parent::buildRow($entity);
  $active_workspace = $this->workspaceManager
    ->getActiveWorkspace();
  if ($active_workspace && $entity->id() === $active_workspace->id()) {
    $row['class'] = [
      'active-workspace',
      'active-workspace--not-default',
    ];
  }
  return $row;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.