Skip to content

Commit 2839825

Browse files
Add mutual exclusion for navbar dropdown menus
Signed-off-by: Kaushik <kaushikrjpm10@gmail.com>
1 parent 4fc1fa3 commit 2839825

2 files changed

Lines changed: 34 additions & 0 deletions

File tree

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
#
3+
# Copyright (c) nexB Inc. and others. All rights reserved.
4+
# DejaCode is a trademark of nexB Inc.
5+
# SPDX-License-Identifier: AGPL-3.0-only
6+
# See https://github.com/aboutcode-org/dejacode for support or download.
7+
# See https://aboutcode.org for more information about AboutCode FOSS projects.
8+
#
9+
*/
10+
11+
// Mutual exclusion for DejaCode dropdown and Hamburger menu
12+
document.addEventListener('DOMContentLoaded', function() {
13+
const dejaCodeDropdown = document.querySelector('.navbar-brand .dropdown-toggle');
14+
const hamburgerCollapse = document.getElementById('navbarCollapse');
15+
16+
if (dejaCodeDropdown && hamburgerCollapse) {
17+
// When DejaCode dropdown opens, close hamburger
18+
dejaCodeDropdown.addEventListener('show.bs.dropdown', function() {
19+
const bsCollapse = bootstrap.Collapse.getInstance(hamburgerCollapse);
20+
if (bsCollapse) {
21+
bsCollapse.hide();
22+
}
23+
});
24+
25+
// When hamburger opens, close DejaCode dropdown
26+
hamburgerCollapse.addEventListener('show.bs.collapse', function() {
27+
const bsDropdown = bootstrap.Dropdown.getInstance(dejaCodeDropdown);
28+
if (bsDropdown) {
29+
bsDropdown.hide();
30+
}
31+
});
32+
}
33+
});

dje/templates/includes/navbar_header.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,4 +143,5 @@
143143
{% endblock %}
144144
{% endif %}
145145
</nav>
146+
<script src="{% static 'js/navbar_menu_toggle.js' %}"></script>
146147
{% include 'includes/search_help_modal.html' %}

0 commit comments

Comments
 (0)