UNPKG

@ui5/server

Version:
83 lines (71 loc) 1.95 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset='utf-8'> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <title>Index of {directory}</title> <style>{style}</style> <script> function $(id) { const el = "string" == typeof id ? document.getElementById(id) : id; el.on = function(event, fn) { if ("content loaded" === event) { event = window.attachEvent ? "load" : "DOMContentLoaded"; } el.addEventListener ? el.addEventListener(event, fn, false) : el.attachEvent("on" + event, fn); }; el.all = function(selector) { return $(el.querySelectorAll(selector)); }; el.each = function(fn) { for (let i = 0; i < el.length; ++i) { fn($(el[i]), i); } }; el.getClasses = function() { return this.getAttribute("class").split(/\s+/); }; el.addClass = function(name) { const classes = this.getAttribute("class"); el.setAttribute("class", classes ? classes + " " + name : name); }; el.removeClass = function(name) { const classes = this.getClasses().filter(function(curr) { return curr !== name; }); this.setAttribute("class", classes.join(" ")); }; return el; } function search() { let str = $("search").value.toLowerCase(); let links = $("files").all("a"); links.each(function(link) { let text = link.textContent.toLowerCase(); if (".." === text) return; if (str.length && ~text.indexOf(str)) { link.addClass("highlight"); } else { link.removeClass("highlight"); } }); } $(window).on("content loaded", function() { $("search").on("keyup", search); }); </script> </head> <body class="directory"> <label for="search"></label><input id="search" type="text" placeholder="Search" autocomplete="off"/> <div id="wrapper"> <h1><a href="/">~</a>{linked-path}</h1> {files} </div> </body> </html>