Utilisateur:Prométhée/test.js

Une page de Wikipédia, l'encyclopédie libre.
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.
window.C = {};

C.modules = {
  'si':{
    id: 'C-si',
    title: 'Demander une SI',
    label: 'SI',
  },
  'tag':{
    id: 'C-tag',
    title: 'Apposer des bandeaux de maintenance',
    label: 'Bandeaux',
  },
  'dph':{
    id: 'c-dph',
    title: 'Demander la purge de certaines versions d\'historiques',
    label: 'Masquage',
  },
  'purge':{
    id: 'c-purge',
    title: 'Forcer le rafraichissement de cette page',
    label: 'Purge',
  },
  'message':{
    id: 'C-message',
    title: 'Laisser un message sur la pdd de l\'utilisateur',
    label: 'Message',
  },
};

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

$(function() {
	
	if(mw.config.get('wgNamespaceNumber')<0) {
		return;
	}
	
	var ul;
	if($('.skin-monobook').length)
		ul = $('#p-cactions ul');
	else {
		var caption = $( '<nav id="c-captions" class="mw-portlet vector-menu vector-menu-dropdown vector-menu-dropdown-noicon">' );
		var h3 = $( '<label id="c-cactions-label" class="vector-menu-heading">' );
		h3.html( '<span vector-menu-heading-label>Č</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");
	});
});