Skip to content

Commit aa1a0d0

Browse files
committed
fix(nimbus): prevent sidebar links from toggling dropdowns
1 parent e3bceb7 commit aa1a0d0

2 files changed

Lines changed: 34 additions & 14 deletions

File tree

experimenter/experimenter/nimbus_ui/static/js/results_data_actions.js

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,8 +125,31 @@ const setupExportResultsPDF = (experimentSlug, area) => {
125125
.download(`${experimentSlug}-${area}-results.pdf`);
126126
};
127127

128+
const setupOpenOnlyCollapseControllers = () => {
129+
document.body.addEventListener("click", (event) => {
130+
const controller = event.target.closest(".open-only-collapse-trigger");
131+
if (!controller) {
132+
return;
133+
}
134+
135+
const targetSelector = controller.getAttribute("href");
136+
const target = document.querySelector(targetSelector);
137+
if (!target) {
138+
return;
139+
}
140+
141+
const collapse = window.bootstrap.Collapse.getOrCreateInstance(target, {
142+
toggle: false,
143+
});
144+
collapse.show();
145+
});
146+
};
147+
128148
document.addEventListener("DOMContentLoaded", function () {
129149
setupResultsTableActions();
150+
setupOpenOnlyCollapseControllers();
130151

131-
document.body.addEventListener("htmx:afterSwap", setupResultsTableActions);
152+
document.body.addEventListener("htmx:afterSwap", () => {
153+
setupResultsTableActions();
154+
});
132155
});

experimenter/experimenter/nimbus_ui/templates/common/sidebar_link.html

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -24,20 +24,17 @@
2424
<ul class="nav flex-column ms-4">
2525
{% for subitem in item.subitems %}
2626
<li class="nav-item w-100">
27-
<a href="#{{ experiment.slug }}-results-{{ item.title|slugify }}"
28-
class="text-reset text-decoration-none">
29-
{% if item.title == "Overview" %}
27+
{% if item.title == "Overview" %}
28+
<a href="#{{ experiment.slug }}-results-{{ item.title|slugify }}"
29+
class="text-reset text-decoration-none">
3030
<span class="nav-link text-start text-reset">{{ subitem.title }}</span>
31-
{% else %}
32-
<button class="nav-link text-start text-reset"
33-
data-bs-toggle="collapse"
34-
data-bs-target="#{{ experiment.slug }}-results-{{ item.title|slugify }}"
35-
aria-expanded="true"
36-
aria-controls="{{ experiment.slug }}-results-{{ area|slugify }}">
37-
{{ subitem.title }}
38-
</button>
39-
{% endif %}
40-
</a>
31+
</a>
32+
{% else %}
33+
<a class="nav-link text-start text-reset open-only-collapse-trigger text-break"
34+
href="#{{ experiment.slug }}-results-{{ item.title|slugify }}"
35+
aria-expanded="true"
36+
aria-controls="{{ experiment.slug }}-results-{{ area|slugify }}">{{ subitem.title }}</a>
37+
{% endif %}
4138
</li>
4239
{% endfor %}
4340
</ul>

0 commit comments

Comments
 (0)