File "table-of-contents.min.js"

Path: /ThinkIB/chem/js/edit/table-of-contentsminjs
File size: 1.67 KB
MIME-type: text/html
Charset: utf-8

 
Open Back
function getIndentLevel(heading){var indentLevel=null;return heading.is(".panel-heading, h2")&&(indentLevel="2"),heading.is("h3")&&(indentLevel="3"),heading.is("h4")&&(indentLevel="4"),heading.is("h5")&&(indentLevel="5"),heading.is("h6")&&(indentLevel="6"),indentLevel}function appendTocBackButtons(heading,level){var tocId=$("div.toc").attr("id");heading.attr("id","header-"+level),heading.hasClass("panel-heading")&&heading.find("div").first().css("display","inline-block"),heading.append(`\n    <small class="toc-back-button">\n      <a class="scroll-to" href="#" data-target="${tocId}" title="Back to table of contents">\n        <i class="fa fa-chevron-circle-up gray"></i>\n      </a>\n    </small>\n  `)}$(document).ready((function(){var toc=$("div.toc"),htmlToc="",diff=0,ol=$("<ol/>",{style:"display: none;"}),tocElements=$("#main-content").find("div.panel-heading, h2, h3, h4, h5, h6");tocElements.each((function(n,el){var nHeader=n+1,heading=$(el),nextHeading=null,anchor='<a href="#header-'+nHeader+'" class="scroll-to"       data-target="header-'+nHeader+'">       '+heading.text().trim()+"</a>",indent=getIndentLevel(heading);htmlToc+="<li>"+anchor,n!==tocElements.length-1&&(nextHeading=tocElements.eq(n+1)),nextHeading&&getIndentLevel(nextHeading)>indent?((diff=getIndentLevel(nextHeading)-indent)<0&&(diff=0),$.each(new Array(diff),(function(){htmlToc+="<ol>"}))):nextHeading&&getIndentLevel(nextHeading)<indent?((diff=indent-getIndentLevel(nextHeading))<0&&(diff=0),$.each(new Array(diff),(function(){htmlToc+="</ol>"}))):!nextHeading&&diff>0&&$.each(new Array(diff),(function(){htmlToc+="</ol>"})),htmlToc+="</li>",appendTocBackButtons(heading,nHeader)})),ol.append($(htmlToc)),toc.append(ol)}));