Auto refresh
This commit is contained in:
parent
1ab69ba1ea
commit
4ddb03719f
3 changed files with 44 additions and 13 deletions
21
internal/web/public/js/refresh.js
Normal file
21
internal/web/public/js/refresh.js
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
let ref = false;
|
||||
let refInterval;
|
||||
|
||||
autoRefresh();
|
||||
|
||||
function toggleRefresh() {
|
||||
ref = !ref;
|
||||
|
||||
autoRefresh()
|
||||
}
|
||||
|
||||
function autoRefresh() {
|
||||
|
||||
if (ref) {
|
||||
const timeout = document.getElementById("ref-timeout").value;
|
||||
console.log("Refresh timeout", timeout);
|
||||
refInterval = setInterval(loadAddrs, timeout * 1000);
|
||||
} else {
|
||||
clearInterval(refInterval);
|
||||
}
|
||||
}
|
||||
|
|
@ -17,11 +17,7 @@ function sortByAny(someArray, field) {
|
|||
if (field != oldField) {
|
||||
|
||||
if (field == 'IP') {
|
||||
someArray.sort((a, b) => {
|
||||
const num1 = Number(a.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
const num2 = Number(b.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
return num1-num2;
|
||||
});
|
||||
someArray.sort((a, b) => sortIP(a, b, true));
|
||||
} else {
|
||||
someArray.sort(byFieldDown(field));
|
||||
}
|
||||
|
|
@ -30,11 +26,7 @@ function sortByAny(someArray, field) {
|
|||
} else {
|
||||
|
||||
if (field == 'IP') {
|
||||
someArray.sort((a, b) => {
|
||||
const num1 = Number(a.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
const num2 = Number(b.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
return num2-num1;
|
||||
});
|
||||
someArray.sort((a, b) => sortIP(a, b, false));
|
||||
} else {
|
||||
someArray.sort(byFieldUp(field));
|
||||
}
|
||||
|
|
@ -51,4 +43,15 @@ function byFieldUp(fieldName){
|
|||
|
||||
function byFieldDown(fieldName){
|
||||
return (a, b) => a[fieldName] > b[fieldName] ? 1 : -1;
|
||||
}
|
||||
|
||||
function sortIP(a, b, down) {
|
||||
const num1 = Number(a.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
const num2 = Number(b.IP.split(".").map((num) => (`000${num}`).slice(-3) ).join(""));
|
||||
if (down) {
|
||||
return num1-num2;
|
||||
} else {
|
||||
return num2-num1;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -3,14 +3,21 @@
|
|||
<script src="/fs/public/js/index.js"></script>
|
||||
<script src="/fs/public/js/sort.js"></script>
|
||||
<script src="/fs/public/js/filter-search.js"></script>
|
||||
<script src="/fs/public/js/refresh.js"></script>
|
||||
<body>
|
||||
<div class="container-lg">
|
||||
<div class="row">
|
||||
<div class="col-md mt-4 mb-4">
|
||||
<div class="col-md mt-2">
|
||||
<div class="form-check form-switch">
|
||||
<input type="hidden" id="ref-timeout" value="{{ .Config.Timeout }}">
|
||||
<input class="form-check-input" type="checkbox" id="ref" onclick="toggleRefresh()" title="Auto refresh">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md mt-2 mb-4">
|
||||
<div class="card border-primary">
|
||||
<div class="card-header">
|
||||
<!-- <div class="d-flex justify-content-between">
|
||||
<div class="d-flex justify-content-left gap-3"> -->
|
||||
<div class="row">
|
||||
<div class="col-md mt-1 mb-1">
|
||||
<button class="btn btn-outline-primary" disabled>Filter by</button>
|
||||
|
|
|
|||
Loading…
Reference in a new issue