77 lines
1.8 KiB
JavaScript
77 lines
1.8 KiB
JavaScript
/**
|
|
* Copyright (c) 2012, Robin Appelman <icewind1991@gmail.com>
|
|
* Copyright (c) 2013, Morris Jobke <morris.jobke@gmail.com>
|
|
* This file is licensed under the Affero General Public License version 3 or later.
|
|
* See the COPYING-README file.
|
|
*/
|
|
|
|
OC.Log={
|
|
reload:function(count){
|
|
if(!count){
|
|
count=OC.Log.loaded;
|
|
}
|
|
OC.Log.loaded=0;
|
|
$('#log tbody').empty();
|
|
OC.Log.getMore(count);
|
|
},
|
|
levels:['Debug','Info','Warning','Error','Fatal'],
|
|
loaded:3,//are initially loaded
|
|
getMore:function(count){
|
|
count = count || 10;
|
|
$.get(OC.filePath('settings','ajax','getlog.php'),{offset:OC.Log.loaded,count:count},function(result){
|
|
if(result.status === 'success'){
|
|
OC.Log.addEntries(result.data);
|
|
if(!result.remain){
|
|
$('#moreLog').hide();
|
|
}
|
|
$('#lessLog').show();
|
|
}
|
|
});
|
|
},
|
|
showLess:function(count){
|
|
count = count || 10;
|
|
//calculate remaining items - at least 3
|
|
OC.Log.loaded = Math.max(3,OC.Log.loaded-count);
|
|
$('#moreLog').show();
|
|
// remove all non-remaining items
|
|
$('#log tr').slice(OC.Log.loaded).remove();
|
|
if(OC.Log.loaded <= 3)
|
|
$('#lessLog').hide();
|
|
},
|
|
addEntries:function(entries){
|
|
for(var i=0;i<entries.length;i++){
|
|
var entry=entries[i];
|
|
var row=$('<tr/>');
|
|
var levelTd=$('<td/>');
|
|
levelTd.text(OC.Log.levels[entry.level]);
|
|
row.append(levelTd);
|
|
|
|
var appTd=$('<td/>');
|
|
appTd.text(entry.app);
|
|
row.append(appTd);
|
|
|
|
var messageTd=$('<td/>');
|
|
messageTd.text(entry.message);
|
|
row.append(messageTd);
|
|
|
|
var timeTd=$('<td/>');
|
|
if(isNaN(entry.time)){
|
|
timeTd.text(entry.time);
|
|
} else {
|
|
timeTd.text(formatDate(entry.time*1000));
|
|
}
|
|
row.append(timeTd);
|
|
$('#log').append(row);
|
|
}
|
|
OC.Log.loaded += entries.length;
|
|
}
|
|
}
|
|
|
|
$(document).ready(function(){
|
|
$('#moreLog').click(function(){
|
|
OC.Log.getMore();
|
|
})
|
|
$('#lessLog').click(function(){
|
|
OC.Log.showLess();
|
|
})
|
|
});
|