Columns for students by group graph change when corresponding race checkboxes are clicked

This commit is contained in:
rebuilt 2022-08-04 21:21:22 -07:00
parent e8f4773c65
commit 50b3bc678c
10 changed files with 125 additions and 26 deletions

View file

@ -1,6 +1,12 @@
module Analyze
module Graph
class StudentsByGroup
attr_reader :races
def initialize(races:)
@races = races
end
def to_s
'Students by Group'
end
@ -10,15 +16,30 @@ module Analyze
end
def columns
[Analyze::Graph::Column::AmericanIndian,
Analyze::Graph::Column::Asian,
Analyze::Graph::Column::Black,
Analyze::Graph::Column::Hispanic,
Analyze::Graph::Column::MiddleEastern,
Analyze::Graph::Column::Unknown,
Analyze::Graph::Column::White,
Analyze::Graph::Column::AllStudent]
[].tap do |array|
races.each do |race|
array << column_for_race_code(code: race.qualtrics_code)
end
array << Analyze::Graph::Column::AllStudent
end
end
private
def column_for_race_code(code:)
CFR[code.to_s]
end
CFR = {
'1' => Analyze::Graph::Column::AmericanIndian,
'2' => Analyze::Graph::Column::Asian,
'3' => Analyze::Graph::Column::Black,
'4' => Analyze::Graph::Column::Hispanic,
'5' => Analyze::Graph::Column::White,
'8' => Analyze::Graph::Column::MiddleEastern,
'99' => Analyze::Graph::Column::Unknown,
'100' => Analyze::Graph::Column::Multiracial
}
end
end
end