Nuria has uploaded a new change for review.

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

Change subject: Fix issues in metrics-by-project breakdown patterns
......................................................................

Fix issues in metrics-by-project breakdown patterns

Bug: T133944

Change-Id: I948ead0ce98b6a9eeff3ca31906beb838ee41725
---
M src/components/visualizers/wikimetrics/wikimetrics.js
1 file changed, 20 insertions(+), 14 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/dashiki 
refs/changes/55/286755/1

diff --git a/src/components/visualizers/wikimetrics/wikimetrics.js 
b/src/components/visualizers/wikimetrics/wikimetrics.js
index a25316f..bc72e73 100644
--- a/src/components/visualizers/wikimetrics/wikimetrics.js
+++ b/src/components/visualizers/wikimetrics/wikimetrics.js
@@ -94,21 +94,27 @@
             return visualizer.colors[i % visualizer.colors.length];
         };
 
-        // The patternScale assigns patterns to the labels passed,
-        // and remembers them so that they are reusable.
-        // Whenever the dataset changes, resets to empty.
-        this.patternScale = ko.computed(function () {
-            ko.unwrap(this.datasets);
-            var patternProject = [];
+        // store patterns "per metric" so as not to have to re-compute
+        // do not love the fact this is so stateful
+        this.patternMetric = {};
 
-            return function (patternLabel) {
-                var i = _.indexOf(patternProject, patternLabel);
-                if (i === -1) {
-                    i = patternProject.push(patternLabel) - 1;
-                }
-                return visualizer.patterns[i % visualizer.patterns.length];
-            };
-        }, this);
+        // The patternScale assigns patterns to the labels passed,
+        // and remembers them, patternLabels are going to be
+        // tied to metric breakdowns ex: "mobile-web"
+        this.patternScale = function (patternLabel) {
+            var name = visualizer.metric().name;
+            var patternMetric = visualizer.patternMetric;
+            if (!patternMetric[name]) {
+                patternMetric[name] = [];
+            }
+            var i = _.indexOf(patternMetric[name], patternLabel);
+
+            if (i === -1) {
+                i = patternMetric[name].push(patternLabel) - 1;
+            }
+            return visualizer.patterns[i % visualizer.patterns.length];
+        };
+
 
         this.format = numberUtils.numberFormatter('kmb');
 

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

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

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

Reply via email to