Milimetric has uploaded a new change for review.

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


Change subject: tab and navigation improvements
......................................................................

tab and navigation improvements

Change-Id: I4ae07c2cd055ab112c69c1b1a20056caf3eaf0a0
---
M wikimetrics/controllers/metrics.py
M wikimetrics/static/js/cohortList.js
A wikimetrics/static/js/metricList.js
M wikimetrics/static/js/reportCreate.js
M wikimetrics/static/js/site.js
M wikimetrics/templates/cohorts.html
M wikimetrics/templates/metrics.html
7 files changed, 32 insertions(+), 3 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/analytics/wikimetrics 
refs/changes/36/87336/1

diff --git a/wikimetrics/controllers/metrics.py 
b/wikimetrics/controllers/metrics.py
index 24971ac..ebdc56d 100644
--- a/wikimetrics/controllers/metrics.py
+++ b/wikimetrics/controllers/metrics.py
@@ -19,7 +19,7 @@
                 new_record['metricClass'] = metric
             
             records.append(new_record)
-    return records
+    return sorted(records, key=lambda r: r['label'])
 
 
 @app.route('/metrics/')
diff --git a/wikimetrics/static/js/cohortList.js 
b/wikimetrics/static/js/cohortList.js
index 4679eeb..cef26af 100644
--- a/wikimetrics/static/js/cohortList.js
+++ b/wikimetrics/static/js/cohortList.js
@@ -41,7 +41,7 @@
         .done(site.handleWith(function(data){
             setWikiusers(data.cohorts);
             viewModel.cohorts(data.cohorts);
-            $('ul.nav-tabs li a').first().click();
+            site.enableTabNavigation();
         }))
         .fail(site.failure);
     
diff --git a/wikimetrics/static/js/metricList.js 
b/wikimetrics/static/js/metricList.js
new file mode 100644
index 0000000..c08cbab
--- /dev/null
+++ b/wikimetrics/static/js/metricList.js
@@ -0,0 +1,3 @@
+$(document).ready(function(){
+    site.enableTabNavigation();
+});
diff --git a/wikimetrics/static/js/reportCreate.js 
b/wikimetrics/static/js/reportCreate.js
index bb8c6fd..b3978f5 100644
--- a/wikimetrics/static/js/reportCreate.js
+++ b/wikimetrics/static/js/reportCreate.js
@@ -104,6 +104,14 @@
         .done(site.handleWith(function(data){
             setSelected(data.cohorts);
             viewModel.cohorts(data.cohorts);
+            // pre-select any selected cohorts
+            if (location.hash){
+                try {
+                    viewModel.cohorts().filter(function(c){
+                        return c.id == location.hash.substring(1);
+                    })[0].selected(true);
+                } catch(e) {}
+            }
         }))
         .fail(site.failure);
     
diff --git a/wikimetrics/static/js/site.js b/wikimetrics/static/js/site.js
index bf08ee5..5ad5911 100644
--- a/wikimetrics/static/js/site.js
+++ b/wikimetrics/static/js/site.js
@@ -102,6 +102,20 @@
             .fail(site.failure);
     },
     
+    // persists the bootstrap tab hash in the url and navigates to it on page 
load
+    enableTabNavigation: function(){
+        $('ul.nav-tabs li a').on('shown', function (e) {
+            location.hash = e.target.hash;
+            // negate jumping down to the tab anchor
+            window.scrollTo(0, 0);
+        })
+        if (location.hash){
+            $('ul.nav-tabs li a[href='+location.hash+']').click();
+        } else {
+            $('ul.nav-tabs li a').first().click();
+        }
+    },
+    
     // ***********************************************************
     // Just some util functions so I don't have to
     // import huge libraries like Underscore
diff --git a/wikimetrics/templates/cohorts.html 
b/wikimetrics/templates/cohorts.html
index 30eb35c..f7d25eb 100644
--- a/wikimetrics/templates/cohorts.html
+++ b/wikimetrics/templates/cohorts.html
@@ -21,7 +21,7 @@
             <div class="hero-unit">
                 <h5 data-bind="text: name"></h5>
                 <p data-bind="text: description"></p>
-                <a href="{{url_for('reports_request')}}" class="btn 
btn-primary">
+                <a 
data-bind="attr:{href:'{{url_for('reports_request')}}#'+id}" class="btn 
btn-primary">
                     Create Report
                 </a>
             </div>
diff --git a/wikimetrics/templates/metrics.html 
b/wikimetrics/templates/metrics.html
index 183e276..258e1de 100644
--- a/wikimetrics/templates/metrics.html
+++ b/wikimetrics/templates/metrics.html
@@ -40,3 +40,7 @@
 </div>
 
 {% endblock %}
+
+{% block scripts %}
+<script src="{{ url_for('static', filename='js/metricList.js') }}"></script>
+{% endblock %}

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I4ae07c2cd055ab112c69c1b1a20056caf3eaf0a0
Gerrit-PatchSet: 1
Gerrit-Project: analytics/wikimetrics
Gerrit-Branch: master
Gerrit-Owner: Milimetric <dandree...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to