|
@@ -25,7 +25,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
<div class="column">
|
|
- <div id="connections" class="ui yellow statustab inverted segment">
|
|
|
|
|
|
+ <div id="connections" class="ui statustab segment" style="background-color: #f0ece1; border: 0px solid transparent;">
|
|
<h4 class="ui header">
|
|
<h4 class="ui header">
|
|
<i class="arrows alternate horizontal icon"></i>
|
|
<i class="arrows alternate horizontal icon"></i>
|
|
<div class="content">
|
|
<div class="content">
|
|
@@ -38,7 +38,7 @@
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
<div class="column">
|
|
- <div id="connections" class="ui pink statustab inverted segment">
|
|
|
|
|
|
+ <div id="connections" class="ui statustab inverted segment" style="background-color: #7d8e88;">
|
|
<h4 class="ui header">
|
|
<h4 class="ui header">
|
|
<i class="map marker alternate icon"></i>
|
|
<i class="map marker alternate icon"></i>
|
|
<div class="content">
|
|
<div class="content">
|
|
@@ -85,29 +85,33 @@
|
|
<div class="ui two column stackable grid">
|
|
<div class="ui two column stackable grid">
|
|
<div class="column">
|
|
<div class="column">
|
|
<p>Visitor Counts</p>
|
|
<p>Visitor Counts</p>
|
|
- <table class="ui basic celled table">
|
|
|
|
|
|
+ <table class="ui basic unstackable table">
|
|
<thead>
|
|
<thead>
|
|
<tr>
|
|
<tr>
|
|
<th>Country ISO Code</th>
|
|
<th>Country ISO Code</th>
|
|
- <th>Visitor Count</th>
|
|
|
|
|
|
+ <th>Unique Visitors</th>
|
|
</tr>
|
|
</tr>
|
|
</thead>
|
|
</thead>
|
|
- <tbody>
|
|
|
|
- <!-- insert table rows here -->
|
|
|
|
|
|
+ <tbody id="countryCodetable">
|
|
|
|
+ <tr>
|
|
|
|
+ <td colspan="2">No Data</td>
|
|
|
|
+ </tr>
|
|
</tbody>
|
|
</tbody>
|
|
</table>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
<div class="column">
|
|
<div class="column">
|
|
<p>Proxy Request Types</p>
|
|
<p>Proxy Request Types</p>
|
|
- <table class="ui basic celled table">
|
|
|
|
|
|
+ <table class="ui basic unstackable table">
|
|
<thead>
|
|
<thead>
|
|
<tr>
|
|
<tr>
|
|
<th>Proxy Type</th>
|
|
<th>Proxy Type</th>
|
|
<th>Count</th>
|
|
<th>Count</th>
|
|
</tr>
|
|
</tr>
|
|
</thead>
|
|
</thead>
|
|
- <tbody>
|
|
|
|
- <!-- insert table rows here -->
|
|
|
|
|
|
+ <tbody id="forwardTypeTable">
|
|
|
|
+ <tr>
|
|
|
|
+ <td colspan="2">No Data</td>
|
|
|
|
+ </tr>
|
|
</tbody>
|
|
</tbody>
|
|
</table>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
@@ -152,7 +156,7 @@
|
|
|
|
|
|
function abbreviateNumber(value) {
|
|
function abbreviateNumber(value) {
|
|
var newValue = value;
|
|
var newValue = value;
|
|
- var suffixes = ["", "K", "M", "B", "T"];
|
|
|
|
|
|
+ var suffixes = ["", "k", "m", "b", "t"];
|
|
var suffixNum = 0;
|
|
var suffixNum = 0;
|
|
while (newValue >= 1000 && suffixNum < suffixes.length - 1) {
|
|
while (newValue >= 1000 && suffixNum < suffixes.length - 1) {
|
|
newValue /= 1000;
|
|
newValue /= 1000;
|
|
@@ -172,7 +176,7 @@
|
|
|
|
|
|
// Sort array based on value of each pair
|
|
// Sort array based on value of each pair
|
|
entries.sort((a, b) => {
|
|
entries.sort((a, b) => {
|
|
- return a[1] - b[1];
|
|
|
|
|
|
+ return b[1] - a[1];
|
|
});
|
|
});
|
|
|
|
|
|
// Convert sorted array back to object
|
|
// Convert sorted array back to object
|
|
@@ -193,6 +197,22 @@
|
|
3. ${(Object.keys(data)[2])?Object.keys(data)[2]:"No Data"}
|
|
3. ${(Object.keys(data)[2])?Object.keys(data)[2]:"No Data"}
|
|
</div>
|
|
</div>
|
|
`);
|
|
`);
|
|
|
|
+
|
|
|
|
+ //populate the table
|
|
|
|
+ $("#countryCodetable").html("");
|
|
|
|
+ for (const [key, value] of Object.entries(data)) {
|
|
|
|
+ $("#countryCodetable").append(`<tr>
|
|
|
|
+ <td>${key}</td>
|
|
|
|
+ <td>${value}</td>
|
|
|
|
+ </tr>`);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (data.length == 0){
|
|
|
|
+ $("#countryCodetable").append(`<tr>
|
|
|
|
+ <td colspan="2">No Data</td>
|
|
|
|
+ </tr>`);
|
|
|
|
+ }
|
|
|
|
+
|
|
});
|
|
});
|
|
|
|
|
|
//Filter forward type
|
|
//Filter forward type
|
|
@@ -208,13 +228,27 @@
|
|
|
|
|
|
$.get("/api/stats/summary", function(data){
|
|
$.get("/api/stats/summary", function(data){
|
|
data = sortObjectByValue(data.ForwardTypes);
|
|
data = sortObjectByValue(data.ForwardTypes);
|
|
- $("#forwardtype").html((Object.keys(data)[0])?fft(Object.keys(data)[0]):"No Data");
|
|
|
|
|
|
+ $("#forwardtype").html((Object.keys(data)[0])?fft(Object.keys(data)[0]) + ": " + abbreviateNumber(data[Object.keys(data)[0]]):"No Data");
|
|
$("#forwardtypeList").html(`
|
|
$("#forwardtypeList").html(`
|
|
- <div style="color: white;">
|
|
|
|
- ${(Object.keys(data)[1])?fft(Object.keys(data)[1]) + ": " +data[Object.keys(data)[1]]:"No Data"}<br>
|
|
|
|
- ${(Object.keys(data)[2])?fft(Object.keys(data)[2]) + ": " +data[Object.keys(data)[2]]:"No Data"}
|
|
|
|
|
|
+ <div>
|
|
|
|
+ ${(Object.keys(data)[1])?fft(Object.keys(data)[1]) + ": " + abbreviateNumber(data[Object.keys(data)[1]]):"No Data"}<br>
|
|
|
|
+ ${(Object.keys(data)[2])?fft(Object.keys(data)[2]) + ": " + abbreviateNumber(data[Object.keys(data)[2]]):"No Data"}
|
|
</div>
|
|
</div>
|
|
`);
|
|
`);
|
|
|
|
+
|
|
|
|
+ $("#forwardTypeTable").html("");
|
|
|
|
+ for (const [key, value] of Object.entries(data)) {
|
|
|
|
+ $("#forwardTypeTable").append(`<tr>
|
|
|
|
+ <td>${key}</td>
|
|
|
|
+ <td>${value}</td>
|
|
|
|
+ </tr>`);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (data.length == 0){
|
|
|
|
+ $("#forwardTypeTable").append(`<tr>
|
|
|
|
+ <td colspan="2">No Data</td>
|
|
|
|
+ </tr>`);
|
|
|
|
+ }
|
|
});
|
|
});
|
|
}
|
|
}
|
|
getDailySummaryDetails();
|
|
getDailySummaryDetails();
|