packages: add a repo filter option

This commit is contained in:
Christoph Reiter
2021-08-15 17:41:09 +02:00
parent 829493e5ed
commit 03c84d8e7b
3 changed files with 23 additions and 2 deletions

View File

@@ -5,9 +5,27 @@
<div class="card mb-3">
<div class="card-header">
<h4 class="card-title">Packages</h4>
<h6 class="card-subtitle mb-2 text-muted">{{ packages|length }} packages</h6>
<h6 class="card-subtitle mb-2 text-muted">{{ packages|length }} packages {% if repo_filter %}({{ repo_filter }}){% endif %}</h6>
</div>
<div class="card-body overflow-auto">
<form class="row g-2 align-items-center" action="{{ url_for('package') }}" method="get">
<div class="col-auto">
Repositories:
</div>
<div class="col-auto">
<select name="repo" class="form-select form-select-sm" onchange="this.form.submit()">
<option {{ "selected" if not repo_filter or "" }} value="">All</option>
{% for r in repos|sort(attribute='name') %}
<option value="{{ r.name }}" {{ "selected" if repo_filter == r.name or "" }}>{{ r.name }}</option>
{% endfor %}
</select>
</div>
</form>
<br>
<table class="table table-hover table-sm">
<thead>
<tr>

View File

@@ -20,7 +20,7 @@
<dd class="col-sm-9"><a href="{{ repo.src_url }}">{{ repo.src_url }}</a></dd>
<dt class="col-sm-3 text-sm-end">Packages:</dt>
<dd class="col-sm-9">{{ repo.packages|length }}</dd>
<dd class="col-sm-9"><a href="{{ url_for('package') }}?repo={{ repo.name }}">{{ repo.packages|length }}</a></dd>
<dt class="col-sm-3 text-sm-end">Package Size:</dt>
<dd class="col-sm-9">{{ repo.csize|filesize }}</dd>

View File

@@ -239,9 +239,12 @@ async def package(request: Request, response: Response, package_name: Optional[s
"packages": packages,
}, headers=dict(response.headers))
else:
repos = get_repositories()
return templates.TemplateResponse("packages.html", {
"request": request,
"packages": packages,
"repos": repos,
"repo_filter": repo or None,
}, headers=dict(response.headers))