'liveUpdate',
{
limit: 1,
+ peek: 1, // bypasses all UI
from: this.changesListModel.getNextFrom()
}
);
}
} );
- return $.extend( true, {}, savedParams, savedHighlights );
+ return $.extend( true, {}, savedParams, savedHighlights, { invert: String( Number( data.invert || 0 ) ) } );
}
return this.filtersModel.getDefaultParams();
counterId = counterId || 'updateChangesList';
params = params || {};
+ params.action = 'render'; // bypasses MW chrome
uri.extend( params );
return $.ajax( uri.toString(), { contentType: 'html' } )
.then(
- function ( html ) {
+ function ( html, reason ) {
var $parsed,
pieces;
return $.Deferred().reject();
}
- $parsed = $( $.parseHTML( html ) );
+ if ( params.peek && reason === 'notmodified' ) {
+ return {
+ changes: 'NO_RESULTS'
+ };
+ }
+
+ // Because of action=render, the response is a list of nodes.
+ // It has to be put under a root node so it can be queried.
+ $parsed = $( '<div>' ).append( $( $.parseHTML( html ) ) );
pieces = {
// Changes list