uuid: 96e322a2-20b4-473f-953b-902f5a6d3503
langcode: en
status: true
dependencies: {  }
id: upgrade_d7_field_formatter_settings
class: Drupal\migrate_drupal\Plugin\migrate\FieldMigration
field_plugin_method: alterFieldFormatterMigration
cck_plugin_method: null
migration_tags:
  - 'Drupal 7'
  - Configuration
migration_group: migrate_drupal_7
label: 'Field formatter configuration'
source:
  plugin: d7_field_instance_per_view_mode
  constants:
    third_party_settings: {  }
process:
  field_type_exists:
    -
      plugin: migration_lookup
      migration: upgrade_d7_field
      source:
        - field_name
        - entity_type
    -
      plugin: extract
      index:
        - 0
    -
      plugin: skip_on_empty
      method: row
  entity_type:
    -
      plugin: get
      source: entity_type
    -
      plugin: static_map
      map:
        field_collection_item: paragraph
        paragraphs_item: paragraph
      bypass: true
  bundle:
    -
      plugin: migration_lookup
      migration: upgrade_d7_field_instance
      source:
        - entity_type
        - bundle
        - field_name
    -
      plugin: extract
      index:
        - 1
  view_mode:
    -
      plugin: migration_lookup
      migration: upgrade_d7_view_modes
      source:
        - entity_type
        - view_mode
    -
      plugin: extract
      index:
        - 1
    -
      plugin: static_map
      bypass: true
      map:
        full: default
  field_name:
    -
      plugin: get
      source: field_name
  options/label:
    -
      plugin: get
      source: formatter/label
  options/weight:
    -
      plugin: get
      source: formatter/weight
  plugin_id:
    -
      plugin: process_field
      source: type
      method: getPluginId
  formatter_type:
    -
      plugin: process_field
      source: type
      method: getFieldFormatterType
  options/type:
    -
      plugin: static_map
      bypass: true
      source:
        - '@plugin_id'
        - '@formatter_type'
      map:
        taxonomy_term_reference:
          taxonomy_term_reference_link: entity_reference_label
          taxonomy_term_reference_plain: entity_reference_label
          taxonomy_term_reference_rss_category: entity_reference_label
          i18n_taxonomy_term_reference_link: entity_reference_label
          i18n_taxonomy_term_reference_plain: entity_reference_label
          entityreference_entity_view: entity_reference_entity_view
        email:
          email_formatter_default: email_mailto
          email_formatter_contact: basic_string
          email_formatter_plain: basic_string
          email_formatter_spamspan: basic_string
          email_default: email_mailto
          email_contact: basic_string
          email_plain: basic_string
          email_spamspan: basic_string
        field_url:
          url_default: link
          url_plain: link
        field_collection:
          field_collection_view: entity_reference_revisions_entity_view
        addressfield:
          addressfield_default: address_default
        telephone:
          text_plain: string
          telephone_link: telephone_link
        entityreference:
          entityreference_label: entity_reference_label
          entityreference_entity_id: entity_reference_entity_id
          entityreference_entity_view: entity_reference_entity_view
        file:
          default: file_default
          url_plain: file_url_plain
          path_plain: file_url_plain
          image_plain: image
          image_nodelink: image
          image_imagelink: image
        datetime:
          date_default: datetime_default
          format_interval: datetime_time_ago
          date_plain: datetime_plain
    -
      plugin: d7_field_type_defaults
    -
      plugin: skip_on_empty
      method: row
  hidden:
    -
      plugin: static_map
      source: '@options/type'
      map:
        hidden: true
      default_value: false
  options/settings:
    -
      plugin: default_value
      source: formatter/settings
      default_value: {  }
  options/third_party_settings:
    -
      plugin: get
      source: constants/third_party_settings
  options/settings/view_mode:
    field_collection:
      plugin: paragraphs_process_on_value
      source_value: type
      expected_value: field_collection
      process:
        plugin: get
        source: formatter/settings/view_mode
destination:
  plugin: component_entity_display
migration_dependencies:
  required:
    - upgrade_d7_field_instance
    - upgrade_d7_view_modes
  optional:
    - upgrade_d7_field_collection_type
    - upgrade_d7_field
    - upgrade_d7_field_instance
    - upgrade_d7_view_modes
