$( function () {
if( mw.config.get( "wgAction" ) === "history" ) {
mw.loader.using( [ "mediawiki.util" ], function () {
var param = mw.util.getParamValue( "revdel_select" );
if( param ) {
var pageHistory = document.getElementById( "pagehistory" );
var oldids = param.split( "|" ).filter( Boolean );
if( oldids.some( function ( oldid ) { return oldid.indexOf( ".." ) >= 0; } ) ) {
var allCheckboxes = Array.prototype.slice.call( pageHistory.querySelectorAll( "input[name^='ids[']" ) );
}
function expandRange ( range ) {
var start = range[0],
end = range[1],
startCheckbox = pageHistory.querySelector( "input[name='ids[" start "]']" ),
endCheckbox = pageHistory.querySelector( "input[name='ids[" end "]']" ),
startIdx = allCheckboxes.indexOf( startCheckbox ),
endIdx = allCheckboxes.indexOf( endCheckbox ),
checkboxes = [];
if( !startCheckbox ) throw( "No checkbox found for revision " start );
if( !endCheckbox ) throw( "No checkbox found for revision " end );
for( var idx = startIdx, inc = Math.sign( endIdx - startIdx );
idx != endIdx; idx = inc ) {
checkboxes.push( allCheckboxes[ idx ] );
}
checkboxes.push( endCheckbox );
return checkboxes;
}
var singletonSelectors = [];
function makeChecked( box ) { box.checked = true; }
for( var i = 0, n = oldids.length; i < n; i ) {
if( oldids[i].indexOf( ".." ) >= 0 ) {
expandRange( oldids[i].split( ".." ) ).forEach( makeChecked );
} else {
singletonSelectors.push( "input[name='ids[" oldids[i] "]']" );
}
}
if( singletonSelectors.length ) {
Array.prototype.slice.call( document.querySelectorAll(
singletonSelectors.join( "," ) ) ).forEach( makeChecked );
}
}
} );
}
} );