Utilisateur:Mathis B/Tests C helper.js

Note : après avoir enregistré la page, vous devrez forcer le rechargement complet du cache de votre navigateur pour voir les changements.

Mozilla / Firefox / Konqueror / Safari : maintenez la touche Majuscule (Shift) en cliquant sur le bouton Actualiser (Reload) ou pressez Maj-Ctrl-R (Cmd-R sur Apple Mac) ;

Chrome / Internet Explorer / Opera : maintenez la touche Ctrl en cliquant sur le bouton Actualiser ou pressez Ctrl-F5.
/*
** Copie du code source réalisée pour tests de correctifs
**
** Liste des auteurs : https://fr.wikipedia.org/w/index.php?title=MediaWiki:Gadget-C_helper.js&action=history
*/

window.C = {};

C.tab = {
  'page':['tag', 'si', 'dph', 'purge'],
  'user':['message', 'si', 'dph', 'purge'],
  'diff':['message', 'tag', 'si', 'dph', 'purge'],
};

$(function() {
	
	var ul;
	if($('.skin-monobook').length)
		ul = $('#p-cactions ul');
	else {
		var caption = $( '<nav id="C-captions" class="mw-portlet mw-portlet-cactions vector-menu vector-menu-dropdown">' );
		var h3 = $( '<h3>' );
		h3.html( '<span>Č</span><a href="#"></a>' );
		ul = $( '<ul class="vector-menu-content-list">' );
		var menu = $( '<div class="vector-menu-content">' ).append( ul );
		caption.append( $( '<input type="checkbox" class="vector-menu-checkbox vectorMenuCheckbox">' ) );
		caption.append( h3 );
		caption.append( menu );
		$( '#p-cactions' ).after( caption );
	}
	
	var tab = 'page';
	if($(".diff").length)
		tab = 'diff';
	else if(mw.config.get('wgNamespaceNumber') == 2 || mw.config.get('wgNamespaceNumber') == 3)
		tab = 'user';
	
	$.each(C.tab[tab], function(key, item) {
	  var a = $('<a>', {href: '#', title: C.modules[item].title}).text(C.modules[item].label);
	  var li = $('<li>', {id: C.modules[item].id}).append(a);
	  ul.append(li);
	  $("#"+C.modules[item].id).click(function(e){
	    e.preventDefault();
	    var id = $(e.currentTarget).attr("id");
	    $.each(C.modules, function(key, item){
	      if(item.id == id) {
	        item.callback.launch();
	      }
	    });
	  });
	  console.log("Module '"+item+"' loaded");
	});
});