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')); | |
} | |
} |