Skip to content

paginationNav() default anchor-display UX differs from paginationLinks(alwaysShowAnchors=false) #2716

Description

@bpamiri

Severity: medium — cosmetic regression on every paginated page after a like-for-like swap.

Surfaced by: titan Phase 2.4 (Wheels 4.0 upgrade), 2026-05-15.

Description

paginationNav() exposes showFirst / showLast / showPrevious / showNext as booleans — they're either on or off for every page. The default is on.

paginationLinks(alwaysShowAnchors=false) (3.x default behavior) only emits the first / last anchors when the visible page-number window doesn't reach the boundary. So on page 4 of 4, it doesn't render "Last »" because the window already includes the last page.

This is the standard Bootstrap pagination UX. A 3.x app that swaps to paginationNav() will start showing "Last »" / "First «" on every page, including pages where they're redundant.

The arg surface to express "only show first/last when the window doesn't reach the ends" doesn't exist on paginationNav.

Suggested fix

Add an enum-style arg to paginationNav() and to the four primitive *PageLink helpers:

anchorDisplayMode = \"windowMisses\" | \"always\" | \"never\"

or equivalently:

showFirstWhen = \"windowMisses\" | \"always\" | \"never\"
showLastWhen  = \"windowMisses\" | \"always\" | \"never\"

Default to windowMisses to match legacy 3.x behavior.

cc @bpamiri

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions