mirror of
https://github.com/oonyeje/Pearlception_Website_RoR.git
synced 2025-12-25 11:47:41 +00:00
Added date filtering
This commit is contained in:
parent
8e2d357c3d
commit
13b4fdb59b
@ -1,32 +1,28 @@
|
|||||||
|
/*
|
||||||
|
Set up both the datepicker tabs with this
|
||||||
|
*/
|
||||||
$('#from_datepicker').datepicker()
|
$('#from_datepicker').datepicker()
|
||||||
$('#to_datepicker').datepicker()
|
$('#to_datepicker').datepicker()
|
||||||
/*
|
|
||||||
*This is code for the grades chart.
|
$(document).ready(
|
||||||
*/
|
$.get("statistics.json", function(gradeData){
|
||||||
|
constructGradesGraph(gradeData);
|
||||||
|
})
|
||||||
|
);
|
||||||
|
|
||||||
|
function constructGradesGraph(gradeData){
|
||||||
|
console.log(gradeData)
|
||||||
|
var colors = generateColors(gradeData);
|
||||||
var ctx = document.getElementById("gradesChart");
|
var ctx = document.getElementById("gradesChart");
|
||||||
var myChart = new Chart(ctx, {
|
var myChart = new Chart(ctx, {
|
||||||
type: 'bar',
|
type: 'bar',
|
||||||
data: {
|
data: {
|
||||||
labels: ["Grade1", "Grade2", "Grade3", "Grade4", "Grade5", "Grade6"],
|
labels: generateLabels(gradeData),
|
||||||
datasets: [{
|
datasets: [{
|
||||||
label: 'Count for each grade',
|
label: 'Count for each grade',
|
||||||
data: [12, 19, 3, 5, 2, 3],
|
data: getGradeCount(gradeData),
|
||||||
backgroundColor: [
|
backgroundColor: colors,
|
||||||
'rgba(255, 99, 132, 0.2)',
|
borderColor: colors,
|
||||||
'rgba(54, 162, 235, 0.2)',
|
|
||||||
'rgba(255, 206, 86, 0.2)',
|
|
||||||
'rgba(75, 192, 192, 0.2)',
|
|
||||||
'rgba(153, 102, 255, 0.2)',
|
|
||||||
'rgba(255, 159, 64, 0.2)'
|
|
||||||
],
|
|
||||||
borderColor: [
|
|
||||||
'rgba(255,99,132,1)',
|
|
||||||
'rgba(54, 162, 235, 1)',
|
|
||||||
'rgba(255, 206, 86, 1)',
|
|
||||||
'rgba(75, 192, 192, 1)',
|
|
||||||
'rgba(153, 102, 255, 1)',
|
|
||||||
'rgba(255, 159, 64, 1)'
|
|
||||||
],
|
|
||||||
borderWidth: 1
|
borderWidth: 1
|
||||||
}]
|
}]
|
||||||
},
|
},
|
||||||
@ -40,4 +36,39 @@ var myChart = new Chart(ctx, {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateLabels(gradeData){
|
||||||
|
let grades = gradeData.grades;
|
||||||
|
labels = [];
|
||||||
|
for(var i = 0; i < grades.length; i++){
|
||||||
|
labels.push(grades[i].Full_name)
|
||||||
|
}
|
||||||
|
return labels;
|
||||||
|
}
|
||||||
|
|
||||||
|
function generateColors(gradeData){
|
||||||
|
colors = [];
|
||||||
|
availableColors = [
|
||||||
|
'rgba(255, 99, 132, 0.2)',
|
||||||
|
'rgba(54, 162, 235, 0.2)',
|
||||||
|
'rgba(255, 206, 86, 0.2)',
|
||||||
|
'rgba(75, 192, 192, 0.2)',
|
||||||
|
'rgba(153, 102, 255, 0.2)',
|
||||||
|
'rgba(255, 159, 64, 0.2)'
|
||||||
|
];
|
||||||
|
for(var i = 0; i < gradeData.grades.length; i++){
|
||||||
|
var index = Math.round(Math.random() * (availableColors.length - 1));
|
||||||
|
var color = availableColors[index]
|
||||||
|
colors.push(color);
|
||||||
|
}
|
||||||
|
return colors;
|
||||||
|
}
|
||||||
|
|
||||||
|
function getGradeCount(gradeData){
|
||||||
|
counts = [];
|
||||||
|
for(var i = 0; i < gradeData.grades.length; i++){
|
||||||
|
counts.push(Math.random() * 100);
|
||||||
|
}
|
||||||
|
return counts;
|
||||||
|
}
|
||||||
@ -1,14 +1,17 @@
|
|||||||
class StatisticsController < ApplicationController
|
class StatisticsController < ApplicationController
|
||||||
|
|
||||||
def index
|
def index
|
||||||
|
puts Grade.all
|
||||||
if params[:from_date] != nil && params[:to_date] != nil
|
if params[:from_date] != nil && params[:to_date] != nil
|
||||||
from_date = Date.parse params[:from_date]
|
from_date = Date.strptime(params[:from_date], '%m/%d/%Y')
|
||||||
to_date = Date.parse params[:to_date]
|
to_date = Date.strptime(params[:to_date], '%m/%d/%Y')
|
||||||
runs = Run.where(:runDate => from_date.beginning_of_day..to_date.end_of_day)
|
runs = Run.where(:runDate => from_date.beginning_of_day..to_date.end_of_day)
|
||||||
puts runs.inspect
|
|
||||||
else
|
else
|
||||||
runs = Run.all
|
runs = Run.all
|
||||||
puts runs.inspect
|
end
|
||||||
|
respond_to do |f|
|
||||||
|
f.html
|
||||||
|
f.json {render :json => {grades:Grade.all,runData:runs}}
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user