diff --git a/app/controllers/analyze_controller.rb b/app/controllers/analyze_controller.rb
index 0fd74c04..06ccca8b 100644
--- a/app/controllers/analyze_controller.rb
+++ b/app/controllers/analyze_controller.rb
@@ -3,8 +3,9 @@ class AnalyzeController < SqmApplicationController
@category ||= Category.find_by_category_id(params[:category])
@categories = Category.all.order(:category_id)
- @subcategory ||= @category.subcategories.order(:subcategory_id).first
- @subcategory ||= Subcategory.order(:subcategory_id).includes(%i[measures]).first
+ @subcategories = @category.subcategories.order(:subcategory_id)
+ @subcategory ||= Subcategory.find_by_subcategory_id(params[:subcategory])
+ @subcategory ||= @subcategories.first
@measures = @subcategory.measures.order(:measure_id).includes(%i[scales admin_data_items])
end
diff --git a/app/helpers/analyze_helper.rb b/app/helpers/analyze_helper.rb
index 43ad3382..9a6968af 100644
--- a/app/helpers/analyze_helper.rb
+++ b/app/helpers/analyze_helper.rb
@@ -62,4 +62,8 @@ module AnalyzeHelper
def analyze_category_link(district:, school:, academic_year:, category:)
"/districts/#{district.slug}/schools/#{school.slug}/analyze?year=#{academic_year.range}&category=#{category.category_id}"
end
+
+ def analyze_subcategory_link(district:, school:, academic_year:, category:, subcategory:)
+ "/districts/#{district.slug}/schools/#{school.slug}/analyze?year=#{academic_year.range}&category=#{category.category_id}&subcategory=#{subcategory.subcategory_id}"
+ end
end
diff --git a/app/javascript/controllers/analyze_controller.js b/app/javascript/controllers/analyze_controller.js
index 705a265d..ed0d0ae2 100644
--- a/app/javascript/controllers/analyze_controller.js
+++ b/app/javascript/controllers/analyze_controller.js
@@ -3,7 +3,7 @@ import { Controller } from "@hotwired/stimulus"
// Connects to data-controller="analyze"
export default class extends Controller {
connect() { }
- change_category(event) {
+ refresh(event) {
window.location = event.target.value
}
}
diff --git a/app/presenters/grouped_bar_column_presenter.rb b/app/presenters/grouped_bar_column_presenter.rb
index fdc90017..38adfab1 100644
--- a/app/presenters/grouped_bar_column_presenter.rb
+++ b/app/presenters/grouped_bar_column_presenter.rb
@@ -69,6 +69,12 @@ class GroupedBarColumnPresenter
end
end
+ def basis
+ return '' if type == :all
+
+ type
+ end
+
def show_irrelevancy_message?
return true if type == :student && !@measure.includes_student_survey_items?
diff --git a/app/views/analyze/_grouped_bar_column.html.erb b/app/views/analyze/_grouped_bar_column.html.erb
index e0b5689a..b066cfbb 100644
--- a/app/views/analyze/_grouped_bar_column.html.erb
+++ b/app/views/analyze/_grouped_bar_column.html.erb
@@ -14,8 +14,8 @@
Select a category & subcategory to analyze measure-level results
-