MediaWiki:Gadget-common-special-watchlist.js
Перейти к навигации
Перейти к поиску
Возможно, этот код документирован.
/**
* Ввиду маленького размера не резон тратить на загрузку этого гаджета отдельный запрос; он грузится
* зарегистрированным участникам безусловно (в силу «|default» в [[MediaWiki:Gadgets-definition]]).
* Если код вырастет до нескольких килобайт, можно делегировать его загрузку [[MediaWiki:Common.js]]
* и загружать по условию.
*/
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === 'Watchlist' ) {
runAsEarlyAsPossible( function () {
$( '.watchlist-msg' ).each( function() {
if ( !this.id ) return;
var hideId = 'hide- ' + this.id;
if ( $.cookie( hideId ) ) {
$( this ).remove();
} else {
$( '<span>' )
.attr( 'title', 'Спрятать это сообщение на неделю или до появления новых событий' )
.addClass( 'watchlist-msg-close' )
.text( '[x]' )
.click( function () {
$.cookie( hideId, 'y', { expires: 7, path: '/' } );
$( this ).parent().remove();
} )
.prependTo( this );
}
} );
mw.hook( 'structuredChangeFilters.ui.initialized' ).add(function () {
$( '.watchlist-msg' ).prependTo( $( '.mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' ) );
$( '.mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
.removeClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
.find( '.oo-ui-buttonWidget' )
.wrap( '<div>' )
.parent()
.addClass( 'mw-rcfilters-ui-watchlistTopSectionWidget-editWatchlistButton' )
.appendTo( '.mw-rcfilters-ui-watchlistTopSectionWidget-watchlistDetails' );
} );
}, $( '.watchlist-msg' ) ); // Не «, mw.hook( 'wikipage.content' ).add», так как это событие
// файрит скрипт автоматического обновления СН, не трогающий
// верхнюю часть.
}