Diferencia entre revisiones de «MediaWiki:Common.js»

m (-> gadget)
m
 
(No se muestran 47 ediciones intermedias de 5 usuarios)
Línea 1: Línea 1:
/* Any JavaScript here will be loaded for all users on every page load. */
/* Any JavaScript here will be loaded for all users on every page load. */


/* replace "Coppermind:Bienvenidos" with "Te damos la bienvenida a la Coppermind" */
/*
$('h1:contains("Coppermind:Bienvenidos")').text("Te damos la bienvenida a la Coppermind");
wrapper for creating new html elements
*/
function ne(tag, attrs) {
var _ = $(document.createElement(tag));
for (var i in attrs)
_.attr(i, attrs[i]);
return _;
}

/* replace "Coppermind:Welcome" with "Welcome to the Coppermind" */
$('h1:contains("Coppermind:Welcome")').text("Welcome to the Coppermind");

/* 2017-11 - protect roll back links */
$('.mw-rollback-link').attr('onclick', "return confirm('definitely roll back?')")


/* 2014-04
/* 2014-04
Línea 41: Línea 28:
});
});


function showDialog () {
/* 2015-01
var container = document.createElement('div');
add links to Brandon's site and the interview database to the sidebar
container.style.display = 'flex';
*/
container.style.alignItems = 'center';
jQuery(function () {
container.style.justifyContent = 'center';
container.style.position = 'fixed';
container.style.left = '0';
container.style.right = '0';
container.style.top = '0';
container.style.bottom = '0';
container.style.zIndex = '10000';
container.style.background = 'rgba(0, 0, 0, 0.5)';
container.style.filter = 'initial';


var window = document.createElement('div');
function ModifySidebar( action, section, name, link ) {
window.className = 'coppermind-spoiler-warning';
/* from https://www.mediawiki.org/wiki/Manual:Interface/Sidebar#Add_or_remove_toolbox_sections_.28JavaScript.29 */
window.style.boxShadow = '0 4px 30px 0 rgba(0, 0, 0, 0.2)';
try {
window.style.width = '90%';
switch ( section ) {
window.style.maxWidth = '600px';
case 'languages':
window.style.borderRadius = '3px';
var target = 'p-lang';
window.style.background = 'white';
break;
window.style.display = 'flex';
case 'toolbox':
window.style.flexDirection = 'column';
var target = 'p-tb';
window.style.boxSizing = 'border-box';
break;
window.style.padding = '16px';
case 'navigation':
window.style.fontSize = '1.5em';
var target = 'p-navigation';
window.style.maxHeight = '90%';
break;
container.appendChild(window);
default:

var target = 'p-' + section;
window.innerHTML = '<h2>⚠️ Aviso de Spoiler</h2>';
break;
window.innerHTML += '<p style="font-size: 1em; overflow-y: auto; flex: 1;">¡Has llegado a la Coppermind en español! Esta wiki tiene spoilers de todos los trabajos publicados de Brandon, incluyendo <b><em>El Hombre Iluminado</b></em>. Por lo tanto, al navegar por esta wiki, puedes sufrir spoilers de todo el Cosmere, así como de otras obras de Brandon. Además, algunas páginas pueden contener información sobre libros que aún no han sido publicados. Si quieres visitar el sitio tal y como era antes de la publicación de algún libro, ¡puedes ir a nuestra <a id="spoiler-warning__time-machine-link" href="https://es.coppermind.net/wiki/Especial:M%C3%A1quinaDelTiempo">Máquina del Tiempo!</a></p>';
}


if ( action == 'add' ) {
var node = document.getElementById( target )
var button = document.createElement('button');
button.className = 'mw-ui-button mw-ui-destructive';
.getElementsByTagName( 'div' )[0]
button.style.alignSelf = 'center';
.getElementsByTagName( 'ul' )[0];
button.style.fontSize = '1em';
button.innerHTML = 'Acceder';
var aNode = document.createElement( 'a' );
button.onclick = function () {
var liNode = document.createElement( 'li' );
localStorage.setItem('defiant-spoiler-warning', 'seen');
aNode.appendChild( document.createTextNode( name ) );
document.body.removeChild(container);
$(document.body).removeClass('spoiler-warning-blur');
aNode.setAttribute( 'href', link );
liNode.appendChild( aNode );
liNode.className = 'plainlinks';
node.appendChild( liNode );
}
if ( action == 'remove' ) {
var list = document.getElementById( target )
.getElementsByTagName( 'div' )[0]
.getElementsByTagName( 'ul' )[0];
var listelements = list.getElementsByTagName( 'li' );
for ( var i = 0; i < listelements.length; i++ ) {
if (
listelements[i].getElementsByTagName( 'a' )[0].innerHTML == name ||
listelements[i].getElementsByTagName( 'a' )[0].href == link
)
{
list.removeChild( listelements[i] );
}
}
}
} catch( e ) {
// let's just ignore what's happened
return;
}
}
}
window.appendChild(button);


var style = document.createElement('style');
if (!mw.config.get('wgIsArticle') || mw.config.get('wgCanonicalNamespace') !== '')
style.type = 'text/css';
return;
style.innerHTML = '.spoiler-warning-blur > * { filter: blur(50px); }';
if (mw.config.get('wgCategories').includes('Meta'))
document.getElementsByTagName('head')[0].appendChild(style);
return;

var title = mw.config.get('wgTitle');
$(document.body).addClass('spoiler-warning-blur');
ModifySidebar( 'add', 'toolbox', "Search Brandon's website for " + title, 'https://brandonsanderson.com/?s='+ title );
document.body.appendChild(container);
ModifySidebar( 'add', 'toolbox', 'Search Arcanum for '+ title, 'https://wob.coppermind.net/adv_search/?query='+ title );
$('#spoiler-warning__time-machine-link').click(function () { localStorage.setItem('defiant-spoiler-warning', 'seen'); })
});
$('#spoiler-warning__spoiler-policy-link').click(function () { localStorage.setItem('defiant-spoiler-warning', 'seen'); })
}

if (window.localStorage.getItem('defiant-spoiler-warning') === null && !mw.config.get('wgUserGroups').includes('sysop')) {
showDialog();
}

Revisión actual - 23:41 10 jun 2024

/* Any JavaScript here will be loaded for all users on every page load. */

/* replace "Coppermind:Bienvenidos" with "Te damos la bienvenida a la Coppermind" */
$('h1:contains("Coppermind:Bienvenidos")').text("Te damos la bienvenida a la Coppermind");

/* 2014-04
  augment actionpaths edits to LocalSetting.php 
*/
$('[href*="title="]').attr('href', function (i, value) {
  const old_link = value
  //console.debug('was linking to:', value)
  value = value.replace(/\/wiki\/\?title=([^&]+)\&(.+)/, "/wiki/$1?$2")
  value = value.replace(/\/w\/index.php\?title=(.+?)\&(.+?)/, "/wiki/$1?$2")
  if (old_link != value)
    console.debug('now linking to:', value, 'not:', old_link)
  return value
})
$(function() {

document.querySelectorAll('form.mw-search').forEach(function(form) { form.setAttribute('action','/wiki/Special:Search') })
document.querySelectorAll('form#search').forEach(function(form) { form.setAttribute('action', '/wiki/Special:Search') })

document.querySelectorAll('form[action*="/w/index.php"]').forEach(function(form) {
  console.debug('changing form', form, 'with action', form.getAttribute('action'), 'to `?`')
  form.setAttribute('action', '?')
})

});

function showDialog () {
  var container = document.createElement('div');
  container.style.display = 'flex';
  container.style.alignItems = 'center';
  container.style.justifyContent = 'center';
  container.style.position = 'fixed';
  container.style.left = '0';
  container.style.right = '0';
  container.style.top = '0';
  container.style.bottom = '0';
  container.style.zIndex = '10000';
  container.style.background = 'rgba(0, 0, 0, 0.5)';
  container.style.filter = 'initial';

  var window = document.createElement('div');
  window.className = 'coppermind-spoiler-warning';
  window.style.boxShadow = '0 4px 30px 0 rgba(0, 0, 0, 0.2)';
  window.style.width = '90%';
  window.style.maxWidth = '600px';
  window.style.borderRadius = '3px';
  window.style.background = 'white';
  window.style.display = 'flex';
  window.style.flexDirection = 'column';
  window.style.boxSizing = 'border-box';
  window.style.padding = '16px';
  window.style.fontSize = '1.5em';
  window.style.maxHeight = '90%';
  container.appendChild(window);

  window.innerHTML = '<h2>⚠️ Aviso de Spoiler</h2>';
  window.innerHTML += '<p style="font-size: 1em; overflow-y: auto; flex: 1;">¡Has llegado a la Coppermind en español! Esta wiki tiene spoilers de todos los trabajos publicados de Brandon, incluyendo <b><em>El Hombre Iluminado</b></em>. Por lo tanto, al navegar por esta wiki, puedes sufrir spoilers de todo el Cosmere, así como de otras obras de Brandon. Además, algunas páginas pueden contener información sobre libros que aún no han sido publicados. Si quieres visitar el sitio tal y como era antes de la publicación de algún libro, ¡puedes ir a nuestra  <a id="spoiler-warning__time-machine-link" href="https://es.coppermind.net/wiki/Especial:M%C3%A1quinaDelTiempo">Máquina del Tiempo!</a></p>';


  var button = document.createElement('button');
  button.className = 'mw-ui-button mw-ui-destructive';
  button.style.alignSelf = 'center';
  button.style.fontSize = '1em';
  button.innerHTML = 'Acceder';
  button.onclick = function () {
    localStorage.setItem('defiant-spoiler-warning', 'seen');
    document.body.removeChild(container);
    $(document.body).removeClass('spoiler-warning-blur');
  }
  window.appendChild(button);

  var style = document.createElement('style');
  style.type = 'text/css';
  style.innerHTML = '.spoiler-warning-blur > * { filter: blur(50px); }';
  document.getElementsByTagName('head')[0].appendChild(style);

  $(document.body).addClass('spoiler-warning-blur');
  document.body.appendChild(container);
  $('#spoiler-warning__time-machine-link').click(function () { localStorage.setItem('defiant-spoiler-warning', 'seen'); })
  $('#spoiler-warning__spoiler-policy-link').click(function () { localStorage.setItem('defiant-spoiler-warning', 'seen'); })
}

if (window.localStorage.getItem('defiant-spoiler-warning') === null && !mw.config.get('wgUserGroups').includes('sysop')) {
  showDialog();
}