summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/controllers/projects/merge_requests/diffs_controller.rb1
-rw-r--r--app/serializers/diff_file_entity.rb14
2 files changed, 13 insertions, 2 deletions
diff --git a/app/controllers/projects/merge_requests/diffs_controller.rb b/app/controllers/projects/merge_requests/diffs_controller.rb
index 48e02581d54..6d0c00146d9 100644
--- a/app/controllers/projects/merge_requests/diffs_controller.rb
+++ b/app/controllers/projects/merge_requests/diffs_controller.rb
@@ -69,6 +69,7 @@ class Projects::MergeRequests::DiffsController < Projects::MergeRequests::Applic
def additional_attributes
{
+ view: params[:view],
environment: @environment,
merge_request: @merge_request,
merge_request_diff: @merge_request_diff,
diff --git a/app/serializers/diff_file_entity.rb b/app/serializers/diff_file_entity.rb
index 61135fba97b..6b695190569 100644
--- a/app/serializers/diff_file_entity.rb
+++ b/app/serializers/diff_file_entity.rb
@@ -134,12 +134,12 @@ class DiffFileEntity < Grape::Entity
end
# Used for inline diffs
- expose :highlighted_diff_lines, if: -> (diff_file, _) { diff_file.text? } do |diff_file|
+ expose :highlighted_diff_lines, if: -> (diff_file, _) { diff_file.text? && view_type == ::Gitlab::Diff::File::VIEW_TYPES[0] } do |diff_file|
diff_file.diff_lines_for_serializer
end
# Used for parallel diffs
- expose :parallel_diff_lines, if: -> (diff_file, _) { diff_file.text? }
+ expose :parallel_diff_lines, if: -> (diff_file, _) { diff_file.text? && view_type == ::Gitlab::Diff::File::VIEW_TYPES[1] }
def current_user
request.current_user
@@ -154,4 +154,14 @@ class DiffFileEntity < Grape::Entity
end
end
end
+
+ def view_type
+ strong_memoize(:view_type) do
+ types = ::Gitlab::Diff::File::VIEW_TYPES
+
+ return options[:view] if types.include?(options[:view])
+
+ types.first
+ end
+ end
end