//= require_directory ./libraries/ //= require_directory ./plugins/ //= require_self $(document).ready(function() { // Configuration for fancy sortable tables for source file groups $('.file_list').dataTable({ "aaSorting": [[ 1, "asc" ]], "bPaginate": false, "bJQueryUI": true, "aoColumns": [ null, { "sType": "percent" }, null, null, null, null, null ] }); // Syntax highlight all files up front - deactivated // $('.source_table pre code').each(function(i, e) {hljs.highlightBlock(e, ' ')}); // Syntax highlight source files on first toggle of the file view popup $("a.src_link").click(function() { // Get the source file element that corresponds to the clicked element var source_table = $($(this).attr('href')); // If not highlighted yet, do it! if (!source_table.hasClass('highlighted')) { source_table.find('pre code').each(function(i, e) {hljs.highlightBlock(e, ' ')}); source_table.addClass('highlighted'); }; }); var prev_anchor; var curr_anchor; // Set-up of popup for source file views $("a.src_link").colorbox({ transition: "none", inline: true, opacity: 1, width: "95%", height: "95%", onLoad: function() { prev_anchor = curr_anchor ? curr_anchor : jQuery.url.attr('anchor'); curr_anchor = this.href.split('#')[1]; window.location.hash = curr_anchor; }, onCleanup: function() { if (prev_anchor && prev_anchor != curr_anchor) { $('a[href="#'+prev_anchor+'"]').click(); curr_anchor = prev_anchor; } else { $('.group_tabs a:first').click(); prev_anchor = curr_anchor; curr_anchor = "#_AllFiles"; } window.location.hash = curr_anchor; } }); window.onpopstate = function(event){ if (location.hash.substring(0,2) == "#_") { $.colorbox.close(); curr_anchor = jQuery.url.attr('anchor'); } else { if ($('#colorbox').is(':hidden')) { $('a.src_link[href="'+location.hash+'"]').colorbox({ open: true }); } } }; // Hide src files and file list container after load $('.source_files').hide(); $('.file_list_container').hide(); // Add tabs based upon existing file_list_containers $('.file_list_container h2').each(function(){ var container_id = $(this).parent().attr('id'); var group_name = $(this).find('.group_name').first().html(); var covered_percent = $(this).find('.covered_percent').first().html(); $('.group_tabs').append('