{% extends 'base.html.twig' %}
{% block main_content %}
<div>
<div class="content-header">
<p>Download suchen</p>
</div>
<div class="content-area">
<form id="register-form" method="post" name="Register" action="/register_user">
<div class="content-form">
<input id="download-search" type="text" name="manual" size="50"
placeholder="Geben Sie einen Modellnamen ein" required>
</div>
</form>
</div>
<!-- results grid -->
<div class="content-results">
<div id="results-grid" class="results-grid">
<div class="row header">
<div>Kurzbeschreibung</div>
<div>Hersteller</div>
<div>Manualtyp</div>
<div>Dok.Nr.</div>
<div>Typ</div>
</div>
<!-- rows injected by JS -->
</div>
</div>
<style>
.content-results {
margin-top: 20px;
padding: 16px; /* cushion inside container */
background: #f9f9f9;
border-radius: 8px;
}
.results-grid {
display: grid;
grid-template-columns: repeat(5, 1fr);
border: 1px solid #ddd;
border-radius: 6px;
overflow: hidden;
}
.results-grid .row {
display: contents; /* lets children align to grid columns */
}
.results-grid .row > div {
padding: 10px;
border-bottom: 1px solid #eee;
}
.results-grid .header > div {
background: linear-gradient(to bottom, #888 0%, #fff 100%);
font-weight: bold;
border-bottom: 2px solid #ccc;
}
/* zebra striping */
.results-grid .row:nth-child(even) > div {
background-color: #EAECED;
}
.results-grid .row:nth-child(odd):not(.header) > div {
background-color: #fff;
}
</style>
</div>
{% endblock %}
{% block page_scripts %}
<script src="/scripts/autocomplete.js"></script>
<script>
jQuery(function () {
$('#download-search').searchAutocomplete({
url: '/search-download-fast',
processData: function (data, $input, response) {
var $grid = $('#results-grid');
$grid.find('.row:not(.header)').remove();
var items = (data || []).map(function (row) {
var ext = '';
if (row.file_name) {
var parts = row.file_name.split('.');
if (parts.length > 1) ext = parts.pop();
}
var $row = $('<div class="row">');
$row.append($('<div>').text(row.description || ""));
$row.append($('<div>').text(row.hersteller || ""));
$row.append($('<div>').text(row.doctype_name || ""));
$row.append($('<div>').text(row.Ordner || ""));
var $typCell = $('<div>').css('text-align', 'center');
if (row.file_id) {
var $link = $('<a>').attr('href', '/download/' + row.file_id).attr('target', '_blank');
{% if not logged_in %}$link.addClass('dl-link');{% endif %}
$link.append($('<img>').attr('src', '/images/pdf_icon_klein.jpg').attr('border', '0'));
$typCell.append($link);
} else {
$typCell.text(ext);
}
$row.append($typCell);
$grid.append($row);
return {
label: row.description,
value: row.description,
category: row.hersteller
};
});
items.sort(function (a, b) {
var c = a.category.localeCompare(b.category);
return c !== 0 ? c : a.label.localeCompare(b.label);
});
response(items);
}
});
});
</script>
{% endblock %}