gitlab-org--gitlab-foss/app/assets/javascripts
Fatih Acet 3981f9f968 Merge branch '21633-permalink-to-collapsed-diff-line-does-not-work' into 'master'
Fixed anchoring diff lines in collapsed diffs

## What does this MR do?

This MR adds the ability to `forceLoad` a collapsed diff from instantiation, on top of this, if it is force loaded, we can pass a callback function to be invoked when the content is loaded.

Now when a MR is loaded, we check for a diff line anchor that is currently within a collapsed diff, we re-instantiate the `singleFileDiff` with the `forceLoad` option. We also pass a callback function that in responsible for highlighting and scrolling to the specified anchor.

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

## Why was this MR needed?

We currently cannot anchor link to collapsed diff lines as the do not auto-expand.

## Screenshots (if relevant)

https://youtu.be/fZVLlP6kchw

## Does this MR meet the acceptance criteria?

- [ ] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added
- [ ] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md)
- [ ] API support added
- Tests
  - [ ] Added for this feature/bug
  - [ ] All builds are passing
- [ ] Conform by the [merge request performance guides](http://docs.gitlab.com/ce/development/merge_request_performance_guidelines.html)
- [ ] Conform by the [style guides](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md#style-guides)
- [ ] Branch has no merge conflicts with `master` (if you do - rebase it please)
- [ ] [Squashed related commits together](https://git-scm.com/book/en/Git-Tools-Rewriting-History#Squashing-Commits)

## What are the relevant issue numbers?

Closes #21633

See merge request !6285
2016-11-01 20:31:04 +00:00
..
behaviors Finish styling commits view 2016-10-28 09:00:30 -05:00
blob disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
blob_edit disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
boards Adds label description to issue board title 2016-11-01 09:15:44 +00:00
commit disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
cycle_analytics Create cycle analytics bundle 2016-10-28 15:56:12 +01:00
diff_notes disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
extensions disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
graphs Remove leftover references to coffeescript from comments and docs. 2016-10-31 11:39:52 +01:00
lib Merge branch 'add-todo-toggle-event' into 'master' 2016-10-27 13:28:40 +00:00
merge_conflicts disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
network Remove leftover references to coffeescript from comments and docs. 2016-10-31 11:39:52 +01:00
profile disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
protected_branches disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
snippet disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
templates disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
u2f disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
users disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
abuse_reports.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
activities.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
admin.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
api.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
application.js Merge branch 'decaffeinate-the-docs' into 'master' 2016-11-01 15:45:29 +00:00
aside.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
autosave.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
awards_handler.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
breakpoints.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
broadcast_message.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
build.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
build_artifacts.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
build_variables.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
commit.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
commits.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
compare.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
compare_autocomplete.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
confirm_danger_modal.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
copy_to_clipboard.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
create_label.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
diff.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
dispatcher.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
dropzone_input.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
due_date_select.js.es6 Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
files_comment_button.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
flash.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
gfm_auto_complete.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
gl_dropdown.js Do not allow text input in dropdown while loading 2016-10-28 23:26:33 +03:00
gl_field_errors.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
gl_form.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
group_avatar.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
groups_select.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
header.js Enable linting for ES6 files 2016-10-27 21:35:07 +02:00
importer_status.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
issuable.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
issuable_context.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
issuable_form.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
issue.js add "x of y tasks completed" on issuable 2016-10-28 14:01:36 -02:00
issue_status_select.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
issues_bulk_assignment.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
label_manager.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
labels.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
labels_select.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
layout_nav.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
line_highlighter.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
logo.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
member_expiration_date.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
members.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
merge_request.js add "x of y tasks completed" on issuable 2016-10-28 14:01:36 -02:00
merge_request_tabs.js Merge branch '21633-permalink-to-collapsed-diff-line-does-not-work' into 'master' 2016-11-01 20:31:04 +00:00
merge_request_widget.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
merged_buttons.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
milestone.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
milestone_select.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
namespace_select.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
new_branch_form.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
new_commit_form.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
notes.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
notifications_dropdown.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
notifications_form.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
pager.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
pipelines.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
preview_markdown.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
project_avatar.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_find_file.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_fork.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_import.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_new.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_select.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
project_show.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
projects_list.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
right_sidebar.js Merge branch 'add-todo-toggle-event' into 'master' 2016-10-27 13:28:40 +00:00
search.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
search_autocomplete.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_blob.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_dashboard_navigation.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_find_file.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_issuable.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_navigation.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
shortcuts_network.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
sidebar.js.es6 Merge branch 'add-todo-toggle-event' into 'master' 2016-10-27 13:28:40 +00:00
single_file_diff.js Merge branch '21633-permalink-to-collapsed-diff-line-does-not-work' into 'master' 2016-11-01 20:31:04 +00:00
snippets_list.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
star.js Remove tooltips from project header 2016-11-01 12:01:13 -05:00
subscription.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
subscription_select.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
syntax_highlight.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
todos.js.es6 Merge branch 'add-todo-toggle-event' into 'master' 2016-10-27 13:28:40 +00:00
tree.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
user.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
user_tabs.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
username_validator.js.es6 disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
users_select.js Merge branch 'eslint' into 'master' 2016-10-26 16:31:08 +00:00
wikis.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00
zen_mode.js disable ESLint for all JavaScript files 2016-10-26 10:02:58 +02:00