ee713a5f3f
Add unfold links for Side-by-Side view ## What does this MR do? Add unfold links for Side-by-Side view and refactor some diff related code ## What are the relevant issue numbers? Closes #3877 ## Does this MR meet the acceptance criteria? - [x] [CHANGELOG](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CHANGELOG) entry added - [x] [Documentation created/updated](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/development/doc_styleguide.md) - [x] API support 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 !5415
33 lines
1.5 KiB
Text
33 lines
1.5 KiB
Text
- show_whitespace_toggle = local_assigns.fetch(:show_whitespace_toggle, true)
|
|
- diff_files = diffs.diff_files
|
|
- if diff_view == :parallel
|
|
- fluid_layout true
|
|
|
|
.content-block.oneline-block.files-changed
|
|
.inline-parallel-buttons
|
|
- if !expand_all_diffs? && diff_files.any? { |diff_file| diff_file.collapsed? }
|
|
= link_to 'Expand all', url_for(params.merge(expand_all_diffs: 1, format: nil)), class: 'btn btn-default'
|
|
- if show_whitespace_toggle
|
|
- if current_controller?(:commit)
|
|
= commit_diff_whitespace_link(diffs.project, @commit, class: 'hidden-xs')
|
|
- elsif current_controller?(:merge_requests)
|
|
= diff_merge_request_whitespace_link(diffs.project, @merge_request, class: 'hidden-xs')
|
|
- elsif current_controller?(:compare)
|
|
= diff_compare_whitespace_link(diffs.project, params[:from], params[:to], class: 'hidden-xs')
|
|
.btn-group
|
|
= inline_diff_btn
|
|
= parallel_diff_btn
|
|
= render 'projects/diffs/stats', diff_files: diff_files
|
|
|
|
- if diff_files.overflow?
|
|
= render 'projects/diffs/warning', diff_files: diff_files
|
|
|
|
.files{data: {can_create_note: (!@diff_notes_disabled && can?(current_user, :create_note, diffs.project))}}
|
|
- diff_files.each_with_index do |diff_file, index|
|
|
- diff_commit = commit_for_diff(diff_file)
|
|
- blob = diff_file.blob(diff_commit)
|
|
- next unless blob
|
|
- blob.load_all_data!(diffs.project.repository) unless blob.only_display_raw?
|
|
|
|
= render 'projects/diffs/file', index: index, project: diffs.project,
|
|
diff_file: diff_file, diff_commit: diff_commit, blob: blob
|