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