BlockVisibilityGroupListBuilder.php in Block Visibility Groups 8
File
src/Controller/BlockVisibilityGroupListBuilder.php
View source
<?php
namespace Drupal\block_visibility_groups\Controller;
use Drupal\Core\Config\Entity\ConfigEntityListBuilder;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Url;
class BlockVisibilityGroupListBuilder extends ConfigEntityListBuilder {
public function buildHeader() {
$header['label'] = $this
->t('Block Visibility Group');
$header['id'] = $this
->t('Machine name');
$header += parent::buildHeader();
return $header;
}
public function buildRow(EntityInterface $entity) {
$row['label'] = $entity
->label();
$row['id'] = $entity
->id();
$row += parent::buildRow($entity);
$url = Url::fromRoute('block.admin_display', [], [
'query' => [
'block_visibility_group' => $row['id'],
],
]);
$row['operations']['data']['#links']['manage_blocks'] = [
'title' => $this
->t('Manage Blocks'),
'weight' => 80,
'url' => $url,
];
uasort($row['operations']['data']['#links'], '\\Drupal\\Component\\Utility\\SortArray::sortByWeightElement');
return $row;
}
}