Commit 894bd04d authored by Dan Rowden's avatar Dan Rowden Committed by Alfredo Sumaran

Added a small helper to reduce logic in the view

parent db116fa0
...@@ -47,6 +47,17 @@ module MilestonesHelper ...@@ -47,6 +47,17 @@ module MilestonesHelper
} }
end end
# Show 'active' class if provided GET param matches check
# `or_blank` allows the function to return 'active' when given an empty param
# Could be refactored to be simpler but that may make it harder to read
def milestone_class_for_state(param, check, match_blank_param=false)
if match_blank_param
'active' if param.blank? || param == check
else
'active' if param == check
end
end
def milestone_progress_bar(milestone) def milestone_progress_bar(milestone)
options = { options = {
class: 'progress-bar progress-bar-success', class: 'progress-bar progress-bar-success',
......
...@@ -2,17 +2,17 @@ ...@@ -2,17 +2,17 @@
- counts = milestone_counts(@project.milestones) - counts = milestone_counts(@project.milestones)
%ul.nav-links %ul.nav-links
%li{class: ("active" if params[:state].blank? || params[:state] == 'opened')} %li{class: milestone_class_for_state(params[:state], 'opened', true)}
= link_to milestones_filter_path(state: 'opened') do = link_to milestones_filter_path(state: 'opened') do
Open Open
- if @project - if @project
%span.badge #{counts[:opened]} %span.badge #{counts[:opened]}
%li{class: ("active" if params[:state] == 'closed')} %li{class: milestone_class_for_state(params[:state], 'closed')}
= link_to milestones_filter_path(state: 'closed') do = link_to milestones_filter_path(state: 'closed') do
Closed Closed
- if @project - if @project
%span.badge #{counts[:closed]} %span.badge #{counts[:closed]}
%li{class: ("active" if params[:state] == 'all')} %li{class: milestone_class_for_state(params[:state], 'all')}
= link_to milestones_filter_path(state: 'all') do = link_to milestones_filter_path(state: 'all') do
All All
- if @project - if @project
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment