mirror of
https://github.com/edcommonwealth/sqm-dashboards.git
synced 2026-03-09 23:48:17 -07:00
Refactor graphs to take new slice format Add Students and Teachers and Parents graph. Add selector for that graph
42 lines
831 B
Ruby
42 lines
831 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Analyze
|
|
module Graph
|
|
class StudentsByGrade
|
|
attr_reader :grades
|
|
|
|
def initialize(grades:)
|
|
@grades = grades
|
|
end
|
|
|
|
def to_s
|
|
"Students by Grade"
|
|
end
|
|
|
|
def slug
|
|
"students-by-grade"
|
|
end
|
|
|
|
def columns
|
|
[].tap do |array|
|
|
grades.each do |grade|
|
|
array << Analyze::Graph::Column::Grade.new(grade: grade)
|
|
end
|
|
array << Analyze::Graph::Column::AllStudent.new
|
|
end
|
|
end
|
|
|
|
def source
|
|
Analyze::Source::SurveyData.new(slices: [slice], graph: self)
|
|
end
|
|
|
|
def slice
|
|
Analyze::Slice::StudentsByGroup.new(graph: self)
|
|
end
|
|
|
|
def group
|
|
Analyze::Group::Base.new(name: "Grade", slug: "grade", graph: self)
|
|
end
|
|
end
|
|
end
|
|
end
|