watchyourlan/internal/web/public/js/history.js
2025-03-18 22:04:12 +07:00

66 lines
1.4 KiB
JavaScript

let show = 500;
let addrsArray;
loadAddrs();
async function loadAddrs() {
const n = localStorage.getItem("histShow");
if (n != null) {
show = n;
}
const url = '/api/all';
addrsArray = await (await fetch(url)).json();
loadHistory();
}
async function loadHistory() {
let tr, td, url, hist;
let i = 0;
document.getElementById('showHist').innerHTML = '';
for (let a of addrsArray) {
url = '/api/history/'+a.Mac;
hist = await (await fetch(url)).json();
if (hist != null) {
hist = sortHistByDate(hist);
if (show > 0) {
hist = hist.slice(0, show);
}
td = getHistHTML(hist); // hist-html.js
}
i = i + 1;
tr = `
<tr>
<td style="opacity: 45%;">${i}.</td>
<td>
<p>${a.Name}</p>
<p><a href="http://${a.IP}" target="_blank">${a.IP}</a></p>
<p><a href="/host/${a.ID}">${a.Mac}</a></p>
</td>
<td>${td}</td>
</tr>`;
document.getElementById('showHist').insertAdjacentHTML('beforeend', tr);
}
}
function showHist(n) {
show = n;
localStorage.setItem("histShow", show);
loadHistory();
}
function manualShow() {
const n = document.getElementById('man-show').value;
showHist(n);
}