jenkins-bot has submitted this change and it was merged.
Change subject: Separate Search Api code from search frontend modules
......................................................................
Separate Search Api code from search frontend modules
* Instead of loading all search code in one module, including all
"backend" and frontend, separate these parts into two (including beta: 4)
modules that are loaded conditionally.
* Merge the module config in the search init script into one object with
all needed information to start the search workflow.
Bug: T110069
Change-Id: I4e5979dfd82c370977c76528e898c760c972bec8
---
M includes/Resources.php
R resources/mobile.search.api/SearchApi.js
R resources/mobile.search.beta.api/SearchApi.js
M resources/mobile.search/SearchOverlay.js
M resources/mobile.search/init.js
5 files changed, 34 insertions(+), 15 deletions(-)
Approvals:
Jdlrobson: Looks good to me, approved
jenkins-bot: Verified
diff --git a/includes/Resources.php b/includes/Resources.php
index 2501ba6..3501d63 100644
--- a/includes/Resources.php
+++ b/includes/Resources.php
@@ -736,13 +736,13 @@
'mobile.pagelist.scripts',
'mobile.overlays',
'mobile.loggingSchemas',
- 'mediawiki.Title',
+ // FIXME: will be removed later
+ 'mobile.search.api',
),
'styles' => array(
'resources/mobile.search/SearchOverlay.less',
),
'scripts' => array(
- 'resources/mobile.search/SearchApi.js',
'resources/mobile.search/SearchOverlay.js',
'resources/mobile.search/MobileWebSearchLogger.js',
'resources/mobile.search/init.js',
@@ -761,6 +761,16 @@
),
),
+ 'mobile.search.api' => $wgMFResourceParsedMessageModuleBoilerplate +
array(
+ 'dependencies' => array(
+ 'mobile.startup',
+ 'mediawiki.Title',
+ ),
+ 'scripts' => array(
+ 'resources/mobile.search.api/SearchApi.js',
+ ),
+ ),
+
'mobile.search.beta' => $wgMFResourceParsedMessageModuleBoilerplate +
array(
'dependencies' => array(
'mobile.search',
@@ -768,8 +778,14 @@
'styles' => array(
'resources/mobile.search.beta/SearchOverlay.less',
),
+ ),
+
+ 'mobile.search.beta.api' => $wgMFResourceParsedMessageModuleBoilerplate
+ array(
+ 'dependencies' => array(
+ 'mobile.search.api',
+ ),
'scripts' => array(
- 'resources/mobile.search.beta/SearchApi.js',
+ 'resources/mobile.search.beta.api/SearchApi.js',
),
),
diff --git a/resources/mobile.search/SearchApi.js
b/resources/mobile.search.api/SearchApi.js
similarity index 100%
rename from resources/mobile.search/SearchApi.js
rename to resources/mobile.search.api/SearchApi.js
diff --git a/resources/mobile.search.beta/SearchApi.js
b/resources/mobile.search.beta.api/SearchApi.js
similarity index 100%
rename from resources/mobile.search.beta/SearchApi.js
rename to resources/mobile.search.beta.api/SearchApi.js
diff --git a/resources/mobile.search/SearchOverlay.js
b/resources/mobile.search/SearchOverlay.js
index 7a6931a..f653dbf 100644
--- a/resources/mobile.search/SearchOverlay.js
+++ b/resources/mobile.search/SearchOverlay.js
@@ -2,7 +2,6 @@
var
Overlay = M.require( 'Overlay' ),
- SearchApi = M.require( 'modules/search/SearchApi' ),
Anchor = M.require( 'Anchor' ),
Icon = M.require( 'Icon' ),
WatchstarPageList = M.require( 'modules/WatchstarPageList' ),
@@ -103,7 +102,8 @@
initialize: function ( options ) {
var self = this;
Overlay.prototype.initialize.call( this, options );
- this.api = options.api || new SearchApi();
+ // use the given api module or use the default SearchApi
+ this.api = options.api || new M.require(
'modules/search/SearchApi' );
// FIXME: Remove when search registers route with
overlay manager
// we need this because of the focus/delay hack in
search.js
diff --git a/resources/mobile.search/init.js b/resources/mobile.search/init.js
index 66cb024..0603417 100644
--- a/resources/mobile.search/init.js
+++ b/resources/mobile.search/init.js
@@ -5,22 +5,25 @@
context = M.require( 'context' ),
router = M.require( 'router' ),
browser = M.require( 'browser' ),
- searchModule,
- searchApi,
+ moduleConfig = {
+ modules: [ 'mobile.search.api', 'mobile.search' ],
+ api: 'modules/search/SearchApi',
+ overlay: 'modules/search/SearchOverlay'
+ },
SearchOverlay,
SearchApi;
if ( context.isBetaGroupMember() ) {
- searchModule = 'mobile.search.beta';
- searchApi = 'modules/search.beta/SearchApi';
- } else {
- searchModule = 'mobile.search';
- searchApi = 'modules/search/SearchApi';
+ moduleConfig = $.extend( moduleConfig, {
+ modules: [ 'mobile.search.beta.api',
'mobile.search.beta' ],
+ api: 'modules/search.beta/SearchApi'
+ } );
}
/**
* Reveal the search overlay
* @param {jQuery.Event} ev
+ * @event mobilefrontend.searchModule
* @ignore
*/
function openSearchOverlay( ev ) {
@@ -33,9 +36,9 @@
name: 'search'
} );
- mw.loader.using( searchModule ).done( function () {
- SearchApi = M.require( searchApi );
- SearchOverlay = M.require(
'modules/search/SearchOverlay' );
+ mw.loader.using( moduleConfig.modules ).done( function () {
+ SearchApi = M.require( moduleConfig.api );
+ SearchOverlay = M.require( moduleConfig.overlay );
new SearchOverlay( {
api: new SearchApi(),
--
To view, visit https://gerrit.wikimedia.org/r/233481
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I4e5979dfd82c370977c76528e898c760c972bec8
Gerrit-PatchSet: 7
Gerrit-Project: mediawiki/extensions/MobileFrontend
Gerrit-Branch: master
Gerrit-Owner: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Bene <[email protected]>
Gerrit-Reviewer: Florianschmidtwelzow <[email protected]>
Gerrit-Reviewer: Jdlrobson <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits