protected function FileUploadForm::buildInputElement in Drupal 10        
                          
                  
                        Same name and namespace in other branches
- 8 core/modules/media_library/src/Form/FileUploadForm.php \Drupal\media_library\Form\FileUploadForm::buildInputElement()
- 9 core/modules/media_library/src/Form/FileUploadForm.php \Drupal\media_library\Form\FileUploadForm::buildInputElement()
File
 
   - core/modules/media_library/src/Form/FileUploadForm.php, line 143
Class
  
  - FileUploadForm 
- Creates a form to create media entities from uploaded files.
Namespace
  Drupal\media_library\Form
Code
protected function buildInputElement(array $form, FormStateInterface $form_state) {
  
  $media_type = $this
    ->getMediaType($form_state);
  $item = $this
    ->createFileItem($media_type);
  
  $state = $this
    ->getMediaLibraryState($form_state);
  if (!$state
    ->hasSlotsAvailable()) {
    return $form;
  }
  $slots = $state
    ->getAvailableSlots();
  
  $form['container'] = [
    '#type' => 'container',
  ];
  $process = (array) $this->elementInfo
    ->getInfoProperty('managed_file', '#process', []);
  $form['container']['upload'] = [
    '#type' => 'managed_file',
    '#title' => $this
      ->formatPlural($slots, 'Add file', 'Add files'),
    
    '#process' => array_merge([
      '::validateUploadElement',
    ], $process, [
      '::processUploadElement',
    ]),
    '#upload_validators' => $item
      ->getUploadValidators(),
    '#multiple' => $slots > 1 || $slots === FieldStorageDefinitionInterface::CARDINALITY_UNLIMITED,
    '#cardinality' => $slots,
    '#remaining_slots' => $slots,
  ];
  $file_upload_help = [
    '#theme' => 'file_upload_help',
    '#upload_validators' => $form['container']['upload']['#upload_validators'],
    '#cardinality' => $slots,
  ];
  
  $form['container']['upload']['#description'] = $this->renderer
    ->renderPlain($file_upload_help);
  return $form;
}