From 0b553879d0606b3f24047302e8958f9610341f2b Mon Sep 17 00:00:00 2001 From: Patrick J Cherry Date: Thu, 16 Jun 2011 13:41:04 +0100 Subject: Added alert sorting and grouping in the web interface. --- views/_alerts_table_alert_summary.haml | 1 + views/_alerts_table_group.haml | 22 ++++++++++++---------- 2 files changed, 13 insertions(+), 10 deletions(-) (limited to 'views') diff --git a/views/_alerts_table_alert_summary.haml b/views/_alerts_table_alert_summary.haml index a06ccb8..24162c6 100644 --- a/views/_alerts_table_alert_summary.haml +++ b/views/_alerts_table_alert_summary.haml @@ -1,4 +1,5 @@ - alert = alerts_table_alert_summary if defined? alerts_table_alert_summary +- row_class = (row_class || []) + [ cycle(nil, "hilight"), alert.raised? && "triggered", alert.acknowledged? && "acknowledged", alert.level] %tr{ :class => row_class, :id => ["tr", "summary", alert.id] } %td %input{ :type => "checkbox", :id => "alerts[#{alert.id}]", :name => "alerts[#{alert.id}]", :class => 'alert' } diff --git a/views/_alerts_table_group.haml b/views/_alerts_table_group.haml index 8bc73b4..6507377 100644 --- a/views/_alerts_table_group.haml +++ b/views/_alerts_table_group.haml @@ -1,14 +1,16 @@ -# Sanity checking. - group, alerts = alerts_table_group unless alerts_table_group.nil? -- hilight = cycle(nil,"hilight") -- row_class = [ hilight, alerts.first.raised? && "triggered", alerts.first.acknowledged? && "acknowledged", alerts.first.level] -=partial("alerts_table_alert_summary", :locals => {:alert => alerts.pop, :row_class => row_class }) -- if alerts.length > 1 - %tr{ :class => [ hilight, alerts.first.raised? && "triggered", alerts.first.acknowledged? && "acknowledged"]} +- if alerts.length <= 2 + =partial("alerts_table_alert_summary", :collection => alerts) +- else + =partial("alerts_table_alert_summary", :collection => [alerts.first]) + =partial("alerts_table_alert_summary", :collection => alerts[1..-1], :locals => {:row_class => ["hidden"]}) + %tr{:id => ["tr","group",group]} %td   %td{:colspan => 2} - - if alerts.length == 2 - There is one more alert in this group. - - else - There is #{alerts.length - 1} more alerts in this group. - =partial("alerts_table_alert_summary", :collection => alerts[1..-1], :locals => { :row_class => row_class + ["hidden"] }) + There are + %a{:onclick => alerts[1..-1].collect{|a| "$('#tr_summary_#{a.id}').toggle();"}.join + " return false;", :href => "#"} + =alerts.length - 1 + more alerts + for the #{@group_by} #{group}. + -- cgit v1.2.1