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