Extract advanced search into a component
This commit is contained in:
31
app/components/shared/advanced_search_component.rb
Normal file
31
app/components/shared/advanced_search_component.rb
Normal file
@@ -0,0 +1,31 @@
|
||||
class Shared::AdvancedSearchComponent < ApplicationComponent
|
||||
|
||||
private
|
||||
|
||||
def advanced_search
|
||||
params[:advanced_search]
|
||||
end
|
||||
|
||||
def official_level_search_options
|
||||
options_for_select((1..5).map { |i| [setting["official_level_#{i}_name"], i] },
|
||||
params[:advanced_search].try(:[], :official_level))
|
||||
end
|
||||
|
||||
def date_range_options
|
||||
options_for_select([
|
||||
[t("shared.advanced_search.date_1"), 1],
|
||||
[t("shared.advanced_search.date_2"), 2],
|
||||
[t("shared.advanced_search.date_3"), 3],
|
||||
[t("shared.advanced_search.date_4"), 4],
|
||||
[t("shared.advanced_search.date_5"), "custom"]],
|
||||
selected_date_range)
|
||||
end
|
||||
|
||||
def selected_date_range
|
||||
custom_date_range? ? "custom" : params[:advanced_search].try(:[], :date_min)
|
||||
end
|
||||
|
||||
def custom_date_range?
|
||||
params[:advanced_search].try(:[], :date_max).present?
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user