2 filters: ['exception_names', 'controller_actions', 'date_ranges'],
3 setPage: function(num) {
5 $('query-form').onsubmit();
8 setFilter: function(context, name) {
9 var filterName = context + '_filter'
10 $(filterName).value = ($F(filterName) == name) ? '' : name;
11 this.deselect(context, filterName);
12 $('page').value = '1';
13 $('query-form').onsubmit();
16 deselect: function(context, filterName) {
17 $$('#' + context + ' a').each(function(a) {
18 var value = $(filterName) ? $F(filterName) : null;
19 a.className = (value && (a.getAttribute('title') == value || a.innerHTML == value)) ? 'selected' : '';
23 deleteAll: function() {
24 return Form.serialize('query-form') + '&' + $$('tr.exception').collect(function(tr) { return tr.getAttribute('id').gsub(/^\w+-/, ''); }).toQueryString('ids');
28 Event.observe(window, 'load', function() {
29 ExceptionLogger.filters.each(function(context) {
30 $(context + '_filter').value = '';
34 Object.extend(Array.prototype, {
35 toQueryString: function(name) {
36 return this.collect(function(item) { return name + "[]=" + encodeURIComponent(item) }).join('&');
40 Ajax.Responders.register({
41 onCreate: function() {
42 if($('activity') && Ajax.activeRequestCount > 0) $('activity').visualEffect('appear', {duration:0.25});
45 onComplete: function() {
46 if($('activity') && Ajax.activeRequestCount == 0) $('activity').visualEffect('fade', {duration:0.25});