summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlfredo Sumaran <alfredo@gitlab.com>2016-08-17 22:51:49 -0500
committerAlfredo Sumaran <alfredo@gitlab.com>2016-08-17 22:51:49 -0500
commit43252ccbee64333634f13dd59509a1d19eef5c6e (patch)
treef435b7aad1bdeb1a02d0f4ac7b7c10dad94e4686
parent59fa031e6f7d5a1b658c370f581c4caaf4493150 (diff)
downloadgitlab-ce-43252ccbee64333634f13dd59509a1d19eef5c6e.tar.gz
Fix tabs navigation and do not update URL via pushstate
-rw-r--r--app/assets/javascripts/merge_request_tabs.js5
-rw-r--r--app/controllers/projects/merge_requests_controller.rb8
-rw-r--r--app/views/projects/merge_requests/_new_submit.html.haml11
3 files changed, 15 insertions, 9 deletions
diff --git a/app/assets/javascripts/merge_request_tabs.js b/app/assets/javascripts/merge_request_tabs.js
index 1bba69a255a..4e2273f5aa8 100644
--- a/app/assets/javascripts/merge_request_tabs.js
+++ b/app/assets/javascripts/merge_request_tabs.js
@@ -15,6 +15,7 @@
function MergeRequestTabs(opts) {
this.opts = opts != null ? opts : {};
+ this.opts.setUrl = this.opts.setUrl !== undefined ? this.opts.setUrl : true;
this.setCurrentAction = bind(this.setCurrentAction, this);
this.tabShown = bind(this.tabShown, this);
this.showTab = bind(this.showTab, this);
@@ -58,7 +59,9 @@
} else {
this.expandView();
}
- return this.setCurrentAction(action);
+ if (this.opts.setUrl) {
+ this.setCurrentAction(action);
+ }
};
MergeRequestTabs.prototype.scrollToElement = function(container) {
diff --git a/app/controllers/projects/merge_requests_controller.rb b/app/controllers/projects/merge_requests_controller.rb
index 00a3022cbf7..696f7192131 100644
--- a/app/controllers/projects/merge_requests_controller.rb
+++ b/app/controllers/projects/merge_requests_controller.rb
@@ -216,7 +216,7 @@ class Projects::MergeRequestsController < Projects::ApplicationController
@base_commit = @merge_request.diff_base_commit
@diffs = @merge_request.diffs(diff_options) if @merge_request.compare
@diff_notes_disabled = true
-
+ @show_diff_tab = check_diff_tab
@pipeline = @merge_request.pipeline
@statuses = @pipeline.statuses.relevant if @pipeline
@@ -520,4 +520,10 @@ class Projects::MergeRequestsController < Projects::ApplicationController
params[:merge_request] ||= ActionController::Parameters.new(source_project: @project)
@merge_request = MergeRequests::BuildService.new(project, current_user, merge_request_params).execute
end
+
+ private
+
+ def check_diff_tab
+ request.query_parameters[:view].present?
+ end
end
diff --git a/app/views/projects/merge_requests/_new_submit.html.haml b/app/views/projects/merge_requests/_new_submit.html.haml
index 598bd743676..0b05a2693a6 100644
--- a/app/views/projects/merge_requests/_new_submit.html.haml
+++ b/app/views/projects/merge_requests/_new_submit.html.haml
@@ -20,7 +20,7 @@
.mr-compare.merge-request
%ul.merge-request-tabs.nav-links.no-top.no-bottom
%li.commits-tab
- = link_to url_for(params), data: {target: 'div#commits', action: 'commits', toggle: 'tab'} do
+ = link_to url_for(params), data: {target: 'div#commits', action: 'new', toggle: 'tab'} do
Commits
%span.badge= @commits.size
- if @pipeline
@@ -52,11 +52,8 @@
$('#merge_request_assignee_id').val("#{current_user.id}").trigger("change");
e.preventDefault();
});
-
:javascript
- var merge_request
- merge_request = new MergeRequest({
- action: 'new',
- diffs_loaded: true,
- commits_loaded: true
+ var merge_request = new MergeRequest({
+ action: "#{(@show_diff_tab ? 'diffs' : 'new')}",
+ setUrl: false
});