From 3f2578bce5afbb1f92acab2481ec6de2f38a6296 Mon Sep 17 00:00:00 2001
From: Phil Hughes <me@iamphill.com>
Date: Fri, 21 Apr 2017 15:09:37 +0100
Subject: [PATCH] Commit view correctly spans the full width when parallel view

Closes #30881
---
 app/assets/stylesheets/pages/issuable.scss    | 11 ++++++---
 app/views/projects/commit/show.html.haml      |  4 +++-
 .../commit-limited-container-width.yml        |  4 ++++
 .../projects/commit/container_spec.rb         | 23 +++++++++++++++++++
 4 files changed, 38 insertions(+), 4 deletions(-)
 create mode 100644 changelogs/unreleased/commit-limited-container-width.yml
 create mode 100644 spec/features/projects/commit/container_spec.rb

diff --git a/app/assets/stylesheets/pages/issuable.scss b/app/assets/stylesheets/pages/issuable.scss
index 8d3d1a72b9b..cf8735e6fad 100644
--- a/app/assets/stylesheets/pages/issuable.scss
+++ b/app/assets/stylesheets/pages/issuable.scss
@@ -6,7 +6,13 @@
 }
 
 .limit-container-width {
-  .detail-page-header {
+  .detail-page-header,
+  .page-content-header,
+  .commit-box,
+  .info-well,
+  .notes,
+  .commit-ci-menu,
+  .files-changed {
     @extend .fixed-width-container;
   }
 
@@ -36,8 +42,7 @@
   }
 
   .diffs {
-    .mr-version-controls,
-    .files-changed {
+    .mr-version-controls {
       @extend .fixed-width-container;
     }
   }
diff --git a/app/views/projects/commit/show.html.haml b/app/views/projects/commit/show.html.haml
index 0d11da2451a..cdf0f11dc5f 100644
--- a/app/views/projects/commit/show.html.haml
+++ b/app/views/projects/commit/show.html.haml
@@ -1,9 +1,11 @@
 - @no_container = true
+- container_class = !fluid_layout && diff_view == :inline ? 'container-limited' : ''
+- limited_container_width = fluid_layout || diff_view == :inline ? '' : 'limit-container-width'
 - page_title        "#{@commit.title} (#{@commit.short_id})", "Commits"
 - page_description  @commit.description
 = render "projects/commits/head"
 
-%div{ class: container_class }
+%div.container-fluid{ class: [limited_container_width, container_class] }
   = render "commit_box"
   - if @commit.status
     = render "ci_menu"
diff --git a/changelogs/unreleased/commit-limited-container-width.yml b/changelogs/unreleased/commit-limited-container-width.yml
new file mode 100644
index 00000000000..253646b13da
--- /dev/null
+++ b/changelogs/unreleased/commit-limited-container-width.yml
@@ -0,0 +1,4 @@
+---
+title: Side-by-side view in commits correcly expands full window width
+merge_request:
+author:
diff --git a/spec/features/projects/commit/container_spec.rb b/spec/features/projects/commit/container_spec.rb
new file mode 100644
index 00000000000..80b758ec14f
--- /dev/null
+++ b/spec/features/projects/commit/container_spec.rb
@@ -0,0 +1,23 @@
+require 'spec_helper'
+
+describe 'Commit container', :js, :feature do
+  let(:user) { create(:user) }
+  let(:project) { create(:project) }
+
+  before do
+    project.team << [user, :master]
+    login_as(user)
+  end
+
+  it 'keeps container-limited when view type is inline' do
+    visit namespace_project_commit_path(project.namespace, project, project.commit.id, view: :inline)
+
+    expect(page).not_to have_selector('.limit-container-width')
+  end
+
+  it 'diff spans full width when view type is parallel' do
+    visit namespace_project_commit_path(project.namespace, project, project.commit.id, view: :parallel)
+
+    expect(page).to have_selector('.limit-container-width')
+  end
+end
-- 
GitLab