( function () {
var ProtectionForm,
+ config = require( './config.json' ),
reasonCodePointLimit = mw.config.get( 'wgCommentCodePointLimit' ),
reasonByteLimit = mw.config.get( 'wgCommentByteLimit' );
- ProtectionForm = window.ProtectionForm = {
+ ProtectionForm = {
/**
* Set up the protection chaining interface (i.e. "unlock move permissions" checkbox)
* on the protection form
return false;
}
- if ( mw.config.get( 'wgCascadeableLevels' ) !== undefined ) {
- $( 'form#mw-Protect-Form' ).submit( this.toggleUnchainedInputs.bind( ProtectionForm, true ) );
- }
+ $( 'form#mw-Protect-Form' ).on( 'submit', this.toggleUnchainedInputs.bind( ProtectionForm, true ) );
this.getExpirySelectors().each( function () {
- $( this ).change( ProtectionForm.updateExpiryList.bind( ProtectionForm, this ) );
+ $( this ).on( 'change', ProtectionForm.updateExpiryList.bind( ProtectionForm, this ) );
} );
this.getExpiryInputs().each( function () {
$( this ).on( 'keyup change', ProtectionForm.updateExpiry.bind( ProtectionForm, this ) );
} );
this.getLevelSelectors().each( function () {
- $( this ).change( ProtectionForm.updateLevels.bind( ProtectionForm, this ) );
+ $( this ).on( 'change', ProtectionForm.updateLevels.bind( ProtectionForm, this ) );
} );
$( '#mwProtectSet > tbody > tr:first' ).after( $row );
$cell.append(
$( '<input>' )
.attr( { id: 'mwProtectUnchained', type: 'checkbox' } )
- .click( this.onChainClick.bind( this ) )
+ .on( 'click', this.onChainClick.bind( this ) )
.prop( 'checked', !this.areAllTypesMatching() ),
document.createTextNode( ' ' ),
$( '<label>' )
* @return {boolean}
*/
isCascadeableLevel: function ( level ) {
- var cascadeableLevels = mw.config.get( 'wgCascadeableLevels' );
-
- if ( !Array.isArray( cascadeableLevels ) ) {
- return false;
- }
-
- return cascadeableLevels.indexOf( level ) !== -1;
+ return config.CascadingRestrictionLevels.indexOf( level ) !== -1;
},
/**
* @return {boolean}
*/
matchAttribute: function ( objects, attrName ) {
- // eslint-disable-next-line jquery/no-map-util
+ // eslint-disable-next-line no-jquery/no-map-util
return $.map( objects, function ( object ) {
return object[ attrName ];
} ).filter( function ( item, index, a ) {