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,43 +1,74 @@
|
||||
/*
|
||||
Set up both the datepicker tabs with this
|
||||
*/
|
||||
$('#from_datepicker').datepicker()
|
||||
$('#to_datepicker').datepicker()
|
||||
/*
|
||||
*This is code for the grades chart.
|
||||
*/
|
||||
var ctx = document.getElementById("gradesChart");
|
||||
var myChart = new Chart(ctx, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: ["Grade1", "Grade2", "Grade3", "Grade4", "Grade5", "Grade6"],
|
||||
datasets: [{
|
||||
label: 'Count for each grade',
|
||||
data: [12, 19, 3, 5, 2, 3],
|
||||
backgroundColor: [
|
||||
'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)'
|
||||
],
|
||||
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
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
scales: {
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
beginAtZero:true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
$(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 myChart = new Chart(ctx, {
|
||||
type: 'bar',
|
||||
data: {
|
||||
labels: generateLabels(gradeData),
|
||||
datasets: [{
|
||||
label: 'Count for each grade',
|
||||
data: getGradeCount(gradeData),
|
||||
backgroundColor: colors,
|
||||
borderColor: colors,
|
||||
borderWidth: 1
|
||||
}]
|
||||
},
|
||||
options: {
|
||||
scales: {
|
||||
yAxes: [{
|
||||
ticks: {
|
||||
beginAtZero:true
|
||||
}
|
||||
}]
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
def index
|
||||
puts Grade.all
|
||||
if params[:from_date] != nil && params[:to_date] != nil
|
||||
from_date = Date.parse params[:from_date]
|
||||
to_date = Date.parse params[:to_date]
|
||||
from_date = Date.strptime(params[:from_date], '%m/%d/%Y')
|
||||
to_date = Date.strptime(params[:to_date], '%m/%d/%Y')
|
||||
runs = Run.where(:runDate => from_date.beginning_of_day..to_date.end_of_day)
|
||||
puts runs.inspect
|
||||
else
|
||||
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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user