Enhance case search functionality with loading indicator for improved user experience

This commit is contained in:
Ross
2025-11-05 22:03:02 +00:00
parent 22299b9298
commit 4f6e9fae9d
+17 -5
View File
@@ -46,12 +46,24 @@
<div class="card-body">
<h5 class="card-title">Search cases</h5>
<div class="mb-2">
<input class="form-control" id="case-search-input" name="q" type="search"
placeholder="Search cases by title or description"
hx-get="{% url 'atlas:case_search_partial' %}"
hx-trigger="input changed delay:500ms, keyup[key=='Enter']"
hx-target="#case-search-results" >
<div class="input-group">
<input class="form-control" id="case-search-input" name="q" type="search"
placeholder="Search cases by title or description"
hx-get="{% url 'atlas:case_search_partial' %}"
hx-trigger="input changed delay:500ms, keyup[key=='Enter']"
hx-target="#case-search-results"
hx-indicator="#case-search-indicator" />
<span class="input-group-text" id="case-search-indicator" aria-hidden="true">
<span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
<span class="visually-hidden">Loading</span>
</span>
</div>
</div>
<style>
/* Hide indicator by default; HTMX will add the `htmx-request` class during requests */
#case-search-indicator { display: none; }
#case-search-indicator.htmx-request { display: inline-flex; align-items: center; }
</style>
<div id="case-search-results">
{% include 'atlas/partials/_case_search_results.html' with cases=None %}
</div>