Add server-side filtering for repositories on "New Review Request"

Review Request #12140 — Created March 11, 2022 and submitted — Latest diff uploaded

Information

Review Board
release-3.0.x
95b4c81...

Reviewers

The "New Review Request" page was designed for smaller servers in mind,
since in our heads, most people on large servers are (correctly) using
RBTools. To wit, it was loading the entirety of the repository list into
the sidebar of the page, and then providing client-side search of the
names. On servers with very large numbers of repositories, this would
cause major delays and even timeouts.

This change fixes all that up to be much better. Rather than loading all
repositories, we load only the first 25. Instead of the special "File
attachments only" repository being something that is done in the view,
it happens entirely client-side. And the "Filter" search box will now
make queries to the API to regenerate the collection of repositories,
rather than just filtering the full collection on the client.

This required adding a few new data fields to the repository API, as
well as the new "q" query parameter to the list API.

Created a bunch of different repositories on my local system. Typed some
stuff in the repository filter field and saw appropriate network
requests and that the repository collection was reloaded with the
returned results.

    Loading...