Search query and display selection kept across pages and searches
This commit is contained in:
parent
dead80eb5e
commit
8e9ff1ef80
3 changed files with 38 additions and 25 deletions
|
|
@ -6,11 +6,11 @@ class PackagesController < ApplicationController
|
|||
@packages = @packages.text_search(params[:query])
|
||||
end
|
||||
|
||||
#if params[:with_screenshots]=='yes'
|
||||
# # Limit the packages to those that have approved screenshots.
|
||||
# # Also eager-load the screenshots.
|
||||
# Limit the packages to those that have approved screenshots.
|
||||
# Also eager-load the screenshots.
|
||||
if params[:show]=='onlywith'
|
||||
@packages = @packages.where("screenshots.approved"=>true)
|
||||
#end
|
||||
end
|
||||
|
||||
@packages = @packages.page(params[:page]).per(12)
|
||||
end
|
||||
|
|
|
|||
|
|
@ -3,21 +3,30 @@
|
|||
Debian Screenshots
|
||||
</a>
|
||||
|
||||
<%= form_tag(url_for, method: "get", class: "navbar-form navbar-left form-search", role: "search") do %>
|
||||
<%= form_tag(url_for, method: 'get', class: 'navbar-form navbar-left form-search', role: 'search') do %>
|
||||
<div class="form-group">
|
||||
<%= search_field_tag('query', nil, placeholder:'Search...', size:30,
|
||||
<%= search_field_tag('query', params['query'], placeholder:'Search...', size:30,
|
||||
maxlength:200, class:'form-control') %>
|
||||
</div> <button type="submit" class="btn btn-default">Submit</button>
|
||||
<%= hidden_field_tag('show', params['show']) %>
|
||||
<% end %> <!-- /form -->
|
||||
|
||||
<div class="navbar-nav btn-group">
|
||||
<!-- Button group for grid/list view -->
|
||||
<%= link_to url_for(package_grid_path), {class:"navbar-btn btn btn-default"} do %>
|
||||
Grid
|
||||
<% end %>
|
||||
<%= link_to url_for(package_list_path), {class:"navbar-btn btn btn-default"} do %>
|
||||
List
|
||||
<% end %>
|
||||
<span class="navbar-text">View:</span>
|
||||
<div class="navbar-nav btn-group">
|
||||
<%= link_to 'Grid', url_for(package_grid_path),
|
||||
{class: 'navbar-btn btn btn-default' + (params['display']=='grid' ? ' active' : '')} %>
|
||||
<%= link_to 'List', url_for(package_list_path),
|
||||
{class: 'navbar-btn btn btn-default' + (params['display']=='grid' ? '' : ' active')} %>
|
||||
</div>
|
||||
|
||||
<!-- Button group to show packages with screenshots or all packages -->
|
||||
<span class="navbar-text">Show:</span>
|
||||
<div class="navbar-nav btn-group">
|
||||
<%= link_to 'All packages', url_for(params.merge(:show=>'all')),
|
||||
{class: 'navbar-btn btn btn-default' + (params['show']=='onlywith' ? '' : ' active')} %>
|
||||
<%= link_to 'Only with screenshots', url_for(params.merge(:show=>'onlywith')),
|
||||
{class: 'navbar-btn btn btn-default' + (params['show']=='onlywith' ? ' active' : '')} %>
|
||||
</div>
|
||||
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
|
|
@ -27,13 +36,17 @@
|
|||
|
||||
<div class="container">
|
||||
<ul class="pager">
|
||||
<li class="previous"><%= link_to_previous_page @packages, raw('← Previous') %></li>
|
||||
<li class="previous"><%= link_to_previous_page @packages, raw('← Previous'), :params => params %></li>
|
||||
<li>Page #<%= params[:page] or 1 %></li>
|
||||
<li class="next"><%= link_to_next_page @packages, raw('Next →') %></li>
|
||||
<li class="next"><%= link_to_next_page @packages, raw('Next →'), :params => params %></li>
|
||||
</ul>
|
||||
<% if params[:display]=='grid' %>
|
||||
<%= render "packages_search_results_grid", object: @packages %>
|
||||
<%= render 'packages_search_results_grid', object: @packages %>
|
||||
<% else %>
|
||||
<%= render "packages_search_results_list", object: @packages %>
|
||||
<%= render 'packages_search_results_list', object: @packages %>
|
||||
<% end %>
|
||||
</div>
|
||||
|
||||
<pre>
|
||||
<%= params %>
|
||||
</pre>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue