Improve the renderign of new and existing discussions
by reducing the number of watchers on each object & array.
Previously every discussion change would trigger an update for every
discussion component.
Also tidied up some components to get them closer to our docs.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/51506
This caused many pain points when working with it.
Part of the data was camel cased the other snake case.
Other parts where snake case & then getting converted in components,
this conversion has the potential for leaking memory.
This changes that & makes it consistent with what it returned from the
API, snake case.
This re-implements image commenting in merge request diffs.
This feature was previously lost when the merge request
page was refactored into Vue.
With this, we create an overlay component. The overlay
component handles displaying the comment badges
and the comment form badge.
Badges are displayed based on the position attribute
sent with the discussion.
Comment forms for diff files are controlled through
a different state property. This is so we don't
tie comment forms to diff files directly creating
deep nested state. Instead we create a flat array
which holds the file hash & the X & Y position of
the comment form.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/48956
This adds toggle buttons to switch between file & tree list.
For file list, it renders the truncated paths with the ellipsis
at the start of the path.
When focusing the input, it hides the toggle buttons.
On blur, the buttons get shown again.
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/51859
This file tree displays all the diff files in a tree like format
Each file is taken and converted into a tree with folders
Each folder can be toggled open & closed
Clicking a file will scroll to the diff file & highlight with a glow affect
Searching the tree list will search only files & return a list of the
files without any folders
Each file row contains an icon to show changed, new file or deleted
Each row will also contain the added & removed lines count
Closes https://gitlab.com/gitlab-org/gitlab-ce/issues/14249
We now use the returned discussion instead of re-fetching
all of the discussions and filtering out the ones we don't need.
This speeds up the process of creating a diff discussions
by saving us another API request before we can render the discussion
* master: (38 commits)
Update bitbucket.md to fix typo and small grammar touchups.
Update time_helper.rb to fix output for exact minutes.
Document update for GitLab Pages users.
Support manually stopping any environment from the UI
Fix link to frontend in handbook
Shorten CHANGELOG filename to avoid breaking ecryptfs users
Replace 48976-rails5-invalid-single-table-inheritance-type-group-is-not-a-subclass-of-gitlab-backgroundmigration-fixcrossprojectlabellinks-namespace.yml
Fix mountComponent helper path in docs
Fix#48537 - Update avatar only via the projects API
Add additional headline for Adding SSH keys to GitLab
Request to be a proofreader.
Fix specs
Fix search bar text input alignment
Fix API docs on unauthenticated projects return
Adds with_projects optional parameter to /groups/:id API endpoint
Docs: make it clear that you need a completely separate domain for Pages
Document that we don't want to wait in tests
Removes unused store in diffs mr refactor Removes double export for actions in diffs module in mr refactor
Remove useless return
Use latest gitlab-styles
...