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;
|
2014-12-21 00:44:41 +03:00
|
|
|
$.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
|
|
|
}
|
2014-12-21 00:44:41 +03:00
|
|
|
$('#lessLog').show();
|
2012-02-26 00:19:32 +04:00
|
|
|
});
|
|
|
|
},
|
2014-10-30 16:59:13 +03:00
|
|
|
showLess: function (count) {
|
2013-03-27 17:51:30 +04:00
|
|
|
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
|
|
|
}
|
2013-03-27 17:51:30 +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);
|
2013-03-27 17:51:30 +04:00
|
|
|
|
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);
|
2013-03-27 17:51:30 +04:00
|
|
|
|
2014-10-30 16:59:13 +03:00
|
|
|
var messageTd = $('<td/>');
|
2015-03-26 13:42:04 +03:00
|
|
|
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);
|
2013-03-27 17:51:30 +04:00
|
|
|
|
2014-10-30 16:59:13 +03:00
|
|
|
var timeTd = $('<td/>');
|
2014-07-06 18:15:33 +04:00
|
|
|
timeTd.addClass('date');
|
2014-10-30 16:59:13 +03:00
|
|
|
if (isNaN(entry.time)) {
|
2013-04-17 16:05:51 +04:00
|
|
|
timeTd.text(entry.time);
|
|
|
|
} else {
|
2014-10-30 16:59:13 +03:00
|
|
|
timeTd.text(formatDate(entry.time * 1000));
|
2013-04-17 16:05:51 +04:00
|
|
|
}
|
2012-02-26 00:19:32 +04:00
|
|
|
row.append(timeTd);
|
2016-06-08 11:41:30 +03:00
|
|
|
|
|
|
|
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
|
|
|
|
2014-10-30 16:59:13 +03:00
|
|
|
$(document).ready(function () {
|
|
|
|
$('#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 () {
|
2013-03-27 17:51:30 +04:00
|
|
|
OC.Log.showLess();
|
2014-10-30 16:59:13 +03:00
|
|
|
});
|
2012-02-26 00:19:32 +04:00
|
|
|
});
|