Sbisson has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/398092 )

Change subject: RCFilters: Fix live update
......................................................................

RCFilters: Fix live update

When Id55702ecbe6b96ee57453d4f86f20bd94a401d7c
introduced the MainWrapperWidget, it changed
the order on initialization, which prevents
ChangesListViewModel from getting the initial
value of the 'from' parameter and thus
disables polling for new changes.

This patch ensures ChangesListViewModel is
given the initial form in its constructor
so it can extract what it needs from it
before the page DOM is being transformed.

Bug: T182788
Change-Id: I1b72790194877ff0f200c87e4f40a942f1ccac3b
(cherry picked from commit a01142f92caeb98d54aa6de738c33fcdae11427c)
---
M resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
M resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
2 files changed, 10 insertions(+), 6 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/core 
refs/changes/92/398092/1

diff --git 
a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js 
b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
index 15fe334..96b4410 100644
--- 
a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
+++ 
b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
@@ -4,17 +4,19 @@
         *
         * @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 */
@@ -74,7 +76,6 @@
         * @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
@@ -114,7 +115,9 @@
         */
        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;
+               }
        };
 
        /**
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js 
b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
index 582d25f..565ac0a 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.init.js
@@ -11,11 +11,12 @@
                        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(
@@ -82,7 +83,7 @@
                                                '.mw-changeslist-timeout',
                                                '.mw-changeslist-notargetpage'
                                        ].join( ', ' ) ),
-                                       $formContainer: $( 'fieldset.cloptions' 
)
+                                       $formContainer: $initialFieldset
                                }
                        );
 

-- 
To view, visit https://gerrit.wikimedia.org/r/398092
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I1b72790194877ff0f200c87e4f40a942f1ccac3b
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/core
Gerrit-Branch: wmf/1.31.0-wmf.12
Gerrit-Owner: Sbisson <sbis...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to