summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js
diff options
context:
space:
mode:
Diffstat (limited to 'qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js71
1 files changed, 48 insertions, 23 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js
index 56b37d0167..364d5403a3 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js
+++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js
@@ -23,14 +23,25 @@ define(["dojo/_base/xhr",
"dojo/query",
"dojo/date/locale",
"dijit/registry",
+ "qpid/management/UserPreferences",
"qpid/common/grid/GridUpdater",
"qpid/common/grid/UpdatableGrid",
"qpid/management/logs/LogFileDownloadDialog",
"dojo/text!../../../logs/showLogViewer.html",
"dojo/domReady!"],
- function (xhr, parser, query, locale, registry, GridUpdater, UpdatableGrid, LogFileDownloadDialog, markup) {
+ function (xhr, parser, query, locale, registry, UserPreferences, GridUpdater, UpdatableGrid, LogFileDownloadDialog, markup) {
var defaulGridRowLimit = 4096;
+ var currentTimeZone;
+
+ function dataTransformer(data)
+ {
+ for(var i=0; i < data.length; i++)
+ {
+ data[i].time = UserPreferences.addTimeZoneOffsetToUTC(data[i].timestamp);
+ }
+ return data;
+ }
function LogViewer(name, parent, controller) {
var self = this;
@@ -64,10 +75,11 @@ define(["dojo/_base/xhr",
LogViewer.prototype._buildGrid = function() {
var self = this;
+ currentTimeZone = UserPreferences.getTimeZoneDescription();
var gridStructure = [
{
- hidden: true,
+ hidden: false,
name: "ID",
field: "id",
width: "50px",
@@ -75,28 +87,27 @@ define(["dojo/_base/xhr",
filterable: true
},
{
- name: "Date", field: "timestamp", width: "100px", datatype: "date",
+ name: "Date", field: "time", width: "100px", datatype: "date",
formatter: function(val) {
- var d = new Date(0);
- d.setUTCSeconds(val/1000);
- return locale.format(d, {selector:"date", datePattern: "EEE, MMM d yy"});
- },
- dataTypeArgs: {
- selector: "date",
- datePattern: "EEE MMMM d yyy"
+ return UserPreferences.formatDateTime(val, {selector:"date"});
}
},
- { name: "Time", field: "timestamp", width: "150px", datatype: "time",
+ { name: "Time ", field: "time", width: "100px", datatype: "time",
formatter: function(val) {
- var d = new Date(0);
- d.setUTCSeconds(val/1000);
- return locale.format(d, {selector:"time", timePattern: "HH:mm:ss z (ZZZZ)"});
- },
- dataTypeArgs: {
- selector: "time",
- timePattern: "HH:mm:ss ZZZZ"
+ return UserPreferences.formatDateTime(val, {selector:"time"});
}
},
+ {
+ name: "Time zone",
+ field: "time",
+ width: "80px",
+ datatype: "string",
+ hidden: true,
+ filterable: false,
+ formatter: function(val) {
+ return currentTimeZone;
+ },
+ },
{ name: "Level", field: "level", width: "50px", datatype: "string", autoComplete: true, hidden: true},
{ name: "Logger", field: "logger", width: "150px", datatype: "string", autoComplete: false, hidden: true},
{ name: "Thread", field: "thread", width: "100px", datatype: "string", hidden: true},
@@ -132,18 +143,20 @@ define(["dojo/_base/xhr",
}
},
append: true,
- appendLimit: defaulGridRowLimit
+ appendLimit: defaulGridRowLimit,
+ dataTransformer: dataTransformer
});
this.grid = new UpdatableGrid(updater.buildUpdatableGridArguments({
structure: gridStructure,
selectable: true,
selectionMode: "none",
sortInfo: -1,
- sortFields: [{attribute: 'timestamp', descending: true}],
+ sortFields: [{attribute: 'id', descending: true}],
plugins:{
nestedSorting:true,
- enhancedFilter:{defaulGridRowLimit: defaulGridRowLimit},
- indirectSelection: false
+ enhancedFilter:{defaulGridRowLimit: defaulGridRowLimit,displayLastUpdateTime:true},
+ indirectSelection: false,
+ pagination: {defaultPageSize: 10}
}
}), gridNode);
var onStyleRow = function(row)
@@ -170,14 +183,19 @@ define(["dojo/_base/xhr",
};
this.grid.on("styleRow", onStyleRow);
this.grid.startup();
+ UserPreferences.addListener(this);
}
catch(err)
{
- console.error(err);
+ if (console && console.error)
+ {
+ console.error(err);
+ }
}
};
LogViewer.prototype.close = function() {
+ UserPreferences.removeListener(this);
if (this.grid)
{
this.grid.destroy();
@@ -195,5 +213,12 @@ define(["dojo/_base/xhr",
}
};
+ LogViewer.prototype.onPreferencesChange = function(data)
+ {
+ currentTimeZone = UserPreferences.getTimeZoneDescription();
+ dataTransformer(this.grid.updater.memoryStore.data);
+ this.grid._refresh();
+ };
+
return LogViewer;
});