User:SunAfterRain/js/NAC.js
< User:SunAfterRain | js
注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google Chrome、Firefox、Microsoft Edge及Safari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。
警告:User:SunAfterRain/js下的所有script幾乎都是本人隨興撰寫的,不保證可用性。如要使用,請確保您的瀏覽器支援ES6、async & await等語法糖,並接受本人突然改變任何內容以至於用法改變或是毀損無法使用。任何問題請至:User talk:SunAfterRain
/* _addText: "{{User:SunAfterRain/js}}" */
/**
* NAC.js 標記非管理員關閉的存廢討論
* 原理來自 https://zh.wikipedia.org/w/index.php?oldid=52174103
*
* @author SunAfterRain
*/
$.when(
$.ready,
mw.loader.using( 'ext.gadget.HanAssist' )
).then( ( _$, require ) => {
const title = new mw.Title( mw.config.get( 'wgPageName' ) );
if ( title.namespace !== 4 || ![ '頁面存廢討論', '檔案存廢討論' ].includes( title.getName().split( '/' )[ 0 ] ) || title.getName().split( '/' ).length === 1 ) {
return;
}
const HanAssist = require( 'ext.gadget.HanAssist' );
const allowParents = [ 'dd', 'p' ].join( ', ' );
for ( const seletor of $( '.talkend' ).has( 'span.NAC, span#NAC' ) ) {
const $seletor = $( seletor );
const $nac = $seletor.find( 'span.NAC, span#NAC' ).last().parent( allowParents );
const $last = $seletor.find( allowParents ).last();
let str = HanAssist.conv({ hans: '非管理员关闭', hant: '非管理員關閉' });
if ( $nac.get( 0 ) !== $last.get( 0 ) ) {
str = HanAssist.conv({ hans: '曾有非管理员关闭', hant: '曾有非管理員關閉' });
}
$seletor
.find( '.talkend-title-text' )
.append(
$( '<span>' ).attr( {
style: 'font-weight: bold; font-size:85%;'
} ).text( `(${ str })` )
);
}
} );