MediaWiki:Gadget-common-special-newpages.js: различия между версиями

Материал из Тептар — свободной энциклопедии
Перейти к навигации Перейти к поиску
(Керла агӀо: «$(function() { var nonFlaggedNS = []; $.each(mw.config.get('wgFormattedNamespaces'), function( i, ns ) { if ( i > 0 && i != 6 && i != 10 && i != 14) { nonFlaggedN...»)
 
Нет описания правки
 
Строка 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( // !!! Цхьан ханна из бахьандолуш [[mediazilla:36839]]
$.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>дийц.</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 ( /:Сиха дIайаккхаре$/.test(cat) && !catText ) {
if ( /:К быстрому удалению$/.test(cat) && !catText ) {
catText = 'СДК';
catText = 'КБУ';
catColor = '#f88';
catColor = '#f88';
catTip = cat;
catTip = cat;
} else if ( /:ДIайаккхаре хиттийнарш$/.test(cat) ) {
} else if ( /:Кандидаты на удаление$/.test(cat) ) {
catText = 'ДIайаккхаре';
catText = 'К удалению';
catColor = '#faa';
catColor = '#faa';
catTip = cat;
catTip = cat;
} else if ( /^Жайна:СД:/.test(cat) ) {
} else if ( /^Тептар:БУ:/.test(cat) ) {
catText = cat.replace(/^Жайна:/,'');
catText = cat.replace(/^Тептар:/,'');
catColor = '#f88';
catColor = '#f88';
catTip = cat;
catTip = cat;
} else if ( /^Жайна:ДIайаккха еза хан тIяхйаьлларш$/.test(cat) ) {
} else if ( /^Тептар:К отсроченному удалению$/.test(cat) ) {
catText = 'Хан тIяхйаьлларг';
catText = 'Отсроченное';
catColor = 'pink';
catColor = 'pink';
catTip = cat;
catTip = cat;
} else if ( /:Къовсамехь ерш сиха дIайаккхар$/.test(cat) ) {
} 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
});