The administration panel and web client for ParEdu
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

115 lines
2.7 KiB

4 years ago
$(function () {
//Widgets count
$('.count-to').countTo();
//Sales count to
$('.sales-count-to').countTo({
formatter: function (value, options) {
return '$' + value.toFixed(2).replace(/(\d)(?=(\d\d\d)+(?!\d))/g, ' ').replace('.', ',');
}
});
initRealTimeChart();
initDonutChart();
initSparkline();
});
var realtime = 'on';
function initRealTimeChart() {
//Real time ==========================================================================================
var plot = $.plot('#real_time_chart', [getRandomData()], {
series: {
shadowSize: 0,
color: 'rgb(0, 188, 212)'
},
grid: {
borderColor: '#f3f3f3',
borderWidth: 1,
tickColor: '#f3f3f3'
},
lines: {
fill: true
},
yaxis: {
min: 0,
max: 100
},
xaxis: {
min: 0,
max: 100
}
});
function updateRealTime() {
plot.setData([getRandomData()]);
plot.draw();
var timeout;
if (realtime === 'on') {
timeout = setTimeout(updateRealTime, 320);
} else {
clearTimeout(timeout);
}
}
updateRealTime();
$('#realtime').on('change', function () {
realtime = this.checked ? 'on' : 'off';
updateRealTime();
});
//====================================================================================================
}
function initSparkline() {
$(".sparkline").each(function () {
var $this = $(this);
$this.sparkline('html', $this.data());
});
}
function initDonutChart() {
Morris.Donut({
element: 'donut_chart',
data: [{
label: 'Chrome',
value: 37
}, {
label: 'Firefox',
value: 30
}, {
label: 'Safari',
value: 18
}, {
label: 'Opera',
value: 12
},
{
label: 'Other',
value: 3
}],
colors: ['rgb(233, 30, 99)', 'rgb(0, 188, 212)', 'rgb(255, 152, 0)', 'rgb(0, 150, 136)', 'rgb(96, 125, 139)'],
formatter: function (y) {
return y + '%'
}
});
}
var data = [], totalPoints = 110;
function getRandomData() {
if (data.length > 0) data = data.slice(1);
while (data.length < totalPoints) {
var prev = data.length > 0 ? data[data.length - 1] : 50, y = prev + Math.random() * 10 - 5;
if (y < 0) { y = 0; } else if (y > 100) { y = 100; }
data.push(y);
}
var res = [];
for (var i = 0; i < data.length; ++i) {
res.push([i, data[i]]);
}
return res;
}