mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Keeps the look more in line with the navigation bar icons. In the future with Bootstrap 4, Glyphicons will not be included, so this starts the transistions away.
120 lines
4.5 KiB
PHP
120 lines
4.5 KiB
PHP
<?php
|
|
$param = array();
|
|
|
|
$pagetitle[] = 'Alert Log';
|
|
|
|
echo '<div class="panel panel-default panel-condensed">
|
|
<div class="panel-heading">
|
|
<div class="row">
|
|
<div class="col-md-2">
|
|
<strong>Alert Log entries</strong>
|
|
</div>
|
|
<div class="col-md-2 col-md-offset-8">
|
|
<div class="pull-right pdf-export"></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
';
|
|
?>
|
|
|
|
<div class="table-responsive">
|
|
<table id="alertlog" class="table table-hover table-condensed table-striped">
|
|
<thead>
|
|
<tr>
|
|
<th data-column-id="time_logged" data-order="desc">Time logged</th>
|
|
<th data-column-id="details" data-sortable="false"> </th>
|
|
<th data-column-id="hostname">Device</th>
|
|
<th data-column-id="alert">Alert</th>
|
|
<th data-column-id="status" data-sortable="false">Status</th>
|
|
</tr>
|
|
</thead>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
|
|
var grid = $("#alertlog").bootgrid({
|
|
ajax: true,
|
|
templates: {
|
|
header: "<div id=\"{{ctx.id}}\" class=\"{{css.header}}\"><div class=\"row\">"+
|
|
"<div class=\"col-sm-8 actionBar\"><span class=\"pull-left\">"+
|
|
"<form method=\"post\" action=\"\" class=\"form-inline\" role=\"form\" id=\"result_form\">"+
|
|
"<div class=\"form-group\">"+
|
|
"<label>"+
|
|
"<strong>Device </strong>"+
|
|
"</label>"+
|
|
"<select name=\"device_id\" id=\"device_id\" class=\"form-control input-sm\">"+
|
|
"<option value=\"\">All Devices</option>"+
|
|
<?php
|
|
foreach (get_all_devices() as $hostname) {
|
|
$device_id = getidbyname($hostname);
|
|
if (device_permitted($device_id)) {
|
|
echo '"<option value=\"'.$device_id.'\""+';
|
|
if (getidbyname($hostname) == $_POST['device_id']) {
|
|
echo '" selected "+';
|
|
}
|
|
|
|
echo '">'.$hostname.'</option>"+';
|
|
}
|
|
}
|
|
?>
|
|
"</select>"+
|
|
"</div>"+
|
|
"<div class=\"form-group\">"+
|
|
"<label>"+
|
|
"<strong> State </strong>"+
|
|
"</label>"+
|
|
"<select name=\"state\" id=\"state\" class=\"form-control input-sm\">"+
|
|
"<option value=\"-1\"></option>"+
|
|
"<option value=\"0\">Ok</option>"+
|
|
"<option value=\"1\">Alert</option>"+
|
|
"</select>"+
|
|
"</div>"+
|
|
"<button type=\"submit\" class=\"btn btn-default input-sm\">Filter</button>"+
|
|
"</form></span></div>"+
|
|
"<div class=\"col-sm-4 actionBar\"><p class=\"{{css.search}}\"></p><p class=\"{{css.actions}}\"></p></div></div></div>"
|
|
},
|
|
post: function ()
|
|
{
|
|
return {
|
|
id: "alertlog",
|
|
device_id: '<?php echo htmlspecialchars($_POST['device_id']); ?>',
|
|
state: '<?php echo htmlspecialchars($_POST['state']); ?>'
|
|
};
|
|
},
|
|
url: "ajax_table.php"
|
|
}).on("loaded.rs.jquery.bootgrid", function() {
|
|
|
|
var results = $("div.infos").text().split(" ");
|
|
low = results[1] -1 ;
|
|
high = results[3];
|
|
max = high - low;
|
|
search = $('.search-field').val();
|
|
|
|
$(".pdf-export").html("<a href='pdf.php?report=alert-log&device_id=<?php echo $_POST['device_id']; ?>&string="+search+"&results="+max+"&start="+low+"'><img src='images/16/pdf.png' width='16' height='16' alt='Export to pdf'> Export to pdf</a>");
|
|
|
|
grid.find(".incident-toggle").each( function() {
|
|
$(this).parent().addClass('incident-toggle-td');
|
|
}).on("click", function(e) {
|
|
var target = $(this).data("target");
|
|
$(target).collapse('toggle');
|
|
$(this).toggleClass('fa-plus fa-minus');
|
|
});
|
|
grid.find(".incident").each( function() {
|
|
$(this).parent().addClass('col-lg-4 col-md-4 col-sm-4 col-xs-4');
|
|
$(this).parent().parent().on("mouseenter", function() {
|
|
$(this).find(".incident-toggle").fadeIn(200);
|
|
}).on("mouseleave", function() {
|
|
$(this).find(".incident-toggle").fadeOut(200);
|
|
}).on("click", "td:not(.incident-toggle-td)", function() {
|
|
var target = $(this).parent().find(".incident-toggle").data("target");
|
|
if( $(this).parent().find(".incident-toggle").hasClass('fa-plus') ) {
|
|
$(this).parent().find(".incident-toggle").toggleClass('fa-plus fa-minus');
|
|
$(target).collapse('toggle');
|
|
}
|
|
});
|
|
});
|
|
});
|
|
</script>
|