You are here

public function RulesReactionListBuilder::buildRow in Rules 8.3

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()

1 call to RulesReactionListBuilder::buildRow()
RulesReactionListBuilder::render in src/Controller/RulesReactionListBuilder.php
Builds the entity listing as renderable array for table.html.twig.

File

src/Controller/RulesReactionListBuilder.php, line 94

Class

RulesReactionListBuilder
Defines a class to build a listing of ReactionRuleConfig entities.

Namespace

Drupal\rules\Controller

Code

public function buildRow(EntityInterface $entity) {
  $event_names = $entity
    ->getEventNames();
  $event_labels = [];

  // List all Events that trigger this Rule.
  foreach ($event_names as $event_name) {
    $event_definition = $this->eventManager
      ->getDefinition($event_name);
    $event_labels[] = $event_definition['label'];
  }

  /** @var \Drupal\rules\Entity\ReactionRuleConfig $entity */
  $details = $this
    ->t('Machine name: @name', [
    '@name' => $entity
      ->id(),
  ]);
  if ($entity
    ->hasTags()) {
    $details = $details . '<br />' . $this
      ->t('Tags: @tags', [
      '@tags' => implode(', ', $entity
        ->getTags()),
    ]);
  }
  $row['label']['data-drupal-selector'] = 'rules-table-filter-text-source';
  $row['label']['data'] = [
    '#plain_text' => $entity
      ->label(),
    '#suffix' => '<div class="description">' . $details . '</div>',
  ];
  $row['event']['data-drupal-selector'] = 'rules-table-filter-text-source';
  $row['event']['data'] = [
    '#markup' => implode(",<br />", $event_labels),
  ];
  $row['description']['data-drupal-selector'] = 'rules-table-filter-text-source';
  $row['description']['data'] = [
    '#type' => 'processed_text',
    '#text' => $entity
      ->getDescription(),
    '#format' => 'restricted_html',
  ];
  return $row + parent::buildRow($entity);
}