|
|
Línea 1: |
Línea 1: |
| //Alias
| |
| (function ( $, mw ) {
| |
| /**
| |
| * Keep code in MediaWiki:Common.js to a minimum as it is unconditionally
| |
| * loaded for all users on every wiki page. If possible create a gadget that is
| |
| * enabled by default instead of adding it here (since gadgets are fully
| |
| * optimized ResourceLoader modules with possibility to add dependencies etc.)
| |
| *
| |
| * Since common.js isn't a gadget, there is no place to declare its
| |
| * dependencies, so we have to lazy load them with mw.loader.using on demand and
| |
| * then execute the rest in the callback. In most cases these dependencies will
| |
| * be loaded (or loading) already and the callback will not be delayed. In case a
| |
| * dependency hasn't arrived yet it'll make sure those are loaded before this.
| |
| */
| |
| mw.loader.using( 'mediawiki.util', function() {
| |
| /* Begin of mw.loader.using callback */
| |
|
| |
| //Compatibilidad
| |
|
| |
| /* Scripts specific to Internet Explorer */
| |
| if ($.client.profile().name == 'msie') {
| |
| /**
| |
| * Description: Fixes IE horizontal scrollbar bug
| |
| * Maintainers: [[User:Tom-]]?
| |
| */
| |
| var oldWidth;
| |
| var docEl = document.documentElement;
| |
|
| |
| var doFixIEScroll = function () {
| |
| docEl.style.overflowX = (docEl.scrollWidth - docEl.clientWidth < 4) ? "hidden" : "";
| |
| };
| |
|
| |
| var fixIEScroll = function () {
| |
| if (!oldWidth || docEl.clientWidth > oldWidth) {
| |
| doFixIEScroll();
| |
| } else {
| |
| setTimeout(doFixIEScroll, 1);
| |
| }
| |
|
| |
| oldWidth = docEl.clientWidth;
| |
| };
| |
|
| |
| document.attachEvent("onreadystatechange", fixIEScroll);
| |
| document.attachEvent("onresize", fixIEScroll);
| |
|
| |
| // In print IE (7?) does not like line-height
| |
| mw.util.addCSS('@media print { sup, sub, p { line-height: normal; } }');
| |
|
| |
| // IE overflow bug
| |
| mw.util.addCSS('div.overflowbugx { overflow-x: scroll !important; overflow-y: hidden !important; } div.overflowbugy { overflow-y: scroll !important; overflow-x: hidden !important; }');
| |
|
| |
| // IE zoomfix
| |
| // Use to fix right floating div/table inside tables
| |
| mw.util.addCSS('.iezoomfix div, .iezoomfix table { zoom: 1;}');
| |
|
| |
| /* Helper script for .hlist class in common.css
| |
| * Maintainer: [[User:Edokter]]
| |
| */
| |
| /* Add pseudo-selector class to last child list items in IE 8 */
| |
| if ( $.client.profile().versionBase == '8' ) {
| |
| $( '.hlist' ).find( 'dd:last-child, dt:last-child, li:last-child' )
| |
| .addClass( 'hlist-last-child' );
| |
| }
| |
| /* Generate interpuncts and parens for IE < 8 */
| |
| if ( $.client.profile().versionBase < '8' ) {
| |
| $( '.hlist' ).find( 'dt + dd, dt + dt' ).prev()
| |
| .append( '<b>:</b> ' );
| |
| $( '.hlist' ).find( 'dd + dd, dd + dt, li + li' ).prev()
| |
| .append( '<b>·</b> ' );
| |
| $( '.hlist' ).find( 'dl dl, ol ol, ul ul' )
| |
| .prepend( '( ' ).append( ') ' );
| |
| }
| |
| }
| |
|
| |
| /* Fixes for Windows XP font rendering */
| |
| if (navigator.appVersion.search(/windows nt 5/i) != -1) {
| |
| mw.util.addCSS('.IPA {font-family: "Lucida Sans Unicode", "Arial Unicode MS";} ' +
| |
| '.Unicode {font-family: "Arial Unicode MS", "Lucida Sans Unicode";}');
| |
| }
| |
|
| |
| /* Helper script for .hlist class in common.css
| |
| * Maintainer: [[User:Edokter]]
| |
| */
| |
|
| |
| // Funcionalidad
| |
|
| |
| /**
| |
| * Redirect User:Name/skin.js and skin.css to the current skin's pages
| |
| * (unless the 'skin' page really exists)
| |
| * @source: //www.mediawiki.org/wiki/Snippets/Redirect_skin.js
| |
| * @rev: 3
| |
| */
| |
| if ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgNamespaceNumber' ) === 2 ) {
| |
| var titleParts = mw.config.get( 'wgPageName' ).split( '/' );
| |
| // Make sure there was a part before and after the slash
| |
| // And that the latter is 'skin.js' or 'skin.css'
| |
| if ( titleParts.length == 2 ) {
| |
| var userSkinPage = titleParts[0] + '/' + mw.config.get( 'skin' );
| |
| if ( titleParts[1] === 'skin.js' ) {
| |
| window.location.href = mw.util.getUrl( userSkinPage + '.js' );
| |
| } else if ( titleParts[1] === 'skin.css' ) {
| |
| window.location.href = mw.util.getUrl( userSkinPage + '.css' );
| |
| }
| |
| }
| |
| }
| |
|
| |
| /** &withCSS= and &withJS= URL parameters *******
| |
| * Allow to try custom scripts from MediaWiki space
| |
| * without editing personal .css or .js files
| |
| */
| |
| var extraCSS = mw.util.getParamValue("withCSS");
| |
| if (extraCSS && extraCSS.match(/^MediaWiki:[^&<>=%]*\.css$/)) {
| |
| importStylesheet(extraCSS);
| |
| }
| |
| var extraJS = mw.util.getParamValue("withJS");
| |
| if (extraJS && extraJS.match(/^MediaWiki:[^&<>=%]*\.js$/)) {
| |
| importScript(extraJS);
| |
| }
| |
|
| |
| // Results from Wikidata
| |
| // [[File:Wdsearch_script_screenshot.png]]
| |
| if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Search' || ( mw.config.get( 'wgArticleId' ) === 0 && mw.config.get( 'wgCanonicalSpecialPageName' ) === false ) ) {
| |
| mw.loader.load("//en.wikipedia.org/w/index.php?title=MediaWiki:Wdsearch.js&action=raw&ctype=text/javascript");
| |
| }
| |
|
| |
| //Edición
| |
| if ( $.inArray(mw.config.get('wgAction'), ['edit', 'submit'] ) > -1) {
| |
| /** Fix edit summary prompt for undo ******************************************
| |
| * Fixes the fact that the undo function combined with the "no edit summary prompter"
| |
| * causes problems if leaving the edit summary unchanged.
| |
| * Added by [[User:Deskana]], code by [[User:Tra]].
| |
| * See also [[bugzilla:8912]].
| |
| */
| |
| $(document).ready( function () {
| |
| if (document.location.search.indexOf("undo=") != -1 && document.getElementsByName('wpAutoSummary')[0]) {
| |
| document.getElementsByName('wpAutoSummary')[0].value = '1';
| |
| }
| |
| });
| |
|
| |
| /**
| |
| * Caracteres especiales (edittools)
| |
| * Crea (y coloca) el ''combobox'' que permite seleccionar un conjunto determinado de
| |
| * caracteres especiales bajo la caja de edición.
| |
| * Funciona en conjunto con [[MediaWiki:Edittools]] y [[MediaWiki:Edittools.js]].
| |
| * Basado en [[commons:MediaWiki:Edittools.js]].
| |
| */
| |
| importScript('MediaWiki:Edittools.javascript');
| |
|
| |
| //Seguimiento
| |
| } else if (mw.config.get('wgPageName') == 'Especial:Seguimiento') {
| |
| mw.loader.load( mw.config.get('wgServer') + mw.config.get('wgScript') +
| |
| '?title=MediaWiki:Common.js/seguimiento.js&action=raw&ctype=text/javascript');
| |
| }
| |
|
| |
| //Wikibugs
| |
| importScript('MediaWiki:Wikibugs.js');
| |
|
| |
| /** WikiMiniAtlas *******************************************************
| |
| *
| |
| * Description: WikiMiniAtlas is a popup click and drag world map.
| |
| * This script causes all of our coordinate links to display the WikiMiniAtlas popup button.
| |
| * The script itself is located on meta because it is used by many projects.
| |
| * See [[Meta:WikiMiniAtlas]] for more information.
| |
| * Maintainers: [[User:Dschwen]]
| |
| */
| |
| window.wma_settings = {
| |
| buttonImage: "//upload.wikimedia.org/wikipedia/commons/thumb/9/9a/Erioll_world.svg/15px-Erioll_world.svg.png"
| |
| };
| |
|
| |
| mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:Wikiminiatlas.js&action=raw&ctype=text/javascript');
| |
|
| |
| /* OpenStreetMap */
| |
| window.osm_proj_map = 'mapa'; //"map" in project language
| |
| window.osm_proj_lang = 'es'; //project language
| |
|
| |
| mw.loader.load('//meta.wikimedia.org/w/index.php?title=MediaWiki:OSM.js&action=raw&ctype=text/javascript');
| |
|
| |
| /** Mejoras de diseño de la Portada
| |
| *
| |
| * Descripción: Varias mejoras de diseño para la portada, incluyendo un
| |
| * enlace adicional a la lista completa de idiomas disponibles.
| |
| * Maintainers: [[User:AzaToth]], [[User:R. Koot]], [[User:Alex Smotrov]]
| |
| * Adaptado de [[en:MediaWiki:Common.js]]
| |
| */
| |
| if ($.inArray(mw.config.get('wgPageName'), ['Wikipedia:Portada', 'Wikipedia Discusión:Portada']) > -1) {
| |
| $(document).ready(function () {
| |
| mw.util.addPortletLink('p-lang', '//es.wikipedia.org/wiki/Anexo:Wikipedias',
| |
| 'Lista completa', 'interwiki-completelist', 'Lista completa de Wikipedias');
| |
| });
| |
| }
| |
|
| |
| // Oculta los resumenes de edición para ciertas páginas
| |
| var paginasSinRE = [
| |
| "Wikipedia:Tablón_de_anuncios_de_los_bibliotecarios/Portal/Plantillas/Fusión_de_historiales/precarga",
| |
| "Wikipedia:Tablón_de_anuncios_de_los_bibliotecarios/Portal/Plantillas/Permisos/precarga",
| |
| "Wikipedia:Bot/Solicitudes/Precarga"
| |
| ];
| |
| if ( $.inArray(mw.util.getParamValue('preload'), paginasSinRE ) > -1) {
| |
| $(document).ready(function () {
| |
| $('#wpSummary').hide();
| |
| $('#wpSummaryLabel').hide();
| |
| });
| |
| }
| |
|
| |
|
| |
| /*
| |
| * Cerrar mensajes
| |
| * Ver ejemplo en [[Usuario:Chabacano/Fírmalo]], por [[Usuario:Platonides]].
| |
| */
| |
| if (document.getElementById("cierraPadre")) {
| |
| $(document).ready(function () {
| |
| document.getElementById("cierraPadre").childNodes[0].onclick = function () {
| |
| document.getElementById("cierraPadre").style.cursor = 'pointer';
| |
| document.getElementById("cierraPadre").parentNode.style.display = 'none';
| |
| return false; /*no seguir el href*/
| |
| };
| |
| });
| |
| }
| |
|
| |
| /** | | /** |
| * Collapsible tables | | * Collapsible tables |
Línea 230: |
Línea 11: |
| | | |
| var autoCollapse = 2; | | var autoCollapse = 2; |
| var collapseCaption = 'ocultar'; | | var collapseCaption = 'Verstecken'; |
| var expandCaption = 'mostrar'; | | var expandCaption = 'Anzeigen'; |
| | | |
| window.collapseTable = function( tableIndex ) {
| | function collapseTable( tableIndex ) { |
| var Button = document.getElementById( 'collapseButton' + tableIndex ); | | var Button = document.getElementById( 'collapseButton' + tableIndex ); |
| var Table = document.getElementById( 'collapsibleTable' + tableIndex ); | | var Table = document.getElementById( 'collapsibleTable' + tableIndex ); |
Línea 254: |
Línea 35: |
| Button.firstChild.data = collapseCaption; | | Button.firstChild.data = collapseCaption; |
| } | | } |
| }; | | } |
| | | |
| window.createClickHandler = function( tableIndex ) {
| | function createClickHandler( tableIndex ) { |
| return function ( e ) { | | return function ( e ) { |
| e.preventDefault(); | | e.preventDefault(); |
| collapseTable( tableIndex ); | | collapseTable( tableIndex ); |
| }; | | } |
| }; | | } |
| | | |
| function createCollapseButtons() { | | function createCollapseButtons() { |
Línea 316: |
Línea 97: |
| } | | } |
| | | |
| mw.hook( 'wikipage.content' ).add( createCollapseButtons );
| | $( createCollapseButtons ); |
| | |
| // == Código del plegado/desplegado de plantillas ==
| |
| var NavigationBarHide = '[' + collapseCaption + ']';
| |
| var NavigationBarShow = '[' + expandCaption + ']';
| |
| | |
| var NavigationBarShowDefault = 0;
| |
| | |
| // shows and hides content and picture (if available) of navigation bars
| |
| // Parameters:
| |
| // indexNavigationBar: the index of navigation bar to be toggled
| |
| window.toggleNavigationBar = function (indexNavigationBar) {
| |
| var NavToggle = document.getElementById("NavToggle" + indexNavigationBar),
| |
| NavFrame = document.getElementById("NavFrame" + indexNavigationBar),
| |
| NavChild;
| |
| | |
| if (!NavFrame || !NavToggle) {
| |
| return false;
| |
| }
| |
| | |
| // if shown now
| |
| if (NavToggle.firstChild.data == NavigationBarHide) {
| |
| for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
| if ( $(NavChild).hasClass( 'NavContent' ) || $(NavChild).hasClass( 'NavPic' ) ) {
| |
| NavChild.style.display = 'none';
| |
| }
| |
| }
| |
| NavToggle.firstChild.data = NavigationBarShow;
| |
| | |
| // if hidden now
| |
| } else if (NavToggle.firstChild.data == NavigationBarShow) {
| |
| for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
| if ( $(NavChild).hasClass( 'NavContent' ) || $(NavChild).hasClass( 'NavPic' ) ) {
| |
| NavChild.style.display = 'block';
| |
| }
| |
| }
| |
| NavToggle.firstChild.data = NavigationBarHide;
| |
| }
| |
| };
| |
| | |
| // adds show/hide-button to navigation bars
| |
| function createNavigationBarToggleButton() {
| |
| var indexNavigationBar = 0,
| |
| // iterate over all < div >-elements
| |
| divs = document.getElementsByTagName("div"),
| |
| NavFrame,
| |
| NavChild,
| |
| i;
| |
| for (i = 0; NavFrame = divs[i]; i++) {
| |
| // if found a navigation bar
| |
| if ( $(NavFrame).hasClass( 'NavFrame' ) ) {
| |
| | |
| indexNavigationBar++;
| |
| var NavToggle = document.createElement("a");
| |
| NavToggle.className = 'NavToggle';
| |
| NavToggle.setAttribute('id', 'NavToggle' + indexNavigationBar);
| |
| NavToggle.setAttribute('href', 'javascript:toggleNavigationBar(' + indexNavigationBar + ');');
| |
| | |
| var isCollapsed = $(NavFrame).hasClass( 'collapsed' );
| |
| /*
| |
| * Check if any children are already hidden. This loop is here for backwards compatibility:
| |
| * the old way of making NavFrames start out collapsed was to manually add style="display:none"
| |
| * to all the NavPic/NavContent elements. Since this was bad for accessibility (no way to make
| |
| * the content visible without JavaScript support), the new recommended way is to add the class
| |
| * "collapsed" to the NavFrame itself, just like with collapsible tables.
| |
| */
| |
| for (NavChild = NavFrame.firstChild; NavChild != null && !isCollapsed; NavChild = NavChild.nextSibling) {
| |
| if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
| |
| if (NavChild.style.display == 'none') {
| |
| isCollapsed = true;
| |
| }
| |
| }
| |
| }
| |
| if (isCollapsed) {
| |
| for (NavChild = NavFrame.firstChild; NavChild != null; NavChild = NavChild.nextSibling) {
| |
| if ( $(NavChild).hasClass( 'NavPic' ) || $(NavChild).hasClass( 'NavContent' ) ) {
| |
| NavChild.style.display = 'none';
| |
| }
| |
| }
| |
| }
| |
| var NavToggleText = document.createTextNode(isCollapsed ? NavigationBarShow : NavigationBarHide),
| |
| j;
| |
| NavToggle.appendChild(NavToggleText);
| |
| | |
| // Find the NavHead and attach the toggle link (Must be this complicated because Moz's firstChild handling is borked)
| |
| for (j = 0; j < NavFrame.childNodes.length; j++) {
| |
| if ( $(NavFrame.childNodes[j]).hasClass( 'NavHead' ) ) {
| |
| NavToggle.style.color = NavFrame.childNodes[j].style.color;
| |
| NavFrame.childNodes[j].appendChild(NavToggle);
| |
| }
| |
| }
| |
| NavFrame.setAttribute('id', 'NavFrame' + indexNavigationBar);
| |
| }
| |
| }
| |
| }
| |
| | |
| $(document).ready(createNavigationBarToggleButton);
| |
| | |
| /**
| |
| * Interwiki links to featured articles ***************************************
| |
| *
| |
| * Description: Highlights interwiki links to featured articles (or
| |
| * equivalents) by changing the bullet before the interwiki link
| |
| * into a star.
| |
| * Maintainers: [[User:R. Koot]]
| |
| */
| |
| function LinkFA() {
| |
| if ( document.getElementById( 'p-lang' ) ) {
| |
| var InterwikiLinks = document.getElementById( 'p-lang' ).getElementsByTagName( 'li' );
| |
|
| |
| for ( var i = 0; i < InterwikiLinks.length; i++ ) {
| |
| var className = InterwikiLinks[i].className.match(/interwiki-[-\w]+/);
| |
| if ( document.getElementById( className + '-fa' ) && InterwikiLinks[i].className.indexOf( 'badge-featuredarticle' ) === -1 ) {
| |
| InterwikiLinks[i].className += ' destacado';
| |
| InterwikiLinks[i].title = 'Éste es un artículo destacado en esta Wikipedia.';
| |
| } else if ( document.getElementById( className + '-ga' ) && InterwikiLinks[i].className.indexOf( 'badge-goodarticle' ) === -1 ) {
| |
| InterwikiLinks[i].className += ' bueno';
| |
| InterwikiLinks[i].title = 'Éste es un artículo bueno en esta Wikipedia.';
| |
| }
| |
| }
| |
| }
| |
| }
| |
|
| |
| mw.hook( 'wikipage.content' ).add( LinkFA );
| |
| | |
| /**
| |
| * Enlace «sección nueva» junto a «editar» en la última sección de las páginas de discusión.
| |
| * Fuente: //de.wikipedia.org/w/index.php?oldid=133547849
| |
| */
| |
| $( function() {
| |
| var newSectionLink = $( '#ca-addsection a' );
| |
| if( newSectionLink.length ) {
| |
| var link = newSectionLink.clone(); //create a copy
| |
| //avoid duplicate accesskey
| |
| link.removeAttr( 'accesskey' ).attr( 'title', function ( index, oldTitle ) {
| |
| return oldTitle.replace( /\s*\[.*\]\s*$/, '' );
| |
| } );
| |
| // con la skin vector se muestra como "Sección nueva", pasamos a minúsculas para integrarlo mejor
| |
| link.css( {
| |
| "text-transform" : "lowercase"
| |
| } );
| |
| //add it within the brackets
| |
| var lastEditsectionLink = $( 'span.mw-editsection:last a:last' );
| |
| lastEditsectionLink.after( link );
| |
| lastEditsectionLink.after( ' · ' ); //see [[MediaWiki:Pipe-separator]]
| |
| }
| |
| } );
| |
| | |
| /*
| |
| // == Interproyectos en un recuadro a la izquierda ==
| |
| Funcionan con la plantilla {{ep|commons}} y en otras
| |
| [[:Categoría:Wikipedia:Plantillas_de_enlace_entre_proyectos|plantillas de enlace entre proyectos]]
| |
| */
| |
| | |
| function iProject() {
| |
| var elementos = [],
| |
| i;
| |
| | |
| if (document.getElementsByClassName) {
| |
| elementos = document.getElementsByClassName("interProject");
| |
| } else {
| |
| var els = document.getElementsByTagName("span"),
| |
| elsLen = els.length,
| |
| j;
| |
| for (i = 0, j = 0; i < elsLen; i++) {
| |
| if ("interProject" == els[i].className) {
| |
| elementos[j] = els[i];
| |
| j++;
| |
| }
| |
| }
| |
| }
| |
| if (elementos.length > 0) {
| |
| mw.util.addCSS('#interProject {display: none; speak: none;} #p-tb .pBody {padding-right: 0;}');
| |
| var portal = document.createElement('div');
| |
| portal.setAttribute("class", "portlet portal"); /* portlet en monobook, portal en vector */
| |
| | |
| var tit = document.createElement('h3');
| |
| tit.setAttribute("lang", "es");
| |
| tit.appendChild(document.createTextNode('Otros proyectos'));
| |
| portal.appendChild(tit);
| |
| | |
| var IPY = document.createElement('div');
| |
| IPY.setAttribute('class', "pBody body");
| |
| var ul = document.createElement('ul');
| |
| IPY.appendChild(ul);
| |
| | |
| for (i = 0; i < elementos.length; i++) {
| |
| var li = document.createElement('li');
| |
| li.innerHTML = elementos[i].innerHTML;
| |
| ul.appendChild(li);
| |
| }
| |
| portal.appendChild(IPY);
| |
| | |
| if (document.getElementById("p-tb").nextSibling) {
| |
| document.getElementById("p-tb").parentNode.insertBefore(portal, document.getElementById("p-tb").nextSibling);
| |
| }
| |
| else {
| |
| document.getElementById("p-tb").parentNode.appendChild(portal);
| |
| }
| |
| }
| |
| }
| |
| $(document).ready(iProject);
| |
| | |
| /* End of mw.loader.using callback */
| |
| });
| |
| | |
| /* Ordenación de tablas:
| |
| * Desde MediaWiki 1.22wmf13 las ordenaciones numéricas funcionan correctamente con nuestros separadores de millares y decimales, sin necesidad de código adicional
| |
| | |
| * Personalización de la ordenación de fechas:
| |
| * Se ordenan según "dd de mm de yy" o "dd de mm de yyyy"
| |
| * También reconoce dd-mm-yy, dd-mm-yyyy (y otras variaciones usando / , .)
| |
| */
| |
| mw.loader.using( 'jquery.tablesorter', function () {
| |
| var ts = $.tablesorter,
| |
| i,
| |
| j;
| |
|
| |
| ts.formatDateCustom = function ( s ) {
| |
| var match;
| |
| s = $.trim( s.toLowerCase() );
| |
|
| |
| s = s.replace( /( de |[\-\.\,' ])/g, '/' );
| |
|
| |
| if ( ( match = s.match( ts.dateRegex[0] ) ) !== null ) {
| |
| if ( mw.config.get( 'wgDefaultDateFormat' ) === 'mdy' || mw.config.get( 'wgContentLanguage' ) === 'en' ) {
| |
| s = [ match[3], match[1], match[2] ];
| |
| } else if ( mw.config.get( 'wgDefaultDateFormat' ) === 'dmy' ) {
| |
| s = [ match[3], match[2], match[1] ];
| |
| } else {
| |
| // If we get here, we don't know which order the dd-dd-dddd
| |
| // date is in. So return something not entirely invalid.
| |
| return '99999999';
| |
| }
| |
| } else if ( ( match = s.match( ts.dateRegex[1] ) ) !== null ) {
| |
| s = [ match[3], '' + ts.monthNames[match[2]], match[1] ];
| |
| } else if ( ( match = s.match( ts.dateRegex[2] ) ) !== null ) {
| |
| s = [ match[3], '' + ts.monthNames[match[1]], match[2] ];
| |
| } else {
| |
| // Should never get here
| |
| return '99999999';
| |
| }
| |
|
| |
| // Pad Month and Day
| |
| if ( s[1].length === 1 ) {
| |
| s[1] = '0' + s[1];
| |
| }
| |
| if ( s[2].length === 1 ) {
| |
| s[2] = '0' + s[2];
| |
| }
| |
|
| |
| var y;
| |
| if ( ( y = parseInt( s[0], 10) ) < 100 ) {
| |
| // Guestimate years without centuries
| |
| if ( y < 30 ) {
| |
| s[0] = 2000 + y;
| |
| } else {
| |
| s[0] = 1900 + y;
| |
| }
| |
| }
| |
| while ( s[0].length < 4 ) {
| |
| s[0] = '0' + s[0];
| |
| }
| |
| return parseInt( s.join( '' ), 10 );
| |
| };
| |
|
| |
| var regex = [];
| |
| ts.monthNames = {};
| |
|
| |
| for ( i = 1; i < 13; i++ ) {
| |
| var name = mw.config.get( 'wgMonthNames' )[i].toLowerCase();
| |
| ts.monthNames[name] = i;
| |
| regex.push( $.escapeRE( name ) );
| |
| name = mw.config.get( 'wgMonthNamesShort' )[i].toLowerCase().replace( '.', '' );
| |
| ts.monthNames[name] = i;
| |
| regex.push( $.escapeRE( name ) );
| |
| }
| |
| regex = regex.join( '|' );
| |
|
| |
| ts.dateRegexCustom = new RegExp( "^\\d\\d?\\sde\\s(" + regex + ")\\sde\\s\\d{2,4}$" );
| |
|
| |
| ts.addParser( {
| |
| id: 'dateCustom',
| |
| is: function( s ) {
| |
| return ( $.tablesorter.dateRegexCustom.test(s) );
| |
| },
| |
| format: function( s ) {
| |
| return $.tablesorter.formatDateCustom( s );
| |
| },
| |
| type: 'numeric'
| |
| });
| |
| /* End of mw.loader.using callback */
| |
| });
| |
| | |
| /** Ajusta el ordenamiento alfabético en las tablas "sortable" */
| |
| (function() {
| |
| var letras = [["áàâäãāăåą", "a"], ["æ", "ae"], ["ćĉčç", "c"], ["ďḑđð", "d"], ["éèêëẽěēĕę", "e"],
| |
| ["ĝḡğģǥ", "g"], ["ĥḧḩħ", "h"], ["íìÎîïĩīĭįı", "i"], ["ĵ", "j"], ["ķ", "k"],
| |
| ["ĺľļł", "l"], ["ńňņ", "n"], ["ñ", "n~"], ["óòôöõōŏǫőø", "o"], ["œ", "oe"],
| |
| ["ŕřŗ", "r"], ["śŝšş", "s"], ["ß", "ss"], ["ťţŧ", "t"], ["úùûüũūŭůųű", "u"], ["ṽ", "v"],
| |
| ["ŵẅ", "w"], ["ẍ", "x"], ["ýŷÿỹ", "y"], ["źẑžƶ", "z"]];
| |
| var hash = {};
| |
| for (var i = 0; i < letras.length; i++) {
| |
| var arr = letras[i][0].split("");
| |
| var dest = letras[i][1];
| |
| for (var j = 0; j < arr.length; j++) {
| |
| hash[arr[j]] = dest;
| |
| }
| |
| }
| |
| mw.config.set('tableSorterCollation', hash);
| |
| })();
| |
| | |
| /* Inserta WikiWidgets (programas interactivos) en los artículos que tengan la plantilla WikiWidget
| |
| * Los widgets sirven para ilustrar y explicar de manera interactiva conceptos tratados en los artículos. */
| |
| $( '.WikiWidget' ).each( function () {
| |
| var wikiwidget = $( this ).attr( 'data-wikiwidget' );
| |
| importScript( 'MediaWiki:WikiWidget-' + wikiwidget + '.js' );
| |
| importStylesheet( 'MediaWiki:WikiWidget-' + wikiwidget + '.css' );
| |
| });
| |
| | |
| /* Fin de alias */
| |
| })( jQuery, mediaWiki );
| |