function switchToGroup()

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));
  }