FieldInstanceDefaults.php in Drupal 10
File
core/modules/field/src/Plugin/migrate/process/d6/FieldInstanceDefaults.php
View source
<?php
namespace Drupal\field\Plugin\migrate\process\d6;
use Drupal\migrate\MigrateExecutableInterface;
use Drupal\migrate\ProcessPluginBase;
use Drupal\migrate\Row;
class FieldInstanceDefaults extends ProcessPluginBase {
public function transform($value, MigrateExecutableInterface $migrate_executable, Row $row, $destination_property) {
[
$widget_type,
$widget_settings,
] = $value;
$default = [];
switch ($widget_type) {
case 'text_textfield':
case 'number':
case 'phone_textfield':
if (!empty($widget_settings['default_value'][0]['value'])) {
$default['value'] = $widget_settings['default_value'][0]['value'];
}
break;
case 'imagefield_widget':
break;
case 'date_select':
if (!empty($widget_settings['default_value'])) {
$default['default_date_type'] = 'relative';
$default['default_date'] = $widget_settings['default_value'];
}
break;
case 'email_textfield':
if (!empty($widget_settings['default_value'][0]['email'])) {
$default['value'] = $widget_settings['default_value'][0]['email'];
}
break;
case 'link':
if (!empty($widget_settings['default_value'][0]['url'])) {
$default['title'] = $widget_settings['default_value'][0]['title'];
$default['uri'] = $widget_settings['default_value'][0]['url'];
$default['options'] = [
'attributes' => [],
];
}
break;
}
if (!empty($default)) {
$default = [
$default,
];
}
return $default;
}
}