*
* @mixins OO.EventEmitter
*
+ * @param {jQuery} $initialFieldset The initial server-generated legacy form content
* @constructor
*/
- mw.rcfilters.dm.ChangesListViewModel = function MwRcfiltersDmChangesListViewModel() {
+ mw.rcfilters.dm.ChangesListViewModel = function MwRcfiltersDmChangesListViewModel( $initialFieldset ) {
// Mixin constructor
OO.EventEmitter.call( this );
this.valid = true;
this.newChangesExist = false;
- this.nextFrom = null;
this.liveUpdate = false;
this.unseenWatchedChanges = false;
+
+ this.extractNextFrom( $initialFieldset );
};
/* Initialization */
* @param {jQuery|string} changesListContent
* @param {jQuery} $fieldset
* @param {string} noResultsDetails Type of no result error
- * timeout.
* @param {boolean} [isInitialDOM] Using the initial (already attached) DOM elements
* @param {boolean} [separateOldAndNew] Whether a logical separation between old and new changes is needed
* @fires update
*/
mw.rcfilters.dm.ChangesListViewModel.prototype.extractNextFrom = function ( $fieldset ) {
var data = $fieldset.find( '.rclistfrom > a, .wlinfo' ).data( 'params' );
- this.nextFrom = data ? data.from : null;
+ if ( data && data.from ) {
+ this.nextFrom = data.from;
+ }
};
/**
var $topSection,
mainWrapperWidget,
conditionalViews = {},
+ $initialFieldset = $( 'fieldset.cloptions' ),
savedQueriesPreferenceName = mw.config.get( 'wgStructuredChangeFiltersSavedQueriesPreferenceName' ),
daysPreferenceName = mw.config.get( 'wgStructuredChangeFiltersDaysPreferenceName' ),
limitPreferenceName = mw.config.get( 'wgStructuredChangeFiltersLimitPreferenceName' ),
filtersModel = new mw.rcfilters.dm.FiltersViewModel(),
- changesListModel = new mw.rcfilters.dm.ChangesListViewModel(),
+ changesListModel = new mw.rcfilters.dm.ChangesListViewModel( $initialFieldset ),
savedQueriesModel = new mw.rcfilters.dm.SavedQueriesModel( filtersModel ),
specialPage = mw.config.get( 'wgCanonicalSpecialPageName' ),
controller = new mw.rcfilters.Controller(
'.mw-changeslist-timeout',
'.mw-changeslist-notargetpage'
].join( ', ' ) ),
- $formContainer: $( 'fieldset.cloptions' )
+ $formContainer: $initialFieldset
}
);