function geocoder_field_form_field_config_edit_form_alter in Geocoder 8.2
Same name and namespace in other branches
- 8.3 modules/geocoder_field/geocoder_field.module \geocoder_field_form_field_config_edit_form_alter()
Implements hook_form_FORM_ID_alter().
File
- modules/
geocoder_field/ geocoder_field.module, line 80 - Geocoder Field module.
Code
function geocoder_field_form_field_config_edit_form_alter(array &$form, FormStateInterface $form_state, $form_id) {
/** @var \Drupal\Core\Field\FieldConfigInterface $field */
$field = $form_state
->getFormObject()
->getEntity();
/** @var \Drupal\geocoder_field\GeocoderFieldPluginInterface $field_plugin */
if (!($field_plugin = \Drupal::service('geocoder_field.plugin.manager.field')
->getPluginByFieldType($field
->getType()))) {
// There's no geocoding field plugin to handle this type of field.
return;
}
$form['third_party_settings']['geocoder_field'] = $field_plugin
->getSettingsForm($field, $form, $form_state);
// Temporary store the field plugin to be used in the validation phase.
$form['third_party_settings']['geocoder_field']['field_plugin'] = [
'#type' => 'value',
'#value' => $field_plugin,
];
$form['#validate'][] = 'geocoder_field_field_config_edit_form_validate';
}