mirror of
https://github.com/lazylibrarian/LazyLibrarian.git
synced 2026-04-17 21:46:56 -04:00
107 lines
3.6 KiB
HTML
Executable File
107 lines
3.6 KiB
HTML
Executable File
<%inherit file="base.html"/>
|
|
<%!
|
|
from lazylibrarian import formatter
|
|
%>
|
|
<%def name="headerIncludes()">
|
|
<div id="subhead_container">
|
|
<ul id="subhead_menu">
|
|
</ul>
|
|
</div>
|
|
</%def>
|
|
<%def name="body()">
|
|
<BR>
|
|
<table class="display" id="log_table">
|
|
<thead>
|
|
<tr>
|
|
<th id="timestamp">Timestamp</th>
|
|
<th id="level">Level</th>
|
|
<th id="message">Message</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
%for line in lineList:
|
|
<%
|
|
timestamp, message, level, threadname = line
|
|
|
|
if level == 'WARNING' or level == 'ERROR':
|
|
grade = 'X'
|
|
else:
|
|
grade = 'Z'
|
|
%>
|
|
<tr class="grade${grade}">
|
|
<td id="timestamp">${timestamp}</td>
|
|
<td id="level">${level}</td>
|
|
<td id="message">${message}</td>
|
|
</tr>
|
|
%endfor
|
|
</tbody>
|
|
</table>
|
|
</%def>
|
|
|
|
<%def name="headIncludes()">
|
|
<link rel="stylesheet" href="css/data_table.css">
|
|
</%def>
|
|
|
|
<%def name="javascriptIncludes()">
|
|
<script src="js/libs/jquery.dataTables.min.js"></script>
|
|
<script>
|
|
$(document).ready(function()
|
|
{
|
|
$('#log_table').dataTable(
|
|
{
|
|
"aoColumns": [
|
|
null,
|
|
null,
|
|
null
|
|
],
|
|
"oLanguage": {
|
|
"sSearch":"",
|
|
"sLengthMenu":"Show _MENU_ lines per page",
|
|
"sEmptyTable": "No log information available",
|
|
"sInfo":"Showing _START_ to _END_ of _TOTAL_ lines",
|
|
"sInfoEmpty":"Showing 0 to 0 of 0 lines",
|
|
"sInfoFiltered":"(filtered from _MAX_ total lines)"},
|
|
"bStateSave": true,
|
|
"aLengthMenu": [[5, 10, 15, 25, 50, 100, -1], [5, 10, 15, 25, 50, 100, "All"]],
|
|
"iDisplayLength": 10,
|
|
"sPaginationType": "full_numbers",
|
|
"aaSorting": [],
|
|
"bServerSide": true,
|
|
"sAjaxSource": 'getLog',
|
|
"bFilter": true,
|
|
"fnRowCallback": function (nRow, aData, iDisplayIndex, iDisplayIndexFull) {
|
|
if (aData[1] === "WARNING" || aData[1] === "ERROR")
|
|
{
|
|
$('td', nRow).closest('tr').addClass("gradeX");
|
|
}
|
|
else
|
|
{
|
|
$('td', nRow).closest('tr').addClass("gradeZ");
|
|
}
|
|
|
|
return nRow;
|
|
},
|
|
"fnServerData": function (sSource, aoData, fnCallback) {
|
|
/* Add some extra data to the sender */
|
|
$.getJSON(sSource, aoData, function (json) {
|
|
fnCallback(json)
|
|
});
|
|
}
|
|
});
|
|
$('.dataTables_filter input').attr("placeholder", "Seach table here");
|
|
|
|
// dont keep refreshing the log table on mobile devices
|
|
var isiPad = navigator.userAgent.match(/iPad/i) != null;
|
|
// Why is the log page auto-refreshing in the first place?
|
|
|
|
// if (!isiPad && !((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i))))
|
|
// {
|
|
// // Refresh the log table
|
|
// setInterval(function() {
|
|
// $('#log_table').dataTable().fnDraw();
|
|
// }, 10000);
|
|
// }
|
|
});
|
|
</script>
|
|
</%def>
|