67 lines
1.4 KiB
JavaScript
67 lines
1.4 KiB
JavaScript
function newent(e,txt) {
|
|
let s = document.createElement(e);
|
|
let t = document.createTextNode(txt);
|
|
s.appendChild(t);
|
|
return s;
|
|
}
|
|
|
|
function newspan(txt) {
|
|
return newent("span",txt);
|
|
}
|
|
|
|
function newlink(txt,lnk) {
|
|
let a = document.createElement("a");
|
|
a.href = lnk;
|
|
let t = document.createTextNode(txt);
|
|
a.appendChild(t);
|
|
return a;
|
|
}
|
|
|
|
function newli(n) {
|
|
let li = document.createElement("li");
|
|
li.appendChild(n);
|
|
return li;
|
|
}
|
|
|
|
function newul(lst) {
|
|
let ul = document.createElement("ul");
|
|
lst.forEach((e) => {
|
|
let li = newli(e);
|
|
ul.appendChild(li);
|
|
}
|
|
);
|
|
return ul;
|
|
}
|
|
|
|
function add(n,lst) {
|
|
lst.forEach((e) =>
|
|
n.appendChild(e));
|
|
return n;
|
|
}
|
|
|
|
function entryNode(entry) {
|
|
let created = newspan(entry.created);
|
|
let label = newspan(entry.label);
|
|
let short = newlink(entry.short,entry.short);
|
|
let url = newspan(entry.url);
|
|
|
|
let block = document.createElement("ul");
|
|
block.appendChild(newli(short));
|
|
block.appendChild(newli(url));
|
|
let div = document.createElement("div");
|
|
add(div,[created,newspan(" "),label,block])
|
|
return div;
|
|
}
|
|
|
|
function appendEntry (entry) {
|
|
let u = document.getElementById("lynks");
|
|
let li = document.createElement("li");
|
|
let a = entryNode(entry);
|
|
li.appendChild(a);
|
|
u.appendChild(li);
|
|
}
|
|
|
|
fetch('/y')
|
|
.then((response) => response.json())
|
|
.then((lst) =>
|
|
(lst.forEach (entry => appendEntry(entry))));
|