Refactor filter section layout in question and table views for improved styling and structure

This commit is contained in:
Ross
2025-10-20 16:54:32 +01:00
parent a2a43e51f9
commit 9cffdb3636
2 changed files with 78 additions and 55 deletions
+50 -27
View File
@@ -1,39 +1,62 @@
{% extends app_name|add:'/base.html' %}
{% load crispy_forms_tags %}
{% load render_table from django_tables2 %}
{% block css %}
{% endblock %}
{% block content %}
<div id="view-filter-options">
<details class="filter">
<summary>
<h3>Filter questions</h3>
</summary>
<form action="" method="get">
{{ filter.form }}
<input class="btn btn-primary btn-sm mt-1 mb-1" type="submit" />
</form>
</details>
<div class="row mb-3">
<div class="col-12 col-lg-3 mb-3">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<span class="h6 mb-0">Filters</span>
<button class="btn btn-sm btn-outline-secondary d-lg-none" type="button" data-bs-toggle="collapse" data-bs-target="#generic-filter-collapse" aria-expanded="false">Toggle</button>
</div>
<div id="generic-filter-collapse" class="collapse d-lg-block">
<div class="card-body">
<form action="" method="get">
{{ filter.form|crispy }}
<div class="mt-2">
<button class="btn btn-primary btn-sm" type="submit">Apply</button>
<a class="btn btn-secondary btn-sm" href="?">Reset</a>
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-12 col-lg-9">
<div class="d-flex justify-content-between mb-2 align-items-center flex-column flex-md-row">
<div class="mb-2 mb-md-0">
<div class="btn-toolbar" role="toolbar">
<div class="btn-group me-2" role="group">
<button id="delete-selected-btn" class="btn btn-danger btn-sm"
hx-post="{% url 'generic:bulk_delete_questions' %}"
hx-include="[name='selection']:checked"
hx-vals='{"app":"{{ app_name|escapejs }}"}'
hx-target="#action-result"
hx-swap="innerHTML"
hx-confirm="Are you sure you want to delete the selected questions? This action cannot be undone.">Delete selected</button>
</div>
<div class="btn-group" role="group">
<button id="button-select-add-exam" class="btn btn-outline-primary btn-sm"
data-exam_json_edit_url="{% url 'generic:generic_exam_json_edit' %}"
data-exam_list_url="{% url 'api-1:'|add:app_name|add:'_user_exams' %}"
data-type={{app_name}} data-csrf="{{ csrf_token }}">Add to exam</button>
</div>
</div>
</div>
<div id="action-result" class="mt-2 mt-md-0"></div>
</div>
<div class="table-responsive">
{% render_table table %}
</div>
</div>
</div>
{% render_table table %}
<button id="delete-selected-btn" class="btn btn-danger btn-sm mt-2"
hx-post="{% url 'generic:bulk_delete_questions' %}"
hx-include="[name='selection']:checked" hx-vals='{"app":"{{ app_name|escapejs }}"}'
hx-target="#action-result"
hx-swap="innerHTML"
hx-confirm="Are you sure you want to delete the selected questions? This action cannot be undone.">
Delete selected questions</button>
<button id="button-select-add-exam"
data-exam_json_edit_url="{% url 'generic:generic_exam_json_edit' %}"
data-exam_list_url="{% url 'api-1:'|add:app_name|add:'_user_exams' %}"
data-type={{app_name}} data-csrf="{{ csrf_token}}">Add selected questions to
exam</button>
<div id="action-result" class="mt-2"></div>
{% endblock %}