blob: 6f79929b5de5ab59d8d622376623fbb5dcc99d25 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
|
/* JavaScript for Special:Block */
jQuery( function( $ ) {
var DO_INSTANT = true,
$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' );
var updateBlockOptions = function( instant ) {
if ( !$blockTarget.length ) {
return;
}
var blocktarget = $.trim( $blockTarget.val() );
var isEmpty = ( blocktarget === '' );
var isIp = mw.util.isIPv4Address( blocktarget, true ) || mw.util.isIPv6Address( blocktarget, true );
var 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 );
}
};
// 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( DO_INSTANT );
});
|