class ConfigTranslationEntityListBuilder in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/config_translation/src/Controller/ConfigTranslationEntityListBuilder.php \Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder
Defines the configuration translation list builder for entities.
Hierarchy
- class \Drupal\Core\Entity\EntityHandlerBase uses DependencySerializationTrait, StringTranslationTrait
- class \Drupal\Core\Entity\EntityListBuilder implements EntityHandlerInterface, EntityListBuilderInterface
- class \Drupal\Core\Config\Entity\ConfigEntityListBuilder
- class \Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder implements ConfigTranslationEntityListBuilderInterface
- class \Drupal\Core\Config\Entity\ConfigEntityListBuilder
- class \Drupal\Core\Entity\EntityListBuilder implements EntityHandlerInterface, EntityListBuilderInterface
Expanded class hierarchy of ConfigTranslationEntityListBuilder
File
- core/
modules/ config_translation/ src/ Controller/ ConfigTranslationEntityListBuilder.php, line 16 - Contains \Drupal\config_translation\Controller\ConfigTranslationEntityListBuilder.
Namespace
Drupal\config_translation\ControllerView source
class ConfigTranslationEntityListBuilder extends ConfigEntityListBuilder implements ConfigTranslationEntityListBuilderInterface {
/**
* Provides user facing strings for the filter element.
*
* @return array
*/
protected function getFilterLabels() {
return array(
'placeholder' => $this
->t('Enter label'),
'description' => $this
->t('Enter a part of the label or description to filter by.'),
);
}
/**
* {@inheritdoc}
*/
public function render() {
$build = parent::render();
$filter = $this
->getFilterLabels();
usort($build['table']['#rows'], array(
$this,
'sortRows',
));
$build['filters'] = array(
'#type' => 'container',
'#attributes' => array(
'class' => array(
'table-filter',
'js-show',
),
),
'#weight' => -10,
);
$build['filters']['text'] = array(
'#type' => 'search',
'#title' => $this
->t('Search'),
'#size' => 30,
'#placeholder' => $filter['placeholder'],
'#attributes' => array(
'class' => array(
'table-filter-text',
),
'data-table' => '.config-translation-entity-list',
'autocomplete' => 'off',
'title' => $filter['description'],
),
);
$build['table']['#attributes']['class'][] = 'config-translation-entity-list';
$build['table']['#weight'] = 0;
$build['#attached']['library'][] = 'system/drupal.system.modules';
return $build;
}
/**
* {@inheritdoc}
*/
public function buildRow(EntityInterface $entity) {
$row['label']['data'] = $entity
->label();
$row['label']['class'][] = 'table-filter-text-source';
return $row + parent::buildRow($entity);
}
/**
* {@inheritdoc}
*/
public function buildHeader() {
$header['label'] = $this
->t('Label');
return $header + parent::buildHeader();
}
/**
* {@inheritdoc}
*/
public function getOperations(EntityInterface $entity) {
$operations = parent::getOperations($entity);
foreach (array_keys($operations) as $operation) {
// This is a translation UI for translators. Show the translation
// operation only.
if (!($operation == 'translate')) {
unset($operations[$operation]);
}
}
return $operations;
}
/**
* {@inheritdoc}
*/
public function sortRows($a, $b) {
return $this
->sortRowsMultiple($a, $b, array(
'label',
));
}
/**
* Sorts an array by multiple criteria.
*
* @param array $a
* First item for comparison.
* @param array $b
* Second item for comparison.
* @param array $keys
* The array keys to sort on.
*
* @return int
* The comparison result for uasort().
*/
protected function sortRowsMultiple($a, $b, $keys) {
$key = array_shift($keys);
$a_value = is_array($a) && isset($a[$key]['data']) ? $a[$key]['data'] : '';
$b_value = is_array($b) && isset($b[$key]['data']) ? $b[$key]['data'] : '';
if ($a_value == $b_value && !empty($keys)) {
return $this
->sortRowsMultiple($a, $b, $keys);
}
return strnatcasecmp($a_value, $b_value);
}
/**
* {@inheritdoc}
*/
public function setMapperDefinition($mapper_definition) {
// @todo Why is this method called on all config list controllers?
return $this;
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ConfigEntityListBuilder:: |
public | function |
Gets this list's default operations. Overrides EntityListBuilder:: |
15 |
ConfigEntityListBuilder:: |
public | function |
Loads entities of this type from storage for listing. Overrides EntityListBuilder:: |
7 |
ConfigTranslationEntityListBuilder:: |
public | function |
Builds the header row for the entity listing. Overrides EntityListBuilder:: |
2 |
ConfigTranslationEntityListBuilder:: |
public | function |
Builds a row for an entity in the entity listing. Overrides EntityListBuilder:: |
2 |
ConfigTranslationEntityListBuilder:: |
protected | function | Provides user facing strings for the filter element. | 2 |
ConfigTranslationEntityListBuilder:: |
public | function |
Provides an array of information to build a list of operation links. Overrides EntityListBuilder:: |
|
ConfigTranslationEntityListBuilder:: |
public | function |
Builds the entity listing as renderable array for table.html.twig. Overrides EntityListBuilder:: |
|
ConfigTranslationEntityListBuilder:: |
public | function |
Sets the config translation mapper definition. Overrides ConfigTranslationEntityListBuilderInterface:: |
1 |
ConfigTranslationEntityListBuilder:: |
public | function |
Sorts an array by value. Overrides ConfigTranslationEntityListBuilderInterface:: |
2 |
ConfigTranslationEntityListBuilder:: |
protected | function | Sorts an array by multiple criteria. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EntityHandlerBase:: |
protected | property | The module handler to invoke hooks on. | 3 |
EntityHandlerBase:: |
protected | function | Gets the module handler. | 3 |
EntityHandlerBase:: |
public | function | Sets the module handler for this handler. | |
EntityListBuilder:: |
protected | property | Information about the entity type. | |
EntityListBuilder:: |
protected | property | The entity type ID. | |
EntityListBuilder:: |
protected | property | The number of entities to list per page, or FALSE to list all entities. | 2 |
EntityListBuilder:: |
protected | property | The entity storage class. | |
EntityListBuilder:: |
public | function | Builds a renderable list of operation links for the entity. | 2 |
EntityListBuilder:: |
public static | function |
Instantiates a new instance of this entity handler. Overrides EntityHandlerInterface:: |
15 |
EntityListBuilder:: |
protected | function | Loads entity IDs using a pager sorted by the entity id. | 1 |
EntityListBuilder:: |
protected | function | Gets the label of an entity. | |
EntityListBuilder:: |
public | function |
Gets the entity storage. Overrides EntityListBuilderInterface:: |
|
EntityListBuilder:: |
protected | function | Gets the title of the page. | 1 |
EntityListBuilder:: |
public | function | Constructs a new EntityListBuilder object. | 13 |
StringTranslationTrait:: |
protected | property | The string translation service. | |
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. |