summaryrefslogtreecommitdiff
path: root/doc/sample_html/coverage_html.js
diff options
context:
space:
mode:
authorNed Batchelder <ned@nedbatchelder.com>2009-12-05 16:29:33 -0500
committerNed Batchelder <ned@nedbatchelder.com>2009-12-05 16:29:33 -0500
commita694fa1a052736c3d30e1c266dd62fd237509ecb (patch)
treeae7536a3bc52af5ca5bcf0b9cce4c971118c989a /doc/sample_html/coverage_html.js
parent254409614bc15809dd178944fc92d286474b2d8c (diff)
downloadpython-coveragepy-git-a694fa1a052736c3d30e1c266dd62fd237509ecb.tar.gz
Last touches for 3.2 final.
--HG-- branch : 3.2_branch
Diffstat (limited to 'doc/sample_html/coverage_html.js')
-rw-r--r--doc/sample_html/coverage_html.js64
1 files changed, 64 insertions, 0 deletions
diff --git a/doc/sample_html/coverage_html.js b/doc/sample_html/coverage_html.js
new file mode 100644
index 00000000..c0abab81
--- /dev/null
+++ b/doc/sample_html/coverage_html.js
@@ -0,0 +1,64 @@
+// Coverage.py HTML report browser code.
+
+// Loaded on index.html
+function index_page_ready($) {
+ // Look for a cookie containing previous sort settings:
+ sort_list = [];
+ cookie_name = "COVERAGE_INDEX_SORT";
+
+ // This almost makes it worth installing the jQuery cookie plugin:
+ if (document.cookie.indexOf(cookie_name) > -1) {
+ cookies = document.cookie.split(";");
+ for (var i=0; i < cookies.length; i++) {
+ parts = cookies[i].split("=")
+
+ if ($.trim(parts[0]) == cookie_name && parts[1]) {
+ sort_list = eval("[[" + parts[1] + "]]");
+ break;
+ }
+ }
+ }
+
+ // Create a new widget which exists only to save and restore
+ // the sort order:
+ $.tablesorter.addWidget({
+ id: "persistentSort",
+
+ // Format is called by the widget before displaying:
+ format: function(table) {
+ if (table.config.sortList.length == 0 && sort_list.length > 0) {
+ // This table hasn't been sorted before - we'll use
+ // our stored settings:
+ jQuery(table).trigger('sorton', [sort_list]);
+ }
+ else {
+ // This is not the first load - something has
+ // already defined sorting so we'll just update
+ // our stored value to match:
+ sort_list = table.config.sortList;
+ }
+ }
+ });
+
+ // Configure our tablesorter to handle the variable number of
+ // columns produced depending on report options:
+ var headers = {};
+ var col_count = jQuery("table.index > thead > tr > th").length;
+
+ headers[0] = { sorter: 'text' };
+ for (var i = 1; i < col_count-1; i++) {
+ headers[i] = { sorter: 'digit' };
+ }
+ headers[col_count-1] = { sorter: 'percent' };
+
+ // Enable the table sorter:
+ $("table.index").tablesorter({
+ widgets: ['persistentSort'],
+ headers: headers
+ });
+
+ // Watch for page unload events so we can save the final sort settings:
+ $(window).unload(function() {
+ document.cookie = cookie_name + "=" + sort_list.toString() + "; path=/"
+ });
+}