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.
/* Размещённый здесь код JavaScript будет загружаться пользователям при обращении к каждой странице */
/* ===== Автосворачивание: если на странице 2+ полос со state=autocollapse — сворачиваем все ===== */
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    var $auto = $content.find( '.navbox-autocollapse' );
    if ( $auto.length > 1 ) {
        $auto.addClass( 'mw-collapsed' );
    }
} );

/* ===== Переключение вкладок в "Навигационной таблице с блоками" ===== */
$( document ).on( 'click', '.navbox-blocks-tabs a.navbox-tab', function ( e ) {
    e.preventDefault();
    var key = $( this ).data( 'block' );
    var $navbox = $( this ).closest( '.navbox' );

    $( this ).closest( '.navbox-blocks-tabs' )
        .find( 'a.navbox-tab' )
        .removeClass( 'navbox-tab-active' );
    $( this ).addClass( 'navbox-tab-active' );

    $navbox.find( '.navbox-block' ).each( function () {
        $( this ).toggle( String( $( this ).data( 'block-content' ) ) === String( key ) );
    } );
} );

/* ===== При загрузке страницы открываем блок из параметра "развернуть" ===== */
mw.hook( 'wikipage.content' ).add( function ( $content ) {
    $content.find( '.navbox-blocks-tabs' ).each( function () {
        var $tabs = $( this );
        var wanted = $tabs.data( 'default' );
        var $target = $tabs.find( 'a.navbox-tab' ).filter( function () {
            return $( this ).text() === wanted;
        } ).first();
        if ( !$target.length ) {
            $target = $tabs.find( 'a.navbox-tab' ).first();
        }
        if ( $target.length ) {
            $target.trigger( 'click' );
        }
    } );
} );