-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
78 lines (65 loc) · 1.92 KB
/
script.js
File metadata and controls
78 lines (65 loc) · 1.92 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
async function get() {
return await fetch("table.json");
}
async function parse(response) {
if (response.ok) {
return await response.json();
}
return
}
/*
var json;
if (response.ok) {
json = await response.json();
}
*/
async function sendJSON(object) {
var response = await fetch("/table.json", {
method: "POST",
headers: {
"Content-Type": "application/json;charset=utf-8"
},
body: JSON.stringify(object)
});
}
async function main() {
async function addElement(inps, b) {
obj = {};
cnt = a.rows.length;
a.insertRow(cnt);
for (var i = 0; i < inps.length; ++i) {
// b[b.length] = {};
// b[b.length - 1].Object.keys(b[0])[i] = inps[i].value;
// var key = Object.keys(b[0])[i];
obj[Object.keys(b[0])[i]] = inps[i].value;
a.rows[cnt].insertCell(i);
a.rows[cnt].cells[i].innerHTML = inps[i].value;
}
b[b.length] = obj;
await sendJSON(b);
}
var json = await parse(await get());
var b = json;
a.border = 1;
var header = a.createTHead().insertRow(0);
var inps = [];
for (var j=0; j<Object.keys(b[0]).length; ++j) {
header.insertCell(j);
header.cells[j].innerHTML=Object.keys(b[0])[j];
var inp = document.createElement("input");
inps[inps.length] = inp;
document.body.appendChild(inp);
}
for (var i=0; i<b.length; ++i) {
a.insertRow(i+1);
for (var j=0; j<Object.keys(b[i]).length; ++j) {
a.rows[i+1].insertCell(j);
a.rows[i+1].cells[j].innerHTML=Object.values(b[i])[j];
}
}
var add_button = document.body.appendChild(document.createElement("button"));
add_button.innerHTML = "Add";
add_button.addEventListener("click", await function(){addElement(inps, b);});
return 0;
}
main();