MediaWiki:Common.js
Замечание: Возможно, после публикации вам придётся очистить кэш своего браузера, чтобы увидеть изменения.
- Firefox / Safari: Удерживая клавишу Shift, нажмите на панели инструментов Обновить либо нажмите Ctrl+F5 или Ctrl+R (⌘+R на Mac)
- Google Chrome: Нажмите Ctrl+Shift+R (⌘+Shift+R на Mac)
- Edge: Удерживая Ctrl, нажмите Обновить либо нажмите Ctrl+F5
- Opera: Нажмите Ctrl+F5.
// Ajax Translation of /lang links, see [[MediaWiki:AjaxTranslation.js]]
// Maintainer: [[Commons:User:ערן]]
importScript('MediaWiki:AjaxTranslation.js');
// Scripts from Russian Wikipedia
var importMW = function(name)
{
importScript('MediaWiki:' + name + '.js');
};
var importScript_ = importScript;
var importScript = function(page, proj)
{
if (!proj) {
importScript_(page);
}
else {
if (proj.indexOf('.') === -1) {
proj += '.wikimedia.org';
}
mw.loader.load('//' + proj + '/w/index.php?title=' + encodeURIComponent(page.replace(/ /g, '_')) + '&action=raw&ctype=text/javascript');
}
};
switch ( mw.config.get( 'wgAction' ) ) {
case 'edit':
case 'submit':
importMW('Editpage');
break;
}
// Extra scripts
var withJS = document.URL.match(/[&?]withjs=((mediawiki:)?([^&#]+))/i);
if (withJS) {
importScript_('MediaWiki:' + withJS[3]);
}
// hasClass from en-wiki
var hasClass = (function (){
var reCache = {}
return function (element, className){
return (reCache[className] ? reCache[className] : (reCache[className] = new RegExp("(?:\\s|^)" + className + "(?:\\s|$)"))).test(element.className)
}
})()
// Messages
var NavigationBarHide = '[скрыть]',
NavigationBarShow = '[показать]',
NavigationBarShowDefault = 2;
// Collapsiblе: [[ВП:СБ]]
function collapsibleTables( $content ) {
var $btn,
$a,
tblIdx = 0,
colTables = [],
$Tables = $content.find( 'table' );
$Tables.each( function( i, table ) {
if ( $(table).hasClass( 'collapsible' ) ) {
var $table = $( this ),
$row = $table.find( 'tr' ).first(),
$cell = $row.find( 'th' ).first();
if ( !$cell.length ) {
return;
}
$table.attr( 'id', 'collapsibleTable' + tblIdx );
$btn = $( '<span>' )
.css( {
'float': 'right',
'font-weight': 'normal',
'font-size': 'smaller'
} );
$a = $( '<a>' )
.attr( 'id', 'collapseButton' + tblIdx )
.attr( 'href', 'javascript:collapseTable(' + tblIdx + ');' )
.css( 'color', $cell.css( 'color' ) )
.text( NavigationBarHide )
.appendTo( $btn );
if ( $cell.contents().length ) {
$btn.insertBefore( $cell.contents().first() );
} else {
$btn.appendTo( $cell );
}
colTables[tblIdx++] = $table;
}
} );
for ( var i = 0; i < tblIdx; i++ ) {
if ( colTables[i].hasClass( 'collapsed' ) ||
( tblIdx > NavigationBarShowDefault &&
colTables[i].hasClass( 'autocollapse' )
)
) {
collapseTable( i );
}
}
}
mw.hook( 'wikipage.content' ).add( collapsibleTables );
function collapseTable ( idx ) {
var $table = $( '#collapsibleTable' + idx ),
$rows = $table.children().children( 'tr' ),
$btn = $( '#collapseButton' + idx );
if ( !$table.length || !$rows.length || !$btn.length ) {
return false;
}
var isShown = ( $btn.text() === NavigationBarHide ),
cssDisplay = isShown ? 'none' : $rows.first().css( 'display' );
$btn.text( isShown ? NavigationBarShow : NavigationBarHide );
$rows.slice( 1 ).each( function() {
$( this ).css( 'display', cssDisplay );
} );
}
function collapsibleDivs( $content ) {
var navIdx = 0,
colNavs = [],
i,
$Divs = $content.find( 'div' );
$Divs.each( function( i, div ) {
if ( $(div).hasClass( 'NavFrame' ) ) {
var $navFrame = $( this );
$navFrame.attr( 'id', 'NavFrame' + navIdx );
var $a = $( '<a>' )
.addClass( 'NavToggle' )
.attr( 'id', 'NavToggle' + navIdx )
.attr( 'href', 'javascript:collapseDiv(' + navIdx + ');' )
.text( NavigationBarHide );
$navFrame.children( '.NavHead' ).append( $a );
colNavs[navIdx++] = $navFrame;
}
} );
for ( i = 0; i < navIdx; i++ ) {
if ( colNavs[i].hasClass( 'collapsed' ) ||
( navIdx > NavigationBarShowDefault &&
!colNavs[i].hasClass( 'expanded' )
)
) {
collapseDiv( i );
}
}
}
mw.hook( 'wikipage.content' ).add( collapsibleDivs );
function collapseDiv ( idx ) {
var $div = $( '#NavFrame' + idx ),
$btn = $( '#NavToggle' + idx );
if ( !$div.length || !$btn.length ) {
return false;
}
var isShown = ( $btn.text() === NavigationBarHide );
$btn.text( isShown ? NavigationBarShow : NavigationBarHide );
$div.children( '.NavContent,.NavPic' ).each( function() {
$( this ).css( 'display', isShown ? 'none' : 'block' );
} );
}
function checkEmptyCreatebox() {
$( 'form.createbox' ).on( 'submit', function() {
if ( !$( this ).find( 'input.createboxInput' ).val() ) {
window.alert( 'Не указано название новой статьи!' );
return false;
}
return true;
} );
}
$(function () {
var myElement = document.getElementById('mw-donate');
myElement.innerHTML = '<form action="https://donate.wikimedia.ru/action" target="_blank"><br><div align="center"><input type="radio" id="monthly" name="per" value="monthly" checked><label for="monthly"> Ежемесячно</label> <input type="radio" id="once" name="per" value="once"><label for="once"> Разово</label></div><br><label for="amount">Сумма: </label><input type="text" id="amount" name="amount" value=500 required autofocus size=5 pattern="[0-9]*"> рублей<br><br><label for="name">Ваше имя: </label><input type="text" id="name" name="name" size=60 required><br><br><label for="email">Эл. почта: </label><input type="text" id="email" name="email" size=60 required><br><input type="checkbox" name="letters" value="send" checked hidden><br><input type="checkbox" name="contract" value="agree" checked required><label for="contract"> Я принимаю <a href="https://ru.wikimedia.org/wiki/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80_%D0%BF%D0%BE%D0%B6%D0%B5%D1%80%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%E2%84%96_%D0%92%D0%9F-21_%D0%BE%D1%82_01.09.21">публичную оферту</a> и <a href="https://ru.wikimedia.org/wiki/%D0%94%D0%BE%D0%B3%D0%BE%D0%B2%D0%BE%D1%80_%D0%BF%D0%BE%D0%B6%D0%B5%D1%80%D1%82%D0%B2%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F_%E2%84%96_%D0%92%D0%9F-21_%D0%BE%D1%82_01.09.21">даю согласие</a> на обработку</label><br><br><div align="center"><input type="submit" value="Перейти к вводу платёжных реквизитов" style="height:40px; width:300px;background-color:#367FB4;color:#FFFFFF"></div><br></form>';
}());
function setAmount(val) {
document.getElementById("amount").value = val;
}