Add case search functionality with HTMX support and results partial

This commit is contained in:
Ross
2025-11-05 21:37:57 +00:00
parent 89a767034c
commit 03a24615ab
4 changed files with 57 additions and 0 deletions
+15
View File
@@ -10,6 +10,21 @@
<div class="row">
<div class="col-12 col-md-8">
<div class="card mb-3">
<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" placeholder="Search cases by title or description"
hx-get="{% url 'atlas:case_search_partial' %}"
hx-trigger="keyup changed delay:500ms"
hx-target="#case-search-results"
hx-include="#case-search-input">
</div>
<div id="case-search-results" hx-swap-oob="true">
{% include 'atlas/partials/_case_search_results.html' with cases=None %}
</div>
</div>
</div>
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">Collections</h5>
@@ -0,0 +1,16 @@
{# partial: list of cases for HTMX search results #}
<div class="list-group">
{% if cases and cases.exists %}
{% for case in cases %}
<a href="{% url 'atlas:case_detail' case.pk %}" class="list-group-item list-group-item-action">
<div class="d-flex w-100 justify-content-between">
<h6 class="mb-1">{{ case.title }}</h6>
<small class="text-muted">{{ case.created_date|date:"Y-m-d" }}</small>
</div>
<p class="mb-1 text-truncate">{{ case.description }}</p>
</a>
{% endfor %}
{% else %}
<div class="list-group-item">No cases found</div>
{% endif %}
</div>