/****************************************************************************** * TAP-Formatter-HTML: default javascript for report * Copyright (c) 2008 Steve Purkis. All rights reserved. * Released under the same terms as Perl itself. *****************************************************************************/ jQuery.fn.extend({ scrollTo : function(speed, easing) { return this.each(function() { var targetOffset = $(this).offset().top; $('html,body').animate({scrollTop: targetOffset}, speed, easing); }); } }); $(document).ready(function(){ $("div.test-detail").hide(); $("div.summary").find("a").click(function(){return false;}); // expand test detail when user clicks on a test file $("a.file").click(function(){ // go all the way to the tr incase table structure changes: $(this).parents("tr:first").find("div.test-detail").slideToggle(); return false; }); // expand test detail when user clicks on an individual test $("a.TS").click(function(){ // go all the way to the tr incase table structure changes: var $detail = $(this).parents("td.results").parents("tr:first").find("div.test-detail"); $detail.filter(":hidden").slideDown(); // highlight a particular test? var testId = $(this).attr("href"); if (!testId) { var $testElem = $detail.find(testId); $testElem.show().scrollTo(1000); var bgColor = $testElem.css("background-color"); $testElem.css({ backgroundColor: "yellow" }); // shame you can't animate bg color w/o a plugin... setTimeout(function(){$testElem.css({ backgroundColor: bgColor })}, 3000); } return false; }); // set test title on mouse-over so we don't have to include it // in the rendered template (saves a *lot* of space) $("a.TS") .one('mouseover', function(){ var href = $(this).attr('href'); var desc = $(href).text(); $(this).attr('title', desc); }); // initialize the menu $("#show-all").hide(); $("#menu") .show().fadeTo('fast', '0.2') .hover(function(){ $(this).stop().fadeTo('fast', '0.9') }, function(){ $(this).stop().fadeTo('fast', '0.2') }); $("#show-all > a") .bind('click', function(){ $('tr.passed').stop().fadeIn(); $('#show-all').hide(); $('#show-failed').show(); return false; }); $("#show-failed > a") .bind('click', function(){ $('tr.passed').stop().hide(); $('#show-failed').hide(); $('#show-all').show(); return false; }); });