MediaWiki:Minerva.js: Difference between revisions

 
No edit summary
 
Line 39: Line 39:
     }
     }
     var sitelinks = menu.querySelector( 'ul.hlist' );
     var sitelinks = menu.querySelector( 'ul.hlist' );
     sections.forEach( function ( section ) {
     var firstGroup = menu.querySelector( '#p-navigation' );
        var ul = document.createElement( 'ul' );
 
        ul.className = 'toggle-list__list';
      sections.forEach( function ( section ) {
        section.links.forEach( function ( link ) {
          var ul = document.createElement( 'ul' );
            var li = document.createElement( 'li' );
          ul.className = 'toggle-list__list';
            li.className = 'toggle-list-item';
 
            var a = document.createElement( 'a' );
          section.links.forEach( function ( link ) {
            a.className = 'toggle-list-item__anchor';
              var li = document.createElement( 'li' );
            a.href = link.href;
              li.className = 'toggle-list-item';
            var span = document.createElement( 'span' );
              var a = document.createElement( 'a' );
            span.className = 'toggle-list-item__label';
              a.className = 'toggle-list-item__anchor';
            span.textContent = link.label;
              a.href = link.href;
            a.appendChild( span );
              var span = document.createElement( 'span' );
            li.appendChild( a );
              span.className = 'toggle-list-item__label';
            ul.appendChild( li );
              span.textContent = link.label;
        } );
              a.appendChild( span );
        if ( sitelinks ) {
              li.appendChild( a );
            menu.insertBefore( ul, sitelinks );
              ul.appendChild( li );
        } else {
          } );
            menu.appendChild( ul );
 
        }
          if ( firstGroup && firstGroup.nextSibling ) {
    } );
              // Insert right after the navigation group (Home/Random),
              // before whatever comes next (Login, Configuration, etc.)
              firstGroup.nextSibling.parentNode.insertBefore( ul, firstGroup.nextSibling );
              // Update reference so next section inserts after the one we just added
              firstGroup = ul;
          } else {
              menu.appendChild( ul );
          }
      } );
}() );
}() );