gitlab-org--gitlab-foss/app/assets/javascripts/merge_requests.js
2012-06-20 21:29:55 +03:00

76 lines
2 KiB
JavaScript

var MergeRequest = {
diffs_loaded: false,
commits_loaded: false,
opts: false,
init:
function(opts) {
var self = this;
self.opts = opts;
self.showState(self.opts.current_state);
if($(".automerge_widget").length && self.opts.check_enable){
$.get(opts.url_to_automerge_check, function(data){
self.showState(data.state);
}, "json");
}
$(".nav-tabs a").live("click", function() {
$(".nav-tabs a").parent().removeClass("active");
$(this).parent().addClass("active");
});
$(".nav-tabs a.merge-notes-tab").live("click", function(e) {
$(".merge-request-diffs").hide();
$(".merge_request_notes").show();
e.preventDefault();
});
$(".nav-tabs a.merge-diffs-tab").live("click", function(e) {
if(!MergeRequest.diffs_loaded) {
MergeRequest.loadDiff();
}
$(".merge_request_notes").hide();
$(".merge-request-diffs").show();
e.preventDefault();
});
$(".mr_show_all_commits").bind("click", function() {
MergeRequest.showAllCommits();
})
},
showState:
function(state){
$(".automerge_widget").hide();
$(".automerge_widget." + state).show();
},
loadDiff:
function() {
$(".dashboard-loader").show();
$.ajax({
type: "GET",
url: $(".merge-diffs-tab").attr("data-url"),
beforeSend: function(){ $('.status').addClass("loading")},
complete: function(){
MergeRequest.diffs_loaded = true;
$(".merge_request_notes").hide();
$('.status').removeClass("loading");
},
dataType: "script"});
},
showAllCommits:
function() {
$(".first_mr_commits").remove();
$(".all_mr_commits").removeClass("hide");
},
already_cannot_be_merged:
function(){
$(".automerge_widget").hide();
$(".automerge_widget.already_cannot_be_merged").show();
}
}