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