🌐 AI搜索 & 代理 主页
Skip to content

Conversation

@tmorehouse
Copy link
Member

@tmorehouse tmorehouse commented Jan 22, 2020

Describe the PR

Tweaks to PR #4622 for better aria handling of buttons.

To do:

  • add some basic unit tests for props first-number and last-number props
  • adjust layout to maintain number of buttons total (limit)
  • handle edge case when limit <= 3

PR checklist

What kind of change does this PR introduce? (check at least one)

  • Bugfix
  • Feature
  • Enhancement
  • ARIA accessibility
  • Documentation update
  • Other (please describe)

Does this PR introduce a breaking change? (check one)

  • No
  • Yes (please describe)

The PR fulfills these requirements:

  • It's submitted to the dev branch, not the master branch
  • When resolving a specific issue, it's referenced in the PR's title (i.e. [...] (fixes #xxx[,#xxx]), where "xxx" is the issue number)
  • It should address only one issue or feature. If adding multiple features or fixing a bug and adding a new feature, break them into separate PRs if at all possible.
  • The title should follow the Conventional Commits naming convention (i.e. fix(alert): not alerting during SSR render, docs(badge): update pill examples, chore(docs): fix typo in README, etc). This is very important, as the CHANGELOG is generated from these messages.

If new features/enhancement/fixes are added or changed:

  • Includes documentation updates (including updating the component's package.json for slot and event changes)
  • Includes any needed TypeScript declaration file updates
  • New/updated tests are included and passing (if required)
  • Existing test suites are passing
  • CodeCov for patch has met target
  • The changes have not impacted the functionality of other components or directives
  • ARIA Accessibility has been taken into consideration (Does it affect screen reader users or keyboard only users? Clickable items should be in the tab index, etc.)

If adding a new feature, or changing the functionality of an existing feature, the PR's
description above includes:

  • A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

@codecov
Copy link

codecov bot commented Jan 22, 2020

Codecov Report

Merging #4667 into feat-pagination-btn-classes-and-first-last-numbers will increase coverage by <.01%.
The diff coverage is 100%.

Impacted file tree graph

@@                                  Coverage Diff                                   @@
##           feat-pagination-btn-classes-and-first-last-numbers    #4667      +/-   ##
======================================================================================
+ Coverage                                               99.92%   99.92%   +<.01%     
======================================================================================
  Files                                                     253      253              
  Lines                                                    5230     5259      +29     
  Branches                                                 1388     1399      +11     
======================================================================================
+ Hits                                                     5226     5255      +29     
  Misses                                                      3        3              
  Partials                                                    1        1
Impacted Files Coverage Δ
src/mixins/pagination.js 100% <100%> (ø) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c0d5696...6d46616. Read the comment docs.

@tmorehouse
Copy link
Member Author

tmorehouse commented Jan 22, 2020

Need to add in a few special case handling for:

image

(where page 2 should be shown instead of first ellipsis)

And

image

(where page 9 should be shown instead of last ellipsis)

Needs some additional logic tests in the computation of the pagination page list array and the pagination params object computed props, and a few extra conditionals in the render function

@tmorehouse
Copy link
Member Author

tmorehouse commented Jan 22, 2020

Working well now, except when limit === 4 and the current page is 3:

image

And when limit is 3 (should have 5 page buttons - as two should be are bookends):

image

Unless we just add a note that first-number / last-number work only for limits 5 and up (set limit to minimum 5 if either prop is true)

@tmorehouse
Copy link
Member Author

tmorehouse commented Jan 23, 2020

All is working great now, except for slight aesthetics when limit is less than 4 (below or equal to the ellipsis threshold)

@tmorehouse
Copy link
Member Author

It works well for limit of 4 and greater.

Below that the layout isn't as stable (# of page buttons present), but is still usable.

We can maybe just recommend that that option be used for limits >= 4

@tmorehouse tmorehouse marked this pull request as ready for review January 23, 2020 18:59
@tmorehouse
Copy link
Member Author

@jackmu95 looks like it is now working well with any button limit and number of pages.

@tmorehouse
Copy link
Member Author

we will need to add some docs in the main PR (after this one is merged).

When first/last number is enabled, the limit does not include the first/last number button (similar to how limit doesn't include the first page / last page bookend buttons.

@tmorehouse tmorehouse merged commit 538ea8e into feat-pagination-btn-classes-and-first-last-numbers Jan 23, 2020
@tmorehouse tmorehouse deleted the pagination-tweaks branch January 23, 2020 21:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants