Difference between revisions of "MediaWiki:Monobook.js"

From Sudo Room
Jump to navigation Jump to search
m (change whitespace?)
(fuck it, that didn't work)
 
Line 1: Line 1:
 
/* Any JavaScript here will be loaded for users using the MonoBook skin */
 
/* Any JavaScript here will be loaded for users using the MonoBook skin */
 
// https://www.mediawiki.org/wiki/Manual:Interface/Sidebar#Make_expanding.2Fcollapsing_sidebar_for_all_users_.28Monobook_skin_only.29
 
 
/////////////////////////////////////////////////////////
 
// Code snippet to make your sidebar items expandable  //
 
// Use this code ONLY for the Monobook skin.          //
 
/////////////////////////////////////////////////////////
 
 
$( document ).ready( function() {
 
// Set the default expanded items by their headline
 
var defaultExpandItems = ['Navigation', 'Orga'];
 
// Set the basic-name for the cookies, which save the current state of expanding
 
var expandCookieName = 'disdance_project_wiki_nav_expanded_';
 
 
var maxHeights = [];
 
var expandeds = [];
 
var labels = [];
 
initNav();
 
});
 
 
function initNav() {
 
$( '#p-logo' ).css({'position': 'relative', 'display': 'block'});
 
$( '.generated-sidebar h5,#p-tb h5 ').each( function( i ) {
 
var id = $( this ).parent().attr( 'id' );
 
maxHeights[id] = $( this ).next( 'div' ).height();
 
var str = $( this ).html();
 
labels[id] = str;
 
 
if ( $.cookie( expandCookieName + id ) == 'false' ) {
 
expandeds[id] = false;
 
minimize( $( this ) );
 
} else if ( $.cookie( expandCookieName + id ) == 'true' ) {
 
expandeds[id] = true;
 
maximize( $( this ) );
 
} else if ( defaultExpandItems.indexOf( str ) == -1 ) {
 
expandeds[id] = false;
 
minimize( $( this ) );
 
} else {
 
expandeds[id] = true;
 
maximize( $( this ) );
 
}
 
$( this ).css({'cursor': 'pointer'});
 
$( this ).click( toggleNav );
 
} );
 
}
 
 
function minimize( target ) {
 
var id = $( target ).parent().attr( 'id' );
 
// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code
 
$.cookie( expandCookieName + id, 'false', { expires: 7} );
 
var str = labels[id] + '  ►';
 
$( target ).next( 'div' ).animate({'height': '0px'});
 
$( target ).html( str );
 
}
 
 
function maximize( target ) {
 
var id = $( target ).parent().attr( 'id' );
 
// You can change the expires parameter to save the cookie longer/shorter than 7 days like in this code
 
$.cookie( expandCookieName + id, 'true', { expires: 7} );
 
var str = labels[id] + '  ▼';
 
var newHeight = maxHeights[id];
 
$( target ).next( 'div' ).animate({'height': newHeight + 'px'});
 
$( target ).html( str );
 
}
 
 
function toggleNav( e ) {
 
var id = $(e.target ).parent().attr( 'id' );
 
expandeds[id] = !expandeds[id];
 
if( expandeds[id] == true ) {
 
maximize( e.target );
 
} else {
 
minimize( e.target );
 
}
 
}
 
 
///////////////////////////////////////////////////////
 
///////////////////////////////////////////////////////
 

Latest revision as of 20:26, 27 December 2013

/* Any JavaScript here will be loaded for users using the MonoBook skin */