/**
  * {@inheritdoc}
  */
 public function settingsForm(array $form, FormStateInterface $form_state)
 {
     $element = parent::settingsForm($form, $form_state);
     // This formatter doesn't support linking.
     unset($element['image_link']);
     return $element;
 }
 /**
  * {@inheritdoc}
  */
 public function viewElements(FieldItemListInterface $items)
 {
     $elements = parent::viewElements($items);
     foreach ($elements as &$element) {
         $element['#theme'] = 'image_title_caption_formatter';
     }
     return $elements;
 }
 /**
  * {@inheritdoc}
  */
 public function viewElements(FieldItemListInterface $items, $langcode)
 {
     $elements = parent::viewElements($items, $langcode);
     $new_elements = [];
     foreach ($elements as $delta => $element) {
         $new_elements[$delta] = ['image' => $element];
     }
     foreach ($items as $delta => $item) {
         $new_elements[$delta]['text'] = ['#markup' => $item->slide_text];
     }
     return $new_elements;
 }
 /**
  * {@inheritdoc}
  */
 public static function isApplicable(FieldDefinitionInterface $field_definition)
 {
     // This formatter only applies to multi-image fields
     return parent::isApplicable($field_definition) && $field_definition->getFieldStorageDefinition()->isMultiple();
 }
 /**
  * {@inheritdoc}
  */
 public function settingsSummary()
 {
     $summary = parent::settingsSummary();
     $link_types = array('content' => t('Linked to content'), 'media' => t('Linked to media entity'));
     // Display this setting only if image is linked.
     $image_link_setting = $this->getSetting('image_link');
     if (isset($link_types[$image_link_setting])) {
         $summary[] = $link_types[$image_link_setting];
     }
     return $summary;
 }