in content/assets/javascripts/groups.js [122:183]
function switchToGroup(supergroup, group) {
currentGroups[supergroup] = group;
setCookie(groupCookie, JSON.stringify(currentGroups));
// Dropdown switcher:
$("select")
.has("option[value=" + group +"]")
.val(group);
// Inline snippets:
catalog[supergroup].forEach(peer => {
if (peer === group) {
$("." + group).show();
} else {
$("." + peer).hide();
}
})
// Tabbed snippets:
$("dl.tabbed").each(function() {
var dl = $(this);
dl.find("dt").each(function() {
var dt = $(this);
if(groupOf(dt) == group) {
switchToTab(dt);
}
});
});
// Index Page toc
$(".toc").each(function() {
var tocRoot = $(this);
function findHeaderElements(element) {
var headerElements = element.find(".header").filter("a");
headerElements.each(function() {
var headerElement = $(this);
// if header hiding by group switch, hide they li parent
// otherwise display there li parent
if (headerElement.css("display") === "none" ) {
var parentLi = headerElement.closest('li');
if (parentLi) {
parentLi.hide();
}
} else {
var parentLi = headerElement.closest('li');
if (parentLi) {
parentLi.show();
}
}
});
// just in case there is a nested header
element.children().each(function() {
var childElement = $(this);
findHeaderElements(childElement);
});
}
findHeaderElements(tocRoot);
})
groupChangeListeners.forEach(listener => listener(group, supergroup, catalog));
}