UNPKG

pakt-api

Version:

This is a API HTML Documentation Generator

64 lines (63 loc) 2.98 kB
"use strict"; const addEvent = (id, event) => { const element = document.getElementById(id); element.addEventListener(event); element.removeAttribute('id'); }; const initCollapsible = () => { const routeDescribers = document.getElementsByClassName('route-describer'); const collapsible = document.getElementsByClassName('collapsible'); for (let i = 0; i < routeDescribers.length; i++) { const routeDescriber = routeDescribers[i]; const collapser = routeDescriber.getElementsByClassName('collapser')[0]; collapser.addEventListener('click', () => { const content = routeDescriber.getElementsByClassName('collapsible')[0]; const newValue = content.style.display === 'block' ? 'none' : 'block'; for (let j = 0; j < collapsible.length; j++) { const content = collapsible[j]; content.style.display = 'none'; } content.style.display = newValue; }); } const menuContents = document.getElementsByClassName('menu-content'); Array.from(menuContents).forEach(menuContent => { const tabs = menuContent.getElementsByTagName('li'); for (let i = 0; i < tabs.length; i++) { const tab = tabs[i]; tab.addEventListener('click', () => { Array.from(tabs).forEach(tabulation => tabulation.classList.remove('is-active')); tab.classList.toggle('is-active'); const activeTab = tab.getAttribute('data-index'); const tabsPanel = menuContent.getElementsByClassName('tabs-panel')[0]; Array.from(tabsPanel.children).forEach(tabPanel => { if (tabPanel.getAttribute('data-index') === activeTab) tabPanel.style.display = 'block'; else tabPanel.style.display = 'none'; }); }); } }); const menuContainers = document.getElementsByClassName('menu-container'); Array.from(menuContainers).forEach(menuContainer => { const menuList = menuContainer.getElementsByClassName('menu-list')[0]; const menuItems = menuList.getElementsByTagName('li'); Array.from(menuItems).forEach(menuItem => { menuContainer.getElementsByClassName('menu-content')[0].style.display = 'block'; menuItem.addEventListener('click', () => { const menucontents = menuContainer.getElementsByClassName('menu-content'); Array.from(menucontents).forEach(menucontent => { if (menucontent.getAttribute('data-index') === menuItem.getAttribute('data-index')) menucontent.style.display = 'block'; else menucontent.display = 'none'; }); }); }); }); }; const initialize = () => { initCollapsible(); }; window.onload = initialize;