summaryrefslogtreecommitdiff
path: root/static/js/dropdown.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/dropdown.js')
-rw-r--r--static/js/dropdown.js18
1 files changed, 9 insertions, 9 deletions
diff --git a/static/js/dropdown.js b/static/js/dropdown.js
index 00b7ee6..80efd19 100644
--- a/static/js/dropdown.js
+++ b/static/js/dropdown.js
@@ -1,11 +1,12 @@
document.addEventListener('DOMContentLoaded', function () {
- // Handle dropdown clicks
- document.querySelectorAll('.options-subitem > a').forEach(function (item) {
- item.addEventListener('click', function (e) {
+ document.addEventListener('click', function (e) {
+ const toggleLink = e.target.closest('a');
+
+ if (toggleLink && toggleLink.parentElement && toggleLink.parentElement.classList.contains('options-subitem')) {
e.preventDefault();
- const parent = this.parentElement;
+ const parent = toggleLink.parentElement;
- if (parent.classList.contains('disabled')) {
+ if (parent.classList.contains('disabled') || parent.getAttribute('disabled') !== null) {
return;
}
@@ -16,11 +17,10 @@ document.addEventListener('DOMContentLoaded', function () {
});
parent.classList.toggle('open');
- });
- });
+ return;
+ }
- // Close dropdowns when clicking outside
- document.addEventListener('click', function (e) {
+ // Handle clicking outside
if (!e.target.closest('.options-subitem')) {
document.querySelectorAll('.options-subitem.open').forEach(function (item) {
item.classList.remove('open');