primefaces / primeng

The Most Complete Angular UI Component Library
https://primeng.org
Other
10.15k stars 4.54k forks source link

p-table: Virtual Scroll, Lazy Load table with value from Observable W Async Pipe/toSignal stuck in loading state when sorting #13517

Open SaajRP opened 1 year ago

SaajRP commented 1 year ago

Describe the bug

Virtual scroll, lazy load table that has its value set from either an Observable with an Async pipe or a Signal created using the toSignal function on an observable gets stuck in a loading state after sorting when scrolled to the top of table. The user has to scroll down for the table to be no longer stuck in a loading state

This issue does not happen for the same table after sorting when not scrolled at the top of the table.

Environment

macOS Ventura 13.5

Windows 10 Version 22H2

Reproducer

https://stackblitz.com/edit/oetsny-rdsoxe?file=src%2Fapp%2Fdemo%2Ftable-virtual-scroll-lazy-demo.ts

Angular version

16.2.0

PrimeNG version

16.9.0

Build / Runtime

Angular CLI App

Language

TypeScript

Node version (for AoT issues node --version)

18.12.0

Browser(s)

No response

Steps to reproduce the behavior

Expected behavior

SaajRP commented 9 months ago

This remains a problems as of PrimeNg 16.9.0

SaajRP commented 9 months ago

Remains a problem as of PrimeNg 17.0.0

SaajRP commented 8 months ago

Table sorting when scrolled at the top of a table appears to be functioning correctly as of PrimeNg 17.2.0

esaAtbeconfig commented 6 months ago

In version 17.2 with a virtual scroller and 6k lines data, if you scroll to the bottom of the list than sort, the UI get stucks for a while than is available. The sort method doesn't seem to be involved in this. The problem seems to be related to the scrolling position, at 0%, no slowdown, at 10% a little, at 100% it hangs. I did not find any looping code for the moment but there must be somewhere and the source being not observable or signal seems to do the same thing.

Setting resetPageOnSort to false does not change the issue (which sounds weird since sorting is instantly done - so maybe a callbak somewhere ?!)

Changing scrollTo method with 'instant' option does not solve the issue.

SaajRP commented 6 months ago

@esaAtbeconfig, the issue you’ve described has been raised on

https://github.com/primefaces/primeng/issues/13494