1function sp_viewport() { 2 var e = window, a = 'inner'; 3 if (!('innerWidth' in window )) { 4 a = 'client'; 5 e = document.documentElement || document.body; 6 } 7 return { width : e[ a+'Width' ] , height : e[ a+'Height' ] }; 8} 9 10(function($) { 11 12 /* Header */ 13 if ( ! $('.sp-header').size() ) { 14 $('body').prepend( '<div class="sp-header sp-header-loaded"></div>' ); 15 } 16 17 /* Countdown */ 18 $("[data-countdown]").each(function() { 19 var $this = $(this), finalDate = $(this).data('countdown'); 20 $this.countdown(finalDate, function(event) { 21 $this.html(event.strftime("<span>%D <small>" + localized_strings.days + "</small></span> " 22 + "<span>%H <small>" + localized_strings.hrs + "</small></span> " 23 + "<span>%M <small>" + localized_strings.mins + "</small></span> " 24 + "<span>%S <small>" + localized_strings.secs + "</small></span>" )); 25 }); 26 }); 27 28 /* Scrollable Tables */ 29 $(".sp-scrollable-table").wrap("<div class=\"sp-scrollable-table-wrapper\"></div>"); 30 31 /* Selector Redirect */ 32 $(".sp-selector-redirect").change(function() { 33 window.location = $(this).val(); 34 }); 35 36 /* Template Tabs */ 37 $(".sp-tab-menu-item a").click(function() { 38 $template = $(this).data("sp-tab"); 39 $(this).closest(".sp-tab-menu-item").addClass("sp-tab-menu-item-active").siblings(".sp-tab-menu-item").removeClass("sp-tab-menu-item-active"); 40 $(this).closest(".sp-tab-group").find(".sp-tab-content-"+$template).show().siblings(".sp-tab-content").hide(); 41 return false; 42 }); 43 44 /* API method to get paging information */ 45 $.fn.dataTableExt.oApi.fnPagingInfo = function ( oSettings ) 46 { 47 return { 48 "iStart": oSettings._iDisplayStart, 49 "iEnd": oSettings.fnDisplayEnd(), 50 "iLength": oSettings._iDisplayLength, 51 "iTotal": oSettings.fnRecordsTotal(), 52 "iFilteredTotal": oSettings.fnRecordsDisplay(), 53 "iPage": oSettings._iDisplayLength === -1 ? 54 0 : Math.ceil( oSettings._iDisplayStart / oSettings._iDisplayLength ), 55 "iTotalPages": oSettings._iDisplayLength === -1 ? 56 0 : Math.ceil( oSettings.fnRecordsDisplay() / oSettings._iDisplayLength ) 57 }; 58 } 59 60 /* Data Tables */ 61 $(".sp-data-table").each(function() { 62 sortable = $(this).hasClass("sp-sortable-table"); 63 paginated = $(this).hasClass("sp-paginated-table"); 64 display_length = parseInt($(this).attr("data-sp-rows")); 65 if ( display_length == undefined || isNaN( display_length ) ) display_length = 10; 66 if ( $(this).find("tbody tr").length <= display_length ) paginated = false; 67 if ( sortable || paginated ) { 68 $(this).dataTable({ 69 "order": [], 70 "autoWidth": false, 71 "searching": false, 72 "info": false, 73 "paging": paginated, 74 "lengthChange": false, 75 "pagingType": "simple_numbers", 76 "pageLength": display_length, 77 "ordering": sortable, 78 "language": { 79 "aria": { 80 "sortAscending": "", 81 "sortDescending": "" 82 }, 83 "paginate": { 84 "previous": localized_strings.previous, 85 "next": localized_strings.next, 86 } 87 }, 88 "columnDefs": [ 89 { "type": "num-fmt", "targets": [ ".data-number", ".data-rank" ] }, 90 ] 91 }); 92 } 93 }); 94 95})(jQuery);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.