tangled
alpha
login
or
join now
stau.space
/
aecc-db
0
fork
atom
AECC database project.
0
fork
atom
overview
issues
pulls
pipelines
feat: New way to show CRUD UI.
Diego A. Estrada Rivera
11 months ago
9500c463
8089a5f1
+77
-16
2 changed files
expand all
collapse all
unified
split
index.html
lib
header.js
+6
-12
index.html
reviewed
···
13
13
<meta name="apple-mobile-web-app-title" content="AECC DB" />
14
14
<link rel="manifest" href="/~diego.estrada1/CCOM/4027/db/assets/site.webmanifest" />
15
15
16
16
+
<script src="lib/activity.js"></script>
17
17
+
<script src="lib/egg.js"></script>
16
18
<script src="lib/header.js"></script>
19
19
+
<script src="lib/member.js"></script>
17
20
<script src="lib/product.js"></script>
18
21
<script src="lib/transaction.js"></script>
19
19
-
<script src="lib/egg.js"></script>
20
22
<link rel="stylesheet" href="index.css">
21
23
</head>
22
24
<body>
23
25
<noscript>
26
26
+
<br /><br /><br /><br /><br /><br /><br /><br /><br />
24
27
<strong>Please enable JavaScript.</strong>
25
28
This site relies on basic JavaScript functionality and your personal data is not collected.
29
29
+
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
26
30
</noscript>
27
31
<header>
28
32
<h1>
···
35
39
What would you like to work with?
36
40
<br />
37
41
<br />
38
38
-
<button onclick="next('activityFunctionality')">Activities</button>
42
42
+
<button onclick="next('allActivities'); initTable(allActivitiesTable, 'activity', 'editActivity', 'deleteActivity')">Activities</button>
39
43
<button onclick="next('activityTransactionFunctionality')">Activity Transactions</button>
40
44
<button onclick="next('boardMemberFunctionality')">Board Members</button>
41
45
<button onclick="next('memberFunctionality')">Members</button>
···
50
54
<x-include src="member.html"></x-include>
51
55
<x-include src="product.html"></x-include>
52
56
<x-include src="transaction.html"></x-include>
53
53
-
54
54
-
<div id="product">
55
55
-
</div>
56
56
-
57
57
-
<div id="member">
58
58
-
</div>
59
59
-
60
60
-
<div id="activity">
61
61
-
</div>
62
62
-
63
57
</main>
64
58
<footer>
65
59
<div style="height:50px"></div>
+71
-4
lib/header.js
reviewed
···
17
17
last = 'buttons';
18
18
}
19
19
20
20
-
function table_filter() {
21
21
-
var filter = tableFilter.value.toUpperCase();
20
20
+
function tableFilter(event, table) {
21
21
+
var filter = event.target.value.toUpperCase();
22
22
23
23
-
var trs = resultsTable.getElementsByTagName("tr");
23
23
+
var trs = table.getElementsByTagName("tr");
24
24
25
25
for (var i = 1; i < trs.length; i++) {
26
26
trs[i].style.display = "none";
···
35
35
}
36
36
}
37
37
}
38
38
-
};
38
38
+
}
39
39
+
40
40
+
function initTable(HTMLTable, SQLTable, editHandler, deleteHandler) {
41
41
+
const body = HTMLTable.tBodies[0];
42
42
+
body.innerHTML = "";
43
43
+
fetch (`${URL}/api/v1/read/?t=${SQLTable}`).then(resp => resp.json()).then(json => {
44
44
+
for (var i = 0; i < json.length; ++i) {
45
45
+
const obj = json[i];
46
46
+
let HTML = "<tr>";
47
47
+
for (var j = 0; j < obj.length; ++j) {
48
48
+
HTML += `<td>${obj[j]}</td>`;
49
49
+
}
50
50
+
HTML += `
51
51
+
<td style="border:0px;">
52
52
+
<button onclick='${editHandler}(${JSON.stringify(obj)})'>Edit</button>
53
53
+
</td>
54
54
+
`;
55
55
+
HTML += `
56
56
+
<td style="border:0px;">
57
57
+
<button style="color:#ff5454;" onclick='${deleteHandler}(${JSON.stringify(obj)})'>Delete</button>
58
58
+
</td>
59
59
+
`;
60
60
+
HTML += "</tr>";
61
61
+
body.innerHTML += HTML;
62
62
+
}
63
63
+
});
64
64
+
}
65
65
+
66
66
+
function fillTable(HTMLTable, SQLTable) {
67
67
+
const body = HTMLTable.tBodies[0];
68
68
+
body.innerHTML = "";
69
69
+
fetch (`${URL}/api/v1/read/?t=${SQLTable}`).then(resp => resp.json()).then(json => {
70
70
+
console.log(json);
71
71
+
for (var i = 0; i < json.length; ++i) {
72
72
+
const obj = json[i];
73
73
+
let HTML = "<tr>";
74
74
+
for (var j = 0; j < obj.length; ++j) {
75
75
+
HTML += `<td>${obj[j]}</td>`;
76
76
+
}
77
77
+
HTML += "</tr>";
78
78
+
body.innerHTML += HTML;
79
79
+
}
80
80
+
});
81
81
+
}
82
82
+
83
83
+
async function get(endpoint, params) {
84
84
+
try {
85
85
+
return await fetch(`${URL}/api/v1/${endpoint}/?${params}`).then(resp => resp.json());
86
86
+
} catch (error) {
87
87
+
console.error(error.message);
88
88
+
return "";
89
89
+
}
90
90
+
}
91
91
+
92
92
+
async function post(endpoint, payload) {
93
93
+
try {
94
94
+
return await fetch(`${URL}/api/v1/${endpoint}/`, {
95
95
+
method: "POST",
96
96
+
headers: {
97
97
+
"Content-Type": "application/json"
98
98
+
},
99
99
+
body: JSON.stringify(payload)
100
100
+
}).then(resp => resp.json());
101
101
+
} catch (error) {
102
102
+
console.error(error.message);
103
103
+
return "";
104
104
+
}
105
105
+
}