Quellcodebibliothek Statistik Leitseite products/sources/formale Sprachen/C/MySQL/doc/   (MySQL Server Version 8.1-8.4©)  Datei vom 12.11.2025 mit Größe 7 kB image not shown  

Quelle  eigen_navtree_hacks.js   Sprache: JAVA

 

// generate a table of contents in the side-nav based on the h1/h2 tags of the current page.
function generate_autotoc() {
  var headers = $("h1, h2");
  if(headers.length > 1) {
    var toc = $("#side-nav").append('');
    toc = $("#nav-toc");
    var footer  = $("#nav-path");
    var footerHeight = footer.height();
    toc = toc.append('
    '
    );
        toc = toc.find('ul');
        var indices = new Array();
        indices[0] = 0;
        indices[1] = 0;

        var h1counts = $("h1").length;
        headers.each(function(i) {
          var current = $(this);
          var levelTag = current[0].tagName.charAt(1);
          if(h1counts==0)
            levelTag--;
          var cur_id = current.attr("id");

          indices[levelTag-1]+=1;  
          var prefix = indices[0];
          if (levelTag >1) {
            prefix+="."+indices[1];
          }
            
          // Uncomment to add number prefixes
          // current.html(prefix + "   " + current.html());
          for(var l = levelTag; l < 2; ++l){
              indices[l] = 0;
          }

          if(cur_id == undefined) {
            current.attr('id''title' + i);
            current.addClass('anchor');
            toc.append("
  • "'>"' href='#title" +
                        i + "' title='" + current.prop("tagName") + "'>" + current.text() + "
  • "
    );
          } else {
            toc.append("
  • "'>"' href='#title" +
                        i + "' title='" + current.prop("tagName") + "'>" + current.text() + "
  • "
    );
          }
        });
        resizeHeight();
      }
    }


    var global_navtree_object;

    // Overloaded to remove links to sections/subsections
    function getNode(o, po)
    {
      po.childrenVisited = true;
      var l = po.childrenData.length-1;
      for (var i in po.childrenData) {
        var nodeData = po.childrenData[i];
        if((!nodeData[1]) ||  (nodeData[1].indexOf('#')==-1)) // <- we added this line
          po.children[i] = newNode(o, po, nodeData[0], nodeData[1], nodeData[2], i==l);
      }
    }

    // Overloaded to adjust the size of the navtree wrt the toc
    function resizeHeight() 
    {
      var header  = $("#top");
      var sidenav = $("#side-nav");
      var content = $("#doc-content");
      var navtree = $("#nav-tree");
      var footer  = $("#nav-path");
      var toc     = $("#nav-toc");

      var headerHeight = header.outerHeight();
      var footerHeight = footer.outerHeight();
      var tocHeight    = toc.height();
      var windowHeight = $(window).height() - headerHeight - footerHeight;
      content.css({height:windowHeight + "px"});
      navtree.css({height:(windowHeight-tocHeight) + "px"});
      sidenav.css({height:windowHeight + "px"});
    }

    // Overloaded to save the root node into global_navtree_object
    function initNavTree(toroot,relpath)
    {
      var o = new Object();
      global_navtree_object = o; // <- we added this line
      o.toroot = toroot;
      o.node = new Object();
      o.node.li = document.getElementById("nav-tree-contents");
      o.node.childrenData = NAVTREE;
      o.node.children = new Array();
      o.node.childrenUL = document.createElement("ul");
      o.node.getChildrenUL = function() { return o.node.childrenUL; };
      o.node.li.appendChild(o.node.childrenUL);
      o.node.depth = 0;
      o.node.relpath = relpath;
      o.node.expanded = false;
      o.node.isLast = true;
      o.node.plus_img = document.createElement("img");
      o.node.plus_img.src = relpath+"ftv2pnode.png";
      o.node.plus_img.width = 16;
      o.node.plus_img.height = 22;

      if (localStorageSupported()) {
        var navSync = $('#nav-sync');
        if (cachedLink()) {
          showSyncOff(navSync,relpath);
          navSync.removeClass('sync');
        } else {
          showSyncOn(navSync,relpath);
        }
        navSync.click(function(){ toggleSyncButton(relpath); });
      }

      navTo(o,toroot,window.location.hash,relpath);

      $(window).bind('hashchange'function(){
         if (window.location.hash && window.location.hash.length>1){
           var a;
           if ($(location).attr('hash')){
             var clslink=stripPath($(location).attr('pathname'))+':'+
                                   $(location).attr('hash').substring(1);
             a=$('.item a[class$="'+clslink+'"]');
           }
           if (a==null || !$(a).parent().parent().hasClass('selected')){
             $('.item').removeClass('selected');
             $('.item').removeAttr('id');
           }
           var link=stripPath2($(location).attr('pathname'));
           navTo(o,link,$(location).attr('hash'),relpath);
         } else if (!animationInProgress) {
           $('#doc-content').scrollTop(0);
           $('.item').removeClass('selected');
           $('.item').removeAttr('id');
           navTo(o,toroot,window.location.hash,relpath);
         }
      })

      $(window).on("load", showRoot);
    }

    // return false if the the node has no children at all, or has only section/subsection children
    function checkChildrenData(node) {
      if (!(typeof(node.childrenData)==='string')) {
        for (var i in node.childrenData) {
          var url = node.childrenData[i][1];
          if(url.indexOf("#")==-1)
            return true;
        }
        return false;
      }
      return (node.childrenData);
    }

    // Modified to:
    // 1 - remove the root node 
    // 2 - remove the section/subsection children
    function createIndent(o,domNode,node,level)
    {
      var level=-2; // <- we replaced level=-1 by level=-2
      var n = node;
      while (n.parentNode) { level++; n=n.parentNode; }
      if (checkChildrenData(node)) { // <- we modified this line to use checkChildrenData(node) instead of node.childrenData
        var imgNode = document.createElement("span");
        imgNode.className = 'arrow';
        imgNode.style.paddingLeft=(16*level).toString()+'px';
        imgNode.innerHTML=arrowRight;
        node.plus_img = imgNode;
        node.expandToggle = document.createElement("a");
        node.expandToggle.href = "javascript:void(0)";
        node.expandToggle.onclick = function() {
          if (node.expanded) {
            $(node.getChildrenUL()).slideUp("fast");
            node.plus_img.innerHTML=arrowRight;
            node.expanded = false;
          } else {
            expandNode(o, node, falsefalse);
          }
        }
        node.expandToggle.appendChild(imgNode);
        domNode.appendChild(node.expandToggle);
      } else {
        var span = document.createElement("span");
        span.className = 'arrow';
        span.style.width   = 16*(level+1)+'px';
        span.innerHTML = ' ';
        domNode.appendChild(span);
      }
    }

    // Overloaded to automatically expand the selected node
    function selectAndHighlight(hash,n)
    {
      var a;
      if (hash) {
        var link=stripPath($(location).attr('pathname'))+':'+hash.substring(1);
        a=$('.item a[class$="'+link+'"]');
      }
      if (a && a.length) {
        a.parent().parent().addClass('selected');
        a.parent().parent().attr('id','selected');
        highlightAnchor();
      } else if (n) {
        $(n.itemDiv).addClass('selected');
        $(n.itemDiv).attr('id','selected');
      }
      if ($('#nav-tree-contents .item:first').hasClass('selected')) {
        $('#nav-sync').css('top','30px');
      } else {
        $('#nav-sync').css('top','5px');
      }
      expandNode(global_navtree_object, n, truetrue); // <- we added this line
      showRoot();
    }


    $(document).ready(function() {
      
      generate_autotoc();
      
      (function (){ // wait until the first "selected" element has been created
        try {
          
          // this line will triger an exception if there is no #selected element, i.e., before the tree structure is complete.
          document.getElementById("selected").className = "item selected";
          
          // ok, the default tree has been created, we can keep going...
          
          // expand the "Chapters" node
          if(window.location.href.indexOf('unsupported')==-1)
            expandNode(global_navtree_object, global_navtree_object.node.children[0].children[2], truetrue);
          else
            expandNode(global_navtree_object, global_navtree_object.node.children[0].children[1], truetrue);
          
          // Hide the root node "Eigen"
          $(document.getElementsByClassName('index.html')[0]).parent().parent().css({display:"none"});
          
        } catch (err) {
          setTimeout(arguments.callee, 10);
        }
      })();

      $(window).on("load", resizeHeight);
    });

    93%


    ¤ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ¤

    *© Formatika GbR, Deutschland






    Wurzel

    Suchen

    Beweissystem der NASA

    Beweissystem Isabelle

    NIST Cobol Testsuite

    Cephes Mathematical Library

    Wiener Entwicklungsmethode

    Haftungshinweis

    Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

    Bemerkung:

    Die farbliche Syntaxdarstellung ist noch experimentell.