Overview
The Pagination component is used to navigate between different pages of a search results set.
Selector
The selector for this component is <hawksearch-pagination>
.
Data Model
The following data model is exposed to the Handlebars template:
{ page: number; pages: Array<number>; firstPage: 1; lastPage: number; firstRecord: number; lastRecord: number; totalRecords: number; totalPages: number; maxPageLinks: number; displayFirstLink: boolean; displayPreviousLink: boolean; displayNextLink: boolean; displayLastLink: boolean; summary: string; }
If no maximum number of page links to display is configured in the Hawksearch admin interface, a default value of 9 will be used.
Event Binding Attributes
Attribute Name | Attribute Value |
---|---|
hawksearch-page |
|
When an element with this attribute is clicked, the current search will be updated to display the results from the specified page.
Handlebars Helpers
Name | Parameter |
---|---|
pageUrl |
|
This helper function returns the URL for the specified page to enable crawling.
Default Template
<div class="pagination"> {{#if summary}} <div class="pagination__summary">{{summary}}</div> {{/if}} <div class="pagination__pages"> {{#if displayFirstLink}} <a hawksearch-page="1" rel="nofollow" href="{{pageUrl 1}}" class="pagination__page pagination__page--first" title="First"> <hawksearch-icon name="chevron-back" size="1.2em"></hawksearch-icon> </a> {{/if}} {{#if displayPreviousLink}} <a hawksearch-page="{{subtract page 1}}" rel="prev" href="{{pageUrl (subtract page 1)}}" class="pagination__page pagination__page--previous" title="Previous"> <hawksearch-icon name="chevron-left" size="1.2em"></hawksearch-icon> </a> {{/if}} {{#each pages}} {{#if (eq this @root.page)}} <span class="pagination__page pagination__page--selected">{{this}}</span> {{else}} <a hawksearch-page="{{this}}" href="{{pageUrl this}}" class="pagination__page">{{this}}</a> {{/if}} {{/each}} {{#if displayNextLink}} <a hawksearch-page="{{add page 1}}" rel="next" href="{{pageUrl (add page 1)}}" class="pagination__page pagination__page--next" title="Next"> <hawksearch-icon name="chevron-right" size="1.2em"></hawksearch-icon> </a> {{/if}} {{#if displayLastLink}} <a hawksearch-page="{{totalPages}}" rel="nofollow" href="{{pageUrl totalPages}}" class="pagination__page pagination__page--last" title="Last"> <hawksearch-icon name="chevron-forward" size="1.2em"></hawksearch-icon> </a> {{/if}} </div> </div>