function initTocSidebar()

in js/reflow-skin.js [52:91]


  function initTocSidebar() {
    var tocSidebar = $('#m-toc-sidebar');
    if (!tocSidebar.length) {
      return;
    }


    // collapse all
    if (!tocSidebar.hasClass('m-toc-sidebar-expanded')) {
      tocSidebar.find('.nav-collapsible').addClass('collapse').attr('aria-expanded', 'false');
    }

    // apply scrollspy to #m-toc-sidebar
    $body.scrollspy({
      target: '#m-toc-sidebar',
      offset: 0
    });


    // add auto collapse on scrollspy
    if (tocSidebar.hasClass('m-toc-sidebar-autoexpandable')) {

      $window.on('activate.bs.scrollspy', function () {
        var active = $('#m-toc-sidebar a.active');
        var collapsePanel = active.parent().next('ul.nav.nav-collapsible');
        tocSidebar.find('ul.nav.nav-collapsible').each(function (index, element) {
          var el = $(element);
          if (el.is(collapsePanel))
            return;
          var children = el.find('a.active');
          if (children.length == 0) {
            el.collapse('hide');
          }
        });
        collapsePanel.collapse('show');
        active.parent().parent('ul.nav.nav-collapsible').collapse('show');
      });
    }

  }