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
(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) {
}
Line 94 ⟶ 99:
hours = date.getHours();
minutes = date.getMinutes();
months =
return {
date: date.getDate() + ' ' + months[date.getMonth() + 1] + ' ' +
date.getFullYear(),
time: padleft0(
▲ (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 () {
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) {
|