function media_directories_ui_field_widget_entity_browser_entity_reference_form_alter in Media Directories 2.x
Same name and namespace in other branches
- 8 modules/media_directories_ui/media_directories_ui.module \media_directories_ui_field_widget_entity_browser_entity_reference_form_alter()
Implements hook_field_widget_WIDGET_TYPE_form_alter().
File
- modules/
media_directories_ui/ media_directories_ui.module, line 270 - Main module file.
Code
function media_directories_ui_field_widget_entity_browser_entity_reference_form_alter(&$element, FormStateInterface $form_state, $context) {
if (isset($element['entity_browser']) && $element['entity_browser']['#entity_browser'] === 'media_directories_modal') {
/** @var \Drupal\Core\Field\EntityReferenceFieldItemList $items */
$items = $context['items'];
$handler_settings = $items
->getSetting('handler_settings');
$target_bundles = $handler_settings['target_bundles'];
// Add bundle validation constraint to entity browser.
$element['entity_browser']['#entity_browser_validators']['target_bundles'] = [
'bundle' => $target_bundles,
];
$current_items = $element['current']['items'];
$cardinality = $element['entity_browser']['#cardinality'];
$element['entity_browser']['#widget_context']['remaining'] = $cardinality - count($current_items);
}
}