2022-01-12 19:53:36 -05:00
|
|
|
function load_data(search){startProgressBar();let result="";$.ajax({method:"GET",url:"/get_config/"+conf_name+"?search="+encodeURIComponent(search),headers:{"Content-Type":"application/json"},success:function(response){removeNoResponding();peers=response.peer_data;if(response.listen_port===""&&response.status==="stopped"){$("config_info_alert").append('<div class="alert alert-warning" role="alert">Peer QR Code and configuration file download required a specified <strong>Listen Port</strong>.</div>')}if(response.conf_address==="N/A"){$("config_info_alert").append('<div class="alert alert-warning" role="alert">Configuration <strong>Address</strong> need to be specified to have peers connect to it.</div>')}let $conf_status_btn=$("#conf_status_btn");if(response.checked==="checked"){$conf_status_btn.html('<a href="#" id="'+response.name+'" '+response.checked+' class="switch text-primary"><i class="bi bi-toggle2-on"></i> ON</a>')}else{$conf_status_btn.html('<a href="#" id="'+response.name+'" '+response.checked+' class="switch text-primary"><i class="bi bi-toggle2-off"></i> OFF</a>')}$("#sort_by_dropdown option").removeAttr("selected");$("#sort_by_dropdown option[value="+response.sort_tag+"]").attr("selected","selected");$(".interval-btn-group button").removeClass("active");$("button[data-refresh-interval="+response.dashboard_refresh_interval+"]").addClass("active");$(".display-btn-group button").removeClass("active");$("button[data-display-mode="+response.peer_display_mode+"]").addClass("active");$("#conf_status").html(response.status+'<span class="dot dot-'+response.status+'"></span>');$("#conf_connected_peers").html(response.running_peer);$("#conf_total_data_usage").html(response.total_data_usage[0]+" GB");$("#conf_total_data_received").html(response.total_data_usage[2]+" GB");$("#conf_total_data_sent").html(response.total_data_usage[1]+" GB");$("#conf_public_key").html(response.public_key);$("#conf_listen_port").html(response.listen_port===""?"N/A":response.listen_port);$("#conf_address").html(response.listen_port);$(".info h6").removeClass("info_loading");$conf_status_btn.removeClass("info_loading");if(response.peer_data.length===0){$(".peer_list").html('<div class="col-12" style="text-align: center; margin-top: 1.5rem"><h3 class="text-muted">Oops! No peers found ‘︿’</h3></div>')}else{let display_mode=response.peer_display_mode==="list"?"col-12":"col-sm-6 col-lg-4";response.peer_data.forEach(function(peer){let total_r=0;let total_s=0;total_r+=peer.cumu_receive;total_s+=peer.cumu_sent;let spliter='<div class="w-100"></div>';let peer_name='<div class="col-sm display" style="display: flex; align-items: center; margin-bottom: 0.2rem">'+'<h5 style="margin: 0;">'+(peer.name===""?"Untitled":peer.name)+"</h5>"+'<h6 style="text-transform: uppercase; margin: 0; margin-left: auto !important;"><span class="dot dot-'+peer.status+'" style="margin-left: auto !important;" data-toggle="tooltip" data-placement="left" title="Peer Connected"></span></h6>'+"</div>";let peer_transfer='<div class="col-12 peer_data_group" style="text-align: right; display: flex; margin-bottom: 0.5rem"><p class="text-primary" style="text-transform: uppercase; margin-bottom: 0; margin-right: 1rem"><small><i class="bi bi-arrow-down-right"></i> '+roundN(peer.total_receive+total_r,4)+' GB</small></p> <p class="text-success" style="text-transform: uppercase; margin-bottom: 0"><small><i class="bi bi-arrow-up-right"></i> '+roundN(peer.total_sent+total_s,4)+" GB</small></p> </div>";let peer_key='<div class="col-sm"><small class="text-muted" style="display: flex"><strong>PEER</strong><strong style="margin-left: auto!important; opacity: 0; transition: 0.2s ease-in-out" class="text-primary">CLICK TO COPY</strong></small> <h6><samp class="ml-auto key">'+peer.id+"</samp></h6></div>";let peer_allowed_ip='<div class="col-sm"><small class="text-muted"><strong>ALLOWED IP</strong></small><h6 style="text-transform: uppercase;">'+peer.allowed_ip+"</h6></div>";let peer_latest_handshake='<div class="col-sm"> <small class="text-muted"><strong>LATEST HANDSHAKE</strong></small> <h6
|