mirror of
https://github.com/donaldzou/WGDashboard.git
synced 2025-07-21 12:36:58 +00:00
67 lines
2.9 KiB
JavaScript
67 lines
2.9 KiB
JavaScript
/**
|
|
* tools.js - Copyright(C) 2021 Donald Zou [https://github.com/donaldzou]
|
|
*/
|
|
|
|
$(".ip_dropdown").on("change",function (){
|
|
$(".modal.show .btn").removeAttr("disabled");
|
|
});
|
|
|
|
$(".conf_dropdown").on("change", function (){
|
|
$(".modal.show .ip_dropdown").html('<option value="none" selected="selected" disabled>Loading...');
|
|
$.ajax({
|
|
url: "/get_ping_ip",
|
|
method: "POST",
|
|
data: "config=" + $(this).children("option:selected").val(),
|
|
success: function (res){
|
|
$(".modal.show .ip_dropdown").html("");
|
|
$(".modal.show .ip_dropdown").append('<option value="none" selected="selected" disabled>Choose an IP');
|
|
$(".modal.show .ip_dropdown").append(res);
|
|
}
|
|
});
|
|
});
|
|
// Ping Tools
|
|
$(".send_ping").on("click", function (){
|
|
$(this).attr("disabled","disabled");
|
|
$(this).html("Pinging...");
|
|
$("#ping_modal .form-control").attr("disabled","disabled");
|
|
$.ajax({
|
|
method:"POST",
|
|
data: "ip="+ $(':selected', $("#ping_modal .ip_dropdown")).val() +
|
|
"&count=" + $("#ping_modal .ping_count").val(),
|
|
url: "/ping_ip",
|
|
success: function (res){
|
|
$(".ping_result tbody").html("");
|
|
let html = '<tr><th scope="row">Address</th><td>'+res.address+'</td></tr>' +
|
|
'<tr><th scope="row">Is Alive</th><td>'+res.is_alive+'</td></tr>' +
|
|
'<tr><th scope="row">Min RTT</th><td>'+res.min_rtt+'ms</td></tr>' +
|
|
'<tr><th scope="row">Average RTT </th><td>'+res.avg_rtt+'ms</td></tr>' +
|
|
'<tr><th scope="row">Max RTT</th><td>'+res.max_rtt+'ms</td></tr>' +
|
|
'<tr><th scope="row">Package Sent</th><td>'+res.package_sent+'</td></tr>' +
|
|
'<tr><th scope="row">Package Received</th><td>'+res.package_received+'</td></tr>' +
|
|
'<tr><th scope="row">Package Loss</th><td>'+res.package_loss+'</td></tr>';
|
|
$(".ping_result tbody").html(html);
|
|
$(".send_ping").removeAttr("disabled");
|
|
$(".send_ping").html("Ping");
|
|
$("#ping_modal .form-control").removeAttr("disabled");
|
|
}
|
|
});
|
|
});
|
|
|
|
// Traceroute Tools
|
|
$(".send_traceroute").on("click", function (){
|
|
$(this).attr("disabled","disabled");
|
|
$(this).html("Tracing...");
|
|
$("#traceroute_modal .form-control").attr("disabled","disabled");
|
|
$.ajax({
|
|
url: "/traceroute_ip",
|
|
method: "POST",
|
|
data: "ip=" + $(':selected', $("#traceroute_modal .ip_dropdown")).val(),
|
|
success: function (res){
|
|
$(".traceroute_result tbody").html("");
|
|
res.forEach((ele) =>
|
|
$(".traceroute_result tbody").append('<tr><th scope="row">'+ele.hop+'</th><td>'+ele.ip+'</td><td>'+ele.avg_rtt+'</td><td>'+ele.min_rtt+'</td><td>'+ele.max_rtt+'</td></tr>'));
|
|
$(".send_traceroute").removeAttr("disabled").html("Traceroute");
|
|
$("#traceroute_modal .form-control").removeAttr("disabled");
|
|
}
|
|
});
|
|
}); |