packages: add a repo filter option
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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))
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user