Load search result contents asynchronously
Summary
Follow-up to https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/14689#note_200248746 / https://gitlab.com/gitlab-org/gitlab-ee/issues/12547
The search result counts are now loaded asynchronously, which results in a jittery UI and the counts being loaded again when switching between the result tabs:
Improvements
Load the search result contents asynchronously as well. This needs to happen when clicking on the category tabs, as well as on the pagination links at the bottom of the page.
Searching for a new term or changing the group/project filter can still trigger a full page-reload for now, since those actions will also change the counts.
Risks
The URL in the browser address bar still needs to be updated to the new category / page.
At some point it might make sense to convert the whole thing into a Vue component.
Involved components
SearchController#show
- related JS code