Get book-specific code out of the page-navigation things...

with a view to reusing in an author page later.
This commit is contained in:
barnold 2022-09-18 13:48:13 +01:00
parent 94b888f0f5
commit 56f8a40e14
2 changed files with 17 additions and 13 deletions

View File

@ -7,7 +7,9 @@ sub index ($self) {
my $book_model = MyModel::Book->new;
my $book_page = $book_model->get_page($page_number, $self->param('title_like'));
$self->render(
book_page => $book_page
book_page => $book_page,
pager => $book_page->pager,
query_params => $self->req->query_params,
);
}

View File

@ -10,9 +10,8 @@
%= end
<p/>
<%= $book_page->pager->total_entries %> books found.
Showing page <%= $book_page->pager->current_page %>
of <%= $book_page->pager->last_page %>.
<%= $pager->total_entries %> books found.
<p/>
<div>
<table>
@ -22,33 +21,36 @@ of <%= $book_page->pager->last_page %>.
% for my $book ($book_page->all) {
<tr>
<td><%= $book->title %></td>
<td><%= $book->author->name %>
</td></tr>
<td><%= $book->author->name %></td>
</tr>
% }
</table>
</div>
<p/>
Page <%= $pager->current_page %> of <%= $pager->last_page %>
&nbsp;&nbsp;&nbsp;
<%= link_to url_for(page_number => 1)
->query(title_like => param('title_like'))
->query($query_params)
->to_abs => begin %>◄ First<% end %>
% if (my $prev = $book_page->pager->previous_page) {
% if (my $prev = $pager->previous_page) {
<%= link_to url_for(page_number => $prev)
->query(title_like => param('title_like'))
->query($query_params)
->to_abs => begin %>◄ Prev<% end %>
% } else {
◄ Prev
% }
% if (my $next = $book_page->pager->next_page) {
% if (my $next = $pager->next_page) {
<%= link_to url_for(page_number => $next)
->query(title_like => param('title_like'))
->query($query_params)
->to_abs => begin %>Next ►<% end %>
% } else {
Next ►
% }
<%= link_to url_for(page_number => $book_page->pager->last_page)
->query(title_like => param('title_like'))
<%= link_to url_for(page_number => $pager->last_page)
->query($query_params)
->to_abs => begin %>Last ►<% end %>