4 // Table of contents toggle
5 mw
.hook( 'wikipage.content' ).add( function ( $content
) {
6 var $toc
, $tocTitle
, $tocToggleLink
, $tocList
, hideToc
;
7 $toc
= $content
.find( '#toc' );
8 $tocTitle
= $content
.find( '#toctitle' );
9 $tocToggleLink
= $content
.find( '#togglelink' );
10 $tocList
= $toc
.find( 'ul' ).eq( 0 );
12 // Hide/show the table of contents element
13 function toggleToc() {
14 if ( $tocList
.is( ':hidden' ) ) {
15 $tocList
.slideDown( 'fast' );
16 $tocToggleLink
.text( mw
.msg( 'hidetoc' ) );
17 $toc
.removeClass( 'tochidden' );
18 $.cookie( 'mw_hidetoc', null, {
23 $tocList
.slideUp( 'fast' );
24 $tocToggleLink
.text( mw
.msg( 'showtoc' ) );
25 $toc
.addClass( 'tochidden' );
26 $.cookie( 'mw_hidetoc', '1', {
33 // Only add it if there is a complete TOC and it doesn't
34 // have a toggle added already
35 if ( $toc
.length
&& $tocTitle
.length
&& $tocList
.length
&& !$tocToggleLink
.length
) {
36 hideToc
= $.cookie( 'mw_hidetoc' ) === '1';
38 $tocToggleLink
= $( '<a href="#" id="togglelink"></a>' )
39 .text( hideToc
? mw
.msg( 'showtoc' ) : mw
.msg( 'hidetoc' ) )
40 .click( function ( e
) {
47 .wrap( '<span class="toctoggle"></span>' )
55 $toc
.addClass( 'tochidden' );
60 }( mediaWiki
, jQuery
) );