MediaWiki:Gadget-enlaceswiki.js

/** * Sidebar * */ // Protege contra doble inclusión if ( window.gadgetSidebar === undefined ) {

//Global var gadgetSidebar = { 'habilitado': true };

//Enlaza con window window.gadgetSidebar = gadgetSidebar;

//Scope local para no contaminar espacio global (function ( $, mw ) {       'use strict';        gadgetSidebar.agregarSeccion = function ( section, name ) {            var $node;            if ( mw.config.get ( 'skin' ) == "vector" ) {                $node = $( ' ' + name + '  ' );            } else {                $node = $( ' ' + name + '  ' );            }            $node.prop( 'id', 'p-' + section );            $( '#p-tb' ).after( $node );        };

gadgetSidebar.modificarEnlace = function ( action, section, name, link ) { var target; try { switch ( section ) { case "navegación": case "navigation": target = "#p-navigation"; break; case "toolbox": case "herramientas": target = "#p-tb"; break; case "languages": case "idiomas": target = "#p-lang"; break; default: target = "#p-" + section; break; }

if ( action == "add" ) { var $node = $( target ).find( 'ul' ), aNode = document.createElement( 'a' ), liNode = document.createElement( 'li' );

aNode.appendChild( document.createTextNode( name ) ); aNode.setAttribute( 'href', link ); liNode.appendChild( aNode ); liNode.className = 'plainlinks'; $node.append( liNode ); } else if ( action == "remove" ) { var list = $( target ).find( 'ul' ), listA = list.find( 'a' ), listALargo = listA.length, i;

for ( i = 0; i < listALargo; i++ ) { if ( listA[i].innerHTML == name || listA[i].href == link ) { list[0].removeChild( listA[i].parentNode ); break; }                   }                }            } catch (e) { // lets just ignore what's happened return; }       };

function ejecutar { if ( gadgetSidebar.habilitado ) { var articlePath = mw.config.get( 'wgArticlePath' ); gadgetSidebar.agregarSeccion( 'enlaceswiki', 'Enlaces wiki' );

gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'common.js',                        articlePath.replace( '$1', 'User:' + mw.config.get( 'wgUserName' ) + '/' + 'common.js' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'common.css',                        articlePath.replace( '$1', 'User:' + mw.config.get( 'wgUserName' ) + '/' + 'common.css' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Tablón de bibliotecarios',                        articlePath.replace( '$1', 'Wikipedia:Tablón_de_anuncios_de_los_bibliotecarios' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Zona de pruebas',                        articlePath.replace( '$1', 'Wikipedia:Zona_de_pruebas' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Café',                        articlePath.replace( '$1', 'Wikipedia:Café' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Cartelera',                        articlePath.replace( '$1', 'Wikipedia:Cartelera_de_acontecimientos' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Votaciones',                        articlePath.replace( '$1', 'Wikipedia:Votaciones' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Mantenimiento',                        articlePath.replace( '$1', 'Categoría:Wikipedia:Mantenimiento' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Vandalismo en curso',                        articlePath.replace( '$1', 'Wikipedia:Vandalismo_en_curso' )               ); gadgetSidebar.modificarEnlace( 'add', 'enlaceswiki',                       'Peticiones de desbloqueo',                        articlePath.replace( '$1', 'Categoría:Wikipedia:Peticiones_de_desbloqueo' )               ); }       }

$(document).ready( ejecutar );

})( jQuery, mediaWiki ); // Fin de función anónima } //fin de chequeo //