Медиавики:Gadget-collapserefs.js
Эзоҳ: Баъди захира намудан, Шумо метавонед тағйиротҳои худро аз хотираи браузер гузариш карда, бубинед. Дар браузерҳои Mozilla / Firefox / Safari: тугмаи Shift-ро пахш намуда бо мушак Reload-ро пахш кунед, ё Ctrl-Shift-R-ро пахш намоед (Cmd-Shift-R барои компютерҳои Apple Mac); дар браузери IE: тугмаи Ctrl-ро пахш намуда бо мушак Refresh-ро пахш намоед, ё Ctrl-F5-ро пахш намоед; дар браузери Konqueror:: бо мушак Reload-ро пахш кунед, ё тугмаи F5-ро пахш намоед; дар браузери Opera ба Шумо пурра тоза кардани хотираи браузер ба воситаи Tools→Preferences лозим аст.
if ( ( mw.config.get( 'wgIsArticle' ) &&
[ 'edit', 'submit' ].indexOf( mw.config.get( 'wgAction' ) ) === -1
) &&
mw.util.getParamValue( 'printable' ) !== 'yes'
) {
mw.hook( 'wikipage.content' ).add( function () {
var collapseState = mw.cookie.get( 'refcoll', '' ) === 'min' ? 'min' : 'max';
var foundReflist;
var time = $.now();
$( '#mw-content-text' ).find( '.references-small' ).each( function ( i, el ) {
if ( el.clientHeight <=
( ( el.style.maxHeight &&
el.style.maxHeight.replace( 'px', '' ) ) ||
// clientHeight меньше height, если есть горизонтальная полоса прокрутки
el.style.height.replace( 'px', '' ) ||
// 40 — значение (в em) max-height у .references-compact в [[MediaWiki:Gadget-collapserefs.css]]
504
) ||
// Когда примечания уже обёрнуты в меньший по высоте блок (хотя такого не должно быть)
el.clientHeight > el.parentNode.clientHeight
) {
return;
}
foundReflist = true;
if ( collapseState === 'min' ) {
$( el ).addClass( 'references-compact' );
}
$( '<div>' )
.addClass( 'collapseRefs' +
( $( el ).hasClass( 'not-references' ) ? ' collapseRefs-notRefs' : '' )
)
.append( $( '<a>' )
.addClass( 'collapseRefs-link' )
.attr( 'href', 'javascript:' )
.attr( 'title', 'Блокҳои бузург бо ёддоштҳо метавонанд кам карда шаванд' )
.text( collapseState === 'max' ? '↑ Намоиши фишурда' : '↓ Намоиши комил' )
.click( changeState )
)
.insertBefore( el );
} );
console.log('collapserefs: ' + ($.now() - time));
if ( !foundReflist ) {
return;
}
function changeState( e ) {
e.preventDefault();
collapseState = collapseState === 'max' ? 'min' : 'max';
if ( collapseState === 'max' ) { // when maximized
$( '.collapseRefs-link' )
.text( '↑ Намоиши фишурда' )
.parent()
.next()
.removeClass( 'references-compact' );
} else { // when minimized
$( '.collapseRefs-link' )
.text( '↓ Намоиши комил' )
.parent()
.next()
.addClass( 'references-compact' );
}
mw.cookie.set( 'refcoll', collapseState, {
expires: 1000 * 60 * 60 * 24 * 90,
path: '/',
prefix: ''
} );
}
} );
}