message-8.x-1.1/src/MessageTemplateListBuilder.php
src/MessageTemplateListBuilder.php
<?php
namespace Drupal\message;
use Drupal\Component\Utility\Xss;
use Drupal\Core\Config\Entity\ConfigEntityListBuilder;
use Drupal\Core\Entity\EntityInterface;
use Drupal\Core\Entity\EntityStorageInterface;
use Drupal\Core\Entity\EntityTypeInterface;
use Drupal\Core\StringTranslation\TranslationInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Defines a class to build a listing of message template entities.
*
* @see \Drupal\message\Entity\MessageTemplate
*/
final class MessageTemplateListBuilder extends ConfigEntityListBuilder {
/**
* Creates a Message Template ListBuilder.
*
* @param \Drupal\Core\Entity\EntityTypeInterface $entity_type
* The entity type definition.
* @param \Drupal\Core\Entity\EntityStorageInterface $storage
* The entity storage class.
* @param \Drupal\Core\StringTranslation\TranslationInterface $string_translation
* The string translation service.
*/
public function __construct(
EntityTypeInterface $entity_type,
EntityStorageInterface $storage,
TranslationInterface $string_translation,
) {
parent::__construct($entity_type, $storage);
$this->setStringTranslation($string_translation);
}
/**
* {@inheritdoc}
*/
public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
return new self(
$entity_type,
$container->get('entity_type.manager')->getStorage($entity_type->id()),
$container->get('string_translation')
);
}
/**
* {@inheritdoc}
*/
public function buildHeader() {
$header['title'] = $this->t('Name');
$header['description'] = [
'data' => $this->t('Description'),
'class' => [RESPONSIVE_PRIORITY_MEDIUM],
];
return $header + parent::buildHeader();
}
/**
* {@inheritdoc}
*/
public function buildRow(EntityInterface $entity) {
$row['title'] = [
'data' => $entity->label(),
'class' => ['menu-label'],
];
$row['description'] = Xss::filterAdmin($entity->getDescription());
return $row + parent::buildRow($entity);
}
}
