fix(platform): Recheck loadingState before refocus table cell #12517
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Related Issue(s)
closes #12450
Description
Issue: We have a listener on tableLoading to perform cell refocus whenever
loadingState
is false. However, this is executed asynchronously insetTimeout
. Since table loading can be triggered either from internal or provided by application through[loading]
, there is a chance that it still runs whenloadingState
is true. For example,loadingState
is set true from application when fetching the table and busy indicator is displayed on UI andscrollIntoView
fromfocusCell
will use busy indicator instead of table for position recalculation which gives the wrong position to scroll the table.Solution: Add
loadingState
recheck to ensure that the code is only run when table is not loading.