Pagination controls enable users to move forward and back though the Recent Changes results a in order to move backwards and in time. These controls enable users to "walk" back through results to survey changes in a continuous stream, or to jump ahead or back to particular locations in the results queue.
==The 'Newer X' and 'Older X' buttons
- "Newer X" and "Older X" buttons are provided to navigate through the Recent Changes queue one page at a time.
- When users click these buttons, they will move either forward or backwards through the results queue by the number of results currently selected in the "Number of Results Selector" (T162786)
- The labels of the Newer and Older buttons will reflect the the number of results currently selected in the "Number of Results Selector" (T162786). E.g., if the Selector is set to 100, the Older button label will read: Older 100 >
- As the user pages backwards or forwards in the queue, the Search tools remain visible and available at page top, showing all the current search terms.
- When the user first loads a page of new results, the "Newer" button is grayed out. It changes back to the black, active state as soon as the system determines that the first new result matching the current query has entered the queue. (This test needs to be made for the "View Newest Changes" function anyway T163426. Thus these tools will both update at the same time.)
- If the user presses Newer at the moment the button changes color, the one available result will display (meaning that this is really the "up to 100" button.)
- The Recent Changes queue drops older changes when they are > 30 x 24-hours old. If the user loads the very last, oldest available page of results, the "Older" button grays to show that the limit has been reached.
- If a user, having loaded that very last page, a) sits on the page for a time and then b) presses "Newer," it's likely that the temporally continuous results the user might have expected will no longer be available (because they are now > than 30 x 24-hours old). In this eventuality, the system will simply load a page full of X results that are as close as it can get to what the user requested (i.e., a page of results that are discontinuous from the former "last" page).
- When the user scrolls down the page, the Newer/Older buttons become part of the Sticky Control Panel (T167932), which means we don't need to reproduce them at the bottom of the page.
=='Oldest first' mode
When results are in "Oldest first" mode (T162786):
- The "Newer X" and "Older X" pagination buttons continue to do what their names suggest. However, this means the perceived "direction" of navigation they facilitate is reversed. I.e., "Newer" takes users "back" away from the top RC Page and toward what's now the bottom of the queue (where results are newest), while the "Older" takes users toward the top of the queue and the first RC Page (where results are oldest).
- If a user in Oldest First mode gets to the "last" page in the queue (i.e., the one with the newest results), the "Newer" button is grayed out—and it stays grayed out. I.e., it does not become active again in order to offer the option to load newer results to the //bottom// of the queue as they become available.
=='Sticky' mode
As the use scrolls past the pagination controls, a sticky toolbar with these (and other) controls appear to facilitate their access. [[ https://youtu.be/8KxjuSwVkE0 | This video shows the idea ]] in motion, and the mockups below.
The sticky toolbar includes the following elements:
- A button to access the filter menu. When clicked, it will scroll up to the active filters on top, with the filter panel open for the user to change the filters.But now, It will be labelled by either (a) the active saved filter if any as each newer or older page of results loads, (b) a list of the names of somethe order of the current filters as they fit in the button without making it too longpage is reversed, or (c) a default "Filter recent changes" if there are no active filterswith the oldest results at the top.
- The saved filters drop-down menu for users to quickly switch between review activities. When this is part of the sticky toolbar, the drop-down will use only the icon (without a label).
- The "live mode" toggle buttonIf a user in Oldest First mode gets to the "last" page in the queue (i.e., allowing users to activate and deactivate live updates.the one with the newest results), When thisthe "Newer" button is part of the sticky toolbar,grayed out—and it stays grayed out. the button will use only the icon (without a label).
- The pagination controls.I.e., Working as described regardless of being in the sticky toolbar or attached to the page.
# Mockups
|Default pagination controls| Pagination controls integrated into a sticky header (when scrolling)|
|---|---|
|{F8443676}|{F8443678}|it does not become active again in order to offer the option to load newer results to the //bottom// of the queue as they become available.