diff options
Diffstat (limited to 'app')
-rw-r--r-- | app/controllers/projects/merge_requests/diffs_controller.rb | 1 | ||||
-rw-r--r-- | app/serializers/diff_file_entity.rb | 14 |
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 |