Esempio n. 1
0
 /**
  * {@inheritdoc}
  */
 protected function formMultipleElements(FieldItemListInterface $items, array &$form, FormStateInterface $form_state)
 {
     $elements = parent::formMultipleElements($items, $form, $form_state);
     // Alter #upload_validators passed to #file_upload_description.
     $this->alterFileUploadHelpParameters($elements['#file_upload_description']);
     // TODO: Why do we need this?
     if ($this->isDefaultValueWidget($form_state) && !empty($elements[1])) {
         unset($elements[1]);
         $elements['#file_upload_delta'] = 0;
     }
     return $elements;
 }
Esempio n. 2
0
 /**
  * Overrides \Drupal\file\Plugin\Field\FieldWidget\FileWidget::formMultipleElements().
  *
  * Special handling for draggable multiple widgets and 'add more' button.
  */
 protected function formMultipleElements(FieldItemListInterface $items, array &$form, FormStateInterface $form_state)
 {
     $elements = parent::formMultipleElements($items, $form, $form_state);
     $cardinality = $this->fieldDefinition->getFieldStorageDefinition()->getCardinality();
     $file_upload_help = array('#theme' => 'file_upload_help', '#description' => '', '#upload_validators' => $elements[0]['#upload_validators'], '#cardinality' => $cardinality);
     if ($cardinality == 1) {
         // If there's only one field, return it as delta 0.
         if (empty($elements[0]['#default_value']['fids'])) {
             $file_upload_help['#description'] = field_filter_xss($this->fieldDefinition->getDescription());
             $elements[0]['#description'] = drupal_render($file_upload_help);
         }
     } else {
         $elements['#file_upload_description'] = $file_upload_help;
     }
     return $elements;
 }