jenkins-bot has submitted this change and it was merged.

Change subject: Hygiene: Make schema MobileFrontend agnostic
......................................................................


Hygiene: Make schema MobileFrontend agnostic

Gather uses Schema but since it works outside MobileFrontend in Vector
wgMFMode is not available

Change-Id: I0554b6a0daecfc4d72ba0c6f886ec0574dc76105
---
M includes/MobileFrontend.hooks.php
M javascripts/Schema.js
A javascripts/loggingSchemas/SchemaMobileWeb.js
M javascripts/loggingSchemas/SchemaMobileWebClickTracking.js
M javascripts/loggingSchemas/SchemaMobileWebEditing.js
M javascripts/loggingSchemas/SchemaMobileWebUploads.js
6 files changed, 34 insertions(+), 14 deletions(-)

Approvals:
  Jdlrobson: Looks good to me, approved
  Bmansurov: Looks good to me, approved
  Phuedx: Looks good to me, approved
  jenkins-bot: Verified



diff --git a/includes/MobileFrontend.hooks.php 
b/includes/MobileFrontend.hooks.php
index f773478..c6ccaf9 100644
--- a/includes/MobileFrontend.hooks.php
+++ b/includes/MobileFrontend.hooks.php
@@ -958,6 +958,7 @@
                }
 
                $scripts = array(
+                       'javascripts/loggingSchemas/SchemaMobileWeb.js',
                        'javascripts/loggingSchemas/SchemaMobileWebUploads.js',
                        
'javascripts/loggingSchemas/SchemaMobileWebClickTracking.js',
                        'javascripts/loggingSchemas/SchemaMobileWebEditing.js',
diff --git a/javascripts/Schema.js b/javascripts/Schema.js
index 4cd909c..f471e70 100644
--- a/javascripts/Schema.js
+++ b/javascripts/Schema.js
@@ -1,7 +1,6 @@
 ( function ( M, $ ) {
        var Schema,
                Class = M.require( 'Class' ),
-               context = M.require( 'context' ),
                user = M.require( 'user' );
 
        /**
@@ -13,11 +12,8 @@
                 * A set of defaults to log to the schema
                 *
                 * @cfg {Object} defaults Default options hash.
-                * @cfg {String} defaults.mobileMode whether user is in stable 
beta or alpha
                 */
-               defaults: {
-                       mobileMode: context.getMode()
-               },
+               defaults: {},
                /**
                 * Whether or not the logging is sampled (i.e. not recorded at 
100% frequency)
                 * @property {Boolean}
diff --git a/javascripts/loggingSchemas/SchemaMobileWeb.js 
b/javascripts/loggingSchemas/SchemaMobileWeb.js
new file mode 100644
index 0000000..b4e8ef6
--- /dev/null
+++ b/javascripts/loggingSchemas/SchemaMobileWeb.js
@@ -0,0 +1,23 @@
+( function ( M, $ ) {
+       var SchemaMobileWeb,
+               Schema = M.require( 'Schema' ),
+               context = M.require( 'context' );
+
+       /**
+        * @class SchemaMobileWeb
+        * @extends Schema
+        */
+       SchemaMobileWeb = Schema.extend( {
+               /**
+                * @inheritdoc
+                *
+                * @cfg {Object} defaults Default options hash.
+                * @cfg {String} defaults.mobileMode whether user is in stable 
beta or alpha
+                */
+               defaults: $.extend( {}, Schema.prototype.defaults, {
+                       mobileMode: context.getMode()
+               } )
+       } );
+
+       M.define( 'loggingSchemas/SchemaMobileWeb', SchemaMobileWeb );
+} )( mw.mobileFrontend, jQuery );
diff --git a/javascripts/loggingSchemas/SchemaMobileWebClickTracking.js 
b/javascripts/loggingSchemas/SchemaMobileWebClickTracking.js
index 81f0fbc..7eb249c 100644
--- a/javascripts/loggingSchemas/SchemaMobileWebClickTracking.js
+++ b/javascripts/loggingSchemas/SchemaMobileWebClickTracking.js
@@ -1,6 +1,6 @@
 ( function ( M, $ ) {
        var SchemaMobileWebClickTracking,
-               Schema = M.require( 'Schema' ),
+               SchemaMobileWeb = M.require( 'loggingSchemas/SchemaMobileWeb' ),
                user = M.require( 'user' ),
                s = M.require( 'settings' );
 
@@ -49,7 +49,7 @@
         * @class SchemaMobileWebClickTracking
         * @extends Schema
         */
-       SchemaMobileWebClickTracking = Schema.extend( {
+       SchemaMobileWebClickTracking = SchemaMobileWeb.extend( {
                /**
                 * @inheritdoc
                 *
@@ -62,7 +62,7 @@
                 * logger omit this property when sending the data to a server. 
According to the schema
                 * userEditCount is optional.
                 */
-               defaults: $.extend( {}, Schema.prototype.defaults, {
+               defaults: $.extend( {}, SchemaMobileWeb.prototype.defaults, {
                        // FIXME: Introduce a SchemaWithUser class that has 
username and userEditCount
                        username: user.getName() || undefined,
                        userEditCount: typeof user.getEditCount() === 'number' 
? user.getEditCount() : undefined
diff --git a/javascripts/loggingSchemas/SchemaMobileWebEditing.js 
b/javascripts/loggingSchemas/SchemaMobileWebEditing.js
index 4e87362..1877de8 100644
--- a/javascripts/loggingSchemas/SchemaMobileWebEditing.js
+++ b/javascripts/loggingSchemas/SchemaMobileWebEditing.js
@@ -1,13 +1,13 @@
 ( function ( M, $ ) {
        var SchemaMobileWebEditing,
                user = M.require( 'user' ),
-               Schema = M.require( 'Schema' );
+               SchemaMobileWeb = M.require( 'loggingSchemas/SchemaMobileWeb' );
 
        /**
         * @class SchemaMobileWebEditing
         * @extends Schema
         */
-       SchemaMobileWebEditing = Schema.extend( {
+       SchemaMobileWebEditing = SchemaMobileWeb.extend( {
                /** @inheritdoc **/
                name: 'MobileWebEditing',
                /**
@@ -27,7 +27,7 @@
                 * logger omit this property when sending the data to a server. 
According to the schema
                 * userEditCount is optional.
                 */
-               defaults: $.extend( {}, Schema.prototype.defaults, {
+               defaults: $.extend( {}, SchemaMobileWeb.prototype.defaults, {
                        pageId: mw.config.get( 'wgArticleId' ),
                        token: user.getSessionId(),
                        revId: mw.config.get( 'wgRevisionId' ),
diff --git a/javascripts/loggingSchemas/SchemaMobileWebUploads.js 
b/javascripts/loggingSchemas/SchemaMobileWebUploads.js
index 466c342..3ab1eb7 100644
--- a/javascripts/loggingSchemas/SchemaMobileWebUploads.js
+++ b/javascripts/loggingSchemas/SchemaMobileWebUploads.js
@@ -2,13 +2,13 @@
        var SchemaMobileWebUploads,
                user = M.require( 'user' ),
                page = M.getCurrentPage(),
-               Schema = M.require( 'Schema' );
+               SchemaMobileWeb = M.require( 'loggingSchemas/SchemaMobileWeb' );
 
        /**
         * @class SchemaMobileWebUploads
         * @extends Schema
         */
-       SchemaMobileWebUploads = Schema.extend( {
+       SchemaMobileWebUploads = SchemaMobileWeb.extend( {
                /** @inheritdoc **/
                name: 'MobileWebUploads',
                /**
@@ -24,7 +24,7 @@
                 * @cfg {Boolean} defaults.isLoggedIn Whether the user is 
logged in
                 * @cfg {Boolean} defaults.isEditable True, if the user is able 
to edit the current page, false otherwise
                 */
-               defaults: $.extend( {}, Schema.prototype.defaults, {
+               defaults: $.extend( {}, SchemaMobileWeb.prototype.defaults, {
                        pageId: mw.config.get( 'wgArticleId' ),
                        token: user.getSessionId(),
                        funnel: 'unknown',

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I0554b6a0daecfc4d72ba0c6f886ec0574dc76105
Gerrit-PatchSet: 8
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Bmansurov <bmansu...@wikimedia.org>
Gerrit-Reviewer: Jdlrobson <jrob...@wikimedia.org>
Gerrit-Reviewer: Phuedx <g...@samsmith.io>
Gerrit-Reviewer: jenkins-bot <>

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

Reply via email to