diff options
Diffstat (limited to 'bcst/themes/home-term/script/script.js')
| -rw-r--r-- | bcst/themes/home-term/script/script.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/bcst/themes/home-term/script/script.js b/bcst/themes/home-term/script/script.js new file mode 100644 index 0000000..b3e8bc8 --- /dev/null +++ b/bcst/themes/home-term/script/script.js @@ -0,0 +1,35 @@ + +const Main = (() => { + const list = document.getElementById("list"); + const names = document.querySelectorAll("[data-Name]"); + const search = document.getElementById("search"); + const form = document.forms[0]; + + const init = () => { + list.innerHTML = Config.Links.map(([gName, Links]) => ` + <li> + <h1 onclick="this.parentNode.classList.toggle('hideChildren')">${gName}</h1> + <ul> + ${Links.map(([lName, url]) => ` + <li> + <a href="${url}">${lName}</a> + </li>` + ).join("")} + </ul> + </li>` + ).join("") + + names.forEach(el => { + el.innerText = Config.name; + }); + + document.addEventListener("keydown", e => e.key.length === 1 && search.focus()); + search.addEventListener("keydown", () => (window.event ? event.keyCode : e.which) == 13 && form.submit()); + }; + + return { + init, + }; +})(); + +Main.init() |
