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\ControllerCode
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);
}