We were already applying these rules in most cases. Note we aren't enabling the `MultilineArrayLineBreaks` rule because we've got places with many elements whire it isn't clear whether having one element per line would make the code more readable.
43 lines
952 B
Ruby
43 lines
952 B
Ruby
class Shared::AdvancedSearchComponent < ApplicationComponent
|
|
include SDG::OptionsForSelect
|
|
|
|
private
|
|
|
|
def advanced_search
|
|
params[:advanced_search] || {}
|
|
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" : advanced_search[:date_min]
|
|
end
|
|
|
|
def custom_date_range?
|
|
advanced_search[:date_max].present?
|
|
end
|
|
|
|
def goal_options
|
|
super(advanced_search[:goal])
|
|
end
|
|
|
|
def target_options
|
|
super(advanced_search[:target])
|
|
end
|
|
|
|
def sdg?
|
|
SDG::ProcessEnabled.new(controller_path).enabled?
|
|
end
|
|
end
|