nextcloud/apps/settings/js/log.js

86 lines
2.1 KiB
JavaScript
Raw Permalink Normal View History

2012-02-26 00:19:32 +04:00
/**
* Copyright (c) 2012, Robin Appelman <icewind1991@gmail.com>
2013-03-27 19:53:51 +04:00
* Copyright (c) 2013, Morris Jobke <morris.jobke@gmail.com>
2012-02-26 00:19:32 +04:00
* This file is licensed under the Affero General Public License version 3 or later.
* See the COPYING-README file.
*/
2014-10-30 16:59:13 +03:00
/* global formatDate */
OC.Log = {
reload: function (count) {
if (!count) {
count = OC.Log.loaded;
2012-04-16 14:27:21 +04:00
}
2014-10-30 16:59:13 +03:00
OC.Log.loaded = 0;
2012-04-16 14:27:21 +04:00
$('#log tbody').empty();
OC.Log.getMore(count);
},
2014-10-30 16:59:13 +03:00
levels: ['Debug', 'Info', 'Warning', 'Error', 'Fatal'],
loaded: 3,//are initially loaded
getMore: function (count) {
2013-03-28 18:02:31 +04:00
count = count || 10;
$.get(OC.generateUrl('/settings/admin/log/entries'), {offset: OC.Log.loaded, count: count}, function (result) {
OC.Log.addEntries(result.data);
if (!result.remain) {
$('#moreLog').hide();
2012-02-26 00:19:32 +04:00
}
$('#lessLog').show();
2012-02-26 00:19:32 +04:00
});
},
2014-10-30 16:59:13 +03:00
showLess: function (count) {
count = count || 10;
2013-03-28 18:02:31 +04:00
//calculate remaining items - at least 3
2014-10-30 16:59:13 +03:00
OC.Log.loaded = Math.max(3, OC.Log.loaded - count);
2013-03-28 19:11:46 +04:00
$('#moreLog').show();
2013-03-28 18:02:31 +04:00
// remove all non-remaining items
$('#log tr').slice(OC.Log.loaded).remove();
2014-10-30 16:59:13 +03:00
if (OC.Log.loaded <= 3) {
2013-03-28 18:02:31 +04:00
$('#lessLog').hide();
2013-07-31 23:21:02 +04:00
}
},
2014-10-30 16:59:13 +03:00
addEntries: function (entries) {
for (var i = 0; i < entries.length; i++) {
var entry = entries[i];
var row = $('<tr/>');
var levelTd = $('<td/>');
2012-02-26 00:19:32 +04:00
levelTd.text(OC.Log.levels[entry.level]);
row.append(levelTd);
2014-10-30 16:59:13 +03:00
var appTd = $('<td/>');
2012-02-26 00:19:32 +04:00
appTd.text(entry.app);
row.append(appTd);
2014-10-30 16:59:13 +03:00
var messageTd = $('<td/>');
messageTd.addClass('log-message');
2013-03-04 02:46:08 +04:00
messageTd.text(entry.message);
2012-02-26 00:19:32 +04:00
row.append(messageTd);
2014-10-30 16:59:13 +03:00
var timeTd = $('<td/>');
timeTd.addClass('date');
2014-10-30 16:59:13 +03:00
if (isNaN(entry.time)) {
timeTd.text(entry.time);
} else {
2014-10-30 16:59:13 +03:00
timeTd.text(formatDate(entry.time * 1000));
}
2012-02-26 00:19:32 +04:00
row.append(timeTd);
var userTd = $('<td/>');
userTd.text(entry.user);
row.append(userTd);
2012-02-26 00:19:32 +04:00
$('#log').append(row);
}
2012-05-02 23:26:42 +04:00
OC.Log.loaded += entries.length;
2012-02-26 00:19:32 +04:00
}
2014-10-30 16:59:13 +03:00
};
2012-02-26 00:19:32 +04:00
window.addEventListener('DOMContentLoaded', function () {
2014-10-30 16:59:13 +03:00
$('#moreLog').click(function () {
2012-02-26 00:19:32 +04:00
OC.Log.getMore();
2014-10-30 16:59:13 +03:00
});
$('#lessLog').click(function () {
OC.Log.showLess();
2014-10-30 16:59:13 +03:00
});
2012-02-26 00:19:32 +04:00
});