Bmansurov has uploaded a new change for review.
https://gerrit.wikimedia.org/r/183754
Change subject: Move modes.js into context.js
......................................................................
Move modes.js into context.js
* Split mobile.startup into multiple modules
* also create context module
Although context.js is supposed be loaded by beta and alpha features
only, the current setup doesn't allow this. For example Icon class uses
this file and Icon is used everywhere.
Bug: T85572
Change-Id: Ibf474ee0baacbb04f39381f10edab1e9c8756298
---
M includes/MobileFrontend.hooks.php
M includes/Resources.php
M javascripts/Icon.js
M javascripts/PageApi.js
M javascripts/Schema.js
M javascripts/Section.js
R javascripts/context.js
M javascripts/loggingSchemas/init.js
M javascripts/modules/bannerImage/init.js
M javascripts/modules/errorReport/init.js
M javascripts/modules/infobox/init.js
M javascripts/modules/issues/init.js
M javascripts/modules/references/init.js
M javascripts/modules/search/init.js
M javascripts/modules/talk/TalkOverlay.js
M javascripts/modules/talk/TalkSectionAddOverlay.js
M javascripts/modules/talk/TalkSectionOverlay.js
M javascripts/modules/talk/talk.js
M javascripts/modules/toggling/init.js
M javascripts/modules/uploads/UploadTutorial.js
M javascripts/modules/wikiGrokRoulette/init.js
M javascripts/modules/wikigrok/WikiGrokResponseApi.js
M javascripts/specials/mobileoptions.js
M tests/qunit/modules/references/test_init.js
24 files changed, 192 insertions(+), 81 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/MobileFrontend
refs/changes/54/183754/1
diff --git a/includes/MobileFrontend.hooks.php
b/includes/MobileFrontend.hooks.php
index 3e010ee..b659efa 100644
--- a/includes/MobileFrontend.hooks.php
+++ b/includes/MobileFrontend.hooks.php
@@ -917,6 +917,7 @@
$wgResourceModules['mobile.loggingSchemas'] =
$wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array_merge( $additionalDependencies,
array(
'mobile.startup',
+ 'mobile.context',
'mobile.settings',
) ),
'scripts' => $scripts,
diff --git a/includes/Resources.php b/includes/Resources.php
index 62a5fd3..53cbf01 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -172,7 +172,7 @@
'mobile.toc' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.templates',
'mobile.loggingSchemas',
'mobile.toggling',
@@ -194,6 +194,9 @@
),
'mobile.ajax' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.api',
+ ),
'styles' => array(
'less/spinner.less',
),
@@ -209,37 +212,110 @@
),
),
- // FIXME: Split this module into different features.
'mobile.startup' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
'mobile.head',
- 'mobile.templates',
'mobile.user',
'mediawiki.api',
- 'mobile.redlinks',
),
- 'templates' => array(
- 'icon.hogan' => 'templates/icon.hogan',
- 'Section.hogan' => 'templates/Section.hogan',
+ ),
+
+ 'mobile.api' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.startup',
+ ),
+ 'scripts' => array(
+ 'javascripts/api.js',
+ ),
+ ),
+
+ 'mobile.util' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.head',
+ ),
+ 'scripts' => array(
+ 'javascripts/util.js',
+ ),
+ ),
+
+ 'mobile.view' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.head',
+ 'mobile.templates',
),
'scripts' => array(
'javascripts/View.js',
- 'javascripts/Router.js',
- 'javascripts/OverlayManager.js',
- // FIXME: Remove api code to mobile.ajax
- 'javascripts/api.js',
- 'javascripts/PageApi.js',
- 'javascripts/Icon.js',
- 'javascripts/icons.js',
- 'javascripts/Panel.js',
- 'javascripts/Section.js',
- 'javascripts/Page.js',
- 'javascripts/Skin.js',
- 'javascripts/Schema.js',
- 'javascripts/util.js',
- 'javascripts/application.js',
),
'position' => 'bottom',
+ ),
+
+ 'mobile.panel' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.view',
+ ),
+ 'scripts' => array(
+ 'javascripts/Panel.js',
+ )
+ ),
+
+ 'mobile.icon' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.view',
+ 'mobile.context',
+ ),
+ 'templates' => array(
+ 'icon.hogan' => 'templates/icon.hogan',
+ ),
+ 'scripts' => array(
+ 'javascripts/Icon.js',
+ 'javascripts/icons.js',
+ )
+ ),
+
+ 'mobile.section' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.icon',
+ ),
+ 'templates' => array(
+ 'Section.hogan' => 'templates/Section.hogan',
+ ),
+ 'scripts' => array(
+ 'javascripts/Section.js',
+ )
+ ),
+
+ 'mobile.page' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.api',
+ 'mobile.section',
+ ),
+ 'scripts' => array(
+ 'javascripts/PageApi.js',
+ 'javascripts/Page.js',
+ )
+ ),
+
+ 'mobile.skin' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.page',
+ ),
+ 'scripts' => array(
+ 'javascripts/Skin.js',
+ )
+ ),
+
+ 'mobile.application' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.redlinks',
+ 'mobile.view',
+ 'mobile.skin'
+ ),
+ 'scripts' => array(
+ 'javascripts/Router.js',
+ 'javascripts/OverlayManager.js',
+ 'javascripts/Schema.js',
+ 'javascripts/application.js',
+ )
),
'mobile.redlinks' => $wgMFResourceFileModuleBoilerplate + array(
@@ -265,7 +341,7 @@
'mobile.leadPhotoUploader' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.user',
'mobile.upload.ui',
),
@@ -278,7 +354,8 @@
'mobile.editor' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.util',
+ 'mobile.application',
'mobile.drawers',
'mediawiki.ui.input',
'mobile.settings',
@@ -308,7 +385,7 @@
'mobile.abusefilter' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
'mobile.overlays',
- 'mobile.startup',
+ 'mobile.application',
'mobile.templates',
),
'templates' => array(
@@ -496,7 +573,7 @@
'mobile.preferredLanguages' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.settings',
),
'scripts' => array(
@@ -582,7 +659,7 @@
'dependencies' => array(
'mobile.overlays',
// for Api.js
- 'mobile.startup',
+ 'mobile.application',
'mobile.templates',
),
'styles' => array(
@@ -636,7 +713,8 @@
'mobile.wikigrok' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.util',
+ 'mobile.application',
'mobile.wikigrok.abTest',
'mobile.loggingSchemas',
),
@@ -649,7 +727,7 @@
'mobile.overlays' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
'mobile.templates',
- 'mobile.startup',
+ 'mobile.application',
'mobile.ajax',
),
'scripts' => array(
@@ -675,7 +753,8 @@
'mobile.drawers' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.panel',
+ 'mobile.application',
),
'templates' => array(
'Cta.hogan' => 'templates/ctaDrawer.hogan',
@@ -705,7 +784,7 @@
'mobile.upload.ui' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.ajax',
'mobile.overlays',
),
@@ -734,7 +813,7 @@
// This module remembers that desktop site is your preference for
viewing on a mobile phone
'mobile.redirect' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.toast',
'mobile.settings',
),
@@ -781,7 +860,8 @@
'mobile.toggling' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.util',
+ 'mobile.application',
'mobile.settings',
),
'styles' => array(
@@ -814,6 +894,7 @@
'mobile.newusers' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
+ 'mobile.util',
'mobile.templates',
'mobile.editor',
'mobile.contentOverlays',
@@ -833,7 +914,7 @@
'mobile.watchstar' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.templates',
'mobile.drawers',
'mobile.ajax',
@@ -860,7 +941,7 @@
'mobile.errorReport' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.overlays',
),
'scripts' => array(
@@ -1017,6 +1098,7 @@
'mobile.wikigrok.roulette' => $wgMFResourceFileModuleBoilerplate +
array(
'dependencies' => array(
+ 'mobile.util',
'mobile.overlays',
'mobile.wikigrok.dialog.b',
),
@@ -1059,7 +1141,7 @@
'mobile.wikidata.api' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
),
'scripts' => array(
'javascripts/modules/wikigrok/WikiDataApi.js'
@@ -1068,7 +1150,7 @@
'mobile.wikigrok.api' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
),
'scripts' => array(
'javascripts/modules/wikigrok/WikiGrokResponseApi.js',
@@ -1078,7 +1160,7 @@
// See https://www.mediawiki.org/wiki/Extension:MobileFrontend/WikiGrok
'mobile.wikigrok.dialog' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.overlays',
'mobile.loggingSchemas',
'mobile.wikigrok.api',
@@ -1148,7 +1230,7 @@
'mobile.fontchanger' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.settings',
'mobile.templates',
'mobile.drawers',
@@ -1172,11 +1254,15 @@
// Custom ResourceLoaderModule classes
'mobile.site' => array(
- 'dependencies' => array( 'mobile.startup' ),
+ 'dependencies' => array(
+ 'mobile.application',
+ ),
'class' => 'MobileSiteModule',
),
'mobile.usermodule' => array(
- 'dependencies' => array( 'mobile.startup' ),
+ 'dependencies' => array(
+ 'mobile.application',
+ ),
'class' => 'MobileUserModule',
),
) );
@@ -1239,7 +1325,7 @@
'mobile.special.mobileoptions.scripts' =>
$wgMFMobileSpecialPageResourceBoilerplate + array(
'position' => 'top',
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.settings',
'mobile.templates',
),
@@ -1311,7 +1397,7 @@
'mobile.special.uploads.scripts' => $wgMFResourceFileModuleBoilerplate
+ array(
'dependencies' => array(
'mobile.upload.ui',
- 'mobile.startup',
+ 'mobile.application',
'mobile.toast',
),
'templates' => array(
@@ -1386,8 +1472,9 @@
'skins.minerva.special.watchlist.scripts' =>
$wgMFMobileSpecialPageResourceBoilerplate + array(
'dependencies' => array(
+ 'mobile.util',
'mobile.loggingSchemas',
- 'mobile.startup',
+ 'mobile.application',
'mobile.pagelist.scripts',
),
'scripts' => array(
@@ -1419,7 +1506,6 @@
'javascripts/modules.js',
'javascripts/Class.js',
'javascripts/eventemitter.js',
- 'javascripts/modes.js',
'javascripts/browser.js',
'javascripts/mainmenu.js',
'javascripts/modules/lastEdited/time.js',
@@ -1441,7 +1527,7 @@
// By mode.
'mobile.stable' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
- 'mobile.startup',
+ 'mobile.application',
'mobile.loggingSchemas',
// FIXME: Review the modules that follow. Ensure they
are in the correct module definition.
'mobile.user',
@@ -1467,8 +1553,18 @@
'javascripts/modules/languages/init.js',
),
),
+ 'mobile.context' => $wgMFResourceFileModuleBoilerplate + array(
+ 'dependencies' => array(
+ 'mobile.head',
+ ),
+ 'scripts' => array(
+ 'javascripts/context.js'
+ ),
+ ),
+
'mobile.beta' => $wgMFResourceFileModuleBoilerplate + array(
'dependencies' => array(
+ 'mobile.context',
'mobile.stable',
// Feature modules that should be loaded in beta should
be listed below here.
// These modules should only setup routes/events or
diff --git a/javascripts/Icon.js b/javascripts/Icon.js
index 84fc5dc..50cf360 100644
--- a/javascripts/Icon.js
+++ b/javascripts/Icon.js
@@ -1,7 +1,8 @@
( function ( M, $ ) {
var View = M.require( 'View' ),
- useMediaWikiUI = M.isAlphaGroupMember(),
+ context = M.require( 'context' ),
+ useMediaWikiUI = context.isAlphaGroupMember(),
Icon;
/**
@@ -65,7 +66,7 @@
toHtmlString: function () {
return $( '<div>' ).append( this.$el ).html();
},
- template: mw.template.get( 'mobile.startup', 'icon.hogan' )
+ template: mw.template.get( 'mobile.icon', 'icon.hogan' )
} );
M.define( 'Icon', Icon );
diff --git a/javascripts/PageApi.js b/javascripts/PageApi.js
index 00af750..b437a50 100644
--- a/javascripts/PageApi.js
+++ b/javascripts/PageApi.js
@@ -1,7 +1,7 @@
( function ( M, $ ) {
var PageApi,
Api = M.require( 'api' ).Api,
- sectionTemplate = mw.template.get( 'mobile.startup',
'Section.hogan' );
+ sectionTemplate = mw.template.get( 'mobile.section',
'Section.hogan' );
/**
* Add child to listOfSections if the level of child is the same as the
last
diff --git a/javascripts/Schema.js b/javascripts/Schema.js
index 046e762..32d30d8 100644
--- a/javascripts/Schema.js
+++ b/javascripts/Schema.js
@@ -1,5 +1,6 @@
( function ( M, $ ) {
var Schema,
+ context = M.require( 'context' ),
browser = M.require( 'browser' ),
Class = M.require( 'Class' );
@@ -16,7 +17,7 @@
* @cfg {String} defaults.mobileMode whether user is in stable
beta or alpha
*/
defaults: {
- mobileMode: M.getMode()
+ mobileMode: context.getMode()
},
/**
* Name of Schema to log to
diff --git a/javascripts/Section.js b/javascripts/Section.js
index 95c1515..16888e3 100644
--- a/javascripts/Section.js
+++ b/javascripts/Section.js
@@ -10,7 +10,7 @@
* @extends View
*/
Section = View.extend( {
- template: mw.template.get( 'mobile.startup', 'Section.hogan' ),
+ template: mw.template.get( 'mobile.section', 'Section.hogan' ),
/**
* @cfg {Object} defaults Default options hash.
* @cfg {String} defaults.text Section text.
diff --git a/javascripts/modes.js b/javascripts/context.js
similarity index 82%
rename from javascripts/modes.js
rename to javascripts/context.js
index 8c272ba..ac1b320 100644
--- a/javascripts/modes.js
+++ b/javascripts/context.js
@@ -1,12 +1,13 @@
-/**
- * Mobile mode helper class
- *
- * @class mw.mobileFrontend
- * @singleton
- */
-( function ( $ ) {
- mw.mobileFrontend = $.extend( {
+( function ( M, $ ) {
+ var context;
+ /**
+ * Mobile mode helper class
+ *
+ * @class context
+ * @singleton
+ */
+ context = {
/**
* Gets current mobile mode
* @method
@@ -46,6 +47,8 @@
throw new Error( 'Attempt to run module outside
declared environment mode ' + mode );
}
}
- }, mw.mobileFrontend );
+ };
-}( jQuery ) );
+ M.define( 'context', context );
+
+}( mw.mobileFrontend, jQuery ) );
diff --git a/javascripts/loggingSchemas/init.js
b/javascripts/loggingSchemas/init.js
index ea75b8b..11a4d8a 100644
--- a/javascripts/loggingSchemas/init.js
+++ b/javascripts/loggingSchemas/init.js
@@ -1,6 +1,7 @@
// Add EventLogging to hamburger menu
( function ( M, $ ) {
var SchemaMobileWebClickTracking = M.require(
'loggingSchemas/SchemaMobileWebClickTracking' ),
+ context = M.require( 'context' ),
mainMenuSchema = new SchemaMobileWebClickTracking( {},
'MobileWebMainMenuClickTracking' ),
uiSchema = new SchemaMobileWebClickTracking( {},
'MobileWebUIClickTracking' );
@@ -12,7 +13,7 @@
*/
function mainMenuIconSelector( name ) {
// FIXME: Remove when mw-ui-icon is in stable
- if ( !M.isAlphaGroupMember() ) {
+ if ( !context.isAlphaGroupMember() ) {
return '#mw-mf-page-left .icon-' + name;
} else {
return '#mw-mf-page-left .mw-ui-icon-' + name;
diff --git a/javascripts/modules/bannerImage/init.js
b/javascripts/modules/bannerImage/init.js
index ce97fd2..289c41d 100644
--- a/javascripts/modules/bannerImage/init.js
+++ b/javascripts/modules/bannerImage/init.js
@@ -1,5 +1,5 @@
( function ( M ) {
- M.assertMode( [ 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'alpha' ] );
var bannerImage,
page = M.getCurrentPage(),
browser = M.require( 'browser' ),
diff --git a/javascripts/modules/errorReport/init.js
b/javascripts/modules/errorReport/init.js
index e463458..2f5266c 100644
--- a/javascripts/modules/errorReport/init.js
+++ b/javascripts/modules/errorReport/init.js
@@ -1,6 +1,6 @@
( function ( M, $ ) {
// Run only in alpha mode
- M.assertMode( [ 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'alpha' ] );
var user = M.require( 'user' ),
page = M.getCurrentPage(),
diff --git a/javascripts/modules/infobox/init.js
b/javascripts/modules/infobox/init.js
index 520d2a2..7f6a39b 100644
--- a/javascripts/modules/infobox/init.js
+++ b/javascripts/modules/infobox/init.js
@@ -1,5 +1,5 @@
( function ( M ) {
- M.assertMode( [ 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'alpha' ] );
var infobox,
page = M.getCurrentPage(),
wikidataID = mw.config.get( 'wgWikibaseItemId' ),
diff --git a/javascripts/modules/issues/init.js
b/javascripts/modules/issues/init.js
index cf18f3b..83a11de 100644
--- a/javascripts/modules/issues/init.js
+++ b/javascripts/modules/issues/init.js
@@ -1,11 +1,11 @@
( function ( M, $ ) {
var module = ( function () {
- var
+ var context = M.require( 'context' ),
Icon = M.require( 'Icon' ),
- inBeta = M.isBetaGroupMember(),
+ inBeta = context.isBetaGroupMember(),
CleanupOverlay = M.require(
'modules/issues/CleanupOverlay' ),
- inAlpha = M.isAlphaGroupMember();
+ inAlpha = context.isAlphaGroupMember();
/**
* Extract a summary message from a cleanup template generated
element that is
diff --git a/javascripts/modules/references/init.js
b/javascripts/modules/references/init.js
index 7c85c46..4875fb0 100644
--- a/javascripts/modules/references/init.js
+++ b/javascripts/modules/references/init.js
@@ -1,5 +1,6 @@
( function ( M, $ ) {
- var drawer;
+ var drawer,
+ context = M.require( 'context' );
/**
* Return the matched reference among the children of ol.references
@@ -51,7 +52,7 @@
var $container = page ? page.$el : $( '#content' ),
module, view, ReferencesDrawer;
- if ( M.isBetaGroupMember() ) {
+ if ( context.isBetaGroupMember() ) {
module = 'mobile.references.beta';
view = 'modules/references/ReferencesDrawerBeta';
} else {
diff --git a/javascripts/modules/search/init.js
b/javascripts/modules/search/init.js
index 034b778..c9c7576 100644
--- a/javascripts/modules/search/init.js
+++ b/javascripts/modules/search/init.js
@@ -3,6 +3,7 @@
var SearchOverlay = M.require( 'modules/search/SearchOverlay' ),
SchemaMobileWebClickTracking = M.require(
'loggingSchemas/SchemaMobileWebClickTracking' ),
uiSchema = new SchemaMobileWebClickTracking( {},
'MobileWebUIClickTracking' ),
+ context = M.require( 'context' ),
browser = M.require( 'browser' );
/**
@@ -39,7 +40,7 @@
// FIXME: ugly hack that removes search from browser history when
navigating
// to search results (we can't rely on History API yet)
// alpha does it differently in lazyload.js
- if ( !M.isAlphaGroupMember() ) {
+ if ( !context.isAlphaGroupMember() ) {
M.on( 'search-results', function ( overlay ) {
overlay.$( '.results a' ).on( 'click', function () {
var href = $( this ).attr( 'href' );
diff --git a/javascripts/modules/talk/TalkOverlay.js
b/javascripts/modules/talk/TalkOverlay.js
index e413069..37cc010 100644
--- a/javascripts/modules/talk/TalkOverlay.js
+++ b/javascripts/modules/talk/TalkOverlay.js
@@ -1,5 +1,5 @@
( function ( M, $ ) {
- M.assertMode( [ 'beta', 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'beta', 'alpha' ] );
var
Overlay = M.require( 'Overlay' ),
diff --git a/javascripts/modules/talk/TalkSectionAddOverlay.js
b/javascripts/modules/talk/TalkSectionAddOverlay.js
index b659b29..da9b29b 100644
--- a/javascripts/modules/talk/TalkSectionAddOverlay.js
+++ b/javascripts/modules/talk/TalkSectionAddOverlay.js
@@ -1,5 +1,5 @@
( function ( M, $ ) {
- M.assertMode( [ 'beta', 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'beta', 'alpha' ] );
var
Overlay = M.require( 'Overlay' ),
api = M.require( 'api' ),
diff --git a/javascripts/modules/talk/TalkSectionOverlay.js
b/javascripts/modules/talk/TalkSectionOverlay.js
index de31401..dc1cad1 100644
--- a/javascripts/modules/talk/TalkSectionOverlay.js
+++ b/javascripts/modules/talk/TalkSectionOverlay.js
@@ -5,6 +5,7 @@
api = M.require( 'api' ),
user = M.require( 'user' ),
Page = M.require( 'Page' ),
+ context = M.require( 'context' ),
TalkSectionOverlay;
/**
@@ -67,7 +68,7 @@
$comment = this.$( '.comment' ),
$textarea = $comment.find( 'textarea' );
- if ( user.isAnon() || !M.isAlphaGroupMember() ) {
+ if ( user.isAnon() || !context.isAlphaGroupMember() ) {
$comment.remove();
} else {
$textarea.on( 'focus', function () {
diff --git a/javascripts/modules/talk/talk.js b/javascripts/modules/talk/talk.js
index 1537892..6785ab7 100644
--- a/javascripts/modules/talk/talk.js
+++ b/javascripts/modules/talk/talk.js
@@ -1,8 +1,9 @@
( function ( M, $ ) {
var licenseLink = mw.config.get( 'wgMFLicenseLink' ),
+ context = M.require( 'context' ),
$talk = $( '.talk' );
- M.assertMode( [ 'beta', 'alpha', 'app' ] );
+ context.assertMode( [ 'beta', 'alpha', 'app' ] );
M.overlayManager.add( /^\/talk\/?(.*)$/, function ( id ) {
var result = $.Deferred(),
diff --git a/javascripts/modules/toggling/init.js
b/javascripts/modules/toggling/init.js
index 9682033..42f98b5 100644
--- a/javascripts/modules/toggling/init.js
+++ b/javascripts/modules/toggling/init.js
@@ -1,6 +1,7 @@
( function ( M, $ ) {
var page = M.getCurrentPage(),
currentPageTitle = page.title,
+ context = M.require( 'context' ),
settings = M.require( 'settings' ),
browser = M.require( 'browser' ),
escapeHash = M.require( 'util' ).escapeHash,
@@ -206,7 +207,7 @@
collapseSectionsByDefault = true;
}
expandSections = !collapseSectionsByDefault ||
- ( M.isAlphaGroupMember() && settings.get(
'expandSections', true ) === 'true' );
+ ( context.isAlphaGroupMember() && settings.get(
'expandSections', true ) === 'true' );
$container.find( tagName ).each( function ( i ) {
var $heading = $( this ),
diff --git a/javascripts/modules/uploads/UploadTutorial.js
b/javascripts/modules/uploads/UploadTutorial.js
index eb28217..101c7c2 100644
--- a/javascripts/modules/uploads/UploadTutorial.js
+++ b/javascripts/modules/uploads/UploadTutorial.js
@@ -1,6 +1,6 @@
( function ( M, $ ) {
- var
+ var context = M.require( 'context' ),
Overlay = M.require( 'Overlay' ),
Icon = M.require( 'Icon' ),
LeadPhotoUploaderButton = M.require(
'modules/uploads/PhotoUploaderButton' ),
@@ -40,7 +40,7 @@
name: 'next',
additionalClassNames: 'slider-button next'
} ).toHtmlString(),
- inBeta: M.isBetaGroupMember(),
+ inBeta: context.isBetaGroupMember(),
pages: [
{
caption: mw.msg(
'mobile-frontend-first-upload-wizard-new-page-1-header' ),
diff --git a/javascripts/modules/wikiGrokRoulette/init.js
b/javascripts/modules/wikiGrokRoulette/init.js
index 04b2567..04fe046 100644
--- a/javascripts/modules/wikiGrokRoulette/init.js
+++ b/javascripts/modules/wikiGrokRoulette/init.js
@@ -1,5 +1,5 @@
( function ( M, $ ) {
- M.assertMode( [ 'alpha' ] );
+ M.require( 'context' ).assertMode( [ 'alpha' ] );
var $wikiGrokMenuItem = $( '#mw-mf-page-left' ).find(
'.wikigrok-roulette' ),
wikiGrokRoulette = M.require(
'modules/wikiGrokRoulette/wikiGrokRoulette' );
diff --git a/javascripts/modules/wikigrok/WikiGrokResponseApi.js
b/javascripts/modules/wikigrok/WikiGrokResponseApi.js
index 8a88348..6a97ac3 100644
--- a/javascripts/modules/wikigrok/WikiGrokResponseApi.js
+++ b/javascripts/modules/wikigrok/WikiGrokResponseApi.js
@@ -1,6 +1,7 @@
// jscs:disable requireCamelCaseOrUpperCaseIdentifiers
( function ( M ) {
var WikiGrokResponseApi,
+ context = M.require( 'context' ),
Api = M.require( 'api' ).Api;
/**
@@ -39,7 +40,7 @@
task_type: this.taskType,
subject_id: this.subjectId,
subject: this.subject,
- mobile_mode: M.getMode(),
+ mobile_mode: context.getMode(),
campaign_name: this.campaignName,
testing: this.testing,
claims: JSON.stringify( claims )
diff --git a/javascripts/specials/mobileoptions.js
b/javascripts/specials/mobileoptions.js
index 6bc6e5b..6fac00a 100644
--- a/javascripts/specials/mobileoptions.js
+++ b/javascripts/specials/mobileoptions.js
@@ -1,5 +1,6 @@
( function ( M, $ ) {
var Checkbox,
+ context = M.require( 'context' ),
View = M.require( 'View' ),
settings = M.require( 'settings' );
@@ -35,7 +36,7 @@
var cb,
saveLI = $( '#mw-mf-settings-save' );
- if ( M.isAlphaGroupMember() ) {
+ if ( context.isAlphaGroupMember() ) {
cb = new Checkbox( {
name: 'expandSections',
enableMsg: mw.msg(
'mobile-frontend-expand-sections-status' ),
diff --git a/tests/qunit/modules/references/test_init.js
b/tests/qunit/modules/references/test_init.js
index 2671daa..51d081e 100644
--- a/tests/qunit/modules/references/test_init.js
+++ b/tests/qunit/modules/references/test_init.js
@@ -1,6 +1,7 @@
( function( $, M ) {
var R = mw.mobileFrontend.require( 'references' ),
+ context = M.require( 'context' ),
ReferencesDrawer = M.require( 'modules/references/ReferencesDrawer' );
QUnit.module( "MobileFrontend references.js", {
@@ -8,7 +9,7 @@
$('<div id="mfe-test-references"><sup><a
href="#ref-foo">[1]</a></sup></div><ol class="references"><li
id="ref-foo"><a>test reference</a></li></ol>').appendTo('#qunit-fixture');
// prevent events from being logged.
this.sandbox.stub( ReferencesDrawer.prototype, 'show' );
- this.sandbox.stub( M, 'isBetaGroupMember' ).returns( false );
+ this.sandbox.stub( context, 'isBetaGroupMember' ).returns(
false );
},
teardown: function() {
$( '#mfe-test-references' ).remove();
--
To view, visit https://gerrit.wikimedia.org/r/183754
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ibf474ee0baacbb04f39381f10edab1e9c8756298
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Bmansurov <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits