« MediaWiki:Eig.js » : différence entre les versions

De Guide de l'Installation Electrique
Aller à :navigation, rechercher
Aucun résumé des modifications
 
m (1 version : import draft version (translations to be validated by France))

Version du 20 avril 2016 à 12:20

/////////////////////////////////////////////////////////
// Code snippet to make your sidebar items expandable  //
// Use this code ONLY for the EIG skin - @Nirachand       //
///////////////////////////////////////////////////////// 
 
/*Added By Nirachand*/
 
 
 
$( document ).ready( function() {		 
 
        // Set the default expanded items by their headline      
        var defaultExpandItemsID = ['p-About_us', 'p-navigation','p-lang', 'p-addthis'];
 
		//Id based Key value pairs e.g.: p-navigation, p-lang
		var staticTexts = [{
			"key": "p-About_us",
			"isLink":true,			
			"linkURL" : 'http://'+window.location.host+"/"+$.cookie('scriptPath')+"/"+"Electrical Installation Wiki:About",
			"linkCaption" : "To know more",
			"staticText" : "> Une plateforme collaborative mise à votre disposition par Schneider Electric<br>> Facilitant l'étude d'une installation électrique conforme aux normes IEC60364 et NFC15-100<br>> Nos experts contribuent en permanence à l'amélioration de son contenu.<br>> La collaboration est ouverte à tous."
			}];
 
		addStaticText();
		setMaxLMaT();
		function setMaxLMaT(){
			maxL = minL + $('#column-one').width();
			maxT = minT + $('#column-one').height();			
		}
 
        // Set the basic-name for the cookies, which save the current state of expanding
        var expandCookieName = 'wikieig_sidebar_expanded_';
		var hoverID, minL, maxL, minT, maxT;
		minL = $('#column-one').position().left;
		minT = $('#column-one').position().top;
		var maxHeights = [];
        var expandeds = [];
		var flags = [];
        var labels = [];		
        initNav();
		function initNav(){
				$('.generated-sidebar').each( function( i ) {
					var id = $(this).attr( 'id' );
					if ( jQuery.inArray(id, defaultExpandItemsID) == -1 ){                                        
                    $( this ).find('.barHeader').css({'cursor': 'pointer'});
					maxHeights[id] = $(this).find('.pBody').height();						
 
					//flags[ $(this).find('.barHeader').parent().attr('id')] = true;					
                    } 
 
					if ( $.cookie( expandCookieName + id ) == 'false' ) {						
						expandeds[id] = false;
						minimize( $( this ) );
					} else if ( $.cookie( expandCookieName + id ) == 'true' ) {						
						expandeds[id] = true;
						maximize( $( this ) );
					} else if ( jQuery.inArray(id, defaultExpandItemsID) == -1 ) {					
						expandeds[id] = false;
						minimize( $( this ) );
					} else {					
						expandeds[id] = true;
						maximize( $( this ) );
					}  
					//$(this).find('.barHeader').click( toggleNav );		
 
				});
 
		}
 
 
		function addStaticText(){
			var length = staticTexts.length, j=0, str; 
			$("#column-one").find(".portlet").each(function(i){					
					if(staticTexts[0].key == $(this).attr('id')	){																	
							defaultExpandItemsID.push($(this).attr('id'));
							renderHTML(staticTexts[0], $(this));
					}
				});
		}
 
		function renderHTML(staticText, thiz){								
			$("#"+staticText.key).append("<div class='staticText'>"+staticText.staticText+"</div>");
			if(staticText.isLink)
			{				
				$("#"+staticText.key).find('.staticText').append("<div class='staticLink'><a class='linkText'>"+staticText.linkCaption+"</a></div>");	
				$("#"+staticText.key).find('.staticText').find('.linkText').attr('href', staticText.linkURL );;
			}
		}
 
 
 
		function minimize( target ) {			
			var id = $(target).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: 1} );			
			$(target).find('.pBody').animate({'height': '0px'},300,function(){
				$(target).find('.pBody').css("display","none");			
				setMaxLMaT();
			});		
 
		}	
 
		function maximize( target ) {
 
			var id = $(target).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: 1} );
			var newHeight = maxHeights[id];
			$(target).find('.pBody').css("display","block");
			$(target).find('.pBody').animate({'height': newHeight + 'px'}, 300);	
			setMaxLMaT();	
 
		}
 
		function toggleNav() {						
			var id = $(this).parent().attr('id');					
			if ( jQuery.inArray(id, defaultExpandItemsID) == -1 ) {
				expandeds[id] = !expandeds[id];
				if( expandeds[id] == true ) {
					maximize($(this).parent());
				} else {
					minimize($(this).parent());
				}
			}
		}	
 
		$('body').mousemove(function(e){			
			if(e.pageX > 197){
 
				$('.barHeader').each(function(){
					var id = $(this).parent().attr('id');
					if(jQuery.inArray(id, defaultExpandItemsID) == -1){
						if($.cookie(id) != 'true'){							
							if( expandeds[id] == true ) {							
								expandeds[id] = !expandeds[id];																				
								minimize($(this).parent());
							}
						}
					}
				});
			}
		});
 
 
		$('.barHeader').bind("click", function(){
			var id = $(this).parent().attr('id');
			if(jQuery.inArray(id, defaultExpandItemsID) == -1){						
 
				if( $.cookie(id) == null ){									
					$.cookie(id, 'true', { expires: 1} );					
 
				}else if( $.cookie(id) == 'true' ){					
					$.cookie(id, 'false', { expires: 1} );	
					if( expandeds[id] == true ) {							
							expandeds[id] = !expandeds[id];																				
							minimize($(this).parent());
					}
					//$('.barHeader').trigger("mouseout");
 
				}else if( $.cookie(id) == 'false')
				{						
					$.cookie(id, 'true', { expires: 1} );
 
				}
 
 
			}
		});
 
		$('.barHeader').hover(function(){										
				var id = $(this).parent().attr('id');
				if(jQuery.inArray(id, defaultExpandItemsID) == -1){																	
					if( expandeds[id] == false ) {							
						expandeds[id] = !expandeds[id];																				
						maximize($(this).parent());
					}
				}				
		}, function(){
		});	
 $('.authClass').each(function(){
   var val = $(this).find('a').attr('href').split("//");
   $(this).find('a').text(val[1]);
  });
 
});
 
 
 
 
 
///////////////////////////////////////////////////////
///////////////////////////////////////////////////////