1*83a54b2fSSadaf Ebrahimi$(document).ready(function() { 2*83a54b2fSSadaf Ebrahimi $('a.navigator-link').click(function() { 3*83a54b2fSSadaf Ebrahimi // Extract the panel for this link 4*83a54b2fSSadaf Ebrahimi var panel = getPanelName($(this)); 5*83a54b2fSSadaf Ebrahimi 6*83a54b2fSSadaf Ebrahimi // Mark this link as currently selected 7*83a54b2fSSadaf Ebrahimi $('.navigator-link').parent().removeClass('navigator-selected'); 8*83a54b2fSSadaf Ebrahimi $(this).parent().addClass('navigator-selected'); 9*83a54b2fSSadaf Ebrahimi 10*83a54b2fSSadaf Ebrahimi showPanel(panel); 11*83a54b2fSSadaf Ebrahimi }); 12*83a54b2fSSadaf Ebrahimi 13*83a54b2fSSadaf Ebrahimi installMethodHandlers('failed'); 14*83a54b2fSSadaf Ebrahimi installMethodHandlers('skipped'); 15*83a54b2fSSadaf Ebrahimi installMethodHandlers('passed', true); // hide passed methods by default 16*83a54b2fSSadaf Ebrahimi 17*83a54b2fSSadaf Ebrahimi $('a.method').click(function() { 18*83a54b2fSSadaf Ebrahimi showMethod($(this)); 19*83a54b2fSSadaf Ebrahimi return false; 20*83a54b2fSSadaf Ebrahimi }); 21*83a54b2fSSadaf Ebrahimi 22*83a54b2fSSadaf Ebrahimi // Hide all the panels and display the first one (do this last 23*83a54b2fSSadaf Ebrahimi // to make sure the click() will invoke the listeners) 24*83a54b2fSSadaf Ebrahimi $('.panel').hide(); 25*83a54b2fSSadaf Ebrahimi $('.navigator-link').first().click(); 26*83a54b2fSSadaf Ebrahimi 27*83a54b2fSSadaf Ebrahimi // Collapse/expand the suites 28*83a54b2fSSadaf Ebrahimi $('a.collapse-all-link').click(function() { 29*83a54b2fSSadaf Ebrahimi var contents = $('.navigator-suite-content'); 30*83a54b2fSSadaf Ebrahimi if (contents.css('display') == 'none') { 31*83a54b2fSSadaf Ebrahimi contents.show(); 32*83a54b2fSSadaf Ebrahimi } else { 33*83a54b2fSSadaf Ebrahimi contents.hide(); 34*83a54b2fSSadaf Ebrahimi } 35*83a54b2fSSadaf Ebrahimi }); 36*83a54b2fSSadaf Ebrahimi}); 37*83a54b2fSSadaf Ebrahimi 38*83a54b2fSSadaf Ebrahimi// The handlers that take care of showing/hiding the methods 39*83a54b2fSSadaf Ebrahimifunction installMethodHandlers(name, hide) { 40*83a54b2fSSadaf Ebrahimi function getContent(t) { 41*83a54b2fSSadaf Ebrahimi return $('.method-list-content.' + name + "." + t.attr('panel-name')); 42*83a54b2fSSadaf Ebrahimi } 43*83a54b2fSSadaf Ebrahimi 44*83a54b2fSSadaf Ebrahimi function getHideLink(t, name) { 45*83a54b2fSSadaf Ebrahimi var s = 'a.hide-methods.' + name + "." + t.attr('panel-name'); 46*83a54b2fSSadaf Ebrahimi return $(s); 47*83a54b2fSSadaf Ebrahimi } 48*83a54b2fSSadaf Ebrahimi 49*83a54b2fSSadaf Ebrahimi function getShowLink(t, name) { 50*83a54b2fSSadaf Ebrahimi return $('a.show-methods.' + name + "." + t.attr('panel-name')); 51*83a54b2fSSadaf Ebrahimi } 52*83a54b2fSSadaf Ebrahimi 53*83a54b2fSSadaf Ebrahimi function getMethodPanelClassSel(element, name) { 54*83a54b2fSSadaf Ebrahimi var panelName = getPanelName(element); 55*83a54b2fSSadaf Ebrahimi var sel = '.' + panelName + "-class-" + name; 56*83a54b2fSSadaf Ebrahimi return $(sel); 57*83a54b2fSSadaf Ebrahimi } 58*83a54b2fSSadaf Ebrahimi 59*83a54b2fSSadaf Ebrahimi $('a.hide-methods.' + name).click(function() { 60*83a54b2fSSadaf Ebrahimi var w = getContent($(this)); 61*83a54b2fSSadaf Ebrahimi w.hide(); 62*83a54b2fSSadaf Ebrahimi getHideLink($(this), name).hide(); 63*83a54b2fSSadaf Ebrahimi getShowLink($(this), name).show(); 64*83a54b2fSSadaf Ebrahimi getMethodPanelClassSel($(this), name).hide(); 65*83a54b2fSSadaf Ebrahimi }); 66*83a54b2fSSadaf Ebrahimi 67*83a54b2fSSadaf Ebrahimi $('a.show-methods.' + name).click(function() { 68*83a54b2fSSadaf Ebrahimi var w = getContent($(this)); 69*83a54b2fSSadaf Ebrahimi w.show(); 70*83a54b2fSSadaf Ebrahimi getHideLink($(this), name).show(); 71*83a54b2fSSadaf Ebrahimi getShowLink($(this), name).hide(); 72*83a54b2fSSadaf Ebrahimi showPanel(getPanelName($(this))); 73*83a54b2fSSadaf Ebrahimi getMethodPanelClassSel($(this), name).show(); 74*83a54b2fSSadaf Ebrahimi }); 75*83a54b2fSSadaf Ebrahimi 76*83a54b2fSSadaf Ebrahimi if (hide) { 77*83a54b2fSSadaf Ebrahimi $('a.hide-methods.' + name).click(); 78*83a54b2fSSadaf Ebrahimi } else { 79*83a54b2fSSadaf Ebrahimi $('a.show-methods.' + name).click(); 80*83a54b2fSSadaf Ebrahimi } 81*83a54b2fSSadaf Ebrahimi} 82*83a54b2fSSadaf Ebrahimi 83*83a54b2fSSadaf Ebrahimifunction getHashForMethod(element) { 84*83a54b2fSSadaf Ebrahimi return element.attr('hash-for-method'); 85*83a54b2fSSadaf Ebrahimi} 86*83a54b2fSSadaf Ebrahimi 87*83a54b2fSSadaf Ebrahimifunction getPanelName(element) { 88*83a54b2fSSadaf Ebrahimi return element.attr('panel-name'); 89*83a54b2fSSadaf Ebrahimi} 90*83a54b2fSSadaf Ebrahimi 91*83a54b2fSSadaf Ebrahimifunction showPanel(panelName) { 92*83a54b2fSSadaf Ebrahimi $('.panel').hide(); 93*83a54b2fSSadaf Ebrahimi var panel = $('.panel[panel-name="' + panelName + '"]'); 94*83a54b2fSSadaf Ebrahimi panel.show(); 95*83a54b2fSSadaf Ebrahimi} 96*83a54b2fSSadaf Ebrahimi 97*83a54b2fSSadaf Ebrahimifunction showMethod(element) { 98*83a54b2fSSadaf Ebrahimi var hashTag = getHashForMethod(element); 99*83a54b2fSSadaf Ebrahimi var panelName = getPanelName(element); 100*83a54b2fSSadaf Ebrahimi showPanel(panelName); 101*83a54b2fSSadaf Ebrahimi var current = document.location.href; 102*83a54b2fSSadaf Ebrahimi var base = current.substring(0, current.indexOf('#')) 103*83a54b2fSSadaf Ebrahimi document.location.href = base + '#' + hashTag; 104*83a54b2fSSadaf Ebrahimi var newPosition = $(document).scrollTop() - 65; 105*83a54b2fSSadaf Ebrahimi $(document).scrollTop(newPosition); 106*83a54b2fSSadaf Ebrahimi} 107*83a54b2fSSadaf Ebrahimi 108*83a54b2fSSadaf Ebrahimifunction drawTable() { 109*83a54b2fSSadaf Ebrahimi for (var i = 0; i < suiteTableInitFunctions.length; i++) { 110*83a54b2fSSadaf Ebrahimi window[suiteTableInitFunctions[i]](); 111*83a54b2fSSadaf Ebrahimi } 112*83a54b2fSSadaf Ebrahimi 113*83a54b2fSSadaf Ebrahimi for (var k in window.suiteTableData) { 114*83a54b2fSSadaf Ebrahimi var v = window.suiteTableData[k]; 115*83a54b2fSSadaf Ebrahimi var div = v.tableDiv; 116*83a54b2fSSadaf Ebrahimi var data = v.tableData 117*83a54b2fSSadaf Ebrahimi var table = new google.visualization.Table(document.getElementById(div)); 118*83a54b2fSSadaf Ebrahimi table.draw(data, { 119*83a54b2fSSadaf Ebrahimi showRowNumber : false 120*83a54b2fSSadaf Ebrahimi }); 121*83a54b2fSSadaf Ebrahimi } 122*83a54b2fSSadaf Ebrahimi} 123