Repository navigation
Virtualize the LOI list under each job - #2627
rfontanarosa merged 7 commits into
Conversation
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #2627 +/- ##
==========================================
+ Coverage 65.22% 65.43% +0.20%
==========================================
Files 121 121
Lines 3031 3052 +21
Branches 463 467 +4
==========================================
+ Hits 1977 1997 +20
- Misses 986 987 +1
Partials 68 68 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
/gemini review |
There was a problem hiding this comment.
Code Review
This pull request integrates Angular CDK's virtual scrolling into the JobListItemComponent to optimize performance when rendering large lists of Locations of Interest (LOIs). It also updates the associated styles to handle text overflow with ellipsis and adapts the unit tests to support asynchronous virtual scroll rendering. The review feedback suggests refining the scroll-to-index logic to use precise pixel bounds to avoid partial visibility bugs, and adding tooltips to the collapsed LOI buttons to improve accessibility and usability.
Expanding a job rendered a button and an SVG icon for every one of its LOIs, so a job with thousands of them was slow to open and to scroll.
Render the list in a cdk-virtual-scroll-viewport, so only the visible rows are in the DOM regardless of how many LOIs the job has. The list fits its rows up to 12, then scrolls. When the selected LOI is not visible (e.g. picked on the map), the list scrolls to it.
Rows now have a fixed height, so long LOI names are truncated with an ellipsis instead of wrapping; the full name is available as a tooltip.
part of #2233