3 namespace Drupal\file\Plugin\Field\FieldType;
5 use Drupal\Core\Field\FieldStorageDefinitionInterface;
6 use Drupal\Core\Field\Plugin\Field\FieldType\UriItem;
7 use Drupal\Core\TypedData\DataDefinition;
8 use Drupal\file\ComputedFileUrl;
11 * File-specific plugin implementation of a URI item to provide a full URL.
15 * label = @Translation("File URI"),
16 * description = @Translation("An entity field containing a file URI, and a computed root-relative file URL."),
18 * default_formatter = "file_uri",
19 * default_widget = "uri",
22 class FileUriItem extends UriItem {
27 public static function propertyDefinitions(FieldStorageDefinitionInterface $field_definition) {
28 $properties = parent::propertyDefinitions($field_definition);
30 $properties['url'] = DataDefinition::create('string')
31 ->setLabel(t('Root-relative file URL'))
34 ->setClass(ComputedFileUrl::class);