openeuropa / oe_whitelabel

European Union Public License 1.2
2 stars 4 forks source link

OEL-2820: FieldFormatters. #254

Open julien- opened 5 months ago

julien- commented 5 months ago
classDiagram
    class FeaturedMediaFormatterBase {
        EntityRepositoryInterface $entityRepository

        defaultSettings() array
        settingsForm(array $form, FormStateInterface $form_state)
       settingsSummary() array
    }
    class FeaturedMediaImageFormatter {

      function viewElements(FieldItemListInterface $items, $langcode) array
    }
    FeaturedMediaFormatterBase --|> FeaturedMediaImageFormatter

    class FeaturedMediaImageValueObjectFormatter {

      function viewElements(FieldItemListInterface $items, $langcode = NULL) array ['src','alt']
      function needsEntityLoad(EntityReferenceItem $item)

    }
    FeaturedMediaFormatterBase --|> FeaturedMediaImageValueObjectFormatter 

    class ImageFormatterBase {
    }
    class EntityReferenceImageValueObjectFormatter {
      FileUrlGeneratorInterface $fileUrlGenerator
      EntityTypeManagerInterface $entityTypeManager
      LanguageManagerInterface $languageManager

      function defaultSettings() array
      function settingsForm(array $form, FormStateInterface $form_state) array
      function settingsSummary() array
      function view(FieldItemListInterface $items, $langcode = NULL) array
      function viewElements(FieldItemListInterface $items, $langcode = NULL) array ['src','alt']
    }
    ImageFormatterBase --|> EntityReferenceImageValueObjectFormatter