mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-08-03 07:53:39 +00:00
33
rootfs/nftd/addNginxFancyIndexForm.js
Normal file
33
rootfs/nftd/addNginxFancyIndexForm.js
Normal file
@@ -0,0 +1,33 @@
|
||||
// addNginxFancyIndexForm.js
|
||||
// Add a small form to filter through the output of Nginx FancyIndex page
|
||||
// © 2017, Lilian Besson (Naereen) and contributors,
|
||||
// open-sourced under the MIT License, https://lbesson.mit-license.org/
|
||||
// hosted on GitHub, https://GitHub.com/Naereen/Nginx-Fancyindex-Theme
|
||||
var form = document.createElement('form');
|
||||
var input = document.createElement('input');
|
||||
|
||||
input.name = 'filter';
|
||||
input.id = 'search';
|
||||
input.placeholder = 'Type to search...';
|
||||
|
||||
form.appendChild(input);
|
||||
|
||||
document.querySelector('h1').after(form);
|
||||
|
||||
var listItems = [].slice.call(document.querySelectorAll('#list tbody tr'));
|
||||
|
||||
input.addEventListener('keyup', function () {
|
||||
var i,
|
||||
// Word sequence _matching_ to input. All, except last, words must be _complete_.
|
||||
e = "(^|.*[^\\pL])" + this.value.trim().split(/\s+/).join("([^\\pL]|[^\\pL].*[^\\pL])") + ".*$",
|
||||
n = RegExp(e, "i");
|
||||
listItems.forEach(function(item) {
|
||||
item.removeAttribute('hidden');
|
||||
});
|
||||
listItems.filter(function(item) {
|
||||
i = item.querySelector('td').textContent.replace(/\s+/g, " ");
|
||||
return !n.test(i);
|
||||
}).forEach(function(item) {
|
||||
item.hidden = true;
|
||||
});
|
||||
});
|
Reference in New Issue
Block a user