in src/main/paradox/_template/assets/javascripts/paradox-material-theme.js [59:121]
function visitListItem(item, path, level) {
item.classList.add('md-nav__item')
var link = item.querySelector(':scope > a')
if (link) {
link.classList.add('md-nav__link')
link.classList.remove('page')
if (link.classList.contains('active')) {
item.classList.add('md-nav__item--active')
link.classList.add('md-nav__link--active')
}
link.setAttribute('data-md-state', '')
}
var nestedNav = null
var nestedRoot = item.querySelector(':scope > ul')
if (nestedRoot) {
var active = item.querySelector(':scope a.active') != null
item.classList.add('md-nav__item--nested')
var nestedNav = document.createElement('nav')
nestedNav.classList.add('md-nav')
nestedNav.setAttribute('data-md-component', 'collapsible')
nestedNav.setAttribute('data-md-level', level)
var input = createNavToggle(path, active)
var label = createNavLabel(path, false, link)
if (link)
link.classList.remove('md-nav__link')
var labelInner = document.createElement('label')
labelInner.classList.add('md-nav__title')
labelInner.setAttribute('for', path)
labelInner.textContent = link ? link.textContent : '???'
nestedNav.appendChild(labelInner)
nestedNav.appendChild(nestedRoot)
item.appendChild(input)
item.appendChild(label)
item.appendChild(nestedNav)
visitList(nestedRoot, path, level + 1)
}
if (link && link.classList.contains('active')) {
var toc = document.querySelector('nav.md-nav--primary > .md-nav--secondary')
if (toc && toc.children.length > 0) {
var input = createNavToggle('__toc', false)
var labelText = nestedNav ? 'Table of contents' : link ? link.textContent : '???'
var label = createNavLabel('__toc', true, document.createTextNode(labelText))
if (nestedNav) {
var node = nestedNav.children[1]
nestedNav.insertBefore(input, node)
nestedNav.insertBefore(label, node)
nestedNav.appendChild(toc)
} else if (link) {
item.insertBefore(input, link)
item.insertBefore(label, link)
item.appendChild(toc)
}
}
}
}