State of the art for dropdown implementations - Roadmap to have one lib
The frontend code base has many dropdown implementations. We should collect the most common ones and document which of them can be used in future (and how) and which of them are discouraged.
This hopefully brings us closer to having one implementation at some point.
Possible Plan
1st: Document
Document current usage: https://gitlab.com/gitlab-org/gitlab-ce/issues/39998
2nd: List & Evaluate
List the usage of all dropdowns: https://gitlab.com/gitlab-org/gitlab-ce/issues/39996
3rd: Features
List all the features we need a dropdown to have: https://gitlab.com/gitlab-org/gitlab-ce/issues/39994
4th: Compare existing solutions
Compare existing solutions: https://gitlab.com/gitlab-org/gitlab-ce/issues/39997
5th: Remove!
After all the steps have been completed and backed with documentation and not personal opinions (which is the main blocker atm) we can start remove.
6th: End result
Ideally we would end up with
- One basic dropdown, like bootstrap, most of the places we use one we only need a simple
<ul>with some<li> - One advanced dropdown, like select2|gldropdown, for the API calls, etc