Jdlrobson has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/288004

Change subject: Hygiene: EditorOverlays take OverlayManager parameter
......................................................................

Hygiene: EditorOverlays take OverlayManager parameter

Rather than create a new overlay manager inside these modules, enforce
that they pass in an instance.

Change-Id: Ia8ad14f4a4b926212e381a92c05e67cf5ec64ecd
---
M resources/mobile.abusefilter/AbuseFilterPanel.js
M resources/mobile.editor.common/EditorOverlayBase.js
M resources/mobile.editor.overlay/EditorOverlay.js
M resources/mobile.editor.ve/VisualEditorOverlay.js
M resources/skins.minerva.editor/init.js
5 files changed, 14 insertions(+), 10 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend 
refs/changes/04/288004/1

diff --git a/resources/mobile.abusefilter/AbuseFilterPanel.js 
b/resources/mobile.abusefilter/AbuseFilterPanel.js
index f66f761..917aaac 100644
--- a/resources/mobile.abusefilter/AbuseFilterPanel.js
+++ b/resources/mobile.abusefilter/AbuseFilterPanel.js
@@ -1,8 +1,7 @@
 ( function ( M ) {
        var
                View = M.require( 'mobile.view/View' ),
-               AbuseFilterOverlay = M.require( 
'mobile.abusefilter/AbuseFilterOverlay' ),
-               overlayManager = M.require( 'mobile.startup/overlayManager' );
+               AbuseFilterOverlay = M.require( 
'mobile.abusefilter/AbuseFilterOverlay' );
 
        /**
         * Panel that shows an error message related to the abusefilter 
extension.
@@ -11,8 +10,9 @@
         * @uses AbuseFilterOverlay
         * FIXME: should extend Panel not View. Or the name should be changed 
to something meaningful.
         */
-       function AbuseFilterPanel() {
+       function AbuseFilterPanel( options ) {
                this.isDisallowed = false;
+               this.overlayManager = options.overlayManager;
                View.apply( this, arguments );
        }
 
@@ -21,6 +21,7 @@
                 * @cfg {Object} defaults Default options hash.
                 * @cfg {String} defaults.readMoreMsg A caption for the button 
allowing the user to read
                 * more about the problems with their edit.
+                * @cfg {OverlayManager} defaults.overlayManager instance
                 */
                defaults: {
                        readMoreMsg: mw.msg( 
'mobile-frontend-editor-abusefilter-read-more' )
@@ -38,7 +39,7 @@
                        var msg;
 
                        // OverlayManager will replace previous instance of the 
route if present
-                       overlayManager.add( /^\/abusefilter$/, function () {
+                       this.overlayManager.add( /^\/abusefilter$/, function () 
{
                                return new AbuseFilterOverlay( {
                                        message: message
                                } );
diff --git a/resources/mobile.editor.common/EditorOverlayBase.js 
b/resources/mobile.editor.common/EditorOverlayBase.js
index 1800b7a..471146b 100644
--- a/resources/mobile.editor.common/EditorOverlayBase.js
+++ b/resources/mobile.editor.common/EditorOverlayBase.js
@@ -60,6 +60,7 @@
                this.sectionId = options.sectionId;
                this.config = mw.config.get( 'wgMFEditorOptions' );
                this.sessionId = options.sessionId;
+               this.overlayManager = options.overlayManager;
                this.allowCloseWindow = mw.confirmCloseWindow( {
                        /** Returns true, if content has changed, otherwise 
false */
                        test: function () {
@@ -80,6 +81,7 @@
                /**
                 * @inheritdoc
                 * @cfg {Object} defaults Default options hash.
+                * @cfg {OverlayManager} defaults.overlayManager instance
                 * @cfg {mw.Api} defaults.api to interact with
                 * @cfg {Boolean} defaults.hasToolbar Whether the editor has a 
toolbar or not. When
                 *  disabled a header will be show instead.
diff --git a/resources/mobile.editor.overlay/EditorOverlay.js 
b/resources/mobile.editor.overlay/EditorOverlay.js
index 7e200d7..0697371 100644
--- a/resources/mobile.editor.overlay/EditorOverlay.js
+++ b/resources/mobile.editor.overlay/EditorOverlay.js
@@ -5,7 +5,6 @@
                AbuseFilterPanel = M.require( 
'mobile.abusefilter/AbuseFilterPanel' ),
                settings = M.require( 'mobile.settings/settings' ),
                Button = M.require( 'mobile.startup/Button' ),
-               overlayManager = M.require( 'mobile.startup/overlayManager' ),
                toast = M.require( 'mobile.toast/toast' ),
                MessageBox = M.require( 'mobile.messageBox/MessageBox' );
 
@@ -164,7 +163,9 @@
                        // make license links open in separate tabs
                        this.$( '.license a' ).attr( 'target', '_blank' );
 
-                       this.abuseFilterPanel = new 
AbuseFilterPanel().appendTo( this.$( '.panels' ) );
+                       this.abuseFilterPanel = new AbuseFilterPanel( {
+                               overlayManager: this.overlayManager
+                       } ).appendTo( this.$( '.panels' ) );
 
                        // If in readOnly mode, make textarea readonly
                        if ( this.readOnly ) {
@@ -352,7 +353,7 @@
                                        var VisualEditorOverlay = M.require( 
'mobile.editor.ve/VisualEditorOverlay' );
 
                                        self.clearSpinner();
-                                       overlayManager.replaceCurrent( new 
VisualEditorOverlay( options ) );
+                                       self.overlayManager.replaceCurrent( new 
VisualEditorOverlay( options ) );
                                },
                                function () {
                                        self.clearSpinner();
diff --git a/resources/mobile.editor.ve/VisualEditorOverlay.js 
b/resources/mobile.editor.ve/VisualEditorOverlay.js
index bf86066..e018c58 100644
--- a/resources/mobile.editor.ve/VisualEditorOverlay.js
+++ b/resources/mobile.editor.ve/VisualEditorOverlay.js
@@ -1,7 +1,6 @@
 ( function ( M, $, ve ) {
        var EditorOverlayBase = M.require( 
'mobile.editor.common/EditorOverlayBase' ),
-               settings = M.require( 'mobile.settings/settings' ),
-               overlayManager = M.require( 'mobile.startup/overlayManager' );
+               settings = M.require( 'mobile.settings/settings' );
 
        /**
         * Overlay for VisualEditor view
@@ -127,7 +126,7 @@
 
                                self.clearSpinner();
                                self.applyHeaderOptions( self.options, false );
-                               overlayManager.replaceCurrent( new 
EditorOverlay( self.options ) );
+                               self.overlayManager.replaceCurrent( new 
EditorOverlay( self.options ) );
                        } );
                },
                /** @inheritdoc **/
diff --git a/resources/skins.minerva.editor/init.js 
b/resources/skins.minerva.editor/init.js
index bae68e2..4dbf82e 100644
--- a/resources/skins.minerva.editor/init.js
+++ b/resources/skins.minerva.editor/init.js
@@ -142,6 +142,7 @@
                                result = $.Deferred(),
                                preferredEditor = getPreferredEditor(),
                                editorOptions = {
+                                       overlayManager: overlayManager,
                                        api: new mw.Api(),
                                        licenseMsg: skin.getLicenseMsg(),
                                        title: page.title,

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ia8ad14f4a4b926212e381a92c05e67cf5ec64ecd
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to