WIP: Load participants asynchronously

What does this MR do?

Adds /issues/:issue_id/participants and /merge_requests/:merge_request_id/participants actions to retrieve json response of participants for a particular issuable.

Moves participants templates into <script type="text/template">, sets the default spinner UI.

Adds an ajax request to retrieve the participants and populates the participants templates, appending them to the participants list.

Are there points in the code the reviewer needs to double check?

I need some backend help here. I need someone to remove the participants query from the initial page load and to go over and improve my actions, they're not DRY but I'm not sure how to combine issuable logic.

Oh also, I dont think the current participants query is perfect as it seems to be returning some groups as well?

I found this as the avatar method I use to get the avatar path was returning /no-avatar.png for some...


I noticed these were all links to group pages rather than users.

Why was this MR needed?

Querying participants is slow so we'll load it async.

Screenshots (if relevant)



Does this MR meet the acceptance criteria?

What are the relevant issue numbers?

Closes #23206 (moved)