Newer
Older
dmpopidor / app / views / layouts / _paginable.html.erb
<% 
  # Custom layout to be included on any view that needs pagination
  # locals: { controller, action, paginable, scope } 
%>
<div class="paginable">
  <div class="paginable-search">
    <div class="row">
      <div class="col-md-12">
        <%= render(partial: '/shared/search', locals: { url: url_for(controller: controller, action: action, page: 'ALL') }) %>
      </div>
    </div>
  </div>
  <div class="paginable-results">
    <div class="row">
      <div class="col-md-12">
        <% if scope.length > 0 %>
          <%= yield %>
        <% else %>
          <p class="bg-info">
            <%= _('There are no records associated') %>
          </p>
        <% end %>
      </div>
    </div>
    <div class="row">
      <div class="col-md-12">
        <div class="pull-left">
          <% total = paginable ? scope.total_count : scope.length %>
          <% if paginable %>
            <%= link_to(_('View all'), url_for(controller: controller, action: action, page: 'ALL'), { 'data-remote': true, class: 'view-all' }) %>
          <% else %>
            <%= link_to(_('View less'), url_for(controller: controller, action: action, page: 1), { 'data-remote': true }) if total > Kaminari.config.default_per_page %>
          <% end %>
        </div>
        <div class="pull-right">
          <% if paginable %>
              <%= paginate(scope, params: { controller: controller, action: action }, remote: true) %>
          <% end %>
        </div>
        <div class="clearfix"></div>
      </div>
    </div>
  </div>
</div>