diff options
author | Simon Knox <psimyn@gmail.com> | 2018-05-17 17:17:44 +1000 |
---|---|---|
committer | Simon Knox <psimyn@gmail.com> | 2018-05-17 17:17:44 +1000 |
commit | bf0ffc0b169faea4eb5ac9feb7745423157a8961 (patch) | |
tree | 8b440b5c5cadaa66289ed5493dd85383418be9a8 | |
parent | ddc29487a71d6557c6b1e7ca4e67f7a99384777b (diff) | |
download | gitlab-ce-psimyn-changes-tab-compare.tar.gz |
add alternate path for compare versions dropdownpsimyn-changes-tab-compare
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 |