Allow user to select all projects for group repository coverage report
Problem to solve
The GraphQL API to retrieve the group's projects only returns a max of 100 projects at a time. We use this list of projects in the group repository analytics page to download the code coverage report. Because we can max out at 100 projects, this means that the user may not be able to select the projects that they want.
Intended users
Proposal
We should be able to use the GlIntersectionObserver utility to trigger an event when we get towards the bottom of the dropdown list.
Once the event is triggered, we'll need to utilize PageInfo
type on the project nodes to fetch the next set of projects. We can check hasNextPage
to see if we need to load more projects, and we can use the endCursor
to get all of the projects after
that cursor.
Currently the dropdown includes a search bar, but I propose we remove it for now and have a followup issue to add it back in.
Further details
This builds on the MVC of making all project data available. Provide an interface to select from the projects that belong to the group to fetch data for in the downloaded file so Delaney does not have to filter / edit in spreadsheets OR navigate to each project they want data for.
Permissions and Security
Documentation
Update documentation to show that the user can select from any project in their group.
What does success look like, and how can we measure that?
The project picker lets me pick all / any / only projects from the group I am currently navigated to
What is the type of buyer?
Dakota - The Application Development Director is the buyer for this feature.