WikiDer > MediaWiki: Gadget-watchlist-notice-core.js - Википедия

MediaWiki:Gadget-watchlist-notice-core.js - Wikipedia

Примечание: После сохранения вам нужно обойти кеш браузера, чтобы увидеть изменения. Гугл Хром, Fire Fox, Microsoft Edge и Сафари: Удерживайте ⇧ Shift ключ и щелкните Перезагрузить кнопка на панели инструментов. Подробные сведения и инструкции о других браузерах см. В разделе Википедия: Обход кеша.

/** * Добавьте кнопки отклонения в список просмотра-сообщение, затем покажите его * Позволяет несколько кнопок закрытия на [[MediaWiki: Watchlist-messages]] с изменяемыми идентификаторами файлов cookie (теперь используется для LS). * Примечание: HTML обратно совместим со старой версией, новая версия игнорирует старый синтаксис, за исключением отклоненных идентификаторов. * @author: [[: en: Пользователь: Ruud Koot]] * @author: [[: en: Пользователь: MZMcBride]] *// * jslint white: true, regexp: true * // * глобальный jQuery, mediaWiki * /( функция ( mw, $ ) {'использовать строго';вар storageKey = 'hidewatchlistmessages';функция getDismissedNotices () {	вар hiddenNotices = mw.место хранения.получать( storageKey )		|| mw.место хранения.сессия.получать( storageKey );	пытаться {		возвращаться JSON.разбирать( hiddenNotices ) || []; 	} ловить (е) {		возвращаться [];	}}функция saveDismissedNotices ( уведомления ) {	уведомления = JSON.стягивать( уведомления );	mw.место хранения.набор( storageKey, уведомления )		|| mw.место хранения.сессия.набор( storageKey, уведомления );}// Удаляем идентификаторы, которые больше не определеныфункция expungeOldNotices ( currentList ) {	вар отклонен = getDismissedNotices(),		originalLength = отклонен.длина;	за ( вар я = отклонен.длина - 1; я >= 0; я--) {		если( !( отклонен[я] в currentList ) ) {			отклонен.сращивание( я, 0 );		}	}	если( originalLength !== отклонен.длина ) {		saveDismissedNotices( отклонен );	}}функция dismissWatchlistMessage( мероприятие ) {	вар $ сообщение = $( это ).ближайший( '.watchlist-сообщение' );	вар Сид = $( это ).данные( 'список наблюдения' ).Сид;	вар уведомления = getDismissedNotices();		$ сообщение.Спрятать();		уведомления.толкать( Сид );	saveDismissedNotices( уведомления );		мероприятие.preventDefault();}функция addDismissButton() {	вар watchItems = $( 'div.watchlist-сообщение' );	вар watchItemIds = [];	вар отклонен = getDismissedNotices();	вар отклоненныйNoticesLength = отклонен.длина;		если ( watchItems.длина === 0) {		watchItems = $( 'li.watchlist-message' );	}	если ( watchItems.длина === 0) {		возвращаться;	}	за ( вар я = 0; я < watchItems.длина; я++ ) {		вар список наблюдения = parseInt( watchItems[я].className.заменять( /.*cookie-ID\_(d*).*/ig, '$1' ) );		если ( isNaN( список наблюдения ) ) {			Продолжить;		}		watchItemIds.толкать( список наблюдения );		если ( отклонен.индекс( список наблюдения ) !== -1 ) {			watchItems[я].стиль.отображать = 'никто';			Продолжить;		}		вар Кнопка     = документ.createElement( 'охватывать' );		вар ButtonLink = документ.createElement( 'а' );		вар ButtonText = документ.createTextNode( 'увольнять' );				ButtonLink.className = 'dismissButton';		ButtonLink.setAttribute( 'href', '#' );		ButtonLink.setAttribute( 'заглавие', "Скрыть это сообщение" );		ButtonLink.appendChild( ButtonText );		$( ButtonLink ).данные( 'список наблюдения', {			индекс: я,			Сид: список наблюдения		} );		$( ButtonLink ).щелкнуть( dismissWatchlistMessage );				Кнопка.appendChild( документ.createTextNode(' [' ) );		Кнопка.appendChild( ButtonLink );		Кнопка.appendChild( документ.createTextNode( ']' ) );		watchItems[я].appendChild( Кнопка );	}	expungeOldNotices( watchItemIds );		$( '# список-сообщение' ).Показать();}$( addDismissButton );}( mediaWiki, jQuery ) );