summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Knox <psimyn@gmail.com>2018-05-17 17:17:44 +1000
committerSimon Knox <psimyn@gmail.com>2018-05-17 17:17:44 +1000
commitbf0ffc0b169faea4eb5ac9feb7745423157a8961 (patch)
tree8b440b5c5cadaa66289ed5493dd85383418be9a8
parentddc29487a71d6557c6b1e7ca4e67f7a99384777b (diff)
downloadgitlab-ce-psimyn-changes-tab-compare.tar.gz
add alternate path for compare versions dropdownpsimyn-changes-tab-compare
-rw-r--r--app/assets/javascripts/diffs/components/app.vue6
-rw-r--r--app/assets/javascripts/diffs/components/compare_versions.vue1
-rw-r--r--app/assets/javascripts/diffs/components/compare_versions_dropdown.vue19
-rw-r--r--app/assets/stylesheets/pages/merge_requests.scss4
-rw-r--r--app/controllers/projects/merge_requests/diffs_controller.rb1
-rw-r--r--app/serializers/merge_request_diff_entity.rb10
6 files changed, 27 insertions, 14 deletions
diff --git a/app/assets/javascripts/diffs/components/app.vue b/app/assets/javascripts/diffs/components/app.vue
index 0d2b732bc29..95e829ecc20 100644
--- a/app/assets/javascripts/diffs/components/app.vue
+++ b/app/assets/javascripts/diffs/components/app.vue
@@ -62,7 +62,7 @@ export default {
return {
branchName: this.targetBranchName,
versionIndex: -1,
- path: '',
+ comparePath: location.pathname, // TODO
};
},
notAllCommentsDisplayed() {
@@ -70,11 +70,11 @@ export default {
return __('Only comments from the following commit are shown below');
} else if (this.startVersion) {
return __(
- 'Not all comments are displayed because you\'re comparing two versions of the diff.',
+ "Not all comments are displayed because you're comparing two versions of the diff.",
);
}
return __(
- 'Not all comments are displayed because you\'re viewing an old version of the diff.',
+ "Not all comments are displayed because you're viewing an old version of the diff.",
);
},
showLatestVersion() {
diff --git a/app/assets/javascripts/diffs/components/compare_versions.vue b/app/assets/javascripts/diffs/components/compare_versions.vue
index 5f98e3265c2..50eef2913db 100644
--- a/app/assets/javascripts/diffs/components/compare_versions.vue
+++ b/app/assets/javascripts/diffs/components/compare_versions.vue
@@ -52,6 +52,7 @@ export default {
:other-versions="comparableDiffs"
:start-version="startVersion"
:target-branch="targetBranch"
+ :compare="true"
class="mr-version-compare-dropdown"
/>
</div>
diff --git a/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue b/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
index 99b394079fb..40606b50d50 100644
--- a/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
+++ b/app/assets/javascripts/diffs/components/compare_versions_dropdown.vue
@@ -34,14 +34,13 @@ export default {
required: false,
default: false,
},
+ compare: {
+ type: Boolean,
+ required: false,
+ default: false,
+ },
},
computed: {
- baseVersion() {
- return {
- name: 'hii',
- versionIndex: -1,
- };
- },
targetVersions() {
if (this.mergeRequestVersion) {
return this.otherVersions;
@@ -93,6 +92,12 @@ export default {
this.mergeRequestVersion && version.versionIndex === this.targetVersions[0].versionIndex
);
},
+ path(version) {
+ if (this.compare) {
+ return version.comparePath;
+ }
+ return version.path;
+ },
},
};
</script>
@@ -121,7 +126,7 @@ export default {
>
<a
:class="{ 'is-active': isActive(version) }"
- :href="version.path"
+ :href="version.comparePath"
>
<div>
<strong>
diff --git a/app/assets/stylesheets/pages/merge_requests.scss b/app/assets/stylesheets/pages/merge_requests.scss
index 66db4917178..33c8db93de5 100644
--- a/app/assets/stylesheets/pages/merge_requests.scss
+++ b/app/assets/stylesheets/pages/merge_requests.scss
@@ -609,14 +609,12 @@
position: relative;
background: $gray-light;
color: $gl-text-color;
- z-index: 199;
.mr-version-menus-container {
- display: -webkit-flex;
display: flex;
- -webkit-align-items: center;
align-items: center;
padding: 16px;
+ z-index: 199;
}
.content-block {
diff --git a/app/controllers/projects/merge_requests/diffs_controller.rb b/app/controllers/projects/merge_requests/diffs_controller.rb
index a18a99bda18..628bfa7936f 100644
--- a/app/controllers/projects/merge_requests/diffs_controller.rb
+++ b/app/controllers/projects/merge_requests/diffs_controller.rb
@@ -75,6 +75,7 @@ class Projects::MergeRequests::DiffsController < Projects::MergeRequests::Applic
merge_request_diffs: @merge_request_diffs,
comparable_diffs: @comparable_diffs,
start_version: @start_version,
+ start_sha: @start_sha,
commit: @commit,
latest_diff: @merge_request_diff&.latest?
}
diff --git a/app/serializers/merge_request_diff_entity.rb b/app/serializers/merge_request_diff_entity.rb
index d194c8988f3..ac00363e951 100644
--- a/app/serializers/merge_request_diff_entity.rb
+++ b/app/serializers/merge_request_diff_entity.rb
@@ -19,9 +19,17 @@ class MergeRequestDiffEntity < Grape::Entity
end
expose :path do |merge_request_diff|
+ start_sha = options[:start_sha]
merge_request = options[:merge_request]
project = merge_request.source_project
- merge_request_version_path(project, merge_request, merge_request_diff, @start_sha)
+ merge_request_version_path(project, merge_request, merge_request_diff, start_sha)
+ end
+
+ expose :compare_path do |merge_request_diff|
+ merge_request = options[:merge_request]
+ project = merge_request.source_project
+
+ merge_request_version_path(project, merge_request, merge_request.merge_request_diff, merge_request_diff.head_commit_sha)
end
end