You are here

public function LingotekMediaBulkForm::form in Lingotek Translation 3.4.x

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

Adds the thumbnail for a media item as the first column.

Parameters

array &$form: The form definition array.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

File

src/Form/LingotekMediaBulkForm.php, line 27

Class

LingotekMediaBulkForm
Special treatment for Media in bulk form.

Namespace

Drupal\lingotek\Form

Code

public function form(array &$form, FormStateInterface $form_state) {
  $build_info = $form_state
    ->getBuildInfo();
  if ($form['#form_id'] === 'lingotek_management' && $build_info && isset($build_info['form_id']) && $build_info['form_id'] === 'lingotek_management') {
    $formObject = $build_info['callback_object'];
    if ($formObject
      ->getEntityTypeId() === 'media') {
      $thumbnailExists = ImageStyle::load('thumbnail');
      $mids = array_keys($form['table']['#options']);

      /** @var \Drupal\media\MediaInterface[] $medias */
      $medias = Media::loadMultiple($mids);
      $form['table']['#header'] = [
        'thumbnail' => $this
          ->t('Thumbnail'),
      ] + $form['table']['#header'];
      foreach ($medias as $id => $media) {
        $displayOptions = [
          'label' => 'hidden',
        ];
        if ($thumbnailExists) {
          $displayOptions['settings']['image_style'] = 'thumbnail';
        }
        $form['table']['#options'][$id]['thumbnail']['data'] = $media
          ->get('thumbnail')
          ->view($displayOptions);
      }
    }
  }
}