Loading dist/css/layout/navigation.css +7 −7 Original line number Diff line number Diff line Loading @@ -1167,11 +1167,11 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- margin-inline-end: 0; } .toolbar-link--tools::before { .toolbar-link--admin-toolbar-tools-help::before { --icon: url("../../media/sprite.svg#tool-view"); } .toolbar-link--appearance::before { .toolbar-link--system-themes-page::before { --icon: url("../../media/sprite.svg#appearance-view"); } Loading @@ -1183,7 +1183,7 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#bookmarks-view"); } .toolbar-link--configuration::before { .toolbar-link--system-admin-config::before { --icon: url("../../media/sprite.svg#config-view"); } Loading @@ -1195,7 +1195,7 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#create-view"); } .toolbar-link--extend::before { .toolbar-link--system-modules-list::before { --icon: url("../../media/sprite.svg#extend-new-view"); } Loading @@ -1211,15 +1211,15 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#media-view"); } .toolbar-link--people::before { .toolbar-link--entity-user-collection::before { --icon: url("../../media/sprite.svg#people-new-view"); } .toolbar-link--reports::before { .toolbar-link--system-admin-reports::before { --icon: url("../../media/sprite.svg#reports-view"); } .toolbar-link--structure::before { .toolbar-link--system-admin-structure::before { --icon: url("../../media/sprite.svg#structure-view"); } Loading src/GinNavigation.php +43 −40 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ class GinNavigation implements ContainerInjectionInterface { public function getNavigationAdminMenuItems(): array { $parameters = new MenuTreeParameters(); $parameters->setMinDepth(2)->setMaxDepth(4)->onlyEnabledLinks(); /** @var Drupal\Core\Menu\MenuLinkTree $menu_tree */ $menu_tree = \Drupal::service('menu.link_tree'); $tree = $menu_tree->load('admin', $parameters); $manipulators = [ Loading @@ -43,10 +44,18 @@ class GinNavigation implements ContainerInjectionInterface { $build['#menu_name'] = $menu_name; $build['#theme'] = 'menu_region__middle'; // Loop through menu items and add the plugin id as a class. foreach ($tree as $item) { $plugin_id = $item->link->getPluginId(); $plugin_class = str_replace('.', '_', $plugin_id); $build['#items'][$plugin_id]['class'] = $plugin_class; } // Remove content and help from admin menu. unset($build['#items']['system.admin_content']); unset($build['#items']['help.main']); $build['#title'] = t('Administration'); return $build; } Loading Loading @@ -87,6 +96,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($content_types as $item) { $content_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('node.add', ['node_type' => $item->id()]), ]; } Loading @@ -102,6 +112,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($block_content_types as $item) { $block_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('block_content.add_form', ['block_content_type' => $item->id()]), ]; } Loading @@ -111,6 +122,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Blocks'), 'class' => 'blocks', 'url' => '', 'below' => $block_type_items, ], Loading @@ -126,6 +138,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($media_types as $item) { $media_type_items[] = [ 'title' => $item->label(), 'class' => $item->label(), 'url' => Url::fromRoute('entity.media.add_form', ['media_type' => $item->id()]), ]; } Loading @@ -135,6 +148,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Media'), 'class' => 'media', 'url' => '', 'below' => $media_type_items, ], Loading @@ -150,6 +164,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($taxonomy_types as $item) { $taxonomy_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('entity.taxonomy_term.add_form', ['taxonomy_vocabulary' => $item->id()]), ]; } Loading @@ -159,6 +174,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Taxonomy'), 'class' => 'taxonomy', 'url' => '', 'below' => $taxonomy_type_items, ], Loading @@ -167,12 +183,11 @@ class GinNavigation implements ContainerInjectionInterface { } // Generate menu items. $create_items = [ [ $create_items['create'] = [ 'title' => t('Create'), 'class' => 'create', 'url' => Url::fromRoute('node.add_page')->toString(), 'below' => $create_type_items, ], ]; return [ Loading @@ -193,53 +208,38 @@ class GinNavigation implements ContainerInjectionInterface { // Get Content menu item. if ($entity_type_manager->hasDefinition('node')) { $create_content_items = [ [ $create_content_items['content'] = [ 'title' => t('Content'), 'class' => 'content', 'url' => Url::fromRoute('system.admin_content')->toString(), ], ]; $create_content_items = array_merge($create_content_items); } // Get Blocks menu item. if ($entity_type_manager->hasDefinition('block_content')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['blocks'] = [ 'title' => t('Blocks'), 'class' => 'blocks', 'url' => Url::fromRoute('entity.block_content.collection')->toString(), ], ] ); ]; } // Get File menu item. if ($entity_type_manager->hasDefinition('file')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['files'] = [ 'title' => t('Files'), 'class' => 'files', 'url' => '/admin/content/files', ], ] ); ]; } // Get Media menu item. if ($entity_type_manager->hasDefinition('media')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['media'] = [ 'title' => t('Media'), 'class' => 'media', 'url' => '/admin/content/media', ], ] ); ]; } return [ Loading @@ -257,14 +257,17 @@ class GinNavigation implements ContainerInjectionInterface { $user_items = [ [ 'title' => t('Profile'), 'class' => 'profile', 'url' => Url::fromRoute('user.page')->toString(), ], [ 'title' => t('Settings'), 'class' => 'settings', 'url' => Url::fromRoute('entity.user.admin_form')->toString(), ], [ 'title' => t('Log out'), 'class' => 'logout', 'url' => Url::fromRoute('user.logout')->toString(), ], ]; Loading styles/layout/navigation.scss +7 −7 Original line number Diff line number Diff line Loading @@ -337,11 +337,11 @@ button.toolbar-link--sidebar-toggle { } } .toolbar-link--tools::before { .toolbar-link--admin-toolbar-tools-help::before { --icon: #{icon('tool')}; } .toolbar-link--appearance::before { .toolbar-link--system-themes-page::before { --icon: #{icon('appearance')}; } Loading @@ -353,7 +353,7 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('bookmarks')}; } .toolbar-link--configuration::before { .toolbar-link--system-admin-config::before { --icon: #{icon('config')}; } Loading @@ -365,7 +365,7 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('create')}; } .toolbar-link--extend::before { .toolbar-link--system-modules-list::before { --icon: #{icon('extend-new')}; } Loading @@ -381,15 +381,15 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('media')}; } .toolbar-link--people::before { .toolbar-link--entity-user-collection::before { --icon: #{icon('people-new')}; } .toolbar-link--reports::before { .toolbar-link--system-admin-reports::before { --icon: #{icon('reports')}; } .toolbar-link--structure::before { .toolbar-link--system-admin-structure::before { --icon: #{icon('structure')}; } Loading styles/navigation/toolbar-link.scss +6 −6 Original line number Diff line number Diff line Loading @@ -153,7 +153,7 @@ html:not(.admin-toolbar-expanded) { } // Gin Custom start --------------------- // .toolbar-link--appearance::before { // .toolbar-link--system-themes-page::before { // --icon: url(../../assets/icons/appearance.svg); // } Loading @@ -165,7 +165,7 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/bookmarks.svg); // } // .toolbar-link--configuration::before { // .toolbar-link--system-admin-config::before { // --icon: url(../../assets/icons/config.svg); // } Loading @@ -177,7 +177,7 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/create.svg); // } // .toolbar-link--extend::before { // .toolbar-link--system-modules-list::before { // --icon: url(../../assets/icons/extend.svg); // } Loading @@ -193,15 +193,15 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/media.svg); // } // .toolbar-link--people::before { // .toolbar-link--entity-user-collection::before { // --icon: url(../../assets/icons/people.svg); // } // .toolbar-link--reports::before { // .toolbar-link--system-admin-reports::before { // --icon: url(../../assets/icons/reports.svg); // } // .toolbar-link--structure::before { // .toolbar-link--system-admin-structure::before { // --icon: url(../../assets/icons/structure.svg); // } Loading templates/menu-region--middle.html.twig +5 −5 Original line number Diff line number Diff line Loading @@ -8,16 +8,16 @@ </div> {% macro menu_items(items, attributes) %} {% for item in items %} {% set item_id = 'item-' ~ item.title %} {% for key, item in items %} {% set item_class = 'toolbar-link--' ~ item.class|clean_class %} <li id="{{ item_id }}" class="{{ item.below ? 'toolbar-menu__item--has-dropdown' }} toolbar-menu__item toolbar-menu__item--level-1" data-url="{{ item.url }}"> {% if item.below is empty %} <a href="{{ item.url }}" class="toolbar-link toolbar-link--has-icon toolbar-link--{{item.title|clean_class }}"> <a href="{{ item.url }}" class="toolbar-link toolbar-link--has-icon {{ item_class }}"> <span>{{ item.title }}</span> </a> {% endif %} {% if item.below %} <button class="toolbar-link toolbar-link--has-icon toolbar-link--{{item.title|clean_class }}"> <button class="toolbar-link toolbar-link--has-icon {{ item_class }}"> <span class="toolbar-link__action">{{ 'Extend'|t }}</span> <span class="toolbar-link__label">{{ item.title }}</span> </button> Loading @@ -25,7 +25,7 @@ <div class="toolbar-menu__arrow-ref"></div> <ul class="toolbar-menu"> <li class="toolbar-menu__item toolbar-menu__item--to-title"> <button class="toolbar-link toolbar-link--has-icon toolbar-link--{{ item.title|clean_class }}" tabindex="-1" data-url="{{ item.url }}"> <button class="toolbar-link toolbar-link--has-icon {{ item_class }}" tabindex="-1" data-url="{{ item.url }}"> <span class="toolbar-link__action">{{ 'Extend'|t }}</span> <span class="toolbar-link__label">{{ item.title }}</span> </button> Loading Loading
dist/css/layout/navigation.css +7 −7 Original line number Diff line number Diff line Loading @@ -1167,11 +1167,11 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- margin-inline-end: 0; } .toolbar-link--tools::before { .toolbar-link--admin-toolbar-tools-help::before { --icon: url("../../media/sprite.svg#tool-view"); } .toolbar-link--appearance::before { .toolbar-link--system-themes-page::before { --icon: url("../../media/sprite.svg#appearance-view"); } Loading @@ -1183,7 +1183,7 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#bookmarks-view"); } .toolbar-link--configuration::before { .toolbar-link--system-admin-config::before { --icon: url("../../media/sprite.svg#config-view"); } Loading @@ -1195,7 +1195,7 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#create-view"); } .toolbar-link--extend::before { .toolbar-link--system-modules-list::before { --icon: url("../../media/sprite.svg#extend-new-view"); } Loading @@ -1211,15 +1211,15 @@ button.toolbar-link--sidebar-toggle:hover::before, button.toolbar-link--sidebar- --icon: url("../../media/sprite.svg#media-view"); } .toolbar-link--people::before { .toolbar-link--entity-user-collection::before { --icon: url("../../media/sprite.svg#people-new-view"); } .toolbar-link--reports::before { .toolbar-link--system-admin-reports::before { --icon: url("../../media/sprite.svg#reports-view"); } .toolbar-link--structure::before { .toolbar-link--system-admin-structure::before { --icon: url("../../media/sprite.svg#structure-view"); } Loading
src/GinNavigation.php +43 −40 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ class GinNavigation implements ContainerInjectionInterface { public function getNavigationAdminMenuItems(): array { $parameters = new MenuTreeParameters(); $parameters->setMinDepth(2)->setMaxDepth(4)->onlyEnabledLinks(); /** @var Drupal\Core\Menu\MenuLinkTree $menu_tree */ $menu_tree = \Drupal::service('menu.link_tree'); $tree = $menu_tree->load('admin', $parameters); $manipulators = [ Loading @@ -43,10 +44,18 @@ class GinNavigation implements ContainerInjectionInterface { $build['#menu_name'] = $menu_name; $build['#theme'] = 'menu_region__middle'; // Loop through menu items and add the plugin id as a class. foreach ($tree as $item) { $plugin_id = $item->link->getPluginId(); $plugin_class = str_replace('.', '_', $plugin_id); $build['#items'][$plugin_id]['class'] = $plugin_class; } // Remove content and help from admin menu. unset($build['#items']['system.admin_content']); unset($build['#items']['help.main']); $build['#title'] = t('Administration'); return $build; } Loading Loading @@ -87,6 +96,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($content_types as $item) { $content_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('node.add', ['node_type' => $item->id()]), ]; } Loading @@ -102,6 +112,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($block_content_types as $item) { $block_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('block_content.add_form', ['block_content_type' => $item->id()]), ]; } Loading @@ -111,6 +122,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Blocks'), 'class' => 'blocks', 'url' => '', 'below' => $block_type_items, ], Loading @@ -126,6 +138,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($media_types as $item) { $media_type_items[] = [ 'title' => $item->label(), 'class' => $item->label(), 'url' => Url::fromRoute('entity.media.add_form', ['media_type' => $item->id()]), ]; } Loading @@ -135,6 +148,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Media'), 'class' => 'media', 'url' => '', 'below' => $media_type_items, ], Loading @@ -150,6 +164,7 @@ class GinNavigation implements ContainerInjectionInterface { foreach ($taxonomy_types as $item) { $taxonomy_type_items[] = [ 'title' => $item->label(), 'class' => $item->id(), 'url' => Url::fromRoute('entity.taxonomy_term.add_form', ['taxonomy_vocabulary' => $item->id()]), ]; } Loading @@ -159,6 +174,7 @@ class GinNavigation implements ContainerInjectionInterface { [ [ 'title' => t('Taxonomy'), 'class' => 'taxonomy', 'url' => '', 'below' => $taxonomy_type_items, ], Loading @@ -167,12 +183,11 @@ class GinNavigation implements ContainerInjectionInterface { } // Generate menu items. $create_items = [ [ $create_items['create'] = [ 'title' => t('Create'), 'class' => 'create', 'url' => Url::fromRoute('node.add_page')->toString(), 'below' => $create_type_items, ], ]; return [ Loading @@ -193,53 +208,38 @@ class GinNavigation implements ContainerInjectionInterface { // Get Content menu item. if ($entity_type_manager->hasDefinition('node')) { $create_content_items = [ [ $create_content_items['content'] = [ 'title' => t('Content'), 'class' => 'content', 'url' => Url::fromRoute('system.admin_content')->toString(), ], ]; $create_content_items = array_merge($create_content_items); } // Get Blocks menu item. if ($entity_type_manager->hasDefinition('block_content')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['blocks'] = [ 'title' => t('Blocks'), 'class' => 'blocks', 'url' => Url::fromRoute('entity.block_content.collection')->toString(), ], ] ); ]; } // Get File menu item. if ($entity_type_manager->hasDefinition('file')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['files'] = [ 'title' => t('Files'), 'class' => 'files', 'url' => '/admin/content/files', ], ] ); ]; } // Get Media menu item. if ($entity_type_manager->hasDefinition('media')) { $create_content_items = array_merge( $create_content_items, [ [ $create_content_items['media'] = [ 'title' => t('Media'), 'class' => 'media', 'url' => '/admin/content/media', ], ] ); ]; } return [ Loading @@ -257,14 +257,17 @@ class GinNavigation implements ContainerInjectionInterface { $user_items = [ [ 'title' => t('Profile'), 'class' => 'profile', 'url' => Url::fromRoute('user.page')->toString(), ], [ 'title' => t('Settings'), 'class' => 'settings', 'url' => Url::fromRoute('entity.user.admin_form')->toString(), ], [ 'title' => t('Log out'), 'class' => 'logout', 'url' => Url::fromRoute('user.logout')->toString(), ], ]; Loading
styles/layout/navigation.scss +7 −7 Original line number Diff line number Diff line Loading @@ -337,11 +337,11 @@ button.toolbar-link--sidebar-toggle { } } .toolbar-link--tools::before { .toolbar-link--admin-toolbar-tools-help::before { --icon: #{icon('tool')}; } .toolbar-link--appearance::before { .toolbar-link--system-themes-page::before { --icon: #{icon('appearance')}; } Loading @@ -353,7 +353,7 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('bookmarks')}; } .toolbar-link--configuration::before { .toolbar-link--system-admin-config::before { --icon: #{icon('config')}; } Loading @@ -365,7 +365,7 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('create')}; } .toolbar-link--extend::before { .toolbar-link--system-modules-list::before { --icon: #{icon('extend-new')}; } Loading @@ -381,15 +381,15 @@ button.toolbar-link--sidebar-toggle { --icon: #{icon('media')}; } .toolbar-link--people::before { .toolbar-link--entity-user-collection::before { --icon: #{icon('people-new')}; } .toolbar-link--reports::before { .toolbar-link--system-admin-reports::before { --icon: #{icon('reports')}; } .toolbar-link--structure::before { .toolbar-link--system-admin-structure::before { --icon: #{icon('structure')}; } Loading
styles/navigation/toolbar-link.scss +6 −6 Original line number Diff line number Diff line Loading @@ -153,7 +153,7 @@ html:not(.admin-toolbar-expanded) { } // Gin Custom start --------------------- // .toolbar-link--appearance::before { // .toolbar-link--system-themes-page::before { // --icon: url(../../assets/icons/appearance.svg); // } Loading @@ -165,7 +165,7 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/bookmarks.svg); // } // .toolbar-link--configuration::before { // .toolbar-link--system-admin-config::before { // --icon: url(../../assets/icons/config.svg); // } Loading @@ -177,7 +177,7 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/create.svg); // } // .toolbar-link--extend::before { // .toolbar-link--system-modules-list::before { // --icon: url(../../assets/icons/extend.svg); // } Loading @@ -193,15 +193,15 @@ html:not(.admin-toolbar-expanded) { // --icon: url(../../assets/icons/media.svg); // } // .toolbar-link--people::before { // .toolbar-link--entity-user-collection::before { // --icon: url(../../assets/icons/people.svg); // } // .toolbar-link--reports::before { // .toolbar-link--system-admin-reports::before { // --icon: url(../../assets/icons/reports.svg); // } // .toolbar-link--structure::before { // .toolbar-link--system-admin-structure::before { // --icon: url(../../assets/icons/structure.svg); // } Loading
templates/menu-region--middle.html.twig +5 −5 Original line number Diff line number Diff line Loading @@ -8,16 +8,16 @@ </div> {% macro menu_items(items, attributes) %} {% for item in items %} {% set item_id = 'item-' ~ item.title %} {% for key, item in items %} {% set item_class = 'toolbar-link--' ~ item.class|clean_class %} <li id="{{ item_id }}" class="{{ item.below ? 'toolbar-menu__item--has-dropdown' }} toolbar-menu__item toolbar-menu__item--level-1" data-url="{{ item.url }}"> {% if item.below is empty %} <a href="{{ item.url }}" class="toolbar-link toolbar-link--has-icon toolbar-link--{{item.title|clean_class }}"> <a href="{{ item.url }}" class="toolbar-link toolbar-link--has-icon {{ item_class }}"> <span>{{ item.title }}</span> </a> {% endif %} {% if item.below %} <button class="toolbar-link toolbar-link--has-icon toolbar-link--{{item.title|clean_class }}"> <button class="toolbar-link toolbar-link--has-icon {{ item_class }}"> <span class="toolbar-link__action">{{ 'Extend'|t }}</span> <span class="toolbar-link__label">{{ item.title }}</span> </button> Loading @@ -25,7 +25,7 @@ <div class="toolbar-menu__arrow-ref"></div> <ul class="toolbar-menu"> <li class="toolbar-menu__item toolbar-menu__item--to-title"> <button class="toolbar-link toolbar-link--has-icon toolbar-link--{{ item.title|clean_class }}" tabindex="-1" data-url="{{ item.url }}"> <button class="toolbar-link toolbar-link--has-icon {{ item_class }}" tabindex="-1" data-url="{{ item.url }}"> <span class="toolbar-link__action">{{ 'Extend'|t }}</span> <span class="toolbar-link__label">{{ item.title }}</span> </button> Loading