Mforns has uploaded a new change for review.

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

Change subject: Fix unique devices bugs
......................................................................

Fix unique devices bugs

After trying to deploy to production we spotted a couple bugs.
We rolled back to the latest stable commit.
This patch fixes the found bugs.

Bug: T122533
Change-Id: Ic0dee6ca7f5514fba0f3fe9638ae2db9d4a47a89
---
M src/app/apis/aqs-api.js
M src/app/config.js
M src/components/breakdown-toggle/breakdown-toggle.js
3 files changed, 29 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/dashiki 
refs/changes/04/288104/1

diff --git a/src/app/apis/aqs-api.js b/src/app/apis/aqs-api.js
index 142e5a9..11dd186 100644
--- a/src/app/apis/aqs-api.js
+++ b/src/app/apis/aqs-api.js
@@ -59,15 +59,20 @@
         var sitematrixPromise = sitematrix.getProjectUrl(this.config, project);
         sitematrixPromise.done(function (projectUrl) {
             var promises = [],
-                endDate = moment().format(apiConfig.dateFormat),
+                granularity = metric.granularity || 'daily',
+                endDate = moment().format(apiConfig.dateFormat[granularity]),
                 breakdownParameter = _.camelCase(apiConfig.breakdownParameter);
+
+            if (metric.granularity == 'daily') {
+
+            }
 
             // Perform the requests.
             _.forEach(accessMethods, function (method) {
                 var params = {
                     project: projectUrl,
                     agent: 'user',  // Only used in the Pageviews endpoint.
-                    granularity: metric.granularity || 'daily',
+                    granularity: granularity,
                     start: apiConfig.dataStart,
                     end: endDate
                 };
diff --git a/src/app/config.js b/src/app/config.js
index 052f237..e268ce7 100644
--- a/src/app/config.js
+++ b/src/app/config.js
@@ -35,7 +35,11 @@
             'Pageviews': {
                 endpoint: 'getAggregatedPageviews',
                 valueField: 'views',
-                dateFormat: 'YYYYMMDDHH',
+                dateFormat: {
+                    'hourly': 'YYYYMMDDHH',
+                    'daily': 'YYYYMMDD00',
+                    'monthly': 'YYYYMM0100'
+                },
                 // Api knows how to translate from general breakdown
                 // labels to api semantics to retrieve data.
                 breakdownOptions: {
@@ -50,7 +54,10 @@
             'UniqueDevices': {
                 endpoint: 'getUniqueDevices',
                 valueField: 'devices',
-                dateFormat: 'YYYYMMDD',
+                dateFormat: {
+                    'daily': 'YYYYMMDD',
+                    'monthly': 'YYYYMM01'
+                },
                 // Api knows how to translate from general breakdown
                 // labels to api semantics to retrieve data.
                 breakdownOptions: {
diff --git a/src/components/breakdown-toggle/breakdown-toggle.js 
b/src/components/breakdown-toggle/breakdown-toggle.js
index 41c9b79..5ce62fa 100644
--- a/src/components/breakdown-toggle/breakdown-toggle.js
+++ b/src/components/breakdown-toggle/breakdown-toggle.js
@@ -29,17 +29,20 @@
         // anytime the metric changes.
         ko.computed(function () {
             this.metric = ko.unwrap(params.metric);
+            var breakdownColumns = [];
+            if (this.metric.breakdown) {
+                this.metric.breakdown.columns.forEach(function (label, index) {
+                    // repeat pattern if more than dashes.length
+                    var _index = index % dashes.length;
+                    breakdownColumns.push({
+                        selected: ko.observable(true),
+                        label: label,
+                        pattern: dashes[_index]
+                    });
+                }.bind(this));
+            }
             this.breakdownState().display(false);
-            this.breakdownState().columns([]);
-            this.metric.breakdown.columns.forEach(function (label, index) {
-                // repeat pattern if more than dashes.length
-                var _index = index % dashes.length;
-                this.breakdownState().columns().push({
-                    selected: ko.observable(true),
-                    label: label,
-                    pattern: dashes[_index]
-                });
-            }.bind(this));
+            this.breakdownState().columns(breakdownColumns);
         }.bind(this));
 
         this.toggle = function () {

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ic0dee6ca7f5514fba0f3fe9638ae2db9d4a47a89
Gerrit-PatchSet: 1
Gerrit-Project: analytics/dashiki
Gerrit-Branch: master
Gerrit-Owner: Mforns <[email protected]>

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

Reply via email to