FileLinkWidget.php in File Link 2.0.x
File
src/Plugin/Field/FieldWidget/FileLinkWidget.php
View source
<?php
namespace Drupal\file_link\Plugin\Field\FieldWidget;
use Drupal\Core\Field\FieldItemListInterface;
use Drupal\Core\Form\FormStateInterface;
use Drupal\link\Plugin\Field\FieldWidget\LinkWidget;
class FileLinkWidget extends LinkWidget {
public function formElement(FieldItemListInterface $items, $delta, array $element, array &$form, FormStateInterface $form_state) {
$element = parent::formElement($items, $delta, $element, $form, $form_state);
$element['uri']['#type'] = 'url';
$element['uri']['#description'] = [
[
'#markup' => $this
->t("Enter the full file URL, such as <code>http://example.com/doc.pdf</code>."),
],
];
$extensions = implode(', ', explode(' ', $this
->getFieldSetting('file_extensions')));
if ($extensions) {
$element['uri']['#description'][] = [
'#prefix' => ' ',
'#markup' => $this
->t('Allowed extensions: %ext.', [
'%ext' => $extensions,
]),
];
}
unset($element['uri']['#target_type'], $element['uri']['#attributes']['data-autocomplete-first-character-blacklist'], $element['uri']['#process_default_value']);
$element['size'] = [
'#type' => 'value',
'#value' => (int) (isset($items[$delta]->size) ? $items[$delta]->size : NULL),
];
$element['format'] = [
'#type' => 'value',
'#value' => isset($items[$delta]->format) ? $items[$delta]->format : NULL,
];
return $element;
}
}