1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mediawiki_ynh.git synced 2024-09-03 19:46:05 +02:00
mediawiki_ynh/sources/mediawiki/resources/mediawiki.special/mediawiki.special.block.js

46 lines
1.4 KiB
JavaScript

/**
* JavaScript for Special:Block
*/
( function ( mw, $ ) {
$( function () {
var $blockTarget = $( '#mw-bi-target' ),
$anonOnlyRow = $( '#mw-input-wpHardBlock' ).closest( 'tr' ),
$enableAutoblockRow = $( '#mw-input-wpAutoBlock' ).closest( 'tr' ),
$hideUser = $( '#mw-input-wpHideUser' ).closest( 'tr' ),
$watchUser = $( '#mw-input-wpWatch' ).closest( 'tr' );
function updateBlockOptions( instant ) {
var blocktarget = $.trim( $blockTarget.val() ),
isEmpty = blocktarget === '',
isIp = mw.util.isIPv4Address( blocktarget, true ) || mw.util.isIPv6Address( blocktarget, true ),
isIpRange = isIp && blocktarget.match( /\/\d+$/ );
if ( isIp && !isEmpty ) {
$enableAutoblockRow.goOut( instant );
$hideUser.goOut( instant );
} else {
$enableAutoblockRow.goIn( instant );
$hideUser.goIn( instant );
}
if ( !isIp && !isEmpty ) {
$anonOnlyRow.goOut( instant );
} else {
$anonOnlyRow.goIn( instant );
}
if ( isIpRange && !isEmpty ) {
$watchUser.goOut( instant );
} else {
$watchUser.goIn( instant );
}
}
if ( $blockTarget.length ) {
// Bind functions so they're checked whenever stuff changes
$blockTarget.keyup( updateBlockOptions );
// Call them now to set initial state (ie. Special:Block/Foobar?wpBlockExpiry=2+hours)
updateBlockOptions( /* instant= */ true );
}
} );
}( mediaWiki, jQuery ) );