MediaWiki:Gadget-CatWatch.js: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
variabile CategorieOsservate in window
ottimizzazione: ricerca pagine solo per i giorni visualizzati in quel momento in OsservatiSpeciali
Riga 14:
* @author [[Utente:Rotpunkt]]
*/
/*jslint unparam: true, evil: true, browser: true, devel: true */
/*global alert: false, confirm: false, mediaWiki: false, jQuery: false */
 
(function (mw, $) {
Riga 67:
 
// Ritorna la lista delle pagine in una categoria (in formato JSON)
function getCategoryPages(name, end, pageHandler) {
$.ajax({
url: mw.util.wikiScript('api'),
Riga 78:
cmsort: 'timestamp',
cmdir: 'desc',
cmend: end,
format: 'json'
},
Line 85 ⟶ 86:
pageHandler(data.query.categorymembers);
});
}
 
function padleft0(num) {
return (minutesnum < 10 ? '0' +: minutes'') :+ minutes)num;
}
 
Line 94 ⟶ 99:
hours = date.getHours();
minutes = date.getMinutes();
months = [mw.config.get('wgMonthNamesShort');
'gen', 'feb', 'mar', 'apr', 'mag', 'giu',
'lug', 'ago', 'set', 'ott', 'nov', 'dic'
];
return {
date: date.getDate() + ' ' + months[date.getMonth() + 1] + ' ' +
date.getFullYear(),
time: padleft0(hours < 10 ? '0' + hours : hours) + ':' + padleft0(minutes)
(minutes < 10 ? '0' + minutes : minutes)
};
}
 
function getTimestamp(text) {
var date = text.split(' ');
date[1] = mw.config.get('wgMonthNamesShort').indexOf(date[1]);
return date[2] + '-' + padleft0(date[1]) + '-' +
padleft0(parseInt(date[0], 10)) + 'T00:00:00Z';
}
 
Line 124 ⟶ 132:
// Parsifica l'elenco di pagine di OsservatiSpeciali
function parseWatchlistDOM() {
var date, ret = {};
// ogni giorno è un <h4>
$('h4').each(function () {
var date = $(this).text();
ret[date] = [];
// la pagina di ogni giorno è un <li> in un <ul class='special'>
Line 145 ⟶ 153:
}
});
ret.oldestDate = date ? getTimestamp(date) : null;
 
return ret;
}
Line 182 ⟶ 192:
$.each(categories, function (i, category) {
// scarica la lista delle pagine in quella categoria.
getCategoryPages(category, watchlist.oldestDate, function (categorymembers) {
// Per ogni pagina nella categoria monitorata
$.each(categorymembers, function (i, page) {