123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- /**
- * 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.
- */
- /* global formatDate */
- 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.generateUrl('/settings/admin/log/entries'), {offset: OC.Log.loaded, count: count}, function (result) {
- 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.addClass('log-message');
- messageTd.text(entry.message);
- row.append(messageTd);
- var timeTd = $('<td/>');
- timeTd.addClass('date');
- 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();
- });
- });
|