mirror of
https://github.com/gohugoio/hugo.git
synced 2024-12-10 05:13:19 -05:00
44 lines
1.3 KiB
JavaScript
44 lines
1.3 KiB
JavaScript
|
/**
|
||
|
* Scripts which manages Code Toggle tabs.
|
||
|
*/
|
||
|
var i;
|
||
|
// store tabs variable
|
||
|
var allTabs = document.querySelectorAll("[data-toggle-tab]");
|
||
|
var allPanes = document.querySelectorAll("[data-pane]");
|
||
|
|
||
|
function toggleTabs(event) {
|
||
|
|
||
|
if(event.target){
|
||
|
event.preventDefault();
|
||
|
var clickedTab = event.currentTarget;
|
||
|
var targetKey = clickedTab.getAttribute("data-toggle-tab")
|
||
|
}else {
|
||
|
var targetKey = event
|
||
|
}
|
||
|
// We store the config language selected in users' localStorage
|
||
|
if(window.localStorage){
|
||
|
window.localStorage.setItem("configLangPref", targetKey)
|
||
|
}
|
||
|
var selectedTabs = document.querySelectorAll("[data-toggle-tab='" + targetKey + "']");
|
||
|
var selectedPanes = document.querySelectorAll("[data-pane='" + targetKey + "']");
|
||
|
|
||
|
for (var i = 0; i < allTabs.length; i++) {
|
||
|
allTabs[i].classList.remove("active");
|
||
|
allPanes[i].classList.remove("active");
|
||
|
}
|
||
|
|
||
|
for (var i = 0; i < selectedTabs.length; i++) {
|
||
|
selectedTabs[i].classList.add("active");
|
||
|
selectedPanes[i].classList.add("active");
|
||
|
}
|
||
|
|
||
|
}
|
||
|
|
||
|
for (i = 0; i < allTabs.length; i++) {
|
||
|
allTabs[i].addEventListener("click", toggleTabs)
|
||
|
}
|
||
|
// Upon page load, if user has a prefered language in its localStorage, tabs are set to it.
|
||
|
if(window.localStorage.getItem('configLangPref')) {
|
||
|
toggleTabs(window.localStorage.getItem('configLangPref'))
|
||
|
}
|