AndyRussG has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/173220

Change subject: WIP Choose banner on client
......................................................................

WIP Choose banner on client

Change-Id: I04e2d4bfdd43529a83d32998e20d4bd885b9033d
---
M modules/ext.centralNotice.bannerController/bannerController.lib.js
1 file changed, 51 insertions(+), 2 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/mediawiki/extensions/CentralNotice 
refs/changes/20/173220/1

diff --git a/modules/ext.centralNotice.bannerController/bannerController.lib.js 
b/modules/ext.centralNotice.bannerController/bannerController.lib.js
index bd53bfb..f98b641 100644
--- a/modules/ext.centralNotice.bannerController/bannerController.lib.js
+++ b/modules/ext.centralNotice.bannerController/bannerController.lib.js
@@ -8,11 +8,60 @@
                 * Set possible campaign and banner choices. Called by
                 * ext.centralNotice.bannerChoices.
                 */
-               'setChoiceData': function ( choices ) {
+               setChoiceData: function ( choices ) {
                        this.choiceData = choices;
                },
 
-               'choiceData': null
+               choiceData: null,
+
+               filterChoiceData: function() {
+
+                       var filteredCD = new Array(),
+                               i, campaign, filteredBanners, j, banner;
+
+                       for ( i = 0; i < this.choiceData.length; i++ ) {
+                               campaign = this.choiceData[i];
+
+                               // Filter for country
+                               if ( campaign.geotargetted ) {
+                                       if ( !$.inArray(
+                                               mw.centralNotice.data.country, 
campaign.countries ) ) {
+                                               continue;
+                                       }
+                               }
+
+                               // Now filter banner properties
+                               filteredBanners = new Array();
+
+                               for ( j = 0; j < campaign.banners.length; j++ ) 
{
+                                       banner = campaign.banners[j];
+
+                                       // Device
+                                       if ( !$.inArray(
+                                               mw.centralNotice.data.device, 
banner.devices ) ) {
+                                               continue;
+                                       }
+
+                                       // Bucket
+                                       if ( mw.centralNotice.data.bucket % 
campaign.bucket_count !=
+                                               banner.bucket ) {
+                                               continue;
+                                       }
+
+                                       filteredBanners.push( banner );
+                               }
+
+                               campaign.banners = filteredBanners;
+                       }
+
+                       this.choiceData = filteredCD;
+               },
+
+               calculateBannerAllocations: function() {},
+
+               chooseBanner: function() {
+
+               }
        };
 
 } )( jQuery, mediaWiki );
\ No newline at end of file

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I04e2d4bfdd43529a83d32998e20d4bd885b9033d
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/extensions/CentralNotice
Gerrit-Branch: master
Gerrit-Owner: AndyRussG <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to