X-Git-Url: https://git.heureux-cyclage.org/?a=blobdiff_plain;f=resources%2Fmediawiki.special%2Fmediawiki.special.block.js;h=b8bcf177da85366e201a2baa9c939ab6cb3d17b3;hb=c6218b8f008403c519d797140b76ae4f215347e3;hp=ed0fa61beb29170b8fce452469cdde2f446323e0;hpb=730eeb8e26c5adbef90a597a67b8cb092c6b01fb;p=lhc%2Fweb%2Fwiklou.git diff --git a/resources/mediawiki.special/mediawiki.special.block.js b/resources/mediawiki.special/mediawiki.special.block.js index ed0fa61beb..b8bcf177da 100644 --- a/resources/mediawiki.special/mediawiki.special.block.js +++ b/resources/mediawiki.special/mediawiki.special.block.js @@ -1,68 +1,46 @@ -/* JavaScript for Special:Block */ - -// Fade or snap depending on argument -jQuery.fn.goIn = function( instantToggle ) { - if ( typeof instantToggle != 'undefined' && instantToggle === true ) { - return jQuery(this).show(); - } - return jQuery(this).stop( true, true ).fadeIn(); -}; -jQuery.fn.goOut = function( instantToggle ) { - if ( typeof instantToggle != 'undefined' && instantToggle === true ) { - return jQuery(this).hide(); - } - return jQuery(this).stop( true, true ).fadeOut(); -}; - -jQuery( function( $ ) { - - var DO_INSTANT = true, - $blockExpiry = $( '#wpBlockExpiry' ), $blockOther = $( '#wpBlockOther' ), - $blockTarget = $( '#mw-bi-target' ), $anonOnlyRow = $( '#wpAnonOnlyRow' ), - $enableAutoblockRow = $( '#wpEnableAutoblockRow' ), - $hideUser = $( '#wpEnableHideUser' ), $watchUser = $( '#wpEnableWatchUser' ); - - var considerChangingExpiryFocus = function( instant ) { - if ( $blockExpiry.val() == 'other' ) { - $blockOther.goIn( instant ); - } else { - $blockOther.goOut( instant ); - } - }; - var updateBlockOptions = function( instant ) { - if ( !$blockTarget.length ) { - return; +/** + * 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 ); + } } - 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 ( $blockTarget.length ) { + // Bind functions so they're checked whenever stuff changes + $blockTarget.keyup( updateBlockOptions ); - 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 ); + // Call them now to set initial state (ie. Special:Block/Foobar?wpBlockExpiry=2+hours) + updateBlockOptions( /* instant= */ true ); } - if ( isIpRange && !isEmpty ) { - $watchUser.goOut( instant ); - } else { - $watchUser.goIn( instant ); - } - }; - - // Bind functions so they're checked whenever stuff changes - $blockExpiry.change( considerChangingExpiryFocus ); - $blockTarget.keyup( updateBlockOptions ); + } ); +}( mediaWiki, jQuery ) ); - // Call them now to set initial state (ie. Special:Block/Foobar?wpBlockExpiry=2+hours) - considerChangingExpiryFocus( DO_INSTANT ); - updateBlockOptions( DO_INSTANT ); -}); \ No newline at end of file