You are here

function social_profile_field_widget_form_alter in Open Social 8.9

Same name and namespace in other branches
  1. 8 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  2. 8.2 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  3. 8.3 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  4. 8.4 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  5. 8.5 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  6. 8.6 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  7. 8.7 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  8. 8.8 modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  9. 10.3.x modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  10. 10.0.x modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  11. 10.1.x modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()
  12. 10.2.x modules/social_features/social_profile/social_profile.module \social_profile_field_widget_form_alter()

Implements hook_field_widget_form_alter().

Fix theme issues in profile fields.

File

modules/social_features/social_profile/social_profile.module, line 33
The Social profile module.

Code

function social_profile_field_widget_form_alter(&$element, FormStateInterface $form_state, $context) {

  /** @var \Drupal\Core\Field\FieldDefinitionInterface $field_definition */
  $field_definition = $context['items']
    ->getFieldDefinition();
  switch ($field_definition
    ->getName()) {
    case 'field_profile_phone_number':

      // @todo: remove this when rule for .form-tel elements will be added.
      $element['value']['#attributes']['class'][] = 'form-text';
      break;
    case 'field_profile_address':

      // @todo: remove this when script for custom selects will be added.
      $element['country_code']['#attributes']['class'][] = 'browser-default';
      break;
  }

  // This replaces all user entity references with our EntityReferenceSelection.
  if ($field_definition
    ->getType() === 'entity_reference') {
    if (isset($element['target_id']['#target_type']) && $element['target_id']['#target_type'] === 'user' && $element['target_id']['#type'] !== 'social_private_message_entity_autocomplete') {
      $element['target_id']['#selection_handler'] = 'social';
    }
  }
}