class ConfigSplitEntityViewBuilder in Configuration Split 2.0.x
Same name and namespace in other branches
- 8 src/ConfigSplitEntityViewBuilder.php \Drupal\config_split\ConfigSplitEntityViewBuilder
EntityViewBuilder for Config Split entities.
Hierarchy
- class \Drupal\Core\Entity\EntityHandlerBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Entity\EntityViewBuilder implements EntityHandlerInterface, EntityViewBuilderInterface, TrustedCallbackInterface
- class \Drupal\config_split\ConfigSplitEntityViewBuilder
- class \Drupal\Core\Entity\EntityViewBuilder implements EntityHandlerInterface, EntityViewBuilderInterface, TrustedCallbackInterface
Expanded class hierarchy of ConfigSplitEntityViewBuilder
File
- src/
ConfigSplitEntityViewBuilder.php, line 13
Namespace
Drupal\config_splitView source
class ConfigSplitEntityViewBuilder extends EntityViewBuilder {
/**
* The split manager.
*
* @var \Drupal\config_split\ConfigSplitManager
*/
protected $splitManager;
/**
* {@inheritdoc}
*/
public static function createInstance(ContainerInterface $container, EntityTypeInterface $entity_type) {
$handler = parent::createInstance($container, $entity_type);
$handler->splitManager = $container
->get('config_split.manager');
return $handler;
}
/**
* {@inheritdoc}
*/
public function viewMultiple(array $entities = [], $view_mode = 'full', $langcode = NULL) {
/** @var \Drupal\config_split\Entity\ConfigSplitEntityInterface[] $entities */
$build = [];
/**
* @var string $entity_id
* @var \Drupal\config_split\Entity\ConfigSplitEntity $entity
*/
foreach ($entities as $entity_id => $entity) {
$config = $this->splitManager
->getSplitConfig($entity
->getConfigDependencyName());
// @todo make this prettier.
$build[$entity_id] = [
'#cache' => [
'tags' => $entity
->getCacheTags(),
],
];
try {
$storage = $this->splitManager
->singleExportPreview($config);
$build[$entity_id]['preview'] = [
'#type' => 'container',
'title' => [
'#type' => 'html_tag',
'#tag' => 'h3',
'#value' => $this
->t('Preview'),
],
'items' => [
'#theme' => 'item_list',
'#items' => $this
->listStorageContents($storage),
'#list_type' => 'ul',
],
];
} catch (\Exception $exception) {
$build[$entity_id]['preview'] = [
'#markup' => $this
->t('Can not display preview of %split', [
'%split' => $entity
->label(),
]),
];
}
try {
$storage = $this->splitManager
->singleExportTarget($config);
$build[$entity_id]['exported'] = [
'#type' => 'container',
'title' => [
'#type' => 'html_tag',
'#tag' => 'h3',
'#value' => $this
->t('Exported'),
],
'items' => [
'#theme' => 'item_list',
'#items' => $this
->listStorageContents($storage),
'#list_type' => 'ul',
],
];
} catch (\Exception $exception) {
$build[$entity_id]['exported'] = [
'#markup' => $this
->t('Can not display export storage of %split', [
'%split' => $entity
->label(),
]),
];
}
}
return $build;
}
/**
* List the contents of a storage.
*
* @param \Drupal\Core\Config\StorageInterface $storage
* The storage.
*
* @return array
* the contents.
*/
protected function listStorageContents(StorageInterface $storage) : array {
$list = $storage
->createCollection(StorageInterface::DEFAULT_COLLECTION)
->listAll();
foreach ($storage
->getAllCollectionNames() as $collection) {
foreach ($storage
->createCollection($collection)
->listAll() as $name) {
$list[] = $collection . ':' . $name;
}
}
return $list;
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigSplitEntityViewBuilder:: |
protected | property | The split manager. | |
ConfigSplitEntityViewBuilder:: |
public static | function |
Instantiates a new instance of this entity handler. Overrides EntityViewBuilder:: |
|
ConfigSplitEntityViewBuilder:: |
protected | function | List the contents of a storage. | |
ConfigSplitEntityViewBuilder:: |
public | function |
Builds the render array for the provided entities. Overrides EntityViewBuilder:: |
|
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
protected | property | ||
DependencySerializationTrait:: |
public | function | 2 | |
DependencySerializationTrait:: |
public | function | 2 | |
EntityHandlerBase:: |
protected | property | The module handler to invoke hooks on. | 5 |
EntityHandlerBase:: |
protected | function | Gets the module handler. | 5 |
EntityHandlerBase:: |
public | function | Sets the module handler for this handler. | |
EntityViewBuilder:: |
protected | property | The cache bin used to store the render cache. | |
EntityViewBuilder:: |
protected | property | The entity display repository. | |
EntityViewBuilder:: |
protected | property | The entity repository service. | |
EntityViewBuilder:: |
protected | property | Information about the entity type. | |
EntityViewBuilder:: |
protected | property | The type of entities for which this view builder is instantiated. | |
EntityViewBuilder:: |
protected | property | The language manager. | |
EntityViewBuilder:: |
protected | property | The EntityViewDisplay objects created for individual field rendering. | |
EntityViewBuilder:: |
protected | property | The theme registry. | |
EntityViewBuilder:: |
protected | function | Add contextual links. | |
EntityViewBuilder:: |
protected | function | Specific per-entity building. | 1 |
EntityViewBuilder:: |
public | function | Builds an entity's view; augments entity defaults. | |
EntityViewBuilder:: |
public | function |
Builds the component fields and properties of a set of entities. Overrides EntityViewBuilderInterface:: |
7 |
EntityViewBuilder:: |
public | function | Builds multiple entities' views; augments entity defaults. | |
EntityViewBuilder:: |
protected | function | Provides entity-specific defaults to the build process. | 4 |
EntityViewBuilder:: |
public | function |
The cache tag associated with this entity view builder. Overrides EntityViewBuilderInterface:: |
|
EntityViewBuilder:: |
protected | function | Gets an EntityViewDisplay for rendering an individual field. | |
EntityViewBuilder:: |
protected | function | Determines whether the view mode is cacheable. | |
EntityViewBuilder:: |
public | function |
Resets the entity render cache. Overrides EntityViewBuilderInterface:: |
|
EntityViewBuilder:: |
public static | function |
Lists the trusted callbacks provided by the implementing class. Overrides TrustedCallbackInterface:: |
2 |
EntityViewBuilder:: |
public | function |
Builds the render array for the provided entity. Overrides EntityViewBuilderInterface:: |
4 |
EntityViewBuilder:: |
public | function |
Builds a renderable array for the value of a single field in an entity. Overrides EntityViewBuilderInterface:: |
|
EntityViewBuilder:: |
public | function |
Builds a renderable array for a single field item. Overrides EntityViewBuilderInterface:: |
|
EntityViewBuilder:: |
public | function | Constructs a new EntityViewBuilder. | 2 |
StringTranslationTrait:: |
protected | property | The string translation service. | 4 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TrustedCallbackInterface:: |
constant | Untrusted callbacks throw exceptions. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger silenced E_USER_DEPRECATION errors. | ||
TrustedCallbackInterface:: |
constant | Untrusted callbacks trigger E_USER_WARNING errors. |