You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/04/17 22:29:41 UTC
svn commit: r1739646 -
/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js
Author: orudyy
Date: Sun Apr 17 20:29:41 2016
New Revision: 1739646
URL: http://svn.apache.org/viewvc?rev=1739646&view=rev
Log:
QPID-7204: Change rendering of Date,Map,List and Set types
Modified:
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js?rev=1739646&r1=1739645&r2=1739646&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js Sun Apr 17 20:29:41 2016
@@ -377,7 +377,63 @@ define(["dojo/_base/declare",
for (var i in attributes)
{
var attribute = attributes[i].replace(/^\s+|\s+$/gm,'');
- columns[attribute] = attribute;
+ var definition = {label: attribute};
+ if (this._columns)
+ {
+ var columnData = this._columns[attribute];
+ if (columnData)
+ {
+ if (columnData.type == "Date")
+ {
+ var that = this;
+ definition.formatter = function(value, object)
+ {
+ if (!isNaN(value) && parseInt(Number(value)) == value && !isNaN(parseInt(value, 10)))
+ {
+ return that._management.userPreferences.formatDateTime(value);
+ }
+ return value ? entities.encode(String(value)) : "";
+ };
+ }
+ else if (columnData.type == "Map")
+ {
+ definition.renderCell = function(object, value, node)
+ {
+ if (value)
+ {
+ var list = domConstruct.create("div", {}, node);
+ for(var i in value)
+ {
+ domConstruct.create("div",
+ {innerHTML: entities.encode(String(i))
+ + ": "
+ + entities.encode(json.stringify(value[i]))},
+ list);
+ }
+ return list;
+ }
+ return "";
+ };
+ }
+ else if (columnData.type == "List" || columnData.type == "Set")
+ {
+ definition.renderCell = function(object,value, node)
+ {
+ if (value)
+ {
+ var list = domConstruct.create("div", {}, node);
+ for(var i in value)
+ {
+ domConstruct.create("div", {innerHTML:entities.encode(String(value[i]))}, list)
+ }
+ return list;
+ }
+ return "";
+ };
+ }
+ }
+ }
+ columns[attribute] = definition ;
}
}
return columns;
@@ -486,12 +542,13 @@ define(["dojo/_base/declare",
this.selectExpression.set("value", "");
this.whereExpression.set("value", "");
this.whereExpressionBuilder.clearWhereCriteria();
- var columns = this._extractFieldsFromMetadata(metadata);
- this.selectColumnsButton.set("data", {items: columns,
+ var data = this._combineTypeAttributesAndStatistics(metadata);
+ this._columns = data.asObject;
+ this.selectColumnsButton.set("data", {items: data.asArray,
idProperty: "id",
selected:[],
nameProperty: "attributeName"});
- this.selectWhereButton.set("data", {items: columns,
+ this.selectWhereButton.set("data", {items: data.asArray,
selected:[],
idProperty: "id",
nameProperty: "attributeName"});
@@ -560,10 +617,10 @@ define(["dojo/_base/declare",
return undefined;
}
},
- _extractFieldsFromMetadata: function(metadata)
+ _combineTypeAttributesAndStatistics: function(metadata)
{
- var columns = [];
- var helper = {};
+ var columnsArray = [];
+ var columnsObject = {};
var validTypes = [];
var typeAttribute = null;
for(var i in metadata)
@@ -574,9 +631,8 @@ define(["dojo/_base/declare",
for(var name in attributes)
{
var attribute = attributes[name];
- if (!(name in helper))
+ if (!(name in columnsObject))
{
- helper[name] = true;
var attributeData = {id: name,
attributeName: name,
type: attribute.type,
@@ -587,7 +643,8 @@ define(["dojo/_base/declare",
{
typeAttribute = attributeData;
}
- columns.push(attributeData );
+ columnsObject[name] = attributeData;
+ columnsArray.push(attributeData );
}
}
@@ -595,14 +652,15 @@ define(["dojo/_base/declare",
for(var name in statistics)
{
var statistic = statistics[name];
- if (!(name in helper))
+ if (!(name in columnsObject))
{
- helper[name] = true;
- columns.push( {id: name,
- attributeName: name,
- type: statistic.type,
- description: statistic.description,
- columnType: "statistics"});
+ var statisticData = {id: name,
+ attributeName: name,
+ type: statistic.type,
+ description: statistic.description,
+ columnType: "statistics"};
+ columnsArray.push(statisticData);
+ columnsObject[name] = statisticData;
}
}
}
@@ -610,7 +668,7 @@ define(["dojo/_base/declare",
{
typeAttribute.validValues = validTypes;
}
- return columns;
+ return {asArray: columnsArray, asObject: columnsObject};
}
});
});
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org