Jdlrobson has uploaded a new change for review.
https://gerrit.wikimedia.org/r/278395
Change subject: WIP: Allow filtering of data breakdowns
......................................................................
WIP: Allow filtering of data breakdowns
Allow graphs to only show mobile web or desktop
Change-Id: I809dd4fdbafdf24a36e4743e03cad726a4f1898a
---
M src/app/apis/pageview-api.js
M src/components/breakdown-toggle/breakdown-toggle.html
M src/components/breakdown-toggle/breakdown-toggle.js
M src/components/visualizers/wikimetrics/wikimetrics.js
4 files changed, 46 insertions(+), 18 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/analytics/dashiki
refs/changes/95/278395/1
diff --git a/src/app/apis/pageview-api.js b/src/app/apis/pageview-api.js
index cd4291a..ac0cc44 100644
--- a/src/app/apis/pageview-api.js
+++ b/src/app/apis/pageview-api.js
@@ -38,10 +38,14 @@
var deferred = new $.Deferred(),
endDate = moment().format('YYYYMMDDHH'),
- accessMethods;
+ accessMethods = [];
if (showBreakdown) {
- accessMethods = ['all-access', 'desktop', 'mobile-web'];
+ metric.columns.forEach(function (column) {
+ if ( column.selected() ) {
+ accessMethods.push(column.id);
+ }
+ });
} else {
accessMethods = ['all-access'];
}
diff --git a/src/components/breakdown-toggle/breakdown-toggle.html
b/src/components/breakdown-toggle/breakdown-toggle.html
index 41b8d1b..f431fbc 100644
--- a/src/components/breakdown-toggle/breakdown-toggle.html
+++ b/src/components/breakdown-toggle/breakdown-toggle.html
@@ -7,14 +7,15 @@
</a>
<!-- ko if: metric().showBreakdown -->
<div class="colored menu">
- <!-- ko foreach: metric().breakdown.columns -->
+ <!-- ko foreach: metric().columns -->
<div class="item">
<span>
<i class="circle icon"></i>
- <span data-bind="text: $data"></span>
+ <span data-bind="text: label"></span>
+ <input type="checkbox" data-bind="checked: selected">
<svg height="10" width="80">
<path stroke="white"
- data-bind="attr: {'stroke-dasharray':
$parent.dashes($index)}"
+ data-bind="attr: {'stroke-dasharray': pattern}"
d="M6 5 l215 0" />
</svg>
</span>
diff --git a/src/components/breakdown-toggle/breakdown-toggle.js
b/src/components/breakdown-toggle/breakdown-toggle.js
index 45ab1b2..4797142 100644
--- a/src/components/breakdown-toggle/breakdown-toggle.js
+++ b/src/components/breakdown-toggle/breakdown-toggle.js
@@ -1,27 +1,44 @@
'use strict';
define(function (require) {
-
+ var ko = require('knockout');
var templateMarkup = require('text!./breakdown-toggle.html');
function BreakdownToggle(params) {
var self = this;
+ var dashes = [
+ '',
+ '5, 5',
+ '15, 15',
+ '30, 5',
+ ];
+ // fixme
+ var ids = [
+ 'desktop', 'mobile-web'
+ ];
self.metric = params.metric;
+ // fixme: cleanup
+ self.metric().columns = [
+ {
+ id: 'all-access',
+ label: 'All',
+ pattern: dashes[0],
+ selected: ko.observable(true)
+ }
+ ];
+
+ ko.unwrap(self.metric).breakdown.columns.forEach(function (label,
index) {
+ self.metric().columns.push( {
+ id: ids[index],
+ selected: ko.observable(true),
+ label: label,
+ // repeat pattern if more than dashes.length
+ pattern: dashes[(index + 1) % dashes.length]
+ } );
+ });
self.toggle = function () {
self.metric().showBreakdown(!self.metric().showBreakdown());
- };
-
- self.dashes = function (index) {
- // NOTE: this is the same list used in the vega visualization
- // it would be possible to relate them directly but we should
- // think carefully about the interface to that component.
- return [
- '',
- '5, 5',
- '15, 15',
- '30, 5',
- ][index() + 1];
};
}
diff --git a/src/components/visualizers/wikimetrics/wikimetrics.js
b/src/components/visualizers/wikimetrics/wikimetrics.js
index ec47866..178573f 100644
--- a/src/components/visualizers/wikimetrics/wikimetrics.js
+++ b/src/components/visualizers/wikimetrics/wikimetrics.js
@@ -34,6 +34,12 @@
if (metric && projects && projects.length) {
var showBreakdown = ko.unwrap(metric.showBreakdown);
+ if ( showBreakdown ) {
+ metric.columns.forEach(function ( column ) {
+ column.selected();
+ });
+ }
+
var api = apiFinder(metric);
var promises = projects.map(function (project) {
--
To view, visit https://gerrit.wikimedia.org/r/278395
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I809dd4fdbafdf24a36e4743e03cad726a4f1898a
Gerrit-PatchSet: 1
Gerrit-Project: analytics/dashiki
Gerrit-Branch: master
Gerrit-Owner: Jdlrobson <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits