sqm-dashboards/app/presenters/analyze/graph/all_data.rb
rebuilt c70f051e1e Refactor groups
Refactor graphs to take new slice format

Add Students and Teachers and Parents graph.  Add selector for that
graph
2025-03-20 13:12:52 -07:00

61 lines
1.3 KiB
Ruby

# frozen_string_literal: true
module Analyze
module Graph
class AllData
include Analyze::Graph::Column
def label
["All", "Data"]
end
def to_s
"All Data"
end
def slug
"all-data"
end
def type
:all_data
end
def columns
[AllStudent.new, AllTeacher.new, AllAdmin.new, AllData.new]
end
def source
Analyze::Source::AllData.new(slices: [slice], graph: self)
end
def slice
Analyze::Slice::AllData.new(graph: self)
end
def group
Analyze::Group::Base.new(name: nil, slug: nil, graph: nil)
end
def show_irrelevancy_message?(measure:)
false
end
def show_insufficient_data_message?(measure:, school:, academic_years:)
scores = academic_years.map do |academic_year|
measure.score(school:, academic_year:)
end
scores.none? { |score| score.meets_student_threshold? || score.meets_teacher_threshold? || score.meets_admin_data_threshold? }
end
def insufficiency_message
["survey response", "rate below 25%"]
end
def score(measure:, school:, academic_year:)
measure.score(school:, academic_year:)
end
end
end
end