--- /dev/null
+id: d7_field_instance_widget_settings
+label: Field instance widget configuration
+migration_tags:
+ - Drupal 7
+ - Configuration
+class: Drupal\migrate_drupal\Plugin\migrate\FieldMigration
+field_plugin_method: processFieldWidget
+source:
+ plugin: d7_field_instance_per_form_display
+ constants:
+ form_mode: default
+ third_party_settings: { }
+process:
+ # We skip field types that don't exist because they weren't migrated by the
+ # field migration.
+ field_type_exists:
+ -
+ plugin: migration_lookup
+ migration: d7_field
+ source:
+ - field_name
+ - entity_type
+ -
+ plugin: extract
+ index:
+ - 0
+ -
+ plugin: skip_on_empty
+ method: row
+ # The bundle needs to be statically mapped in order to support comment types
+ # that might already exist before this migration is run. See
+ # d7_comment_type.yml for more information.
+ bundle:
+ plugin: static_map
+ source: bundle
+ bypass: true
+ map:
+ comment_node_forum: comment_forum
+ form_mode: 'constants/form_mode'
+ field_name: field_name
+ entity_type: entity_type
+ 'options/weight': 'widget/weight'
+ widget_type:
+ plugin: process_field
+ source: type
+ method: getFieldWidgetType
+ 'options/type':
+ type:
+ plugin: static_map
+ bypass: true
+ source: '@widget_type'
+ map:
+ link_field: link_default
+ email_textfield: email_default
+ date_select: datetime_default
+ date_text: datetime_default
+ date_popup: datetime_default
+ media_generic: file_generic
+ phone_textfield: telephone_default
+ options_onoff: boolean_checkbox
+ entityreference_autocomplete: entity_reference_autocomplete
+ entityreference_autocomplete_tags: entity_reference_autocomplete_tags
+ taxonomy_autocomplete: entity_reference_autocomplete
+ 'options/settings':
+ plugin: field_instance_widget_settings
+ source:
+ - 'widget/type'
+ - 'widget/settings'
+ 'options/third_party_settings': 'constants/third_party_settings'
+destination:
+ plugin: component_entity_form_display
+migration_dependencies:
+ required:
+ - d7_field_instance