You are here

public function RuleListBuilder::buildRow in RNG - Events and Registrations 3.x

Same name and namespace in other branches
  1. 8.2 src/Lists/RuleListBuilder.php \Drupal\rng\Lists\RuleListBuilder::buildRow()
  2. 8 src/Lists/RuleListBuilder.php \Drupal\rng\Lists\RuleListBuilder::buildRow()

Parameters

\Drupal\rng\Entity\RuleInterface $entity: A rule entity.

Overrides EntityListBuilder::buildRow

File

src/Lists/RuleListBuilder.php, line 122

Class

RuleListBuilder
Builds a list of rng rules.

Namespace

Drupal\rng\Lists

Code

public function buildRow(EntityInterface $entity) {
  $row['id'] = $entity
    ->id();
  $row['trigger'] = $entity
    ->getTriggerID();
  $row['conditions']['data'] = [
    '#theme' => 'links',
    '#links' => [],
    '#attributes' => [
      'class' => [
        'links',
        'inline',
      ],
    ],
  ];
  foreach ($entity
    ->getConditions() as $condition) {
    $row['conditions']['data']['#links'][] = [
      'title' => $this
        ->t('Edit', [
        '@condition_id' => $condition
          ->id(),
        '@condition' => $condition
          ->getPluginId(),
      ]),
      'url' => $condition
        ->urlInfo('edit-form'),
      'query' => $this->redirectDestination
        ->getAsArray(),
    ];
  }
  $row['actions']['data'] = [
    '#theme' => 'links',
    '#links' => [],
    '#attributes' => [
      'class' => [
        'links',
        'inline',
      ],
    ],
  ];
  foreach ($entity
    ->getActions() as $action) {
    $row['actions']['data']['#links'][] = [
      'title' => $this
        ->t('Edit', [
        '@action_id' => $action
          ->id(),
        '@action' => $action
          ->getPluginId(),
      ]),
      'url' => $action
        ->urlInfo('edit-form'),
      'query' => $this->redirectDestination
        ->getAsArray(),
    ];
  }
  $row['status'] = $entity
    ->isActive() ? $this
    ->t('Active') : $this
    ->t('Inactive');
  return $row + parent::buildRow($entity);
}