Move Ajax interceptor into describe block
## What does this MR do?
Move registering the Vue resource interceptor for issue board mock data into the corresponding `describe` blocks.
## Why was this MR needed?
Currently, the interceptor is registered for every test (which makes them at best fail for Ajax calls using Vue resource).
See merge request !7304
While loading, the entire dropdown is greyed out. However, The focus is on the text input, so user can input text. Move the focus event to after loading finished to fix this.
Delete issue board welcome cookie
## What does this MR do?
This was seen in the idea to production demo, because the project had already existed on the exact same URL the cookie already existed which meant the blank state wasn't shown.
This MR deletes the cookie on project create.
See merge request !6899
Add todo toggle event
## What does this MR do?
Adds a custom jQuery event `todo:toggle` to detect when a new todo is added so that the respective todo counters (header navigation and sidebar) can update as needed
## Are there points in the code the reviewer needs to double check?
* I wasn't sure whether each `spec` should be modularized based on the html templates or whether they should be separated based on function. There are some crossovers between the `dashboard_spec` and the `header_spec`.
* The naming conventions for `sidebar` and `right_sidebar` were a little confusing since they were named the opposite in their `specs`. I made a few assumptions and named a few files based on what I thought they should be named. I'd be happy to change it to something else though 😄
## Why was this MR needed?
This resolves an existing issue where the todo count on the sidebar would not update (until refresh) and refactors the existing methods that are used to update the todo counters (header navigation and sidebar)
## What are the relevant issue numbers?
Closes#20140
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- Tests
- [x] Added for this feature/bug
- [x] All builds are passing
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
See merge request !5724
Replace jquery-cookie plugin with js-cookie
## What does this MR do?
Removes an outdated and unmaintained dependency [jquery.cookie](https://github.com/carhartl/jquery-cookie) with its successor [js.cookie](https://github.com/js-cookie/js-cookie) which is not dependent on jQuery.
Also this MR adds a global default cookie `path` setting which defaults to the GitLab root directory. Now, setting a cookie to any path other than `gon.relative_url_root` requires an explicit opt-out. This is a sensible default and should prevent accidental omission going forward.
## Are there points in the code the reviewer needs to double check?
Double check that all instances of `$.cookie(x)` have been replaced by `Cookies.get(x)` and all instances of `$.cookie(x, y, z)` are replaced with `Cookies.set(x, y, z)`. All javascripts which set or retrieve cookie values should function just as before.
## Why was this MR needed?
One more step toward shaking off jQuery as a dependency (#23022), also [jquery.cookie](https://github.com/carhartl/jquery-cookie) is no longer maintained and hasn't seen an update in 2+ years.
## Does this MR meet the acceptance criteria?
- [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG.md) entry added
- Tests
- [x] All builds are passing
- [x] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [x] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [x] Branch has no merge conflicts with `master` (if it does - rebase it please)
- [x] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)
## What are the relevant issue numbers?
#23022
See merge request !7085
- Tab between register and sign in forms
- Add individual input validation error messages
- Validate username
- Update many styles for all login-box forms
Merge request tabs stick when scrolling page
## What does this MR do?
When scrolling merge requests this sticks the tabs to below the navigation for easy access.
## Screenshots (if relevant)

## What are the relevant issue numbers?
Closes#20548
See merge request !6382
Stop the global search form's default "action" from fighting with
dropdown items when using the keyboard to navigate the dropdown.
`e.preventDefault()` is now called on the enter key when a dropdown item
is already selected.
Signed-off-by: Rémy Coutable <remy@rymai.me>
Pass the remember_me option into the u2f form and support it while authenticating
## What does this MR do?
Adds remember me support in the u2f authentication, and makes sure the flag gets passed from the login form to the u2f form.
Based on the changes for the same thing done for regular 2fa: https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/4369
## Why was this MR needed?
The remember me option wasn't working for u2f devices (yubikey)
## What are the relevant issue numbers?
Fixes https://gitlab.com/gitlab-org/gitlab-ce/issues/18103
See merge request !5918
Add the total number of issues in the JSON response in issue board lists
## What does this MR do?
Add the total number of issues in the JSON response in issue board lists
## Why was this MR needed?
The issue board lists should always show the total number of issues in the list, not the current amount fetched by endless scroll.
Closes#21327
See merge request !5904
Check for existance of elements under test in application_spec.js
## What does this MR do?
Checks that the elements under test in `application_spec.js` actually exist.
## Why was this MR needed?
```
$ echo 'just garbage' > spec/javascripts/fixtures/application.html.haml
$ bundle exec teaspoon spec/javascripts/application_spec.js
2 examples, 0 failures
```
See merge request !6051