}
}
-/**
- * Implements hook_ENTITY_TYPE_insert( for menu entities.
- */
-function menu_ui_menu_insert(Menu $menu) {
- menu_cache_clear_all();
- // Invalidate the block cache to update menu-based derivatives.
- if (\Drupal::moduleHandler()->moduleExists('block')) {
- \Drupal::service('plugin.manager.block')->clearCachedDefinitions();
- }
-}
-
-/**
- * Implements hook_ENTITY_TYPE_update() for menu entities.
- */
-function menu_ui_menu_update(Menu $menu) {
- menu_cache_clear_all();
- // Invalidate the block cache to update menu-based derivatives.
- if (\Drupal::moduleHandler()->moduleExists('block')) {
- \Drupal::service('plugin.manager.block')->clearCachedDefinitions();
- }
-}
-
-/**
- * Implements hook_ENTITY_TYPE_predelete() for menu entities.
- */
-function menu_ui_menu_predelete(Menu $menu) {
- // Delete all links from the menu.
- /** @var \Drupal\Core\Menu\MenuLinkManagerInterface $menu_link_manager */
- $menu_link_manager = \Drupal::service('plugin.manager.menu.link');
- $menu_link_manager->deleteLinksInMenu($menu->id());
-}
-
-/**
- * Implements hook_ENTITY_TYPE_delete() for menu entities.
- */
-function menu_ui_menu_delete(Menu $menu) {
- menu_cache_clear_all();
-
- // Invalidate the block cache to update menu-based derivatives.
- if (\Drupal::moduleHandler()->moduleExists('block')) {
- \Drupal::service('plugin.manager.block')->clearCachedDefinitions();
- }
-}
-
/**
* Implements hook_block_view_BASE_BLOCK_ID_alter() for 'system_menu_block'.
*/
'title' => $menu_link->getTitle(),
'title_max_length' => $menu_link->getFieldDefinitions()['title']->getSetting('max_length'),
'description' => $menu_link->getDescription(),
+ 'description_max_length' => $menu_link->getFieldDefinitions()['description']->getSetting('max_length'),
'menu_name' => $menu_link->getMenuName(),
'parent' => $menu_link->getParentId(),
'weight' => $menu_link->getWeight(),
// definition.
$field_definitions = \Drupal::entityManager()->getBaseFieldDefinitions('menu_link_content');
$max_length = $field_definitions['title']->getSetting('max_length');
+ $description_max_length = $field_definitions['description']->getSetting('max_length');
$defaults = [
'entity_id' => 0,
'id' => '',
'title' => '',
'title_max_length' => $max_length,
'description' => '',
+ 'description_max_length' => $description_max_length,
'menu_name' => $menu_name,
'parent' => '',
'weight' => 0,
$node_type = $node->type->entity;
/** @var \Drupal\Core\Menu\MenuParentFormSelectorInterface $menu_parent_selector */
$menu_parent_selector = \Drupal::service('menu.parent_form_selector');
- $menu_names = menu_ui_get_menus();
- $type_menus = $node_type->getThirdPartySetting('menu_ui', 'available_menus', ['main']);
+ $type_menus_ids = $node_type->getThirdPartySetting('menu_ui', 'available_menus', ['main']);
+ if (empty($type_menus_ids)) {
+ return;
+ }
+ /** @var \Drupal\system\MenuInterface[] $type_menus */
+ $type_menus = Menu::loadMultiple($type_menus_ids);
$available_menus = [];
foreach ($type_menus as $menu) {
- $available_menus[$menu] = $menu_names[$menu];
+ $available_menus[$menu->id()] = $menu->label();
}
if ($defaults['id']) {
$default = $defaults['menu_name'] . ':' . $defaults['parent'];
];
$form['menu']['link']['description'] = [
- '#type' => 'textarea',
+ '#type' => 'textfield',
'#title' => t('Description'),
'#default_value' => $defaults['description'],
- '#rows' => 1,
'#description' => t('Shown when hovering over the menu link.'),
+ '#maxlength' => $defaults['description_max_length'],
];
$form['menu']['link']['menu_parent'] = $parent_element;
}
}
-
/**
* Implements hook_system_breadcrumb_alter().
*/