1
0
mirror of https://github.com/netbox-community/netbox.git synced 2024-05-10 07:54:54 +00:00

Fixes : Fix navigation menu expansion for plugin menus comprising multiple words

This commit is contained in:
jeremystretch
2022-11-21 08:38:44 -05:00
parent e494d7bb22
commit 150cb772fe
5 changed files with 12 additions and 3 deletions
docs/release-notes
netbox
extras
plugins
tests/dummy_plugin
netbox/navigation
utilities/templates/navigation

@ -14,6 +14,7 @@
* [#10973](https://github.com/netbox-community/netbox/issues/10973) - Fix device links in VDC table
* [#10980](https://github.com/netbox-community/netbox/issues/10980) - Fix view tabs for plugin objects
* [#10982](https://github.com/netbox-community/netbox/issues/10982) - Catch `NoReverseMatch` exception when rendering tabs with no registered URL
* [#10984](https://github.com/netbox-community/netbox/issues/10984) - Fix navigation menu expansion for plugin menus comprising multiple words
## v3.4-beta1 (2022-11-16)

@ -19,6 +19,10 @@ class PluginMenu:
if icon_class is not None:
self.icon_class = icon_class
@property
def name(self):
return self.label.replace(' ', '_')
class PluginMenuItem:
"""

@ -26,7 +26,7 @@ items = (
)
menu = PluginMenu(
label=_('Dummy'),
label=_('Dummy Plugin'),
groups=(('Group 1', items),),
)
menu_items = items

@ -51,6 +51,10 @@ class Menu:
icon_class: str
groups: Sequence[MenuGroup]
@property
def name(self):
return self.label.replace(' ', '_')
#
# Utility functions

@ -4,12 +4,12 @@
{% for menu, groups in nav_items %}
<li class="nav-item">
{# Menu heading #}
<a class="nav-link" href="#menu{{ menu.label }}" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="menu{{ menu.label }}">
<a class="nav-link" href="#menu{{ menu.name }}" data-bs-toggle="collapse" role="button" aria-expanded="false" aria-controls="menu{{ menu.name }}">
<i class="{{ menu.icon_class }}"></i>
<span class="nav-link-text">{{ menu.label }}</span>
</a>
{# Menu groups #}
<div class="collapse" id="menu{{ menu.label }}">
<div class="collapse" id="menu{{ menu.name }}">
<ul class="nav nav-sm flex-column">
{% for group, items in groups %}
{# Group heading #}