JSFiddle - React, Tailwind, and code Playground
by gyufi
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/highcharts/5.0.14/highcharts.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/startbootstrap-sb-admin-2/3.3.7+1/css/sb-admin-2.css">
<script src="https://cdnjs.cloudflare.com/ajax/libs/startbootstrap-sb-admin-2/3.3.7+1/js/sb-admin-2.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<div class="container">
<h2>counters</h2>
<div class="row">
<div class="col-xs-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-university fa-5x"></i>Organizations
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="countOrg">
<div class="fa fa-spinner fa-spin"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="col-xs-6">
<div class="panel panel-primary">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-handshake-o fa-5x"></i>Partners
</div>
<div class="col-xs-9 text-right">
<div class="huge" id="countPartners">
<div class="fa fa-spinner fa-spin"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-xs-12">
<div class="panel panel-info">
<div class="panel-heading">
<div class="row">
<div class="col-xs-3">
<i class="fa fa-globe fa-5x"></i>all entities
</div>
<div...
JavaScript
$(document).ready(function() {
var baseurl = "https://rr.eduid.hu";
function updateCounter(url, targetId) {
$.ajax({
type: "GET",
url: baseurl + "/api/v1/stats/counters/" + url,
success: function(results) {
$("#" + targetId).text(results);
},
error: function(results) {
console.log("ERROR");
}
});
}
updateCounter("organizations", "countOrg");
updateCounter("entities?set=partners", "countPartners");
updateCounter("entities", "countAll");
updateCounter("entities?role=idp", "countIdPs");
updateCounter("entities?role=sp", "countSPs");
updateCounter("entities?role=aa", "countAAs");
updateCounter("entities?set=href", "countEduid");
updateCounter("entities?set=href-edugain", "countEdugain");
$.ajax({
type: "GET",
url: baseurl + "/api/v1/stats/timelines/entities",
success: function(results) {
new Highcharts.Chart({
chart: {
"renderTo": "timelinesEntities",
"type": "column",
"zoomType": "x"
},
plotOptions: {
"column": {
"stacking": "normal"
}
},
series: $.parseJSON(results),
title: {
"text": "entities by time"
},
xAxis: {
"type": "category"
},
yAxis: {
"title": {
text: "number of entities"
},
"stackLabels": {
"enabled": true,
"rotation": -90,
"y": -20
}
}
});
},
error: function(results) {
console.log("ERROR");
}
});
$.ajax({
type: "GET",
url: baseurl + "/api/v1/stats/timelines/organizations",
success: function(results) {
new Highcharts.Chart({
chart: {
"renderTo": "timelinesOrganizations",
"type": "column",
"zoomType": "x"
},
plotOptions: {
"column": {
"stacking": "normal"
}
...