Fix system settings tab behavior (#2492)

This commit is contained in:
Naoki Takezoe
2020-07-26 13:34:57 +09:00
committed by GitHub
parent 67667dbff1
commit 9ff4507fe2

View File

@@ -5,19 +5,19 @@
@gitbucket.core.admin.html.menu("system"){ @gitbucket.core.admin.html.menu("system"){
@gitbucket.core.helper.html.information(info) @gitbucket.core.helper.html.information(info)
<form action="@context.path/admin/system" method="POST" validate="true" class="form-horizontal" autocomplete="off"> <form action="@context.path/admin/system" method="POST" validate="true" class="form-horizontal" autocomplete="off">
<ul class="nav nav-tabs fill-width" id="pullreq-tab"> <ul class="nav nav-tabs fill-width" id="settings-tab">
<li><a href="#system">System settings</a></li> <li><a href="#system">System settings</a></li>
<li><a href="#integrations">Integrations</a></li> <li><a href="#integrations">Integrations</a></li>
<li><a href="#authentication">Authentication</a></li> <li><a href="#authentication">Authentication</a></li>
</ul> </ul>
<div class="tab-content fill-width" style="padding-top: 20px;"> <div class="tab-content fill-width" style="padding-top: 20px;">
<div class="tab-pane" id="system"> <div class="tab-pane" id="tab-system">
@settings_system(info) @settings_system(info)
</div> </div>
<div class="tab-pane" id="integrations"> <div class="tab-pane" id="tab-integrations">
@settings_integrations(info) @settings_integrations(info)
</div> </div>
<div class="tab-pane" id="authentication"> <div class="tab-pane" id="tab-authentication">
@settings_authentication(info) @settings_authentication(info)
</div> </div>
</div> </div>
@@ -30,25 +30,29 @@
} }
<script> <script>
$(function(){ $(function(){
function updateTabs(){
$('ul.nav-tabs li').removeClass('active');
$('div.tab-pane').removeClass('active');
// Determine active tab from hash // Determine active tab from hash
if(location.hash == '#authentication'){ if(location.hash == '#authentication'){
$('li:has(a[href="#authentication"])').addClass('active'); $('li:has(a[href="#authentication"])').addClass('active');
$('div#authentication').addClass('active'); $('div#tab-authentication').addClass('active');
} else if(location.hash == '#integrations'){ } else if(location.hash == '#integrations'){
$('li:has(a[href="#integrations"])').addClass('active'); $('li:has(a[href="#integrations"])').addClass('active');
$('div#integrations').addClass('active'); $('div#tab-integrations').addClass('active');
} else { } else {
$('li:has(a[href="#system"])').addClass('active'); $('li:has(a[href="#system"])').addClass('active');
$('div#system').addClass('active'); $('div#tab-system').addClass('active');
} }
}
// Set hash when tab is clicked // Set hash when tab is clicked
$('ul.nav-tabs li a').click(function(e){ $('#settings-tab li a').click(function(e){
location.href = $(e.delegateTarget).attr("href"); location.href = $(e.delegateTarget).attr("href");
updateTabs();
}); });
$('#pullreq-tab a').click(function (e) { updateTabs();
e.preventDefault();
$(this).tab('show');
});
}); });
</script> </script>