Difference between revisions of "MediaWiki:Monobook.css"

From CrowdSociety
Jump to: navigation, search
(Replaced content with "paste edits here: ")
Line 1: Line 1:
/* paste edits here */
+
/////////////////////////////////////////////////////////
 +
// 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 );
 +
}
 +
}
 +
 +
///////////////////////////////////////////////////////
 +
///////////////////////////////////////////////////////

Revision as of 11:26, 25 November 2014

/////////////////////////////////////////////////////////
// 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 );
	}
}
 
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////