Skip to content

Commit dc46688

Browse files
feat(nimbus): Loading spinner on home page when it sorts/filter data (#14251)
Because - If we have more data and if filter or sort the deliveries, it takes time to get the results back based on user action on home page This commit - Adds the loading spinner on home page when it is getting the request process on filtering and sorting Fixes #14028 --------- Co-authored-by: Beth Rennie <[email protected]>
1 parent 6283b20 commit dc46688

File tree

4 files changed

+27
-2
lines changed

4 files changed

+27
-2
lines changed
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
document.body.addEventListener("htmx:beforeRequest", function () {
2+
document.querySelectorAll(".htmx-spinner").forEach((spinner) => {
3+
spinner.style.opacity = "1";
4+
});
5+
});
6+
7+
document.body.addEventListener("htmx:afterRequest", function () {
8+
document.querySelectorAll(".htmx-spinner").forEach((spinner) => {
9+
spinner.style.opacity = "0";
10+
});
11+
});

experimenter/experimenter/nimbus_ui/static/webpack.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ const nodeModulesPath = path.resolve(__dirname, "../../../node_modules");
55
module.exports = {
66
entry: {
77
app: "./js/index.js",
8+
experiment_home: "./js/experiment_home.js",
89
experiment_list: "./js/experiment_list.js",
910
review_controls: "./js/review_controls.js",
1011
edit_audience: "./js/edit_audience.js",

experimenter/experimenter/nimbus_ui/templates/nimbus_experiments/home.html

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,10 @@ <h5 class="fw-semibold">
6060
data-bs-delay={"hide":2000}>
6161
</i>
6262
</h5>
63-
<div class="d-flex gap-2 ms-auto">
63+
<div class="d-flex gap-2 ms-auto align-items-center">
64+
<div class="htmx-spinner" style="opacity: 0; pointer-events: none">
65+
<i class="fa-solid fa-spinner fa-spin fa-lg text-primary"></i>
66+
</div>
6467
<a href="{% url 'nimbus-ui-home' %}{% if request.GET.sort %}?sort={{ request.GET.sort }}{% endif %}"
6568
class="btn btn-outline-primary btn-sm"
6669
hx-get="{% url 'nimbus-ui-home' %}{% if request.GET.sort %}?sort={{ request.GET.sort }}{% endif %}"
@@ -271,3 +274,8 @@ <h5 class="fw-semibold">
271274
</div>
272275
</div>
273276
{% endblock %}
277+
278+
{% block extrascripts %}
279+
{{ block.super }}
280+
<script src="{% static 'nimbus_ui/experiment_home.bundle.js' %}"></script>
281+
{% endblock %}

experimenter/experimenter/nimbus_ui/templates/nimbus_experiments/home_experiments_layout.html

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,12 @@ <h5 class="fw-semibold mb-0">
1111
data-bs-placement="top"
1212
data-bs-title="{{ tooltip }}"></i>
1313
</h5>
14-
<span class="badge rounded-pill bg-primary fs-6 px-3 py-1">{{ page_obj.paginator.count }}</span>
14+
<div class="d-flex align-items-center gap-2">
15+
<div class="htmx-spinner" style="opacity: 0; pointer-events: none">
16+
<i class="fa-solid fa-spinner fa-spin fa-lg text-primary"></i>
17+
</div>
18+
<span class="badge rounded-pill bg-primary fs-6 px-3 py-1">{{ page_obj.paginator.count }}</span>
19+
</div>
1520
</div>
1621
{% if experiments %}
1722
<ul id="home-section-experiments"

0 commit comments

Comments
 (0)