<% content_for :css do %> .index-paging { text-align: center; padding-left: 1em; padding-right: 1em; background-color: whitesmoke; } <% end %> <% if results.result_offset != nil and results.result_limit != nil and results.items_available != nil %>
<% if results.result_offset > 0 %> <% if results.result_offset > results.result_limit %> <% prev_offset = results.result_offset - results.result_limit %> <% else %> <% prev_offset = 0 %> <% end %> <% else %> <% prev_offset = nil %> <% end %> <% this_offset = results.result_offset %> <% this_page = results.result_offset / results.result_limit %> <% if (results.result_offset + results.result_limit) < results.items_available %> <% next_offset = results.result_offset + results.result_limit %> <% else %> <% next_offset = nil %> <% end %> <% if results.result_offset > 0 %> <%= link_to raw(""), {:id => object, :offset => 0, :limit => results.result_limit} %> <% else %> <% end %> <% if prev_offset %> <%= link_to raw(""), {:id => object, :offset => prev_offset, :limit => results.result_limit} %> <% else %> <% end %> <% n = this_page - 10 %> <% if n >= 0 %> <% last = this_page + 10 %> … <% else %> <% n = 0 %> <% last = 20 %> <% end %> <% i = n * results.result_limit %> <% while i < results.items_available and n < last %> <% if n != this_page %> <%= link_to "#{n+1}", {:id => @object, :offset => i, :limit => results.result_limit} %> <% else %> <%= n+1 %> <% end %> <% i += results.result_limit %> <% n += 1 %> <% end %> <% if i < results.items_available %> … <% end %> <% if next_offset %> <%= link_to raw(""), {:id => @object, :offset => next_offset, :limit => results.result_limit} %> <% else %> <% end %> <% if (results.items_available - results.result_offset) >= results.result_limit %> <%= link_to raw(""), {:id => @object, :offset => results.items_available - (results.items_available % results.result_limit), :limit => results.result_limit} %> <% else %> <% end %>
<% end %>