Intro
The pagination component is specific to SAC and should only be used for table interfaces with more than 150 search results.
When to Use
Do
Use the pagination:
- In tables with over 150 search results
- When the user has a specific object they are searching for within the table
- Pagination is currently SAC-specific – there has been extensive user research that has led to the decision of keeping this pattern
Don't
Don't use the pagination:
- In process flows (ie. a wizard or icon tab bar component is more appropriate for this)
- In small tables in dialogs
- As a navigation control for the Carousel component
- To replace Lazy Loading Pattern outside of this use case – Lazy Load should be the default pattern. Refer to the sap.ui.table.Table UI5 sample for an example
- When there is only one page available
Top Tips
- Use pagination components for table interfaces with more than 150 search results.
- The first page, last page, and the page the user is currently on should always be shown.
Anatomy
- Page Button: This is a text-only button that represents a specific page.
- Truncation Page Button (optional): For tables with more than 5 pages, there should be a truncation button between the current and first/last page button that indicates there are more than 5 pages.
- File Count (optional): This shows the amount and location of the files currently shown within the page along with the total number of files in the search results.
- Back/Next Buttons: These buttons allow users to incrementally go back and forth between pages in increments of 1.
- First/Last Buttons: These buttons allow the user to go to either the first or last page out of all of the search results.
- Page Input (optional): The page input allows users to manually input a specific page number and jump to it immediately.
Pagination - Anatomy
Behavior and Interaction
First/Last Page Navigation
The outer arrow buttons (ie. double arrow buttons) in the pagination component allows users to navigate to the very first (left) or last (right) page of search results.
Pagination using First Page Button
Pagination using Last Page Button
Back/Next Page Navigation
The inner arrow buttons (ie. single arrow buttons) in the pagination component allows users to navigate back and forth between pages in increments of one page at a time.
Pagination using Back Page Button
Pagination using Next Page Button
Page Input Navigation
The Input control beside the page button group allows users to manually input page numbers. Once page number is entered into the Input control and the user hits the ‘Enter’ key, this would take the user directly to the desired page number. Error validation is included within the page input (ie. negative numbers and numbers outside of the number of pages are not allowed).
Pagination using Page Input
Pagination using Page Input w/ Error Validation
One-Page Pagination
When there is only one page, the pagination component should be hidden.
Truncation
When there are numerous pages (ie. >5 pages), use truncation to indicate that there are more pages and also avoid unnecessarily long pagination panels. This allows the pagination component to be limited to 5 page buttons at a time. As a rule of thumb, the first, last, and current pages should always be shown.
When the user is on the first 3 pages, only show truncation before the last page button:
Truncation within Pagination when user is at the beginning
When the user is on the last 3 pages, only show truncation after the first page button:
Truncation within Pagination when user is at the end
When the user is in the middle, show truncation after the first page button and before the last page button:
Truncation within Pagination when user is in the middle
When the user clicks the truncation button, it should show the hidden pages and navigate to the middle of the hidden page numbers.
Interacting with the truncation button