You are here

function geocoder_field_form_field_config_edit_form_alter in Geocoder 8.2

Same name and namespace in other branches
  1. 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';
}