From a6c68df349721dcbe6fb3c109732cf86752ea32f Mon Sep 17 00:00:00 2001 From: rebuilt Date: Mon, 12 May 2025 15:07:47 -0700 Subject: [PATCH] feat: add insufficiency message to parent graph --- app/presenters/analyze/graph/all_parent.rb | 4 ++++ app/presenters/analyze/graph/column/parent/language.rb | 9 ++++++++- app/presenters/analyze/graph/parents_by_language.rb | 8 ++++---- 3 files changed, 16 insertions(+), 5 deletions(-) diff --git a/app/presenters/analyze/graph/all_parent.rb b/app/presenters/analyze/graph/all_parent.rb index d140e6e2..2d1dbd6b 100644 --- a/app/presenters/analyze/graph/all_parent.rb +++ b/app/presenters/analyze/graph/all_parent.rb @@ -28,6 +28,10 @@ module Analyze def group Analyze::Group::Base.new(name: nil, slug: nil, graph: nil) end + + def show_irrelevancy_message?(construct:) + construct.survey_items.parent_items.count.zero? + end end end end diff --git a/app/presenters/analyze/graph/column/parent/language.rb b/app/presenters/analyze/graph/column/parent/language.rb index 90bbe071..80be9fa4 100644 --- a/app/presenters/analyze/graph/column/parent/language.rb +++ b/app/presenters/analyze/graph/column/parent/language.rb @@ -7,9 +7,10 @@ module Analyze class Language < ColumnBase attr_reader :language, :label - def initialize(languages:, label:) + def initialize(languages:, label:, show_irrelevancy_message:) @language = languages @label = label + @show_irrelevancy_message = show_irrelevancy_message end def basis @@ -64,6 +65,12 @@ module Analyze averages[survey_item] end.remove_blanks.average end + + def show_irrelevancy_message?(construct:) + return false if @show_irrelevancy_message == false + + construct.survey_items.parent_survey_items.count.zero? + end end end end diff --git a/app/presenters/analyze/graph/parents_by_language.rb b/app/presenters/analyze/graph/parents_by_language.rb index f08a463b..8c7dc851 100644 --- a/app/presenters/analyze/graph/parents_by_language.rb +++ b/app/presenters/analyze/graph/parents_by_language.rb @@ -18,10 +18,10 @@ module Analyze def columns [].tap do |array| - array << Analyze::Graph::Column::Parent::Language.new(languages: ENGLISH_LANGUAGES, label: ["English", "Speaking"]) - array << Analyze::Graph::Column::Parent::Language.new(languages: NON_ENGLISH_LANGUAGES, label: ["Non English", "Speaking"]) - array << Analyze::Graph::Column::Parent::Language.new(languages: UNKNOWN_LANGUAGES, label: ["Unknown"]) - array << Analyze::Graph::Column::Parent::Language.new(languages: ALL_LANGUAGES, label: ["All", "Parents"]) + array << Analyze::Graph::Column::Parent::Language.new(languages: ENGLISH_LANGUAGES, label: ["English", "Speaking"], show_irrelevancy_message: false) + array << Analyze::Graph::Column::Parent::Language.new(languages: NON_ENGLISH_LANGUAGES, label: ["Non English", "Speaking"], show_irrelevancy_message: false) + array << Analyze::Graph::Column::Parent::Language.new(languages: UNKNOWN_LANGUAGES, label: ["Unknown"], show_irrelevancy_message: false) + array << Analyze::Graph::Column::Parent::Language.new(languages: ALL_LANGUAGES, label: ["All", "Parents"], show_irrelevancy_message: nil) end end