Usuari:Beusson/vector.js
Aparença
El codi que afegiu en aquesta pàgina podria tenir contingut maliciós que comprometi el vostre compte. Si no esteu segur si el codi a afegir és segur, pregunteu abans en la Taverna. El codi s'executarà en mostrar una previsualització d'aquesta pàgina. |
Nota: Després de desar, heu de netejar la memòria cau del navegador per veure els canvis. En la majoria de navegadors amb Windows o Linux, premeu Ctrl+F5 o bé premeu Shift i cliqueu el botó "Actualitza" (Ctrl i "Actualitza" amb Internet Explorer). Vegeu més informació i instruccions per a cada navegador a Viquipèdia:Neteja de la memòria cau.
/*
*<pre><nowiki>
*
*Obtingut amb el codi {{subst:Usuari:Coet/p:ViquiestrisAvançats.js}}
*
*/
/*
#############################################################################################
AVÍS IMPORTANT: No modifiqueu cap línia continguda en este mòdul, excepte "vePropi = true;"
que permet carregar el mòdul on es podran personalitzar els viquiestris configurant totes
les opcions. (L'opció per als Viquiestris estàndards és "vePropi = false;"
També es poden carregar altres mòduls al final del document abans les tres darreres línies.
Per poder carregar un mòdul afegiu la següent funció indicant entre cometes el servidor,
l'usuari i el mòdul. Si els dos primer paràmetres es deixen en blanc el servidor per defecte
serà "ca.wikipedia.org" i l'usuari "Coet". És imprescindible especificar el mòdul.
per a més informació vegeu [[usuari:Coet/Viquiestris/Documentació#carregar mòduls]]
(http://ca.wikipedia.org/wiki/Usuari:Coet/Viquiestris/Documentaci%C3%B3)
#############################################################################################
*/
/********************************************************************************************/
/* ******************************************************************************************/
/* * * */
/* * Carregador de mòduls * */
/* * Funció desenvolupada per ca:Usuari:Coet * */
/* * * */
/* **************************************************************************************** */
/********************************************************************************************/
function carrega (servidor, usuari, modul) {
var lt = String.fromCharCode(60);
var gt = String.fromCharCode(62);
var domini = '';
var llargCad = servidor.length;
if (llargCad <= 3 && servidor.indexOf(".") == -1) {
domini = servidor;
} else {
domini=servidor.substring(0,servidor.indexOf("."))
}
if (domini == '') domini = 'ca';
if (usuari=='') usuari='Coet';
if (domini=='ca' && usuari=='Coet' && (modul.indexOf("viquiestris") == -1
&& modul.indexOf("scripts/") == -1)) {modul='scripts/'+modul;}
if (servidor=='') servidor=domini;
if (servidor.length==2){servidor += '.wikipedia.org';}
if (modul.indexOf(".js") == -1 && modul.indexOf(".css") == -1) {modul += '.js';}
if (modul.indexOf(".js") > -1) {
mw.loader.load( '//' + servidor + '/w/index.php?title=User:' + usuari + '/' + modul + '&action=raw&ctype=text/javascript' );
} else if (modul.indexOf(".css") > -1) {
mw.loader.load( '//' + servidor + '/w/index.php?title=User:' + usuari + '/' + modul + '&action=raw&ctype=text/css' );
}
}
/********************************************************************************************/
/* */
/* Inicialització */
/* */
/********************************************************************************************/
vePropi = false; //defecte: TRUE. Amb 'true' es carregarà el vostre mòdul
//".../paràmetres.js" on podreu modificar les diferents
//opcions dels Viquiestris. Si trieu 'true' haureu
//de crear el mòdul. Vegeu [[Usuari:Coet/viquiestris]]
//per a més informació
carrega ("","","viquiestris");
/*
/*
//===========================================================================
// Basado en http://de.wikipedia.org/wiki/MediaWiki:Gadget-bkl-check.js
// obra del usuario APPER
// traído y adaptado a es.wikipedia por Poco a poco
//===========================================================================
var bklCheck = {
cat : {
'Categoria:Pàgines de desambiguació' : {
className : 'bkl-link bkl-link-inner', //bkl-link-inner kept for b/c reasons
titleAppend : ' (desambiguació)',
htmlAppend : '<sup class="bkl-link-sup">Desam</sup>'},
'Categoria:Articles mancats de referències sobre la seva admissibilitat' : {
className : 'bkl-link bkl-link-inner',
titleAppend : ' (Admissibilitat no demostrada)',
htmlAppend : '<sup class="bkl-link-sup">SRA</sup>'}
},
queryUrlView : wgScriptPath + '/api.php?action=query&format=json'
+ '&prop=categories&pageids=' + wgArticleId + '&callback=bklCheck.viewResultArrived'
+ '&generator=links&redirects&gpllimit=max&gplnamespace=0&cllimit=max&indexpageids'
+ '&nocache=' + wgCurRevisionId, //Break client caching, when page has been edited
queryUrlPreview : wgScriptPath + '/api.php?action=query&format=json&prop=categories'
+ '&cllimit=max&redirects&indexpageids',
titles : {},
count : 0,
previewQueryCount : 0,
execute : function () {
if ( window.bklCheckOnlyCheckMainNS && wgNamespaceNumber != 0 ) return;
//Use &clcategories to reduce needed queries
var cats = [];
for ( var name in bklCheck.cat ) if ( bklCheck.cat[name].className )
cats.push( encodeURIComponent( name ) );
bklCheck.queryUrlView += '&clcategories=' + cats.join( '|' );
bklCheck.queryUrlPreview += '&clcategories=' + cats.join( '|' );
if ( wgAction == 'submit' ) bklCheck.doPreviewQueries();
else if ( wgAction == 'view' || wgAction == 'historysubmit' || wgAction == 'purge' )
mw.loader.load( bklCheck.queryUrlView );
else {//"Show preview on first edit" enabled?
var prev = document.getElementById( 'wikiPreview' );
if ( prev && prev.firstChild ) mw.loader.load( bklCheck.queryUrlView );
}
//Make sure that our style is put before other css so users can override it easily
var head = document.getElementsByTagName( 'head' )[0];
head.insertBefore( appendCSS( '.bkl-link {background-color:#FFFF00;}' ), head.firstChild );
},
storeTitles : function ( res ) {
if ( !res || !res.query || !res.query.pageids ) return;
var q = res.query;
var redirects = {};
for ( var i = 0; q.redirects && i < q.redirects.length; i++ ) {
var r = q.redirects[i];
if ( !redirects[r.to] ) redirects[r.to] = [];
redirects[r.to].push( r.from );
}
for ( var i = 0; i < q.pageids.length; i++ ) {
var page = q.pages[q.pageids[i]];
if ( page.missing === '' || page.ns !== 0 || !page.categories ) continue;
for ( var j = 0; j < page.categories.length; j++ ) {
var cat = bklCheck.cat[page.categories[j].title];
if ( !cat ) continue;
bklCheck.count++;
bklCheck.titles[page.title] = cat;
if ( !redirects[page.title] ) break;
for ( var k = 0; k < redirects[page.title].length; k++ )
bklCheck.titles[redirects[page.title][k]] = cat;
break;
}
}
},
markLinks : function () {
if ( !bklCheck.count ) return;
var links = bklCheck.getLinks( 'wikiPreview' ) || bklCheck.getLinks( 'bodyContent' )
|| bklCheck.getLinks( 'mw_contentholder' ) || bklCheck.getLinks( 'article' );
if ( !links ) return;
for ( var i = 0; i < links.length; i++ ) {
if ( links[i].className == 'image' ) continue; //Don't mess with images!
var cat = bklCheck.titles[links[i].title];
if ( !cat ) continue;
links[i].innerHTML = '<span class="' + cat.className + '" title="' + links[i].title
+ cat.titleAppend + '">' + links[i].innerHTML + cat.htmlAppend + '</span>';
}
},
viewResultArrived : function ( res ) {
bklCheck.storeTitles( res );
if ( res && res['query-continue'] ) {
var c = res['query-continue'];
if ( c.categories ) {
mw.loader.load( bklCheck.queryUrlView + '&clcontinue='
+ encodeURIComponent( c.categories.clcontinue ) );
} else if ( c.links ) {
bklCheck.queryUrlView = bklCheck.queryUrlView.replace( /&gplcontinue=.*|$/,
'&gplcontinue=' + encodeURIComponent( c.links.gplcontinue ) );
mw.loader.load( bklCheck.queryUrlView );
}
} else bklCheck.markLinks();
},
PreviewQuery : function ( titles ) {
bklCheck.previewQueryCount++;
//We have to keep the titles in memory in case we get a query-continue
this.data = 'titles=' + titles.join( '|' );
this.doQuery( bklCheck.queryUrlPreview );
},
doPreviewQueries : function () {
var links = bklCheck.getLinks( 'wikiPreview' );
if ( !links ) return;
var titles=[]; var m;
var unique = {};
var rxEscape = function(s) {return s.replace( /([\/\.\*\+\?\|\(\)\[\]\{\}\\])/g, '\\$1' );};
var siteRegex = new RegExp( rxEscape( wgServer ) + rxEscape( wgArticlePath.replace( /\$1/, '' ) ) + '([^#]*)' );
//We only care for main ns pages, so we can filter out the most common cases to save some requests
var namespaceRegex = /^((Benutzer|Wikipedia|Datei|MediaWiki|Vorlage|Hilfe|Kategorie|Portal)(_Diskussion)?|Spe[cz]ial|Diskussion):/i;
for ( var i = 0; i < links.length; i++ ) {
if ( !links[i].title || !( m = links[i].href.match( siteRegex ) )
|| m[1].match( namespaceRegex ) || unique[m[1]] ) continue;
unique[m[1]] = true; //Avoid requesting same title multiple times
titles.push( m[1].replace( /_/g, '%20' ) ); //Avoid normalization of titles
if ( titles.length < 50 ) continue;
new bklCheck.PreviewQuery( titles );
titles=[];
}
if ( titles.length ) new bklCheck.PreviewQuery( titles );
},
getLinks : function ( id ) {
var el = document.getElementById( id );
return el && el.getElementsByTagName( 'a' );
}
};
bklCheck.PreviewQuery.prototype.doQuery = function ( url ) {
var q = this;
var req = sajax_init_object();
if ( !req ) return;
req.open( 'POST', url, true );
req.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded' );
req.onreadystatechange = function () {
if ( req.readyState == 4 && req.status == 200 )
eval( 'q.resultArrived(' + req.responseText + ');' );
};
req.send( q.data );
delete req;
};
bklCheck.PreviewQuery.prototype.resultArrived = function ( res ) {
bklCheck.storeTitles( res );
if ( res && res['query-continue'] && res['query-continue'].categories ) {
this.doQuery( bklCheck.queryUrlPreview + '&clcontinue='
+ encodeURIComponent( res['query-continue'].categories.clcontinue ) );
} else bklCheck.previewQueryCount--;
if ( !bklCheck.previewQueryCount ) bklCheck.markLinks();
};
if ( wgNamespaceNumber >= 0 ) addOnloadHook( bklCheck.execute );
/*
</nowiki></pre>
*/
$(document).ready(function(){
$("#toggle-hist-graph").click(function(){
$("#graph-hist").toggle();
$("#toggle-hist-graph a").text(function(i, v){
return v === 'Amaga el gràfic' ? 'Mostra el gràfic de l\'historial' : 'Amaga el gràfic'
})
});
});