You are here

protected function SvgImageFieldItem::defaultImageForm in SVG Image Field 2.0.x

Same name and namespace in other branches
  1. 8 src/Plugin/Field/FieldType/SvgImageFieldItem.php \Drupal\svg_image_field\Plugin\Field\FieldType\SvgImageFieldItem::defaultImageForm()
  2. 2.1.x src/Plugin/Field/FieldType/SvgImageFieldItem.php \Drupal\svg_image_field\Plugin\Field\FieldType\SvgImageFieldItem::defaultImageForm()

Builds the default_image details element.

Parameters

array $element: The form associative array passed by reference.

array $settings: The field settings array.

2 calls to SvgImageFieldItem::defaultImageForm()
SvgImageFieldItem::fieldSettingsForm in src/Plugin/Field/FieldType/SvgImageFieldItem.php
Returns a form for the field-level settings.
SvgImageFieldItem::storageSettingsForm in src/Plugin/Field/FieldType/SvgImageFieldItem.php
Returns a form for the storage-level settings.

File

src/Plugin/Field/FieldType/SvgImageFieldItem.php, line 230

Class

SvgImageFieldItem
Plugin implementation of the 'svg_image' field type.

Namespace

Drupal\svg_image_field\Plugin\Field\FieldType

Code

protected function defaultImageForm(array &$element, array $settings) {
  $element['default_image'] = [
    '#type' => 'details',
    '#title' => t('Default image'),
    '#open' => TRUE,
  ];

  // Convert the stored UUID to a FID.
  $fids = [];
  $uuid = $settings['default_image']['uuid'];
  if ($uuid && ($file = $this
    ->getEntityTypeManager()
    ->getStorage('file')
    ->loadByProperties([
    'uuid' => $uuid,
  ]))) {
    $file = reset($file);
    $fids[0] = $file
      ->id();
  }
  $upload_validators = $this
    ->getUploadValidators();
  $upload_validators['svg_image_field_validate_mime_type'] = [];
  $element['default_image']['uuid'] = [
    '#type' => 'managed_file',
    '#title' => t('Image'),
    '#description' => t('Image to be shown if no image is uploaded.'),
    '#default_value' => $fids,
    '#upload_location' => $settings['uri_scheme'] . '://default_images/',
    '#element_validate' => [
      '\\Drupal\\file\\Element\\ManagedFile::validateManagedFile',
      [
        get_class($this),
        'validateDefaultImageForm',
      ],
    ],
    '#upload_validators' => $upload_validators,
  ];
  $element['default_image']['alt'] = [
    '#type' => 'textfield',
    '#title' => t('Alternative text'),
    '#description' => t('This text will be used by screen readers, search engines, and when the image cannot be loaded.'),
    '#default_value' => $settings['default_image']['alt'],
    '#maxlength' => 512,
  ];
  $element['default_image']['title'] = [
    '#type' => 'textfield',
    '#title' => t('Title'),
    '#description' => t('The title attribute is used as a tooltip when the mouse hovers over the image.'),
    '#default_value' => $settings['default_image']['title'],
    '#maxlength' => 1024,
  ];
}