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(); } ); } );