adds a helper to simplify the way selects and filters are rendered

This commit is contained in:
kikito
2015-08-28 20:07:45 +02:00
parent ae98ba3572
commit a7929c607d
9 changed files with 15 additions and 9 deletions

View File

@@ -14,4 +14,10 @@ module ApplicationHelper
home_page? ? '' : 'results'
end
# if current path is /debates current_path_with_query_params(foo: 'bar') returns /debates?foo=bar
# notice: if query_params have a param which also exist in current path, it "overrides" (query_params is merged last)
def current_path_with_query_params(query_parameters)
url_for(request.query_parameters.merge(query_parameters))
end
end

View File

@@ -8,7 +8,7 @@
<dd class="active"><%= t("admin.comments.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("admin.comments.index.filters.#{filter}"),
admin_comments_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -8,7 +8,7 @@
<dd class="active"><%= t("admin.debates.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("admin.debates.index.filters.#{filter}"),
admin_debates_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -21,7 +21,7 @@
<dd class="active"><%= t("admin.organizations.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("admin.organizations.index.filters.#{filter}"),
admin_organizations_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -8,7 +8,7 @@
<dd class="active"><%= t("admin.users.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("admin.users.index.filters.#{filter}"),
admin_users_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -16,7 +16,7 @@
<select class="js-location-changer" name="tag-filter">
<option value="/" selected="selected"><%= t("debates.index.all") %></option>
<% @tags.each do |tag| %>
<option value='<%= url_for(request.query_parameters.merge(tag: tag.name))%>'>
<option value='<%= current_path_with_query_params(tag: tag.name) %>'>
<%= tag.name %>
</option>
<% end %>
@@ -31,7 +31,7 @@
<select class="js-location-changer" name="order-selector">
<% @valid_orders.each do |order| %>
<option <%= 'selected' if order == @order %>
value='<%= url_for(request.query_parameters.merge(order: order))%>'>
value='<%= current_path_with_query_params(order: order) %>'>
<%= t("debates.index.orders.#{order}") %>
</option>
<% end %>

View File

@@ -8,7 +8,7 @@
<dd class="active"><%= t("moderation.comments.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("moderation.comments.index.filters.#{filter}"),
moderation_comments_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -8,7 +8,7 @@
<dd class="active"><%= t("moderation.debates.index.filters.#{filter}") %></dd>
<% else %>
<dd><%= link_to t("moderation.debates.index.filters.#{filter}"),
moderation_debates_path(filter: filter) %></dd>
current_path_with_query_params(filter: filter) %></dd>
<% end %>
<% end %>
</dl>

View File

@@ -4,7 +4,7 @@
<select class="js-location-changer locale-switcher" name="locale-switcher">
<% I18n.available_locales.map do |loc| %>
<option <%= 'selected' if loc == I18n.locale %>
value='<%= url_for(request.query_parameters.merge(locale: loc))%>'>
value='<%= current_path_with_query_params(locale: loc) %>'>
<%= I18n.t('locale', locale: loc) %>
</option>
<% end %>