-
Notifications
You must be signed in to change notification settings - Fork 6.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Paginator] When Updated length is "shorter" than the pageIndex (*pageSize), pageIndex should be updated and then a pageEvent to the pageIndex emited #14520
Comments
Updates the page index of a paginator if its length changed to something where the index isn't valid anymore (e.g. the user is on the last page and the amount of pages becomes smaller). Fixes angular#14520.
Updates the page index of a paginator if its length changed to something where the index isn't valid anymore (e.g. the user is on the last page and the amount of pages becomes smaller). Fixes angular#14520.
Hi is there any news about this bug ? This is bad experience for our users ! If we for example apply filter on query and less data is returned Is there any workaround ? |
Updates the page index of a paginator if its length changed to something where the index isn't valid anymore (e.g. the user is on the last page and the amount of pages becomes smaller). Fixes angular#14520.
Experiencing a similar behavior: when filtering the data of the DataSource, the page index of the paginator automatically updates to the correct value. eg. 0 if the table is empty. The paginator in this case does not emit a PageEvent. |
Updates the page index of a paginator if its length changed to something where the index isn't valid anymore (e.g. the user is on the last page and the amount of pages becomes smaller). Fixes angular#14520.
Any update about this BUG? |
Hi @andrewseguin @crisbeto , it looks like there is a PR to fix this that's nearing its third birthday. It seems to have stalled because there are two related properties ( Maybe I can take a crack at getting it un-stuck and moving forward? |
Also I just found #5812 (ETA: and #17628) which says that the (IMHO objectively wrong) behavior of leaving you on page "90-100 of 25" was by design. I'm hoping that this PR means that the team's position has changed and automatically selecting the last remaining page on length change is now considered a desirable behavior? |
…ange Updates the page index of a paginator if its length changed to something where the index isn't valid anymore (e.g. the user is on the last page and the amount of pages becomes smaller). Fixes angular#14520.
What is the expected behavior?
When I am on the last Page of a dataSet and then delete the elements that are currently showing (or filter elements "away"), and thereby change the length property, the paginator should update the pageIndex to the ACTUAL lastPage and then _emitPageEvent() there.
What is the current behavior?
When I am on the last Page of a table and then delete the element(s) that are currently showing, the paginator will simply show a empty table with a label like "91 - 100 of 90".
Also: I am using an Array as Datasource for my Table.
What are the steps to reproduce?
The example in the Documentations shows the behavior very well (but if necessary I can still provide the stackblitz with a table)
https://material.angular.io/components/paginator/examples
Steps
#1 Click 9x on the "nextPage" Button until you are on the last Page (91-100 of 100)
#2 Click on the input "List length" and enter "90"
-> The paginator shows "91-100 of 90" INSTEAD should show "81-90 of 90" and a PageEvent fired to the last Page
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
I had the problem with Material+Material 6, but apparently it shows as well on 7
Browser: Chrome
OS: Win 10
Is there anything else we should know?
Inside the Paginator Component: The setter function for the length property could simply test
if (Math.floor(value, this.pageSize) < this.pageIndex) { /* set pageIndex and emitPageEvent accordingly */}
The text was updated successfully, but these errors were encountered: