impress/app/views/wardrobe/items/_pagination.html.haml

34 lines
1.2 KiB
Text
Raw Normal View History

- # Local variables:
- # - collection: The WillPaginate collection (e.g., @search_results)
- # - url_params: The URL params hash (e.g., @outfit.wardrobe_params.merge(q: params[:q]))
- if collection.total_pages > 1
.pagination-bar
- if collection.previous_page
= link_to "← Prev", url_params.merge(page: collection.previous_page), class: "pagination-prev"
- else
%span.pagination-prev.disabled ← Prev
%auto-submit-form
= form_with url: @wardrobe_path, method: :get do |f|
- url_params.each do |key, value|
- if value.is_a?(Array)
- value.each do |v|
= hidden_field_tag "#{key}[]", v, id: nil
- else
= hidden_field_tag key, value, id: nil
%label.pagination-page-selector
Page
= select_tag :page,
options_for_select((1..collection.total_pages).map { |p| [p, p] }, collection.current_page),
"aria-label": "Page number"
of #{collection.total_pages}
= submit_tag "Go", name: nil, class: "progressive-submit"
- if collection.next_page
= link_to "Next →", url_params.merge(page: collection.next_page), class: "pagination-next"
- else
%span.pagination-next.disabled Next →