|
<div class='container agent-show'>
<div class='row'>
<div class='col-md-2'>
<ul class="nav nav-pills nav-stacked" id="show-tabs">
<% if agent_show_view(@agent).present? %>
<li class='active'><a href="#summary" data-toggle="tab"><span class='glyphicon glyphicon-picture'></span> Summary</a></li>
<li><a href="#details" data-toggle="tab"><span class='glyphicon glyphicon-indent-left'></span> Details</a></li>
<% else %>
<li class='disabled'><a><span class='glyphicon glyphicon-picture'></span> Summary</a></li>
<li class='active'><a href="#details" data-toggle="tab"><span class='glyphicon glyphicon-indent-left'></span> Details</a></li>
<% end %>
<li><a href="#logs" data-toggle="tab" data-agent-id="<%= @agent.id %>" class='<%= @agent.recent_error_logs? ? 'recent-errors' : '' %>'><span class='glyphicon glyphicon-list-alt'></span> Logs</a></li>
<% if @agent.can_create_events? && @agent.events.count > 0 %>
<li><%= link_to '<span class="glyphicon glyphicon-random"></span> Events'.html_safe, events_path(:agent => @agent.to_param) %></li>
<% end %>
<li><%= link_to '<span class="glyphicon glyphicon-chevron-left"></span> Back'.html_safe, agents_path %></li>
<li><%= link_to '<span class="glyphicon glyphicon-pencil"></span> Edit'.html_safe, edit_agent_path(@agent) %></li>
<li class="dropdown">
<a class="dropdown-toggle" data-toggle="dropdown" href="#">Actions <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu" aria-labelledby="dLabel">
<% if @agent.can_be_scheduled? %>
<li>
<%= link_to '<span class="glyphicon glyphicon-refresh"></span> Run'.html_safe, run_agent_path(@agent, :return => "show"), method: :post, :tabindex => "-1" %>
</li>
<% end %>
<% if @agent.can_create_events? && @agent.events.count > 0 %>
<li>
<%= link_to '<span class="glyphicon glyphicon-trash"></span> Delete all events'.html_safe, remove_events_agent_path(@agent), method: :delete, data: {confirm: 'Are you sure you want to delete ALL events for this Agent?'}, :tabindex => "-1" %>
</li>
<% end %>
<li>
<%= link_to '<span class="glyphicon glyphicon-plus"></span> Clone'.html_safe, new_agent_path(id: @agent), :tabindex => "-1" %>
</li>
<li>
<% if @agent.disabled? %>
<%= link_to '<i class="glyphicon glyphicon-play"></i> Enable agent'.html_safe, agent_path(@agent, :agent => { :disabled => false }, :return => "show"), :method => :put %>
<% else %>
<%= link_to '<i class="glyphicon glyphicon-pause"></i> Disable agent'.html_safe, agent_path(@agent, :agent => { :disabled => true }, :return => "show"), :method => :put %>
<% end %>
</li>
<li>
<%= link_to '<span class="glyphicon glyphicon-remove"></span> Delete'.html_safe, agent_path(@agent), method: :delete, data: { confirm: 'Are you sure you wish to permenantly delete this Agent?' }, :tabindex => "-1" %>
</li>
</ul>
</li>
</ul>
</div>
<div class='col-md-10'>
<div class="tab-content">
<div class="tab-pane <%= agent_show_view(@agent).present? ? "active" : "disabled" %>" id="summary">
<h2><%= @agent.name %> Summary</h2>
<% if agent_show_view(@agent).present? %>
<div class="show-view <%= agent_show_class(@agent) %>">
<%= render agent_show_view(@agent) %>
</div>
<% end %>
</div>
<div class="tab-pane" id="logs" data-agent-id="<%= @agent.id %>">
<div class='row'>
<div class='col-md-12'>
<h2>
<%= @agent.name %> Logs
<small>
<%= image_tag "spinner-arrows.gif", :class => "spinner" %>
<span class="glyphicon glyphicon-refresh action-icon refresh"></span>
<span class="glyphicon glyphicon-trash action-icon clear"></span>
</small>
</h2>
</div>
</div>
<div class='row'>
<div class='col-md-12'>
<div class='logs'>
Just a moment...
</div>
</div>
</div>
</div>
<div class="tab-pane <%= agent_show_view(@agent).present? ? "" : "active" %>" id="details">
<h2><%= @agent.name %> Details</h2>
<p>
<b>Type:</b>
<%= @agent.short_type.titleize %>
</p>
<% if @agent.can_be_scheduled? %>
<p>
<b>Schedule:</b>
<%= (@agent.schedule || "n/a").humanize.titleize %>
</p>
<p>
<b>Last checked:</b>
<%= @agent.last_check_at ? time_ago_in_words(@agent.last_check_at) + " ago" : "never" %>
</p>
<% end %>
<% if @agent.can_create_events? %>
<p>
<b>Keep events:</b>
<%= (Agent::EVENT_RETENTION_SCHEDULES.detect {|s| s.last == @agent.keep_events_for } || [@agent.keep_events_for]).first %>
</p>
<p>
<b>Last event created:</b>
<%= @agent.last_event_at ? time_ago_in_words(@agent.last_event_at) + " ago" : "never" %>
</p>
<% end %>
<% if @agent.can_receive_events? %>
<p>
<b>Last received event:</b>
<%= @agent.last_receive_at ? time_ago_in_words(@agent.last_receive_at) + " ago" : "never" %>
</p>
<% end %>
<% if @agent.can_create_events? %>
<p>
<b>Events created:</b>
<%= link_to @agent.events.count, events_path(:agent => @agent.to_param) %>
</p>
<% end %>
<% if @agent.can_receive_events? %>
<p>
<b>Event sources:</b>
<% if @agent.sources.length %>
<%= @agent.sources.map { |source_agent| link_to(source_agent.name, agent_path(source_agent)) }.to_sentence.html_safe %>
<% else %>
None
<% end %>
</p>
<% end %>
<% if @agent.can_create_events? %>
<p>
<b>Event receivers:</b>
<% if @agent.receivers.length %>
<%= @agent.receivers.map { |receiver_agent| link_to(receiver_agent.name, agent_path(receiver_agent)) }.to_sentence.html_safe %>
<% else %>
None
<% end %>
</p>
<% end %>
<p>
<b>Working:</b>
<%= working @agent %>
</p>
<p>
<b>Options:</b>
<pre><%= Utils.pretty_jsonify @agent.options || {} %></pre>
</p>
<p>
<b>Memory:</b>
<pre><%= Utils.pretty_jsonify @agent.memory || {} %></pre>
</p>
</div>
</div>
</div>
</div>
</div>
|