You are here

protected function LingotekJobAssignToMultipleConfigForm::getSelectedMappers in Lingotek Translation 3.0.x

Same name and namespace in other branches
  1. 8.2 src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  2. 4.0.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  3. 3.1.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  4. 3.2.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  5. 3.3.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  6. 3.4.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  7. 3.5.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  8. 3.6.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  9. 3.7.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
  10. 3.8.x src/Form/LingotekJobAssignToMultipleConfigForm.php \Drupal\lingotek\Form\LingotekJobAssignToMultipleConfigForm::getSelectedMappers()

Gets the select mappers from their IDs.

Parameters

$values: Array of ids.

Return value

\Drupal\config_translation\ConfigNamesMapper[] The mappers.

Throws

\Drupal\Component\Plugin\Exception\InvalidPluginDefinitionException

\Drupal\Component\Plugin\Exception\PluginNotFoundException

2 calls to LingotekJobAssignToMultipleConfigForm::getSelectedMappers()
LingotekJobAssignToMultipleConfigForm::buildForm in src/Form/LingotekJobAssignToMultipleConfigForm.php
Form constructor.
LingotekJobAssignToMultipleConfigForm::submitForm in src/Form/LingotekJobAssignToMultipleConfigForm.php
Form submission handler.

File

src/Form/LingotekJobAssignToMultipleConfigForm.php, line 283

Class

LingotekJobAssignToMultipleConfigForm
Form for bulk assignation of Job ID to config entities.

Namespace

Drupal\lingotek\Form

Code

protected function getSelectedMappers($values) {
  $mappers = [];
  foreach ($values as $type => $data) {
    if ($type === 'config') {
      foreach ($data as $key => $languages) {
        $mappers[$key] = $this->mappers[$key];
      }
    }
    elseif (substr($type, -7) == '_fields') {
      $mapper = $this->mappers[$type];
      $ids = \Drupal::entityQuery('field_config')
        ->condition('id', array_keys($data))
        ->execute();
      $fields = FieldConfig::loadMultiple($ids);
      $mappers = [];
      foreach ($fields as $id => $field) {
        $new_mapper = clone $mapper;
        $new_mapper
          ->setEntity($field);
        $mappers[$field
          ->id()] = $new_mapper;
      }
    }
    else {
      $entities = $this->entityTypeManager
        ->getStorage($type)
        ->loadMultiple(array_keys($data));
      foreach ($entities as $entity) {
        $mapper = clone $this->mappers[$type];
        $mapper
          ->setEntity($entity);
        $mappers[$entity
          ->id()] = $mapper;
      }
    }
  }
  return $mappers;
}