MediaWiki:Gadget-common-special-newpages.js: различия между версиями
Перейти к навигации
Перейти к поиску
Mansur700 (обсуждение | вклад) (Керла агӀо: «$(function() { var nonFlaggedNS = []; $.each(mw.config.get('wgFormattedNamespaces'), function( i, ns ) { if ( i > 0 && i != 6 && i != 10 && i != 14) { nonFlaggedN...») |
Mansur700 (обсуждение | вклад) Нет описания правки |
||
Строка 7: | Строка 7: | ||
} | } | ||
}); | }); | ||
nonFlaggedNS.push(' | nonFlaggedNS.push('Участница'); | ||
nonFlaggedNS = new RegExp('^(' + nonFlaggedNS.join('|') + '):'); | nonFlaggedNS = new RegExp('^(' + nonFlaggedNS.join('|') + '):'); | ||
Строка 23: | Строка 23: | ||
while ( titles.length ) { | while ( titles.length ) { | ||
$.post( // !!! | $.post( // !!! временно из-за [[mediazilla:36839]] | ||
mw.util.wikiScript('api'), | mw.util.wikiScript('api'), | ||
{ | { | ||
Строка 61: | Строка 61: | ||
} else { | } else { | ||
clss = 'flaggedrevs-pending'; | clss = 'flaggedrevs-pending'; | ||
addLnk('oldid=' + pg.flagged.stable_revid + '&diff=' + pg.lastrevid, ' | addLnk('oldid=' + pg.flagged.stable_revid + '&diff=' + pg.lastrevid, 'непров'); | ||
} | } | ||
} else { | } else { | ||
Строка 73: | Строка 73: | ||
if ( pg.talkid ) { | if ( pg.talkid ) { | ||
addLnk('curid=' + pg.talkid, '<b> | addLnk('curid=' + pg.talkid, '<b>обс.</b>'); | ||
} | } | ||
Строка 79: | Строка 79: | ||
for ( var c = 0; c < pg.categories.length; c++ ) { | for ( var c = 0; c < pg.categories.length; c++ ) { | ||
var cat = pg.categories[c].title.replace(/^[^:]+:/,''); //rm prefix | var cat = pg.categories[c].title.replace(/^[^:]+:/,''); //rm prefix | ||
if ( /: | if ( /:К быстрому удалению$/.test(cat) && !catText ) { | ||
catText = ' | catText = 'КБУ'; | ||
catColor = '#f88'; | catColor = '#f88'; | ||
catTip = cat; | catTip = cat; | ||
} else if ( /: | } else if ( /:Кандидаты на удаление$/.test(cat) ) { | ||
catText = ' | catText = 'К удалению'; | ||
catColor = '#faa'; | catColor = '#faa'; | ||
catTip = cat; | catTip = cat; | ||
} else if ( /^ | } else if ( /^Тептар:БУ:/.test(cat) ) { | ||
catText = cat.replace(/^ | catText = cat.replace(/^Тептар:/,''); | ||
catColor = '#f88'; | catColor = '#f88'; | ||
catTip = cat; | catTip = cat; | ||
} else if ( /^ | } else if ( /^Тептар:К отсроченному удалению$/.test(cat) ) { | ||
catText = ' | catText = 'Отсроченное'; | ||
catColor = 'pink'; | catColor = 'pink'; | ||
catTip = cat; | catTip = cat; | ||
} else if ( /: | } else if ( /:Оспариваемые быстрые удаления$/.test(cat) ) { | ||
catText = ' | catText = 'Оспаривается'; | ||
catColor = 'violet'; | catColor = 'violet'; | ||
catTip = cat; | catTip = cat; |
Текущая версия от 11:07, 18 июня 2020
$(function() {
var nonFlaggedNS = [];
$.each(mw.config.get('wgFormattedNamespaces'), function( i, ns ) {
if ( i > 0 && i != 6 && i != 10 && i != 14) {
nonFlaggedNS.push(ns);
}
});
nonFlaggedNS.push('Участница');
nonFlaggedNS = new RegExp('^(' + nonFlaggedNS.join('|') + '):');
var title,
titles = [],
link = {};
$('a.mw-newpages-pagename').each( function( i, lnk ) {
title = $(lnk).attr('title');
if ( nonFlaggedNS.test(title) ) {
return;
}
titles.push(title);
link[title] = lnk;
});
while ( titles.length ) {
$.post( // !!! временно из-за [[mediazilla:36839]]
mw.util.wikiScript('api'),
{
action:'query',
format:'json',
prop: 'info|flagged|categories',
inprop: 'talkid|watched',
cllimit: 500,
titles: titles.splice(0,50).join('|')
},
function(resp) {
if ( !resp || !(resp=resp.query) ) {
return;
}
for ( var id in resp.pages ) {
markLink( resp.pages[id] );
}
}
);
}
return;
function markLink( pg ) {
var lnk = $(link[pg.title]),
li = lnk.closest('li'),
clss,
catText,
catColor,
catTip;
if ( pg.flagged ) {
if ( pg.lastrevid == pg.flagged.stable_revid) {
clss = 'flaggedrevs-color-1';
} else {
clss = 'flaggedrevs-pending';
addLnk('oldid=' + pg.flagged.stable_revid + '&diff=' + pg.lastrevid, 'непров');
}
} else {
clss = 'flaggedrevs-unreviewed';
}
li.addClass(clss);
if ( typeof pg.watched === 'string' ) {
lnk.wrap('<strong class="mw-watched" />');
}
if ( pg.talkid ) {
addLnk('curid=' + pg.talkid, '<b>обс.</b>');
}
if ( pg.categories ) {
for ( var c = 0; c < pg.categories.length; c++ ) {
var cat = pg.categories[c].title.replace(/^[^:]+:/,''); //rm prefix
if ( /:К быстрому удалению$/.test(cat) && !catText ) {
catText = 'КБУ';
catColor = '#f88';
catTip = cat;
} else if ( /:Кандидаты на удаление$/.test(cat) ) {
catText = 'К удалению';
catColor = '#faa';
catTip = cat;
} else if ( /^Тептар:БУ:/.test(cat) ) {
catText = cat.replace(/^Тептар:/,'');
catColor = '#f88';
catTip = cat;
} else if ( /^Тептар:К отсроченному удалению$/.test(cat) ) {
catText = 'Отсроченное';
catColor = 'pink';
catTip = cat;
} else if ( /:Оспариваемые быстрые удаления$/.test(cat) ) {
catText = 'Оспаривается';
catColor = 'violet';
catTip = cat;
}
}
if ( catText ) {
li.append(' <span style="background:' + catColor + '"'
+ ' title="«' + catTip + '»">(' + catText + ')</span>');
}
}
function addLnk( href, name ) {
li.find('.mw-newpages-history a:last')
.after(' | <a href="' + mw.config.get('wgScript') + '?' + href + '">' + name + '</a>');
}
} //markLink
});