Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 6  | 
      CRAP |         | 
      0.00%  | 
      0 / 39  | 
     
| ConfigTranslationBlockListBuilder |         | 
      0.00%  | 
      0 / 1  | 
              | 
      0.00%  | 
      0 / 6  | 
      42 |         | 
      0.00%  | 
      0 / 39  | 
     
| __construct |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 3  | 
     |||
| createInstance |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 6  | 
     |||
| getFilterLabels |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 5  | 
     |||
| buildRow |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 17  | 
     |||
| buildHeader |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 6  | 
     |||
| sortRows |         | 
      0.00%  | 
      0 / 1  | 
      2 |         | 
      0.00%  | 
      0 / 2  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\config_translation\Controller\ConfigTranslationBlockListBuilder. | |
| */ | |
| namespace Drupal\config_translation\Controller; | |
| use Drupal\Core\Entity\EntityInterface; | |
| use Drupal\Core\Entity\EntityStorageInterface; | |
| use Drupal\Core\Entity\EntityTypeInterface; | |
| use Drupal\Core\Extension\ThemeHandlerInterface; | |
| use Symfony\Component\DependencyInjection\ContainerInterface; | |
| /** | |
| * Defines the config translation list builder for blocks. | |
| */ | |
| class ConfigTranslationBlockListBuilder extends ConfigTranslationEntityListBuilder { | |
| /** | |
| * An array of theme info keyed by theme name. | |
| * | |
| * @var array | |
| */ | |
| protected $themes = array(); | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function __construct(EntityTypeInterface $entity_type, EntityStorageInterface $storage, ThemeHandlerInterface $theme_handler) { | |
| parent::__construct($entity_type, $storage); | |
| $this->themes = $theme_handler->listInfo(); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) { | |
| return new static( | |
| $entity_type, | |
| $container->get('entity.manager')->getStorage($entity_type->id()), | |
| $container->get('theme_handler') | |
| ); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getFilterLabels() { | |
| $info = parent::getFilterLabels(); | |
| $info['placeholder'] = $this->t('Enter block, theme or category'); | |
| $info['description'] = $this->t('Enter a part of the block, theme or category to filter by.'); | |
| return $info; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function buildRow(EntityInterface $entity) { | |
| $theme = $entity->getTheme(); | |
| $plugin_definition = $entity->getPlugin()->getPluginDefinition(); | |
| $row['label'] = array( | |
| 'data' => $entity->label(), | |
| 'class' => 'table-filter-text-source', | |
| ); | |
| $row['theme'] = array( | |
| 'data' => $this->themes[$theme]->info['name'], | |
| 'class' => 'table-filter-text-source', | |
| ); | |
| $row['category'] = array( | |
| 'data' => $plugin_definition['category'], | |
| 'class' => 'table-filter-text-source', | |
| ); | |
| $row['operations']['data'] = $this->buildOperations($entity); | |
| return $row; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function buildHeader() { | |
| $header['label'] = $this->t('Block'); | |
| $header['theme'] = $this->t('Theme'); | |
| $header['category'] = $this->t('Category'); | |
| $header['operations'] = $this->t('Operations'); | |
| return $header; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function sortRows($a, $b) { | |
| return $this->sortRowsMultiple($a, $b, array('theme', 'category', 'label')); | |
| } | |
| } |