MediaWiki:Gadget-common-action-history.js
Выгляд
Заўвага: Пасля апублікавання, вам можа спатрэбіцца ачыстка кэшу браўзера, каб убачыць унесеныя змены.
- Firefox / Safari: націсніце Reload, утрымліваючы Shift, або націсніце Ctrl-F5 ці Ctrl-R (⌘-R на Макінтошах)
- Google Chrome: Націсніце Ctrl-Shift-R (⌘-Shift-R на Mac)
- Edge: націсніце Refresh, утрымліваючы Ctrl, або націсніце Ctrl-F5.
/**
* З-за невялікага памеру няма сэнсу выдаткоўваць на загрузку гэтага гаджэта асобны запыт; ён грузіцца
* безумоўна (на падставе «|default» у [[MediaWiki:Gadgets-definition]]). Калі код вырасце да
* некалькіх кілабайт, можна дэлегіраваць яго загрузку [[MediaWiki:Common.js]] і загружаць па
* ўмове/ўмовам.
*
* Паколькі на цяперашні час гаджэт змяшчае толькі функцыі для зарэгістраваных
* удзельнікаў, ён грузіцца толькі ім. Калі гэта зменіцца, выдаліце «|rights=minoredit» з
* [[MediaWiki:Gadgets-definition]] для гэтага гаджэта.
*/
if ( mw.config.get( 'wgAction' ) === 'history' ) {
$( function () {
// Функцыя для дадання спасылкі ў меню пад загалоўкам
function addSubLink( $link, toolName ) {
$( '.mw-history-subtitle' ).append(
' • ',
$link
.attr( 'href', 'javascript:' )
.css( 'font-style', 'italic' )
.click( showRevertToLinks )
);
}
// Дадаць спасылкі «Вярнуць да» для аўтадаглядчыкаў, даглядчыкаў і адміністратараў
var wgUserGroups = mw.config.get( 'wgUserGroups' );
if ( wgUserGroups && /autoreview|editor|sysop/.test( wgUserGroups.join( '|' ) ) ) { // У тым ліку autoeditor
addSubLink( $( '<a>' )
.attr( 'title', 'Дадаць спасылкі для вяртання да старых версій' )
.text( 'Вярнуць да …' )
);
}
// Іконкі «абноўлена пасля майго апошняга наведвання»
$( '.updatedmarker' ).attr( 'title', 'абноўлена пасля майго апошняга наведвання' );
function plural( number, one, few, many ) {
number = Math.abs( number ) % 100;
if ( number < 10 || number > 20 ) {
var x = number % 10;
if ( x == 1 ) {
return one;
}
if ( 0 < x && x < 5 ) {
return few;
}
}
return many;
}
function showRevertToLinks( e ) {
e.preventDefault();
if ( !window.revertLinksCSS ) {
appendRevertToLinks();
}
revertLinksCSS.disabled = false;
setTimeout( function () {
revertLinksCSS.disabled = true;
}, 5000 );
}
function appendRevertToLinks() {
var $ul = $( '#pagehistory' );
if ( !$ul.length ) {
alert( 'Гісторыя версій старонкі пустая' );
return;
}
var $li, $link, version, user, url,
$lis = $ul.find( 'li' );
for (var i = 2; i < $lis.length; i++ ) {
$li = $lis.eq( i );
$link = $li.find( '.mw-changeslist-date' );
version = $li.find( 'input' ).val();
user = $li.find( 'a.mw-userlink' ).text();
url = $link.attr( 'href' ) + '&action=edit&summary=' + encodeURIComponent(
i + ' ' + plural( i, 'праўка', 'праўкі', 'правак' ) + ' [[ВП:ВЯРНУЦЬ ДА|' +
plural( i, 'вернута', 'вернуты', 'вернута' ) + ']] да версіі ' + version + (user ? ' ' + user : '') + ': '
) + '#wpSummary';
$link.after(
' (',
$( '<a>' )
.attr( 'href', url )
.attr( 'title', 'Вярнуць гэтую версію' )
.addClass( 'revertTo' )
.text( 'вярнуць' ),
')'
);
}
revertLinksCSS = mw.util.addCSS( '.revertTo { font-weight: bold; }' ); // Глабальная пераменная
}
} );
}