'use strict';
jQuery(function($) {
var reportPage = { selectTab: function(id) { $('#report .tabs .active, #sources.active, #events.active').removeClass('active'); $(id).addClass('active'); $('[href="' + id + '"]').addClass('active'); }, selectLine: function(id) { $('.source-line.focus').removeClass('focus'); var fid = id.slice(6); var line = $('#line-' + fid); line.addClass('focus'); reportPage.selectFile('#' + line.parents('.source').attr('id')); var offset = line.offset(); var codeView = $('#source-code'); codeView.scrollTop(offset.top - (codeView.height() / 2)); reportPage.selectTab('#sources'); }, selectFile: function(id) { $('#source-code').scrollTop(0); $('#source-code .source').hide(); $('.source-link.focus').removeClass('focus'); $('.source-link a[href="' + id + '"]').parent().addClass('focus'); $(id).show(); } }; $('#report .tabs a').on('click', function(e) { e.preventDefault(); var href = $(this).attr('href'); reportPage.selectTab(href); }); $('#source-list a, #source-code .source .filename a').on('click', function(e) { e.preventDefault(); var href = $(this).attr('href'); reportPage.selectFile(href); }); $('#events .backtraces a, #sources .source .line-info a').on('click', function(e) { e.preventDefault(); var href = $(this).attr('href'); reportPage.selectLine(href); }); $('#events .event .event-name a').on('click', function(e) { e.preventDefault(); var id = $(this).attr('href'); $(id).find('> .event-info .event-payload').slideToggle(); $(id).find('> .event-info').toggleClass('closed'); }); if(location.hash.startsWith('#line-')) { reportPage.selectLine(location.hash); }
});