Code Coverage  | 
     ||||||||||
Classes and Traits  | 
      Functions and Methods  | 
      Lines  | 
     ||||||||
| Total |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      1 / 1  | 
      CRAP |         | 
      100.00%  | 
      6 / 6  | 
     
| ConfigFieldMapper |         | 
      100.00%  | 
      1 / 1  | 
              | 
      100.00%  | 
      4 / 4  | 
      6 |         | 
      100.00%  | 
      6 / 6  | 
     
| getBaseRouteParameters |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      0 / 0  | 
     |||
| getOverviewRouteName |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      0 / 0  | 
     |||
| getTypeLabel |         | 
      100.00%  | 
      1 / 1  | 
      1 |         | 
      100.00%  | 
      0 / 0  | 
     |||
| setEntity |         | 
      100.00%  | 
      1 / 1  | 
      2 |         | 
      100.00%  | 
      6 / 6  | 
     |||
| <?php | |
| /** | |
| * @file | |
| * Contains \Drupal\config_translation\ConfigFieldMapper. | |
| */ | |
| namespace Drupal\config_translation; | |
| use Drupal\Core\Config\Entity\ConfigEntityInterface; | |
| /** | |
| * Configuration mapper for fields. | |
| * | |
| * On top of plugin definition values on ConfigEntityMapper, the plugin | |
| * definition for field mappers are required to contain the following | |
| * additional keys: | |
| * - base_entity_type: The name of the entity type the fields are attached to. | |
| */ | |
| class ConfigFieldMapper extends ConfigEntityMapper { | |
| /** | |
| * Loaded entity instance to help produce the translation interface. | |
| * | |
| * @var \Drupal\field\FieldConfigInterface | |
| */ | |
| protected $entity; | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getBaseRouteParameters() { | |
| $parameters = parent::getBaseRouteParameters(); | |
| $base_entity_info = $this->entityManager->getDefinition($this->pluginDefinition['base_entity_type']); | |
| $bundle_parameter_key = $base_entity_info->getBundleEntityType() ?: 'bundle'; | |
| $parameters[$bundle_parameter_key] = $this->entity->getTargetBundle(); | |
| return $parameters; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getOverviewRouteName() { | |
| return 'entity.field_config.config_translation_overview.' . $this->pluginDefinition['base_entity_type']; | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function getTypeLabel() { | |
| $base_entity_info = $this->entityManager->getDefinition($this->pluginDefinition['base_entity_type']); | |
| return $this->t('@label fields', array('@label' => $base_entity_info->getLabel())); | |
| } | |
| /** | |
| * {@inheritdoc} | |
| */ | |
| public function setEntity(ConfigEntityInterface $entity) { | |
| if (parent::setEntity($entity)) { | |
| // Field storage config can also contain translatable values. Add the name | |
| // of the config as well to the list of configs for this entity. | |
| /** @var \Drupal\field\FieldStorageConfigInterface $field_storage */ | |
| $field_storage = $this->entity->getFieldStorageDefinition(); | |
| /** @var \Drupal\Core\Config\Entity\ConfigEntityTypeInterface $entity_type_info */ | |
| $entity_type_info = $this->entityManager->getDefinition($field_storage->getEntityTypeId()); | |
| $this->addConfigName($entity_type_info->getConfigPrefix() . '.' . $field_storage->id()); | |
| return TRUE; | |
| } | |
| return FALSE; | |
| } | |
| } |