forked from aeris/cryptcheck-rails
parent
0a5589cfa5
commit
43a1097e45
@ -0,0 +1,34 @@ |
||||
document.addEventListener("DOMContentLoaded", () => { |
||||
let background = [ |
||||
'#5cb85c', |
||||
'#8db457', |
||||
'#beb052', |
||||
'#f0ad4e', |
||||
'#e4804e', |
||||
'#d9534f', |
||||
'#bb3d39', |
||||
'#000' |
||||
] |
||||
|
||||
|
||||
for (const service of ["https", "smtp", "tls", "xmpp"]) { |
||||
const name = service.replace(/^\w/, c => c.toUpperCase()) |
||||
console.info(`grades${name}Chart`) |
||||
const canvas = document.getElementById(`grades${name}Chart`).getContext('2d') |
||||
const chart = new Chart(canvas, {type: 'pie'}) |
||||
|
||||
fetch(`/statistics/${service}.json`).then((response) => { |
||||
if (response.status === 200) { |
||||
response.json().then((data) => { |
||||
chart.data.labels = Object.keys(data) |
||||
chart.data.datasets = [{ |
||||
label: 'Number of request', |
||||
data: Object.values(data), |
||||
backgroundColor: background |
||||
}] |
||||
chart.update() |
||||
}) |
||||
} |
||||
}); |
||||
} |
||||
}); |
@ -1,7 +1,15 @@ |
||||
<h2>Statistiques par service</h2> |
||||
<div class="row"> |
||||
<div class="col-4"> |
||||
<h2>Requests per service</h2> |
||||
|
||||
<ul class="list-unstyled"> |
||||
<% %i[https smtp xmpp tls ssh].each do |service| %> |
||||
<li><%= link_to service, stats_grade_path(service) %> (<%= Analysis.where(service: service).count %> recherches)</li> |
||||
<canvas id="servicesChart" aria-label="Pie chart for number of requests per service" role="img"></canvas> |
||||
</div> |
||||
|
||||
<% %i[https smtp tls xmpp].each do |s| %> |
||||
<div class="col-4"> |
||||
<h2>Grades for service <%= s.to_s.upcase %></h2> |
||||
|
||||
<canvas id="<%= "grades" + s.to_s.upcase_first + "Chart" %>" aria-label="Bar chart for number of grades for service <%= s.to_s.upcase %>" role="img"></canvas> |
||||
</div> |
||||
<% end %> |
||||
</ul> |
||||
</div> |
Loading…
Reference in new issue