aboutsummaryrefslogtreecommitdiffstats
path: root/static/scripts.js
diff options
context:
space:
mode:
Diffstat (limited to 'static/scripts.js')
-rw-r--r--static/scripts.js42
1 files changed, 37 insertions, 5 deletions
diff --git a/static/scripts.js b/static/scripts.js
index cb43003..10facc4 100644
--- a/static/scripts.js
+++ b/static/scripts.js
@@ -7,23 +7,51 @@ $(document).ready(function() {
fetch("/api/mikrotik_devices").then((resp) => {
resp.json().then((body) => {
- Object.keys(body).forEach((interface, i) => {
+ Object.keys(body).reverse().forEach((interface, i) => {
let tr_elem = document.createElement("tr");
tr_elem.classList.add("mikrotik_tr")
tr_elem.id = "mikrotik_tr_" + interface;
// console.log(interface, body[interface]);
parent_elem.parentNode.insertBefore(tr_elem, parent_elem.nextSibling);
- })
+
+ for (let i = 0; i <= 4; i++) {
+ let td_elem = document.createElement("td");
+ if (i === 0) {
+ td_elem.innerHTML = interface;
+ td_elem.classList.add("mikrotik_interface_name")
+ } else if (i === 1) {
+ td_elem.innerHTML = body[interface];
+ } else if (i === 2) {
+ td_elem.id = "mikrotik_td_" + interface + "_watts_now";
+ } else if (i === 3) {
+ td_elem.id = "mikrotik_td_" + interface + "_watts_yesterday";
+ }
+ tr_elem.appendChild(td_elem);
+ }
+ });
+
+ get_mikrotik_table(Object.keys(body));
});
});
-
- // parent_elem.parentNode.insertBefore(document.createElement("tr"), parent_elem.nextSibling);
});
});
get_main_table();
})
+function get_mikrotik_table(interfaces) {
+ interfaces.forEach((interface) => {
+ fetch("/api/mikrotik_interface/" + interface).then((resp) => {
+ resp.json().then((body) => {
+ console.log(body["poe_status"]);
+ // TODO: Add a delay if it was cached
+ });
+ });
+ });
+
+ setTimeout(function() {get_mikrotik_table(interfaces);}, 1000)
+}
+
function get_main_table() {
fetch("/api/plugs").then((resp) => {
resp.json().then((body) => {
@@ -47,5 +75,9 @@ function get_main_table() {
});
});
- setTimeout(get_main_table, 30000);
+ setTimeout(get_main_table, 10000);
+}
+
+function sleep(ms) {
+ return new Promise(resolve => setTimeout(resolve, ms));
} \ No newline at end of file