function better_formats_field_widget_form_alter in Better Formats 8
Implements hook_field_widget_form_alter().
File
- ./
better_formats.module, line 16 - Enhances the core input format system by managing input format defaults and settings.
Code
function better_formats_field_widget_form_alter(&$element, FormStateInterface $form_state, $context) {
$field_definition = $context['items']
->getFieldDefinition();
if (!$field_definition instanceof ThirdPartySettingsInterface) {
return;
}
$betterFormatsSettings = $field_definition
->getThirdPartySettings('better_formats');
if (empty($betterFormatsSettings)) {
return;
}
$element['#better_formats']['settings'] = $betterFormatsSettings;
$element['#better_formats']['existing_entity'] = FALSE;
$entity = $context['items']
->getEntity();
if (!empty($entity)) {
// Determine if this is an existing entity.
if ($entity
->id()) {
$element['#better_formats']['existing_entity'] = TRUE;
}
$element['#better_formats']['entity_type'] = $entity
->getEntityTypeId();
$default_value = $field_definition
->getDefaultValue($entity);
$default_value = array_shift($default_value);
$element['#better_formats']['default_value'] = isset($default_value['format']) ? $default_value['format'] : NULL;
}
}