MediaWiki:Common.js: различия между версиями
imported>BOT Purple Нет описания правки |
imported>BOT Purple Нет описания правки |
||
Строка 51: | Строка 51: | ||
mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' ); | mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' ); | ||
} | } | ||
// Честно стащено с бывшей официальной Minecraft Wiki | |||
// Добавляет кнопку для очистки кэша | |||
if ( !$( '#ca-purge' ).length ) { | |||
$( '#p-cactions' ).find( 'ul' ).append( | |||
$( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append( | |||
$( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append( | |||
$( '<span>' ).text( 'Очистить кэш' ) | |||
) | |||
) | |||
); | |||
} | |||
// Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения | |||
mw.loader.using( 'mediawiki.api' ).then( function() { | |||
$( '#ca-purge a' ).on( 'click', function( e ) { | |||
new mw.Api().post( { | |||
action: 'purge', | |||
titles: mw.config.get( 'wgPageName' ) | |||
} ).then( function() { | |||
location.reload(); | |||
}, function() { | |||
mw.notify( 'Purge failed', { type: 'error' } ); | |||
} ); | |||
e.preventDefault(); | |||
} ); | |||
} ); |
Версия от 15:10, 13 декабря 2022
$(function () {
const elemsSwitch = Array.from(document.querySelectorAll(".kaskadavionics .switchtab"));
for (var ii = 0; ii < elemsSwitch.length; ii++) {
elemsSwitch[ii].onclick = function () {
const tabId = this.getAttribute("data-tab");
var elemens = Array.from(document.querySelectorAll(".kaskadavionics .switchtab"));
for (var iii = 0; iii < elemens.length; iii++) {
elemens[iii].classList.remove("current");
}
elemens = Array.from(document.querySelectorAll(".kaskadavionics .tabcontent"));
for (var jj = 0; jj < elemens.length; jj++) {
elemens[jj].classList.remove("current");
}
this.classList.add("current");
document.querySelector("[data-tab='"+tabId+"']").classList.add("current");
document.querySelector("#p"+tabId).classList.add("current");
};
}
}());
// Добавляет ссылку для редактирования нулевого раздела (введения; преамбулы)
var wgNamespaceNumber = mw.config.get( 'wgNamespaceNumber' );
var wgPageName = mw.config.get( 'wgPageName' );
if (wgNamespaceNumber > -1){
var edittopHTML = '<span class="mw-editsection">' +
'<span class="mw-editsection-bracket" style="margin-right: 0.25em;color: #555555;">[</span>' +
'<a href="/index.php?title=' + wgPageName + '&action=edit&section=0" title="Править «введение» этой страницы">править введение</a>' +
'<span class="mw-editsection-bracket" style="margin-left: 0.25em;color: #555555;">]</span>' +
'</span>';
$('#firstHeading').append(edittopHTML);
}
// Только при редактировании, вне режима визуального редактора
if ( mw.config.get( 'wgAction' ) == 'edit' || mw.config.get( 'wgAction' ) == 'submit' ) {
// Устаревшая, но всё ещё действующая панель редактирования исходного кода
mw.loader.load( 'https://wiki.ss220.space/index.php/Участник:Gevron/legacyToolbar.js?action=raw&ctype=text/javascript' );
}
// Честно стащено с бывшей официальной Minecraft Wiki
// Добавляет кнопку для очистки кэша
if ( !$( '#ca-purge' ).length ) {
$( '#p-cactions' ).find( 'ul' ).append(
$( '<li>' ).attr( { 'id': 'ca-purge', 'class': 'mw-list-item' } ).append(
$( '<a>' ).attr( { 'href': mw.util.getUrl( null, { action: 'purge' } ), 'title': 'Очистить серверный кэш страницы' } ).append(
$( '<span>' ).text( 'Очистить кэш' )
)
)
);
}
// Меняем обычную ссылку очистки кэша на API-запрос, чтобы избежать окна подтверждения
mw.loader.using( 'mediawiki.api' ).then( function() {
$( '#ca-purge a' ).on( 'click', function( e ) {
new mw.Api().post( {
action: 'purge',
titles: mw.config.get( 'wgPageName' )
} ).then( function() {
location.reload();
}, function() {
mw.notify( 'Purge failed', { type: 'error' } );
} );
e.preventDefault();
} );
} );