Chris@0: ['image-widget', 'js-form-managed-file', 'form-managed-file', 'clearfix']]; Chris@0: Chris@0: if (!empty($element['fids']['#value'])) { Chris@0: $file = reset($element['#files']); Chris@0: $element['file_' . $file->id()]['filename']['#suffix'] = ' (' . format_size($file->getSize()) . ') '; Chris@0: } Chris@0: Chris@0: $variables['data'] = []; Chris@0: foreach (Element::children($element) as $child) { Chris@0: $variables['data'][$child] = $element[$child]; Chris@0: } Chris@0: Chris@0: } Chris@0: Chris@0: /** Chris@0: * Prepares variables for image formatter templates. Chris@0: * Chris@0: * Default template: image-formatter.html.twig. Chris@0: * Chris@0: * @param array $variables Chris@0: * An associative array containing: Chris@0: * - item: An ImageItem object. Chris@0: * - item_attributes: An optional associative array of html attributes to be Chris@0: * placed in the img tag. Chris@0: * - image_style: An optional image style. Chris@0: * - url: An optional \Drupal\Core\Url object. Chris@0: */ Chris@0: function template_preprocess_image_formatter(&$variables) { Chris@0: if ($variables['image_style']) { Chris@0: $variables['image'] = [ Chris@0: '#theme' => 'image_style', Chris@0: '#style_name' => $variables['image_style'], Chris@0: ]; Chris@0: } Chris@0: else { Chris@0: $variables['image'] = [ Chris@0: '#theme' => 'image', Chris@0: ]; Chris@0: } Chris@0: $variables['image']['#attributes'] = $variables['item_attributes']; Chris@0: Chris@0: $item = $variables['item']; Chris@0: Chris@0: // Do not output an empty 'title' attribute. Chris@17: if (mb_strlen($item->title) != 0) { Chris@0: $variables['image']['#title'] = $item->title; Chris@0: } Chris@0: Chris@0: if (($entity = $item->entity) && empty($item->uri)) { Chris@0: $variables['image']['#uri'] = $entity->getFileUri(); Chris@0: } Chris@0: else { Chris@0: $variables['image']['#uri'] = $item->uri; Chris@0: } Chris@0: Chris@0: foreach (['width', 'height', 'alt'] as $key) { Chris@0: $variables['image']["#$key"] = $item->$key; Chris@0: } Chris@0: }