evorepo/templates/devel/packages.html
Dan McGee 268317dd33 Use localStorage to save/restore developer report filters
Signed-off-by: Dan McGee <dan@archlinux.org>
2014-03-09 11:58:51 -05:00

99 lines
3.9 KiB
HTML

{% extends "base.html" %}
{% load cycle from future %}
{% load static from staticfiles %}
{% load attributes %}
{% load package_extras %}
{% block title %}Arch Linux - {{ title }}{% endblock %}
{% block content %}
<div class="box">
<h2>{{ title }}{% if maintainer %},
maintained by {{ maintainer.get_full_name }}{% endif%}</h2>
<p>{{ packages|length }} package{{ packages|pluralize }} found.
{% if maintainer %}This report only includes packages maintained by
{{ maintainer.get_full_name }} ({{ maintainer.username }}).{% endif %}
</p>
<div class="box filter-criteria">
<h3>Filter Packages</h3>
<form id="report_filter" method="post" action=".">
<fieldset>
<legend>Select filter criteria</legend>
{% for arch in arches %}
<div><label for="id_arch_{{ arch.name }}" title="Architecture {{ arch.name }}">Arch {{ arch.name }}</label>
<input type="checkbox" name="arch_{{ arch.name }}" id="id_arch_{{ arch.name }}" class="arch_filter" value="{{ arch.name }}" checked="checked"/></div>
{% endfor %}
{% for repo in repos %}
<div><label for="id_repo_{{ repo.name|lower }}" title="Target Repository {{ repo.name }}">[{{ repo.name|lower }}]</label>
<input type="checkbox" name="repo_{{ repo.name|lower }}" id="id_repo_{{ repo.name|lower }}" class="repo_filter" value="{{ repo.name|lower }}" checked="checked"/></div>
{% endfor %}
<div ><label>&nbsp;</label><input title="Reset search criteria" type="button" id="criteria_reset" value="Reset"/></div>
<div class="clear"></div>
<div id="filter-info"><span id="filter-count">{{ packages|length }}</span> packages displayed.</div>
</fieldset>
</form>
</div>
<table id="dev-report-results" class="results">
<thead>
<tr>
<th>Arch</th>
<th>Repo</th>
<th>Name</th>
<th>Version</th>
<th>Description</th>
<th>Last Updated</th>
<th>Build Date</th>
<th>Flag Date</th>
{% for name in column_names %}
<th>{{ name }}</th>
{% endfor %}
</tr>
</thead>
<tbody>
{% for pkg in packages %}
<tr class="{% cycle pkgr2,pkgr1 %} {{ pkg.arch.name }} {{ pkg.repo.name|lower }}">
<td>{{ pkg.arch.name }}</td>
<td>{{ pkg.repo.name|capfirst }}</td>
<td>{% pkg_details_link pkg %}</td>
{% if pkg.flag_date %}
<td><span class="flagged">{{ pkg.full_version }}</span></td>
{% else %}
<td>{{ pkg.full_version }}</td>
{% endif %}
<td class="wrap">{{ pkg.pkgdesc }}</td>
<td>{{ pkg.last_update|date }}</td>
<td>{{ pkg.build_date|date }}</td>
<td>{{ pkg.flag_date|date }}</td>
{% for attr in column_attrs %}
<td>{{ pkg|attribute:attr }}</td>
{% endfor %}
</tr>
{% endfor %}
</tbody>
</table>
</div>
{% endblock %}
{% block script_block %}
{% load cdn %}{% jquery %}{% jquery_tablesorter %}
<script type="text/javascript" src="{% static "archweb.js" %}"></script>
<script type="text/javascript">
$(document).ready(function() {
$(".results").tablesorter({widgets: ['zebra']});
});
$(document).ready(function() {
var filter_func = function() {
filter_pkgs_list('#report_filter', '#dev-report-results tbody');
filter_report_save('{{ report.slug }}');
};
$('#report_filter input').change(filter_func);
$('#criteria_reset').click(function() { filter_pkgs_reset(filter_func); });
// run on page load to ensure current form selections take effect
filter_report_load('{{ report.slug }}');
filter_func();
});
</script>
{% endblock %}