jenkins-bot has submitted this change and it was merged. (
https://gerrit.wikimedia.org/r/356180 )
Change subject: RCFilters: Don't emit wikipage.content on first load
......................................................................
RCFilters: Don't emit wikipage.content on first load
If the first load uses existing DOM elements, don't emit that
hook. Only emit if we're pulling from the server for new results.
Bug: T165350
Change-Id: Ib17fdd16a908808f99fe8506c50c61d90ad4addc
---
M resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
M resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
M
resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
M resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
4 files changed, 19 insertions(+), 9 deletions(-)
Approvals:
Catrope: Looks good to me, approved
jenkins-bot: Verified
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 c839a13..49c0b82 100644
---
a/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
+++
b/resources/src/mediawiki.rcfilters/dm/mw.rcfilters.dm.ChangesListViewModel.js
@@ -52,10 +52,11 @@
*
* @param {jQuery|string} changesListContent
* @param {jQuery} $fieldset
+ * @param {boolean} [isInitialDOM] Using the initial (already attached)
DOM elements
*/
- mw.rcfilters.dm.ChangesListViewModel.prototype.update = function (
changesListContent, $fieldset ) {
+ mw.rcfilters.dm.ChangesListViewModel.prototype.update = function (
changesListContent, $fieldset, isInitialDOM ) {
this.valid = true;
- this.emit( 'update', changesListContent, $fieldset );
+ this.emit( 'update', changesListContent, $fieldset,
isInitialDOM );
};
}( mediaWiki ) );
diff --git a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
index 5858566..0abfb34 100644
--- a/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
+++ b/resources/src/mediawiki.rcfilters/mw.rcfilters.Controller.js
@@ -136,7 +136,8 @@
// so it gets processed
this.changesListModel.update(
$changesList.length ? $changesList :
'NO_RESULTS',
- $( 'fieldset.rcoptions' ).first()
+ $( 'fieldset.rcoptions' ).first(),
+ true // We're using existing DOM elements
);
}
diff --git
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
index 843acce..6512f04 100644
---
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
+++
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.ChangesListWrapperWidget.js
@@ -87,8 +87,10 @@
* Respond to changes list model update
*
* @param {jQuery|string} $changesListContent The content of the
updated changes list
+ * @param {jQuery} $fieldset The content of the updated fieldset
+ * @param {boolean} isInitialDOM Whether $changesListContent is the
existing (already attached) DOM
*/
- mw.rcfilters.ui.ChangesListWrapperWidget.prototype.onModelUpdate =
function ( $changesListContent ) {
+ mw.rcfilters.ui.ChangesListWrapperWidget.prototype.onModelUpdate =
function ( $changesListContent, $fieldset, isInitialDOM ) {
var conflictItem,
$message = $( '<div>' )
.addClass(
'mw-rcfilters-ui-changesListWrapperWidget-results' ),
@@ -130,8 +132,10 @@
// Apply highlight
this.applyHighlight();
- // Make sure enhanced RC re-initializes correctly
- mw.hook( 'wikipage.content' ).fire( this.$element );
+ if ( !isInitialDOM ) {
+ // Make sure enhanced RC re-initializes
correctly
+ mw.hook( 'wikipage.content' ).fire(
this.$element );
+ }
}
this.popPending();
};
diff --git
a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
index dbee65c..9c82451 100644
--- a/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
+++ b/resources/src/mediawiki.rcfilters/ui/mw.rcfilters.ui.FormWrapperWidget.js
@@ -99,14 +99,18 @@
*
* @param {jQuery|string} $changesList Updated changes list
* @param {jQuery} $fieldset Updated fieldset
+ * @param {boolean} isInitialDOM Whether $changesListContent is the
existing (already attached) DOM
*/
- mw.rcfilters.ui.FormWrapperWidget.prototype.onChangesModelUpdate =
function ( $changesList, $fieldset ) {
+ mw.rcfilters.ui.FormWrapperWidget.prototype.onChangesModelUpdate =
function ( $changesList, $fieldset, isInitialDOM ) {
this.$submitButton.prop( 'disabled', false );
// Replace the entire fieldset
this.$element.empty().append( $fieldset.contents() );
- // Make sure enhanced RC re-initializes correctly
- mw.hook( 'wikipage.content' ).fire( this.$element );
+
+ if ( !isInitialDOM ) {
+ // Make sure enhanced RC re-initializes correctly
+ mw.hook( 'wikipage.content' ).fire( this.$element );
+ }
this.cleanUpFieldset();
--
To view, visit https://gerrit.wikimedia.org/r/356180
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: Ib17fdd16a908808f99fe8506c50c61d90ad4addc
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/core
Gerrit-Branch: master
Gerrit-Owner: Mooeypoo <[email protected]>
Gerrit-Reviewer: Catrope <[email protected]>
Gerrit-Reviewer: Jack Phoenix <[email protected]>
Gerrit-Reviewer: Mooeypoo <[email protected]>
Gerrit-Reviewer: MtDu <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits