Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/213990
Change subject: Save 5.3k whenever a campaign is not running
......................................................................
Save 5.3k whenever a campaign is not running
Only load banner code when a campaign is running
Changes:
* Make use of mw.config to pass data between server and client
* Conditionally load code when in test banner mode or campaign mode.
Change-Id: I503a3a9f6785fe8aaaf9abb04344d09175ca3ee2
---
M CentralNotice.modules.php
M includes/CNBannerChoiceDataResourceLoaderModule.php
D modules/ext.centralNotice.banner.init/init.js
M modules/ext.centralNotice.bannerController/bannerController.lib.js
A modules/ext.centralNotice.bannerController/init.js
5 files changed, 24 insertions(+), 22 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralNotice
refs/changes/90/213990/1
diff --git a/CentralNotice.modules.php b/CentralNotice.modules.php
index ed1a222..f770f4d 100644
--- a/CentralNotice.modules.php
+++ b/CentralNotice.modules.php
@@ -115,24 +115,31 @@
'remoteExtPath' => 'CentralNotice/modules',
'scripts' => 'ext.centralNotice.bannerStats/bannerStats.js',
);
-$wgResourceModules[ 'ext.centralNotice.bannerController' ] = array(
+$wgResourceModules[ 'ext.centralNotice.bannerLoader' ] = array(
'localBasePath' => $dir . '/modules/ext.centralNotice.bannerController',
'remoteExtPath' =>
'CentralNotice/modules/ext.centralNotice.bannerController',
'styles' => 'bannerController.css',
'scripts' => 'bannerController.js',
- 'position' => 'top',
'dependencies' => array(
'jquery.cookie',
'json',
'mediawiki.Uri',
- 'ext.centralNotice.bannerChoiceData',
'ext.centralNotice.bannerController.lib',
+ ),
+);
+$wgResourceModules[ 'ext.centralNotice.bannerController' ] = array(
+ 'localBasePath' => $dir . '/modules/ext.centralNotice.bannerController',
+ 'remoteExtPath' =>
'CentralNotice/modules/ext.centralNotice.bannerController',
+ 'position' => 'top',
+ 'scripts' => 'init.js',
+ 'dependencies' => array(
+ 'mediawiki.Uri',
+ 'ext.centralNotice.bannerChoiceData',
),
);
$wgResourceModules[ 'ext.centralNotice.bannerChoiceData' ] = array(
// The following settings are brought in via this PHP class:
// 'position' => 'top',
- // 'dependencies' => array( 'ext.centralNotice.bannerController.lib' )
// 'targets' => array( 'desktop', 'mobile' ),
'class' => 'CNBannerChoiceDataResourceLoaderModule'
);
diff --git a/includes/CNBannerChoiceDataResourceLoaderModule.php
b/includes/CNBannerChoiceDataResourceLoaderModule.php
index a86df39..f0e38c0 100644
--- a/includes/CNBannerChoiceDataResourceLoaderModule.php
+++ b/includes/CNBannerChoiceDataResourceLoaderModule.php
@@ -110,8 +110,11 @@
* @see ResourceLoaderModule::getScript()
*/
public function getScript( ResourceLoaderContext $context ) {
- return Xml::encodeJsCall(
'mw.cnBannerControllerLib.setChoiceData',
- array( $this->getChoices( $context ) ) );
+ return Xml::encodeJsCall( 'mw.config.set', array(
+ 'wgCentralNoticeChoices',
+ $this->getChoices( $context )
+ )
+ );
}
/**
@@ -119,13 +122,6 @@
*/
public function getPosition() {
return 'top';
- }
-
- /**
- * @see ResourceLoaderModule::getDependencies()
- */
- public function getDependencies() {
- return array( 'ext.centralNotice.bannerController.lib' );
}
/**
diff --git a/modules/ext.centralNotice.banner.init/init.js
b/modules/ext.centralNotice.banner.init/init.js
deleted file mode 100644
index e69de29..0000000
--- a/modules/ext.centralNotice.banner.init/init.js
+++ /dev/null
diff --git a/modules/ext.centralNotice.bannerController/bannerController.lib.js
b/modules/ext.centralNotice.bannerController/bannerController.lib.js
index 29e150c..972048a 100644
--- a/modules/ext.centralNotice.bannerController/bannerController.lib.js
+++ b/modules/ext.centralNotice.bannerController/bannerController.lib.js
@@ -49,7 +49,7 @@
*/
CAMPAIGN_STALENESS_LEEWAY: 15,
- choiceData: null,
+ choiceData: mw.config.get( 'wgCentralNoticeChoices' ) || null,
/**
* Once a campaign is chosen, this will receive a copy of the
data for
@@ -59,14 +59,6 @@
campaign: null,
bucketsByCampaign: null,
possibleBanners: null,
-
- /**
- * Set possible campaign and banner choices. Called by
- * ext.centralNotice.bannerChoices.
- */
- setChoiceData: function( choiceData ) {
- this.choiceData = choiceData;
- },
/**
* Has choiceData been set?
diff --git a/modules/ext.centralNotice.bannerController/init.js
b/modules/ext.centralNotice.bannerController/init.js
new file mode 100644
index 0000000..5566848
--- /dev/null
+++ b/modules/ext.centralNotice.bannerController/init.js
@@ -0,0 +1,7 @@
+// Decide whether code for rendering banners needs to be pulled in
+( function () {
+ var choices = mw.config.get( 'wgCentralNoticeChoices' ) || [];
+ if ( choices.length || mw.util.getParamValue( 'banner' ) ) {
+ mw.loader.load( 'ext.centralNotice.bannerLoader' );
+ }
+} () );
--
To view, visit https://gerrit.wikimedia.org/r/213990
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I503a3a9f6785fe8aaaf9abb04344d09175ca3ee2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralNotice
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits