parent
c33c91c870
commit
72c90b8f47
@ -0,0 +1,20 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Analyze
|
||||
module Graph
|
||||
class AllData
|
||||
include Analyze::Graph::Column
|
||||
def to_s
|
||||
'All Data'
|
||||
end
|
||||
|
||||
def slug
|
||||
'all-data'
|
||||
end
|
||||
|
||||
def columns
|
||||
[AllStudent, AllTeacher, AllAdmin, GroupedBarColumnPresenter]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,34 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Analyze
|
||||
module Graph
|
||||
module Column
|
||||
class AllAdmin < GroupedBarColumnPresenter
|
||||
def label
|
||||
'All Admin'
|
||||
end
|
||||
|
||||
def basis
|
||||
'student'
|
||||
end
|
||||
|
||||
def show_irrelevancy_message?
|
||||
# !measure.includes_admin_data_items?
|
||||
false
|
||||
end
|
||||
|
||||
def show_insufficient_data_message?
|
||||
# academic_years.any? do |year|
|
||||
# measure.sufficient_admin_data?(school:, academic_year: year)
|
||||
# end
|
||||
false
|
||||
end
|
||||
|
||||
def score(year_index)
|
||||
measure.admin_score(school:, academic_year: academic_years[year_index])
|
||||
# Score.new(average: 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,47 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Analyze
|
||||
module Graph
|
||||
module Column
|
||||
class AllSurveyData < GroupedBarColumnPresenter
|
||||
def label
|
||||
'Survey Data'
|
||||
end
|
||||
|
||||
def basis
|
||||
'student'
|
||||
end
|
||||
|
||||
def show_irrelevancy_message?
|
||||
false
|
||||
end
|
||||
|
||||
def show_insufficient_data_message?
|
||||
scores = academic_years.map do |year|
|
||||
combined_score(school:, academic_year: year)
|
||||
end
|
||||
|
||||
scores.all? { |score| !score.meets_student_threshold? && !score.meets_teacher_threshold? }
|
||||
end
|
||||
|
||||
def score(year_index)
|
||||
combined_score(school:, academic_year: academic_years[year_index])
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def combined_score(school:, academic_year:)
|
||||
teacher_score = measure.teacher_score(school:, academic_year:)
|
||||
student_score = measure.student_score(school:, academic_year:)
|
||||
|
||||
averages = []
|
||||
averages << student_score.average unless student_score.average.nil?
|
||||
averages << teacher_score.average unless teacher_score.average.nil?
|
||||
average = averages.average if averages.length > 0
|
||||
combined_score = Score.new(average:, meets_student_threshold: student_score.meets_student_threshold,
|
||||
meets_teacher_threshold: teacher_score.meets_teacher_threshold)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,17 @@
|
||||
module Analyze
|
||||
module Slice
|
||||
class AllData
|
||||
def to_s
|
||||
'All Data'
|
||||
end
|
||||
|
||||
def slug
|
||||
'all-data'
|
||||
end
|
||||
|
||||
def graphs
|
||||
[Analyze::Graph::AllData.new]
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,21 @@
|
||||
module Analyze
|
||||
module Source
|
||||
class AllData
|
||||
attr_reader :slices
|
||||
|
||||
include Analyze::Slice
|
||||
|
||||
def initialize(slices:)
|
||||
@slices = slices
|
||||
end
|
||||
|
||||
def to_s
|
||||
'All Data'
|
||||
end
|
||||
|
||||
def slug
|
||||
'all-data'
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -0,0 +1,8 @@
|
||||
module Analyze
|
||||
class Ui
|
||||
attr_reader :params
|
||||
def initialize(params:)
|
||||
@params = params
|
||||
end
|
||||
end
|
||||
end
|
||||
@ -1,84 +1,41 @@
|
||||
<h3 class="sub-header-4 mt-5">Data Filters</h3>
|
||||
<div class="bg-gray p-3" data-controller="analyze">
|
||||
<% @sources.first.slices.each do |slice| %>
|
||||
<div>
|
||||
<input type="radio"
|
||||
id="<%= slice.slug %>"
|
||||
class="form-check-input"
|
||||
name="slice"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= slice.slug == @slice.slug ? "checked" : "" %>>
|
||||
<label for="<%= slice.slug %>"><%= slice.to_s %></label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<select id="select-group" class="mx-3 form-select" data-id="group-dropdown" data-action="analyze#refresh">
|
||||
<% @groups.each do |group| %>
|
||||
<option id="<%= group.slug %>" name="group-option" value="<%= base_url %>" <%= group.slug == @group.slug ? "Selected": "" %>><%= group.name %> </option>
|
||||
<% end %>
|
||||
</select>
|
||||
|
||||
<p class="sub-header-5 mt-3 font-size-14"> Select a group </p>
|
||||
|
||||
<% @races.each do |race| %>
|
||||
<div class="d-flex align-items-center">
|
||||
<input
|
||||
id="<%= race.slug %>"
|
||||
class="m-3 race-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="race-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_races.map(&:slug).include?(race.slug) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'race' ? "" : "hidden" %>>
|
||||
|
||||
<label for="<%= race.qualtrics_code %>"
|
||||
<%= @group.slug == 'race' ? "" : "hidden" %>>
|
||||
<%= race.designation %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @grades.each do |grade| %>
|
||||
<div class="d-flex align-items-center">
|
||||
<input
|
||||
id="grade-<%= grade %>"
|
||||
class="m-3 grade-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="grade-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_grades.include?(grade) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'grade' ? "" : "hidden" %>>
|
||||
|
||||
<label for="grade-<%= grade %>"
|
||||
<%= @group.slug == 'grade' ? "" : "hidden" %>>
|
||||
<%= grade %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @genders.each do |gender| %>
|
||||
<div class="d-flex align-items-center">
|
||||
<input
|
||||
id="gender-<%= gender.designation %>"
|
||||
class="m-3 gender-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="gender-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_genders.include?(gender) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'gender' ? "" : "hidden" %>>
|
||||
|
||||
<label for="gender-<%= gender %>"
|
||||
<%= @group.slug == 'gender' ? "" : "hidden" %>>
|
||||
<%= gender.designation %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @sources.each do |source| %>
|
||||
|
||||
<input type="radio"
|
||||
id="<%= source.slug %>"
|
||||
class="form-check-input"
|
||||
name="source"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= source.slug == @source.slug ? "checked" : "" %>>
|
||||
<label for="<%= source.slug %>"><%= source.to_s %></label>
|
||||
|
||||
<% source.slices.each do | slice | %>
|
||||
<div class="mx-3">
|
||||
<input type="radio"
|
||||
id="<%= slice.slug %>"
|
||||
class="form-check-input"
|
||||
name="slice"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= slice.slug == @slice.slug ? "checked" : "" %>
|
||||
<%= slice.slug == "all-data" ? "hidden" : "" %>>
|
||||
|
||||
<label for="<%= slice.slug %>"
|
||||
<%= slice.slug == "all-data" ? "hidden" : "" %>>
|
||||
<%= slice.to_s %></label>
|
||||
</div>
|
||||
<% end %>
|
||||
<% end %>
|
||||
|
||||
<%= render partial: "group_selectors" %>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
window.source = "<%= @source.slug %>";
|
||||
window.slice = "<%= @slice.slug %>";
|
||||
window.group = "<%= @group.slug %>";
|
||||
window.graph = "<%= @graph.slug %>";
|
||||
</script>
|
||||
|
||||
@ -0,0 +1,67 @@
|
||||
<select id="select-group" name="group" class="mx-4 form-select" data-id="group-dropdown" data-action="analyze#refresh">
|
||||
<% @groups.each do |group| %>
|
||||
<option id="<%= group.slug %>" name="group-option" value="<%= base_url %>" <%= group.slug == @group.slug ? "Selected": "" %>><%= group.name %> </option>
|
||||
<% end %>
|
||||
</select>
|
||||
|
||||
<p class="sub-header-5 mx-4 mt-3 font-size-14"> Select a group </p>
|
||||
|
||||
<% @races.each do |race| %>
|
||||
<div class="d-flex align-items-center mx-5">
|
||||
<input
|
||||
id="<%= race.slug %>"
|
||||
class="m-3 race-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="race-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_races.map(&:slug).include?(race.slug) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' || @source.slug == 'all-data' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'race' ? "" : "hidden" %>>
|
||||
|
||||
<label for="<%= race.qualtrics_code %>"
|
||||
<%= @group.slug == 'race' ? "" : "hidden" %>>
|
||||
<%= race.designation %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @grades.each do |grade| %>
|
||||
<div class="d-flex align-items-center mx-5">
|
||||
<input
|
||||
id="grade-<%= grade %>"
|
||||
class="m-3 grade-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="grade-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_grades.include?(grade) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' || @source.slug == 'all-data' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'grade' ? "" : "hidden" %>>
|
||||
|
||||
<label for="grade-<%= grade %>"
|
||||
<%= @group.slug == 'grade' ? "" : "hidden" %>>
|
||||
<%= grade %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
|
||||
<% @genders.each do |gender| %>
|
||||
<div class="d-flex align-items-center mx-5">
|
||||
<input
|
||||
id="gender-<%= gender.designation %>"
|
||||
class="m-3 gender-checkbox form-check-input"
|
||||
type="checkbox"
|
||||
name="gender-checkbox"
|
||||
value="<%= base_url %>"
|
||||
data-action="click->analyze#refresh"
|
||||
<%= @selected_genders.include?(gender) ? "checked" : "" %>
|
||||
<%= @graph.slug == 'students-and-teachers' || @source.slug == 'all-data' ? "disabled" : "" %>
|
||||
<%= @group.slug == 'gender' ? "" : "hidden" %>>
|
||||
|
||||
<label for="gender-<%= gender %>"
|
||||
<%= @group.slug == 'gender' ? "" : "hidden" %>>
|
||||
<%= gender.designation %>
|
||||
</label>
|
||||
</div>
|
||||
<% end %>
|
||||
Loading…
Reference in new issue