diff options
author | Ned Batchelder <ned@nedbatchelder.com> | 2009-12-05 16:29:33 -0500 |
---|---|---|
committer | Ned Batchelder <ned@nedbatchelder.com> | 2009-12-05 16:29:33 -0500 |
commit | a694fa1a052736c3d30e1c266dd62fd237509ecb (patch) | |
tree | ae7536a3bc52af5ca5bcf0b9cce4c971118c989a /doc/sample_html/coverage_html.js | |
parent | 254409614bc15809dd178944fc92d286474b2d8c (diff) | |
download | python-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.js | 64 |
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=/" + }); +} |