FlagListItemListBuilder.php in Flag Lists 8
File
src/FlagListItemListBuilder.php
View source
<?php
namespace Drupal\flag_lists;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityListBuilder;
use Drupal\Core\Link;
class FlagListItemListBuilder extends EntityListBuilder {
public function buildHeader() {
$header['id'] = $this
->t('Flag list item ID');
$header['name'] = $this
->t('Name');
$header['entity_id'] = $this
->t('Entity ID');
$header['entity_exist'] = $this
->t('Entity exist?');
return $header + parent::buildHeader();
}
public function buildRow(EntityInterface $entity) {
$account = \Drupal::currentUser()
->getAccount();
$entity_id = $entity
->getConnectedEntityId();
$connectedEntity = \Drupal::entityTypeManager()
->getStorage('node')
->load($entity_id);
if ($entity
->access('view', $account)) {
$row['id'] = $entity
->id();
$row['name'] = Link::createFromRoute($entity
->label(), 'entity.flag_list_item.edit_form', [
'flag_list_item' => $entity
->id(),
]);
$row['entity_id'] = $entity_id;
$row['entity_exist']['data'] = empty($connectedEntity) ? "Doesn't exist" : 'Exist';
$row['entity_exist']['class'] = empty($connectedEntity) ? "entity-missing" : 'entity-exist';
return $row + parent::buildRow($entity);
}
}
public function render() {
$build = parent::render();
$build['table']['#attached']['library'][] = 'flag_lists/flag_lists.table';
return $build;
}
}