Skip to content

Commit e44befb

Browse files
committed
Added push option to local branches in UI
1 parent 3f0938c commit e44befb

File tree

2 files changed

+36
-10
lines changed

2 files changed

+36
-10
lines changed

git-webui/release/share/git-webui/webui/js/git-webui.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -329,19 +329,23 @@ webui.SideBarView = function(mainView, noEventHandlers) {
329329
+ refname
330330
+ '</button>').appendTo(cardHeader);
331331

332+
var collapseDiv = $('<div id="collapse-'+ itemId +'" class="accordion-collapse collapse" aria-labelledby="heading-' + itemId +'" data-parent="#accordion-'+id+'-'+idPostfix+'">').appendTo(cardDiv);
332333
if(ref[0] != "*") {
333-
var collapseDiv = $('<div id="collapse-'+ itemId +'" class="accordion-collapse collapse" aria-labelledby="heading-' + itemId +'" data-parent="#accordion-'+id+'-'+idPostfix+'">').appendTo(cardDiv);
334334
var cardBody = $('<div class="card-body">' +
335335
'<div class="d-grid gap-2 col-12 mx-auto">'+
336336
'<button class="btn btn-xs btn-primary btn-block btn-checkout-local-branch mt-1">Checkout Branch</button>'+
337337
'<button class="btn btn-xs btn-warning btn-block btn-merge-branch">Merge Branch</button>'+
338+
'<button class="btn btn-xs btn-warning btn-block btn-push-branch">Push Branch</button>'+
338339
'<button class="btn btn-xs btn-danger btn-block btn-delete-branch">Delete Branch</button>'+
339340
'</div>'+
340341
'</div>').appendTo(collapseDiv);
341-
}
342-
343-
if (ref[0] == "*") {
342+
} else {
344343
$(button).addClass("branch-current");
344+
var cardBody = $('<div class="card-body">' +
345+
'<div class="d-grid gap-2 col-12 mx-auto">'+
346+
'<button class="btn btn-xs btn-warning btn-block btn-push-branch">Push Branch</button>'+
347+
'</div>'+
348+
'</div>').appendTo(collapseDiv);
345349
}
346350
} else {
347351
var refname = ref.replaceAll('/', '-');
@@ -642,6 +646,14 @@ webui.SideBarView = function(mainView, noEventHandlers) {
642646
webui.git("merge --no-commit --no-ff "+refName, "", self.upToDateHandler, callTestMergeHandler, callTestMergeHandler);
643647
}
644648

649+
/// pushes the selected local branch to "origin"
650+
self.pushBranch = function(e){
651+
e.preventDefault();
652+
var refName = $(this).parent().parent().parent().siblings(
653+
".card-header").children("button").html();
654+
webui.git(`push -u origin ${refName}`, "", self.upToDateHandler)
655+
}
656+
645657
self.goToSettingsPage = function() {
646658
window.location.replace(webui.settingsURL);
647659
}
@@ -667,7 +679,7 @@ webui.SideBarView = function(mainView, noEventHandlers) {
667679
$(self.buildAccordion(section, refs, id, undefined, "popup")).appendTo(popupContent);
668680
// Hide popup when the user selects a branch operation
669681
// Then execute the required operation with other even listeners
670-
$(popupContent).find(".btn-delete-branch, .btn-checkout-local-branch, .btn-checkout-remote-branch, .btn-merge-remote-branch, .btn-merge-branch").click(function() {
682+
$(popupContent).find(".btn-delete-branch, .btn-checkout-local-branch, .btn-checkout-remote-branch, .btn-merge-remote-branch, .btn-merge-branch, .btn-push-branch").click(function() {
671683
$(popup).modal('hide');
672684
});
673685
}
@@ -748,6 +760,7 @@ webui.SideBarView = function(mainView, noEventHandlers) {
748760

749761
if(!noEventHandlers){
750762
$(document).on('click', '.btn-checkout-local-branch', self.checkoutBranch);
763+
$(document).on('click', '.btn-push-branch', self.pushBranch);
751764
$(document).on('click', '.btn-checkout-remote-branch', self.checkoutBranch);
752765

753766
$(document).on('click', '.btn-delete-branch', self.deleteLocalBranch);

git-webui/src/share/git-webui/webui/js/git-webui.js

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -329,19 +329,23 @@ webui.SideBarView = function(mainView, noEventHandlers) {
329329
+ refname
330330
+ '</button>').appendTo(cardHeader);
331331

332+
var collapseDiv = $('<div id="collapse-'+ itemId +'" class="accordion-collapse collapse" aria-labelledby="heading-' + itemId +'" data-parent="#accordion-'+id+'-'+idPostfix+'">').appendTo(cardDiv);
332333
if(ref[0] != "*") {
333-
var collapseDiv = $('<div id="collapse-'+ itemId +'" class="accordion-collapse collapse" aria-labelledby="heading-' + itemId +'" data-parent="#accordion-'+id+'-'+idPostfix+'">').appendTo(cardDiv);
334334
var cardBody = $('<div class="card-body">' +
335335
'<div class="d-grid gap-2 col-12 mx-auto">'+
336336
'<button class="btn btn-xs btn-primary btn-block btn-checkout-local-branch mt-1">Checkout Branch</button>'+
337337
'<button class="btn btn-xs btn-warning btn-block btn-merge-branch">Merge Branch</button>'+
338+
'<button class="btn btn-xs btn-warning btn-block btn-push-branch">Push Branch</button>'+
338339
'<button class="btn btn-xs btn-danger btn-block btn-delete-branch">Delete Branch</button>'+
339340
'</div>'+
340341
'</div>').appendTo(collapseDiv);
341-
}
342-
343-
if (ref[0] == "*") {
342+
} else {
344343
$(button).addClass("branch-current");
344+
var cardBody = $('<div class="card-body">' +
345+
'<div class="d-grid gap-2 col-12 mx-auto">'+
346+
'<button class="btn btn-xs btn-warning btn-block btn-push-branch">Push Branch</button>'+
347+
'</div>'+
348+
'</div>').appendTo(collapseDiv);
345349
}
346350
} else {
347351
var refname = ref.replaceAll('/', '-');
@@ -642,6 +646,14 @@ webui.SideBarView = function(mainView, noEventHandlers) {
642646
webui.git("merge --no-commit --no-ff "+refName, "", self.upToDateHandler, callTestMergeHandler, callTestMergeHandler);
643647
}
644648

649+
/// pushes the selected local branch to "origin"
650+
self.pushBranch = function(e){
651+
e.preventDefault();
652+
var refName = $(this).parent().parent().parent().siblings(
653+
".card-header").children("button").html();
654+
webui.git(`push -u origin ${refName}`, "", self.upToDateHandler)
655+
}
656+
645657
self.goToSettingsPage = function() {
646658
window.location.replace(webui.settingsURL);
647659
}
@@ -667,7 +679,7 @@ webui.SideBarView = function(mainView, noEventHandlers) {
667679
$(self.buildAccordion(section, refs, id, undefined, "popup")).appendTo(popupContent);
668680
// Hide popup when the user selects a branch operation
669681
// Then execute the required operation with other even listeners
670-
$(popupContent).find(".btn-delete-branch, .btn-checkout-local-branch, .btn-checkout-remote-branch, .btn-merge-remote-branch, .btn-merge-branch").click(function() {
682+
$(popupContent).find(".btn-delete-branch, .btn-checkout-local-branch, .btn-checkout-remote-branch, .btn-merge-remote-branch, .btn-merge-branch, .btn-push-branch").click(function() {
671683
$(popup).modal('hide');
672684
});
673685
}
@@ -748,6 +760,7 @@ webui.SideBarView = function(mainView, noEventHandlers) {
748760

749761
if(!noEventHandlers){
750762
$(document).on('click', '.btn-checkout-local-branch', self.checkoutBranch);
763+
$(document).on('click', '.btn-push-branch', self.pushBranch);
751764
$(document).on('click', '.btn-checkout-remote-branch', self.checkoutBranch);
752765

753766
$(document).on('click', '.btn-delete-branch', self.deleteLocalBranch);

0 commit comments

Comments
 (0)