Milimetric has submitted this change and it was merged.

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/dygraphs-timeseries/bindings.js
M src/components/visualizers/wikimetrics/wikimetrics.js
2 files changed, 25 insertions(+), 17 deletions(-)

Approvals:
  Nuria: Verified
  Milimetric: Looks good to me, approved



diff --git a/src/components/visualizers/dygraphs-timeseries/bindings.js 
b/src/components/visualizers/dygraphs-timeseries/bindings.js
index add65e5..9d2d8ca 100644
--- a/src/components/visualizers/dygraphs-timeseries/bindings.js
+++ b/src/components/visualizers/dygraphs-timeseries/bindings.js
@@ -25,7 +25,7 @@
                 data = ko.unwrap(val.data),
                 annotations = ko.unwrap(val.annotations),
                 colors = val.colors,
-                patterns = ko.unwrap(val.patterns),
+                patterns = val.patterns,
                 graph = $element.find('div.graph')[0];
 
             if (data && data.header.length) {
diff --git a/src/components/visualizers/wikimetrics/wikimetrics.js 
b/src/components/visualizers/wikimetrics/wikimetrics.js
index a25316f..d57e5a8 100644
--- a/src/components/visualizers/wikimetrics/wikimetrics.js
+++ b/src/components/visualizers/wikimetrics/wikimetrics.js
@@ -30,8 +30,6 @@
         this.breakdownState = params.breakdownState;
         this.patterns = params.patterns;
 
-
-
         this.datasets = ko.computed(function () {
             var projects = ko.unwrap(this.projects),
                 breakdown = [],
@@ -94,24 +92,34 @@
             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 = [];
+        // Stores the patterns of the current breakdown.
+        // Whenever the breakdown changes, resets them.
+        this.breakdownPatterns = [];
+        ko.computed(function () {
+            var breakdownState = ko.unwrap(visualizer.breakdownState),
+                mergedData = visualizer.mergedData(),
+                breakdownPatterns = visualizer.breakdownPatterns;
 
-            return function (patternLabel) {
-                var i = _.indexOf(patternProject, patternLabel);
-                if (i === -1) {
-                    i = patternProject.push(patternLabel) - 1;
-                }
-                return visualizer.patterns[i % visualizer.patterns.length];
-            };
+            if (breakdownState && breakdownState.display()) {
+                _.forEach(mergedData.patternLabels, function (patternLabel) {
+                    if (_.indexOf(breakdownPatterns, patternLabel) === -1) {
+                        breakdownPatterns.push(patternLabel);
+                    }
+                });
+            } else {
+                visualizer.breakdownPatterns = [];
+            }
         }, this);
 
-        this.format = numberUtils.numberFormatter('kmb');
+        // The patternScale assigns patterns to the labels passed.
+        this.patternScale = function (patternLabel) {
+            var i = _.indexOf(visualizer.breakdownPatterns, patternLabel);
+            if (i !== -1) {
+                return visualizer.patterns[i % visualizer.patterns.length];
+            }
+        };
 
+        this.format = numberUtils.numberFormatter('kmb');
 
         this.applyColors = function (projects) {
             projects.forEach(function (project) {

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I948ead0ce98b6a9eeff3ca31906beb838ee41725
Gerrit-PatchSet: 7
Gerrit-Project: analytics/dashiki
Gerrit-Branch: master
Gerrit-Owner: Nuria <[email protected]>
Gerrit-Reviewer: Mforns <[email protected]>
Gerrit-Reviewer: Milimetric <[email protected]>
Gerrit-Reviewer: Nuria <[email protected]>

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

Reply via email to