mirror of
https://github.com/caddyserver/caddy.git
synced 2025-04-28 02:12:05 +02:00
browse: Simple filter textbox for default template
Typing in this box will filter the list of items by name.
This commit is contained in:
parent
8b9c9efdba
commit
3f770603bc
1 changed files with 30 additions and 4 deletions
|
@ -102,6 +102,7 @@ const defaultTemplate = `<!DOCTYPE html>
|
||||||
<html>
|
<html>
|
||||||
<head>
|
<head>
|
||||||
<title>{{.Name}}</title>
|
<title>{{.Name}}</title>
|
||||||
|
<meta charset="utf-8">
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||||
<style>
|
<style>
|
||||||
* { padding: 0; margin: 0; }
|
* { padding: 0; margin: 0; }
|
||||||
|
@ -167,14 +168,19 @@ main {
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
font-family: Verdana, sans-serif;
|
font-family: Verdana, sans-serif;
|
||||||
border-bottom: 1px solid #9C9C9C;
|
border-bottom: 1px solid #9C9C9C;
|
||||||
padding-top: 15px;
|
padding-top: 10px;
|
||||||
padding-bottom: 15px;
|
padding-bottom: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.meta-item {
|
.meta-item {
|
||||||
margin-right: 1em;
|
margin-right: 1em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#filter {
|
||||||
|
padding: 4px;
|
||||||
|
border: 1px solid #CCC;
|
||||||
|
}
|
||||||
|
|
||||||
table {
|
table {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
border-collapse: collapse;
|
border-collapse: collapse;
|
||||||
|
@ -328,6 +334,7 @@ footer {
|
||||||
{{- if ne 0 .ItemsLimitedTo}}
|
{{- if ne 0 .ItemsLimitedTo}}
|
||||||
<span class="meta-item">(of which only <b>{{.ItemsLimitedTo}}</b> are displayed)</span>
|
<span class="meta-item">(of which only <b>{{.ItemsLimitedTo}}</b> are displayed)</span>
|
||||||
{{- end}}
|
{{- end}}
|
||||||
|
<span class="meta-item"><input type="text" placeholder="filter" id="filter" onkeyup='filter()'></span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="listing">
|
<div class="listing">
|
||||||
|
@ -376,7 +383,7 @@ footer {
|
||||||
</tr>
|
</tr>
|
||||||
{{- end}}
|
{{- end}}
|
||||||
{{- range .Items}}
|
{{- range .Items}}
|
||||||
<tr>
|
<tr class="file">
|
||||||
<td>
|
<td>
|
||||||
<a href="{{.URL}}">
|
<a href="{{.URL}}">
|
||||||
{{- if .IsDir}}
|
{{- if .IsDir}}
|
||||||
|
@ -402,7 +409,26 @@ footer {
|
||||||
<footer>
|
<footer>
|
||||||
Served with <a rel="noopener noreferrer" href="https://caddyserver.com">Caddy</a>.
|
Served with <a rel="noopener noreferrer" href="https://caddyserver.com">Caddy</a>.
|
||||||
</footer>
|
</footer>
|
||||||
<script type="text/javascript">
|
<script>
|
||||||
|
var filterEl = document.getElementById('filter');
|
||||||
|
function filter() {
|
||||||
|
var q = filterEl.value.trim().toLowerCase();
|
||||||
|
var elems = document.querySelectorAll('tr.file');
|
||||||
|
elems.forEach(function(el) {
|
||||||
|
if (!q) {
|
||||||
|
el.style.display = '';
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
var nameEl = el.querySelector('.name');
|
||||||
|
var nameVal = nameEl.textContent.trim().toLowerCase();
|
||||||
|
if (nameVal.indexOf(q) !== -1) {
|
||||||
|
el.style.display = '';
|
||||||
|
} else {
|
||||||
|
el.style.display = 'none';
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
function localizeDatetime(e, index, ar) {
|
function localizeDatetime(e, index, ar) {
|
||||||
if (e.textContent === undefined) {
|
if (e.textContent === undefined) {
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue