You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kp...@apache.org on 2013/10/22 00:05:07 UTC
svn commit: r1534394 [19/22] - in /qpid/branches/linearstore/qpid: ./ cpp/
cpp/bindings/qmf2/examples/python/ cpp/bindings/qmf2/python/
cpp/bindings/qpid/dotnet/ cpp/etc/ cpp/examples/ cpp/examples/messaging/
cpp/examples/qmf-agent/ cpp/include/qpid/ c...
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/common/TimeZoneSelector.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/common/TimeZoneSelector.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/common/TimeZoneSelector.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/common/TimeZoneSelector.html Mon Oct 21 22:04:51 2013
@@ -20,36 +20,47 @@
-->
<table cellpadding="0" cellspacing="2">
<tr>
- <td>Region</td>
+ <td class="labelClass"><strong>Use UTC time:</strong></td>
<td>
- <select class='timezoneRegion' name="region" data-dojo-type="dijit/form/FilteringSelect" data-dojo-props="
- placeholder: 'Select region',
- required: true,
- missingMessage: 'A region must be supplied',
- title: 'Select region',
- autoComplete: true,
- value:'undefined'">
- <option value="undefined">Undefined</option>
- <option value="Africa">Africa</option>
- <option value="America">America</option>
- <option value="Antarctica">Antarctica</option>
- <option value="Arctic">Arctic</option>
- <option value="Asia">Asia</option>
- <option value="Atlantic">Atlantic</option>
- <option value="Australia">Australia</option>
- <option value="Europe">Europe</option>
- <option value="Indian">Indian</option>
- <option value="Pacific">Pacific</option>
- </select>
+ <input type="checkbox" class='utcSelector' name="utc" data-dojo-type="dijit/form/CheckBox" value="UTC"></input>
</td>
- <td>City</td>
+ </tr>
+ <tr>
+ <td class="labelClass"><strong>Time Zone:</strong></td>
<td>
- <select class='timezoneCity' name="city" data-dojo-type="dijit/form/FilteringSelect" data-dojo-props="
- placeholder: 'Select city',
- required: true,
- missingMessage: 'A city must be supplied',
- title: 'Select city'">
- </select>
- </td>
+ <table cellpadding="0" cellspacing="2">
+ <tr>
+ <td>Region</td>
+ <td><select class='timezoneRegion' name="region" data-dojo-type="dijit/form/FilteringSelect"
+ data-dojo-props="
+ placeholder: 'Select region',
+ required: true,
+ missingMessage: 'A region must be supplied',
+ title: 'Select region',
+ autoComplete: true,
+ value:'undefined'">
+ <option value="undefined">Undefined</option>
+ <option value="Africa">Africa</option>
+ <option value="America">America</option>
+ <option value="Antarctica">Antarctica</option>
+ <option value="Arctic">Arctic</option>
+ <option value="Asia">Asia</option>
+ <option value="Atlantic">Atlantic</option>
+ <option value="Australia">Australia</option>
+ <option value="Europe">Europe</option>
+ <option value="Indian">Indian</option>
+ <option value="Pacific">Pacific</option>
+ </select></td>
+ <td>City</td>
+ <td><select class='timezoneCity' name="city" data-dojo-type="dijit/form/FilteringSelect"
+ data-dojo-props="
+ placeholder: 'Select city',
+ required: true,
+ missingMessage: 'A city must be supplied',
+ title: 'Select city'">
+ </select></td>
+ </tr>
+ </table>
+ </td>
</tr>
</table>
\ No newline at end of file
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/index.html Mon Oct 21 22:04:51 2013
@@ -57,32 +57,24 @@
</script>
<script>
- var qpidHelpLocation = "http://qpid.apache.org/releases/qpid-";
- var qpidHelpURL = null;
- var qpidPreferences = null;
+ var qpidManagementHelper = null;
require([
- "dojo/_base/xhr",
"dojo/parser",
- "qpid/management/Preferences",
+ "qpid/authorization/checkUser",
+ "qpid/common/ConsoleHelper",
"dijit/layout/BorderContainer",
"dijit/layout/TabContainer",
"dijit/layout/ContentPane",
"dijit/TitlePane",
- "dojo/parser",
+ "dijit/Menu",
+ "dijit/MenuItem",
"qpid/management/treeView",
"qpid/management/controller",
- "qpid/common/footer",
- "qpid/authorization/checkUser"], function(xhr, parser, Preferences){
+ "qpid/common/footer"
+ ], function(parser, User, ConsoleHelper){
parser.parse();
- qpidPreferences = new Preferences();
- xhr.get({
- sync: true,
- url: "rest/helper?action=version",
- handleAs: "json"
- }).then(function(qpidVersion) {
- qpidHelpURL = qpidHelpLocation + qpidVersion + "/java-broker/book/index.html";
- });
-
+ qpidManagementHelper = ConsoleHelper;
+ User.getUserAndUpdateUI();
});
</script>
@@ -93,25 +85,17 @@
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'top'">
<div id="header" class="header" style="float: left; width: 300px"></div>
<div style="float: right;">
- <div id="login" style="display:none"><strong>User: </strong> <span id="authenticatedUser"></span><a href="logout">[logout]</a></div>
- <div id="preferencesButton" style="float: right; margin-top: 0px;" data-dojo-type="dijit.form.DropDownButton" data-dojo-props="iconClass: 'preferencesIcon', title: 'Preferences', showLabel:false">
+ <div id="login" style="display:none"><span id="authenticatedUser" style="display:none"></span>
+ <div id="authenticatedUserControls" data-dojo-type="dijit.form.DropDownButton" data-dojo-props="iconClass: 'preferencesIcon', style:{'max-width': '100px'}">
<div data-dojo-type="dijit.Menu">
- <div data-dojo-type="dijit.MenuItem" data-dojo-props="
- iconClass: 'dijitIconFunction',
- onClick: function(){ qpidPreferences.showDialog(); } ">
- Preferences
- </div>
- <!--
- <div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass: 'dijitIconMail', onClick: function(){ console.log('TODO'); }">
- Contacts
- </div>
- -->
- <div data-dojo-type="dijit.MenuItem" data-dojo-props="iconClass: 'helpIcon', onClick: function(){
- var newWindow = window.open(qpidHelpURL,'QpidHelp','height=600,width=600,scrollbars=1,location=1,resizable=1,status=0,toolbar=0,titlebar=1,menubar=0',true); newWindow.focus(); } ">
- Help
- </div>
+ <div data-dojo-type="dijit.MenuItem" data-dojo-props="onClick: function(){window.location='logout';}" >Log out</div>
+ <div data-dojo-type="dijit.MenuItem"
+ data-dojo-props="iconClass:'dijitIconFunction',onClick: function(){qpidManagementHelper.showPreferencesDialog();}">Preferences</div>
+ <div data-dojo-type="dijit.MenuItem"
+ data-dojo-props="iconClass: 'helpIcon', onClick: function(){qpidManagementHelper.showHelp();}">Help</div>
</div>
- </div>
+ </div>
+ </div>
</div>
</div>
<div data-dojo-type="dijit.layout.ContentPane" data-dojo-props="region:'leading', splitter: true" style="width:20%">
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/checkUser.js Mon Oct 21 22:04:51 2013
@@ -19,19 +19,27 @@
*
*/
-require(["dojo/dom",
+define(["dojo/dom",
"qpid/authorization/sasl",
+ "dijit/registry",
"dojox/html/entities",
- "dojo/domReady!"], function(dom, sasl, entities){
+ "dojo/domReady!"], function(dom, sasl, registry, entities){
var updateUI = function updateUI(data)
{
if(data.user)
{
- dom.byId("authenticatedUser").innerHTML = entities.encode(String(data.user));
- dom.byId("login").style.display = "inline";
+ var userName = entities.encode(String(data.user));
+ var controlButton = registry.byId("authenticatedUserControls");
+ if (controlButton)
+ {
+ controlButton.set("label", userName);
+ }
+ dom.byId("authenticatedUser").innerHTML = userName;
+ dom.byId("login").style.display = "inline";
}
};
-sasl.getUser(updateUI);
+return {getUserAndUpdateUI: function(){sasl.getUser(updateUI);}}
+
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/authorization/sasl.js Mon Oct 21 22:04:51 2013
@@ -18,7 +18,8 @@
* under the License.
*
*/
-define(["dojo/_base/xhr", "dojox/encoding/base64", "dojox/encoding/digests/_base", "dojox/encoding/digests/MD5"], function () {
+define(["dojo/_base/xhr", "dojox/encoding/base64", "dojox/encoding/digests/_base", "dojox/encoding/digests/MD5"],
+ function (xhr, base64, digestsBase, MD5) {
var encodeUTF8 = function encodeUTF8(str) {
var byteArray = [];
@@ -65,7 +66,7 @@ var errorHandler = function errorHandler
var saslPlain = function saslPlain(user, password, callbackFunction)
{
var responseArray = [ 0 ].concat(encodeUTF8( user )).concat( [ 0 ] ).concat( encodeUTF8( password ) );
- var plainResponse = dojox.encoding.base64.encode(responseArray);
+ var plainResponse = base64.encode(responseArray);
// Using dojo.xhrGet, as very little information is being sent
dojo.xhrPost({
@@ -95,19 +96,19 @@ var saslCramMD5 = function saslCramMD5(u
}).then(function(data)
{
- var challengeBytes = dojox.encoding.base64.decode(data.challenge);
+ var challengeBytes = base64.decode(data.challenge);
var wa=[];
var bitLength = challengeBytes.length*8;
for(var i=0; i<bitLength; i+=8)
{
wa[i>>5] |= (challengeBytes[i/8] & 0xFF)<<(i%32);
}
- var challengeStr = dojox.encoding.digests.wordToString(wa).substring(0,challengeBytes.length);
+ var challengeStr = digestsBase.wordToString(wa).substring(0,challengeBytes.length);
- var digest = user + " " + dojox.encoding.digests.MD5._hmac(challengeStr, password, dojox.encoding.digests.outputTypes.Hex);
+ var digest = user + " " + MD5._hmac(challengeStr, password, digestsBase.outputTypes.Hex);
var id = data.id;
- var response = dojox.encoding.base64.encode(encodeUTF8( digest ));
+ var response = base64.encode(encodeUTF8( digest ));
dojo.xhrPost({
// The URL of the request
@@ -162,7 +163,7 @@ SaslClient.authenticate = function(usern
}
else if (containsMechanism(mechMap, "CRAM-MD5-HEX"))
{
- var hashedPassword = dojox.encoding.digests.MD5(password, dojox.encoding.digests.outputTypes.Hex);
+ var hashedPassword = MD5(password, digestsBase.outputTypes.Hex);
saslCramMD5(username, hashedPassword, "CRAM-MD5-HEX", callbackFunction);
}
else if (containsMechanism(mechMap, "PLAIN"))
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/TimeZoneSelector.js Mon Oct 21 22:04:51 2013
@@ -24,43 +24,22 @@ define([
"dojo/dom-construct",
"dojo/parser",
"dojo/query",
+ "dojo/dom-style",
"dojo/store/Memory",
"dijit/_WidgetBase",
"dijit/registry",
"dojo/text!common/TimeZoneSelector.html",
+ "qpid/common/timezone",
"dijit/form/ComboBox",
"dijit/form/FilteringSelect",
- "dojox/date/timezone",
+ "dijit/form/CheckBox",
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
-function (declare, array, domConstruct, parser, query, Memory, _WidgetBase, registry, template) {
+function (declare, array, domConstruct, parser, query, domStyle, Memory, _WidgetBase, registry, template, timezone) {
var preferencesRegions = ["Africa","America","Antarctica","Arctic","Asia","Atlantic","Australia","Europe","Indian","Pacific"];
- function initSupportedTimeZones()
- {
- var supportedTimeZones = [];
- var allTimeZones = dojox.date.timezone.getAllZones();
- for(var i = 0; i < allTimeZones.length; i++)
- {
- var timeZone = allTimeZones[i];
- var elements = timeZone.split("/");
- if (elements.length > 1)
- {
- for(var j = 0; j<preferencesRegions.length; j++)
- {
- if (elements[0] == preferencesRegions[j])
- {
- supportedTimeZones.push({id: timeZone, region: elements[0], city: elements.slice(1).join("/").replace("_", " ") })
- break;
- }
- }
- }
- }
- return supportedTimeZones;
- }
-
function initSupportedRegions()
{
var supportedRegions = [{"id": "undefined", "name": "Undefined"}];
@@ -77,6 +56,7 @@ function (declare, array, domConstruct,
domNode: null,
_regionSelector: null,
_citySelector: null,
+ _utcSelector: null,
constructor: function(args)
{
@@ -91,8 +71,17 @@ function (declare, array, domConstruct,
postCreate: function(){
this.inherited(arguments);
- var supportedTimeZones = initSupportedTimeZones();
+ var self = this;
+ if (this._args.labelStyle)
+ {
+ var nl = query(".labelClass", this.domNode);
+ array.forEach(nl, function(entry, i){
+ domStyle.set(entry, self._args.labelStyle)
+ });
+ }
+ var supportedTimeZones = timezone.getAllTimeZones();
+ this._utcSelector = registry.byNode(query(".utcSelector", this.domNode)[0]);
this._citySelector = registry.byNode(query(".timezoneCity", this.domNode)[0]);
this._citySelector.set("searchAttr", "city");
this._citySelector.set("query", {region: /.*/});
@@ -105,8 +94,28 @@ function (declare, array, domConstruct,
this._regionSelector = registry.byNode(query(".timezoneRegion", this.domNode)[0]);
var supportedRegions = initSupportedRegions();
this._regionSelector.set("store", new Memory({ data: supportedRegions }));
- var self = this;
+ this._utcSelector.on("change", function(value){
+ var checked = this.get("checked");
+ if (checked)
+ {
+ self.value ="UTC";
+ }
+ else
+ {
+ if (self._citySelector.value && self._regionSelector.value)
+ {
+ self.value = self._citySelector.value;
+ }
+ else
+ {
+ self.value = null;
+ }
+ }
+ self._citySelector.set("disabled", checked);
+ self._regionSelector.set("disabled", checked);
+ self._handleOnChange(self.value);
+ });
this._regionSelector.on("change", function(value){
if (value=="undefined")
{
@@ -114,6 +123,7 @@ function (declare, array, domConstruct,
self._citySelector.query.region = /.*/;
self.value = null;
self._citySelector.set("value", null);
+ self._handleOnChange(self.value);
}
else
{
@@ -133,6 +143,7 @@ function (declare, array, domConstruct,
this._citySelector.on("change", function(value){
self.value = value;
+ self._handleOnChange(value);
});
this._setValueAttr(this._args.value);
@@ -142,23 +153,33 @@ function (declare, array, domConstruct,
{
if (value)
{
- var elements = value.split("/");
- if (elements.length > 1)
+ if (value == "UTC")
{
- this._regionSelector.timeZone = value;
- this._regionSelector.set("value", elements[0]);
- this._citySelector.set("value", value);
+ this._utcSelector.set("checked", true);
}
else
{
- this._regionSelector.set("value", "undefined");
+ this._utcSelector.set("checked", false);
+ var elements = value.split("/");
+ if (elements.length > 1)
+ {
+ this._regionSelector.timeZone = value;
+ this._regionSelector.set("value", elements[0]);
+ this._citySelector.set("value", value);
+ }
+ else
+ {
+ this._regionSelector.set("value", "undefined");
+ }
}
}
else
{
+ this._utcSelector.set("checked", false);
this._regionSelector.set("value", "undefined");
}
this.value = value;
+ this._handleOnChange(value);
},
destroy: function()
@@ -170,6 +191,26 @@ function (declare, array, domConstruct,
}
_regionSelector: null;
_citySelector: null;
+ _utcSelector: null;
+ },
+
+ onChange: function(newValue){},
+
+ _handleOnChange: function(newValue)
+ {
+ if (this._lastValueReported != newValue)
+ {
+ this._lastValueReported = newValue;
+ if(this._onChangeHandle)
+ {
+ this._onChangeHandle.remove();
+ }
+ this._onChangeHandle = this.defer(function()
+ {
+ this._onChangeHandle = null;
+ this.onChange(newValue);
+ });
+ }
}
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilter.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilter.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilter.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilter.js Mon Oct 21 22:04:51 2013
@@ -89,16 +89,14 @@ define([
if(typeof args.ruleCount != 'number' || args.ruleCount < 0){
args.ruleCount = 0;
}
- var rc = this.ruleCountToConfirmClearFilter = args.ruleCountToConfirmClearFilter;
- if(rc === undefined){
- this.ruleCountToConfirmClearFilter = 5;
- }
+ this.ruleCountToConfirmClearFilter = args.ruleCountToConfirmClearFilter || 5;
if (args.filterHidden){
this.filterHidden = args.filterHidden;
}
this.defaulGridRowLimit = args.defaulGridRowLimit;
this.disableFiltering = args.disableFiltering;
+ this.displayLastUpdateTime = args.displayLastUpdateTime;
//Install UI components
var obj = { "plugin": this };
@@ -117,6 +115,7 @@ define([
});
this.filterDefDialog = new FilterDefDialog(obj);
+ this.filterDefDialog.filterDefPane._clearFilterBtn.set("label", "Clear Filter");
nls["statusTipTitleNoFilter"] = "Filter is not set";
nls["statusTipMsg"] = "Click on 'Set Filter' button to specify filtering conditions";
@@ -149,7 +148,9 @@ define([
filterDefDialog: this.filterDefDialog,
defaulGridRowLimit: this.defaulGridRowLimit,
disableFiltering: this.disableFiltering,
- nls: nls
+ displayLastUpdateTime: this.displayLastUpdateTime,
+ nls: nls,
+ ruleCountToConfirmClearFilter: this.ruleCountToConfirmClearFilter
});
this.filterBar.placeAt(this.grid.viewsHeaderNode, "before");
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilterTools.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilterTools.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilterTools.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/EnhancedFilterTools.js Mon Oct 21 22:04:51 2013
@@ -22,12 +22,15 @@
define([
"dojo/_base/declare",
"dojo/_base/event",
+ "dojo/dom-construct",
+ "dojo/date/locale",
"dijit/form/Button",
"dijit/form/ToggleButton",
"qpid/common/grid/RowNumberLimitDialog",
"qpid/common/grid/ColumnDefDialog",
- "qpid/common/grid/FilterSummary"
-], function(declare, event, Button, ToggleButton, RowNumberLimitDialog, ColumnDefDialog, FilterSummary){
+ "qpid/common/grid/FilterSummary",
+ "qpid/management/UserPreferences"
+], function(declare, event, domConstruct, locale, Button, ToggleButton, RowNumberLimitDialog, ColumnDefDialog, FilterSummary, UserPreferences){
var _stopEvent = function (evt){
try{
@@ -64,6 +67,8 @@ define([
this.filterStatusTip= params.filterStatusTip;
this.clearFilterDialog = params.clearFilterDialog;
this.filterDefDialog = params.filterDefDialog;
+ this.ruleCountToConfirmClearFilter = params.ruleCountToConfirmClearFilter;
+ this.displayLastUpdateTime = params.hasOwnProperty("displayLastUpdateTime")?params.displayLastUpdateTime:true;
this._addRefreshButtons();
this._addRowLimitButton(params.defaulGridRowLimit);
@@ -167,6 +172,38 @@ define([
this.filterBar.addChild(this.autoRefreshButton);
this.filterBar.addChild(this.refreshButton);
+
+ if (this.displayLastUpdateTime)
+ {
+ var updateStatusPanel = domConstruct.create("div");
+ var updateTimeLabel = domConstruct.create("span", {innerHTML: "Update time: ", "class": "formLabel-labelCell", "style": "padding-right: 5px;padding-left: 5px"}, updateStatusPanel);
+ var updateTimeLabelPreferredTZ = domConstruct.create("span", {innerHTML: "Preferred timezone:", "style": "padding-right: 5px"}, updateStatusPanel);
+ var updateTimePreferredTZ = domConstruct.create("span", {"style": "padding-right: 5px"}, updateStatusPanel);
+ var updateTimeLabelBrowserTZ = domConstruct.create("span", {innerHTML: "Browser timezone:", "style": "padding-right: 5px"}, updateStatusPanel);
+ var updateTimeBrowserTZ = domConstruct.create("span", {"style": "padding-right: 5px"}, updateStatusPanel);
+
+ var lastUpdateTimeUpdater = function(data)
+ {
+ var userTimeZone = UserPreferences.timeZone;
+ var displayStyle = userTimeZone? "inline" : "none";
+ updateTimeLabelPreferredTZ.style.display = displayStyle;
+ updateTimePreferredTZ.style.display = displayStyle;
+ var formatOptions = {selector: "time", timePattern: "HH:mm:ss.SSS", appendTimeZone: true, addOffset: true};
+ var updateTime = new Date();
+ updateTimePreferredTZ.innerHTML = UserPreferences.formatDateTime(updateTime.getTime(), formatOptions);
+ updateTimeBrowserTZ.innerHTML = locale.format(updateTime, formatOptions);
+ };
+
+ if (self.grid.updater.store)
+ {
+ // data have been already provided/or fetched
+ // set last update time to current time
+ lastUpdateTimeUpdater();
+ }
+
+ self.grid.updater.addOnUpdate(lastUpdateTimeUpdater);
+ domConstruct.place(updateStatusPanel, this.grid.viewsHeaderNode, "before");
+ }
},
_addRowLimitButton: function(defaulGridRowLimit)
@@ -240,6 +277,9 @@ define([
this.filterDefButton.on("click", function(e){
_stopEvent(e);
+
+ // a bit of a hack to force dialog to rebuild the criteria controls in order to get rid from empty rule controls
+ self.filterDefDialog._criteriasChanged = true;
self.filterDefDialog.showDialog();
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/GridUpdater.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/GridUpdater.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/GridUpdater.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/grid/GridUpdater.js Mon Oct 21 22:04:51 2013
@@ -39,7 +39,12 @@ define(["dojo/_base/xhr",
this.updatable = args.hasOwnProperty("updatable") ? args.updatable : true ;
this.serviceUrl = args.serviceUrl;
- this.onUpdate = args.onUpdate;
+ this.onUpdate = [];
+ if (args.onUpdate)
+ {
+ this.onUpdate.push(args.onUpdate);
+ }
+ this.dataTransformer = args.dataTransformer;
this.appendData = args.append;
this.appendLimit = args.appendLimit;
@@ -122,6 +127,10 @@ define(["dojo/_base/xhr",
function processData(data)
{
+ if (self.dataTransformer)
+ {
+ data = self.dataTransformer(data);
+ }
var dataSet = false;
if (!store)
{
@@ -141,17 +150,10 @@ define(["dojo/_base/xhr",
if (data)
{
- try
- {
- if ((dataSet || self.updateOrAppend(data)) && self.onUpdate)
- {
- self.onUpdate(data);
- }
- }
- catch(e)
- {
- console.error(e);
- }
+ if ((dataSet || self.updateOrAppend(data)) && self.onUpdate.length > 0)
+ {
+ self.fireUpdate(data);
+ }
}
};
@@ -186,6 +188,7 @@ define(["dojo/_base/xhr",
this.store = null;
this.memoryStore = null;
this.grid = null;
+ this.onUpdate = null;
};
GridUpdater.prototype.updateOrAppend = function(data)
@@ -197,6 +200,10 @@ define(["dojo/_base/xhr",
GridUpdater.prototype.refresh = function(data)
{
+ if (this.dataTransformer && data)
+ {
+ data = this.dataTransformer(data);
+ }
this.updating = true;
try
{
@@ -223,10 +230,7 @@ define(["dojo/_base/xhr",
finally
{
this.updating = false;
- if (this.onUpdate)
- {
- this.onUpdate(data);
- }
+ this.fireUpdate(data);
}
}
@@ -254,5 +258,40 @@ define(["dojo/_base/xhr",
}
};
+ GridUpdater.prototype.fireUpdate=function(data)
+ {
+ if (this.onUpdate.length > 0)
+ {
+ for(var i=0; i<this.onUpdate.length;i++)
+ {
+ var onUpdate= this.onUpdate[i];
+ try
+ {
+ onUpdate(data);
+ }
+ catch(e)
+ {
+ if (console && console.error)
+ {
+ console.error(e);
+ }
+ }
+ }
+ }
+ };
+
+ GridUpdater.prototype.addOnUpdate = function(obj) {
+ this.onUpdate.push(obj);
+ };
+
+ GridUpdater.prototype.removeOnUpdate = function(obj) {
+ for(var i = 0; i < this.onUpdate.length; i++) {
+ if(this.onUpdate[i] === obj) {
+ this.onUpdate.splice(i,1);
+ return;
+ }
+ }
+ };
+
return GridUpdater;
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/updater.js Mon Oct 21 22:04:51 2013
@@ -18,15 +18,35 @@
* under the License.
*
*/
-define(function () {
+define(["qpid/management/UserPreferences"], function (UserPreferences) {
var updateList = new Array();
- setInterval(function() {
- for(var i = 0; i < updateList.length; i++) {
- var obj = updateList[i];
- obj.update();
- }
- }, 5000); // TODO: Should make this configurable
+ function invokeUpdates()
+ {
+ for(var i = 0; i < updateList.length; i++)
+ {
+ var obj = updateList[i];
+ obj.update();
+ }
+ }
+
+ var updatePeriod = UserPreferences.updatePeriod ? UserPreferences.updatePeriod: 5;
+
+ var timer = setInterval(invokeUpdates, updatePeriod * 1000);
+
+ var updateIntervalListener = {
+ onPreferencesChange: function(preferences)
+ {
+ if (preferences.updatePeriod && preferences.updatePeriod != updatePeriod)
+ {
+ updatePeriod = preferences.updatePeriod;
+ clearInterval(timer);
+ timer = setInterval(invokeUpdates, updatePeriod * 1000);
+ }
+ }
+ };
+
+ UserPreferences.addListener(updateIntervalListener);
return {
add: function(obj) {
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/AuthenticationProvider.js Mon Oct 21 22:04:51 2013
@@ -237,18 +237,15 @@ define(["dojo/_base/xhr",
}
}
var preferencesProviderData = that.authProviderData.preferencesproviders? that.authProviderData.preferencesproviders[0]: null;
- if (preferencesProviderData)
+ try
{
- try
- {
- that.updatePreferencesProvider(preferencesProviderData);
- }
- catch(e)
+ that.updatePreferencesProvider(preferencesProviderData);
+ }
+ catch(e)
+ {
+ if (console)
{
- if (console)
- {
- console.error(e);
- }
+ console.error(e);
}
}
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Preferences.js Mon Oct 21 22:04:51 2013
@@ -34,6 +34,7 @@ define([
"qpid/common/TimeZoneSelector",
"dojo/text!../../showPreferences.html",
"qpid/common/util",
+ "qpid/management/UserPreferences",
"dijit/Dialog",
"dijit/form/NumberSpinner",
"dijit/form/CheckBox",
@@ -43,26 +44,26 @@ define([
"dijit/form/DropDownButton",
"dijit/form/Button",
"dijit/form/Form",
+ "dijit/layout/BorderContainer",
"dijit/layout/TabContainer",
"dijit/layout/ContentPane",
"dojox/grid/EnhancedGrid",
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
-function (declare, xhr, event, connect, dom, domConstruct, parser, json, Memory, ObjectStore, entities, registry, TimeZoneSelector, markup, util) {
+function (declare, xhr, event, connect, dom, domConstruct, parser, json, Memory, ObjectStore, entities, registry, TimeZoneSelector, markup, util, UserPreferences) {
- var preferenceNames = ["timeZone", "updatePeriod", "saveTabs"];
+ var preferenceNames = ["timeZone", "updatePeriod"];
return declare("qpid.management.Preferences", null, {
preferencesDialog: null,
- saveButton: null,
- cancelButton: null,
constructor: function()
{
var that = this;
+ this.userPreferences = {};
this.domNode = domConstruct.create("div", {innerHTML: markup});
this.preferencesDialog = parser.parse(this.domNode)[0];
@@ -70,84 +71,41 @@ function (declare, xhr, event, connect,
{
var name = preferenceNames[i];
this[name] = registry.byId("preferences." + name);
+ this[name].on("change", function(val){that._toggleSetButtons();});
}
- this.saveButton = registry.byId("preferences.saveButton");
- this.cancelButton = registry.byId("preferences.cancelButton");
+ this.setButton = registry.byId("preferences.setButton");
+ this.setAndCloseButton = registry.byId("preferences.setAndCloseButton");
+ this.setButton.on("click", function(e){that._savePreferences(e, false);});
+ this.setAndCloseButton.on("click", function(e){that._savePreferences(e, true);});
this.theForm = registry.byId("preferences.preferencesForm");
- this.users = registry.byId("preferences.users");
- this.users.set("structure", [ { name: "User", field: "name", width: "50%"},
+ this.usersGrid = registry.byId("preferences.users");
+ this.usersGrid.set("structure", [ { name: "User", field: "name", width: "50%"},
{ name: "Authentication Provider", field: "authenticationProvider", width: "50%"}]);
- this.cancelButton.on("click", function(){that.preferencesDialog.hide();});
- this.deletePreferencesButton = registry.byId("preferences.deletePreeferencesButton");
- this.deletePreferencesButton.on("click", function(){
- if (util.deleteGridSelections(
- null,
- that.users,
- "rest/userpreferences",
- "Are you sure you want to delete preferences for user",
- "user"))
- {
- that._updateUsersWithPreferences();
- }
- });
+ this.deleteButton = registry.byId("preferences.deleteButton");
+ this.deleteAndCloseButton = registry.byId("preferences.deleteAndCloseButton");
+ this.deleteButton.on("click", function(e){that._deletePreferences(false);});
+ this.deleteAndCloseButton.on("click", function(e){that._deletePreferences(true);});
+
var deletePreferencesButtonToggler = function(rowIndex){
- var data = that.users.selection.getSelected();
- that.deletePreferencesButton.set("disabled",!data.length );
+ var data = that.usersGrid.selection.getSelected();
+ that.deleteButton.set("disabled",!data.length );
+ that.deleteAndCloseButton.set("disabled",!data.length );
};
- connect.connect(this.users.selection, 'onSelected', deletePreferencesButtonToggler);
- connect.connect(this.users.selection, 'onDeselected', deletePreferencesButtonToggler);
- this.theForm.on("submit", function(e){
- event.stop(e);
- if(that.theForm.validate()){
- var preferences = {};
- for(var i=0; i<preferenceNames.length; i++)
- {
- var name = preferenceNames[i];
- var preferenceWidget = that[name];
- if (preferenceWidget)
- {
- preferences[name] = preferenceWidget.get("value");
- }
- }
- xhr.post({
- url: "rest/preferences",
- sync: true,
- handleAs: "json",
- headers: { "Content-Type": "application/json"},
- postData: json.stringify(preferences),
- load: function(x) {that.success = true; },
- error: function(error) {that.success = false; that.failureReason = error;}
- });
- if(that.success === true)
- {
- that.preferencesDialog.hide();
- }
- else
- {
- alert("Error:" + that.failureReason);
- }
- }
- return false;
- });
+ connect.connect(this.usersGrid.selection, 'onSelected', deletePreferencesButtonToggler);
+ connect.connect(this.usersGrid.selection, 'onDeselected', deletePreferencesButtonToggler);
+ this.theForm.on("submit", function(e){event.stop(e); return false;});
+
+ this._setValues();
+
+ deletePreferencesButtonToggler();
this.preferencesDialog.startup();
},
showDialog: function(){
- var that = this;
- xhr.get({
- url: "rest/preferences",
- sync: true,
- handleAs: "json",
- load: function(data) {
- that._updatePreferencesWidgets(data);
- that._updateUsersWithPreferences();
- that.preferencesDialog.show();
- },
- error: function(error){
- alert("Cannot load user preferences : " + error);
- }
- });
+ this._setValues();
+ this._loadUserPreferences();
+ this.preferencesDialog.show();
},
destroy: function()
@@ -159,24 +117,114 @@ function (declare, xhr, event, connect,
}
},
- _updatePreferencesWidgets: function(data)
+ _savePreferences: function(e, hideDialog)
{
- for(var i=0; i<preferenceNames.length; i++)
+ var that =this;
+ event.stop(e);
+ if(this.theForm.validate()){
+ var preferences = {};
+ for(var i=0; i<preferenceNames.length; i++)
+ {
+ var name = preferenceNames[i];
+ var preferenceWidget = this[name];
+ if (preferenceWidget)
+ {
+ preferences[name] = preferenceWidget.hasOwnProperty("checked") ? preferenceWidget.checked : preferenceWidget.get("value");
+ }
+ }
+
+ UserPreferences.setPreferences(
+ preferences,
+ function(preferences)
+ {
+ success = true;
+ if (hideDialog)
+ {
+ that.preferencesDialog.hide();
+ }
+ else
+ {
+ var reloadUsers = true;
+ if (that.users)
+ {
+ var authenticatedUser = dom.byId("authenticatedUser").innerHTML;
+ for(var i=0; i<that.users.length; i++)
+ {
+ if (that.users[i].name == authenticatedUser)
+ {
+ reloadUsers = false;
+ break;
+ }
+ }
+ }
+ if (reloadUsers)
+ {
+ that._loadUserPreferences();
+ }
+ }
+ that._toggleSetButtons();
+ },
+ function(error){alert("Error:" + error);}
+ );
+ }
+ },
+
+ _deletePreferences: function(hideDialog){
+ var data = this.usersGrid.selection.getSelected();
+ if (util.deleteGridSelections(
+ null,
+ this.usersGrid,
+ "rest/userpreferences",
+ "Are you sure you want to delete preferences for user",
+ "user"))
+ {
+ this._loadUserPreferences();
+ var authenticatedUser = dom.byId("authenticatedUser").innerHTML;
+ for(i = 0; i<data.length; i++)
+ {
+ if (data[i].name == authenticatedUser)
+ {
+ UserPreferences.resetPreferences();
+ this._setValues();
+ break;
+ }
+ }
+ if (hideDialog)
+ {
+ this.preferencesDialog.hide();
+ }
+ }
+ },
+
+ _setValues: function()
+ {
+ for(var i = 0; i < preferenceNames.length; i++)
{
- var preference = preferenceNames[i];
- if (this.hasOwnProperty(preference))
+ var name = preferenceNames[i];
+ var preferenceWidget = this[name];
+ if (preferenceWidget)
{
- var value = data ? data[preference] : null;
+ var value = UserPreferences[name]
if (typeof value == "string")
{
value = entities.encode(String(value))
}
- this[preference].set("value", value);
+ if (!value && name == "updatePeriod")
+ {
+ // set to default
+ value = 5;
+ }
+ preferenceWidget.set("value", value);
+ if (preferenceWidget.hasOwnProperty("checked"))
+ {
+ preferenceWidget.set("checked", UserPreferences[name] ? true : false);
+ }
}
}
+ this._toggleSetButtons();
},
- _updateUsersWithPreferences: function()
+ _loadUserPreferences : function()
{
var that = this;
xhr.get({
@@ -189,15 +237,37 @@ function (declare, xhr, event, connect,
{
users[i].id = users[i].authenticationProvider + "/" + users[i].name;
}
+ that.users = users;
var usersStore = new Memory({data: users, idProperty: "id"});
var usersDataStore = new ObjectStore({objectStore: usersStore});
- if (that.users.store)
+ if (that.usersGrid.store)
{
- that.users.store.close();
+ that.usersGrid.store.close();
}
- that.users.set("store", usersDataStore);
- that.users._refresh();
+ that.usersGrid.set("store", usersDataStore);
+ that.usersGrid._refresh();
});
+ },
+
+ _toggleSetButtons: function()
+ {
+ var changed = false;
+ for(var i=0; i<preferenceNames.length; i++)
+ {
+ var name = preferenceNames[i];
+ var preferenceWidget = this[name];
+ if (preferenceWidget)
+ {
+ var value = preferenceWidget.hasOwnProperty("checked") ? preferenceWidget.checked : preferenceWidget.get("value");
+ if (value != UserPreferences[name])
+ {
+ changed = true;
+ break;
+ }
+ }
+ }
+ this.setButton.set("disabled", !changed);
+ this.setAndCloseButton.set("disabled", !changed);
}
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Queue.js Mon Oct 21 22:04:51 2013
@@ -33,6 +33,7 @@ define(["dojo/_base/xhr",
"qpid/management/addBinding",
"qpid/management/moveCopyMessages",
"qpid/management/showMessage",
+ "qpid/management/UserPreferences",
"dojo/store/JsonRest",
"dojox/grid/EnhancedGrid",
"dojo/data/ObjectStore",
@@ -41,7 +42,7 @@ define(["dojo/_base/xhr",
"dojox/grid/enhanced/plugins/IndirectSelection",
"dojo/domReady!"],
function (xhr, parser, query, registry, connect, event, json, properties, updater, util, formatter,
- UpdatableStore, addBinding, moveMessages, showMessage, JsonRest, EnhancedGrid, ObjectStore, entities) {
+ UpdatableStore, addBinding, moveMessages, showMessage, UserPreferences, JsonRest, EnhancedGrid, ObjectStore, entities) {
function Queue(name, parent, controller) {
this.name = name;
@@ -98,10 +99,7 @@ define(["dojo/_base/xhr",
{name:"Arrival", field:"arrivalTime", width: "100%",
formatter: function(val) {
- var d = new Date(0);
- d.setUTCSeconds(val/1000);
-
- return d.toLocaleString();
+ return UserPreferences.formatDateTime(val, {addOffset: true, appendTimeZone: true});
} }
],
plugins: {
@@ -164,6 +162,7 @@ define(["dojo/_base/xhr",
event.stop(evt);
that.deleteQueue();
});
+ UserPreferences.addListener(that);
}});
@@ -237,6 +236,12 @@ define(["dojo/_base/xhr",
Queue.prototype.close = function() {
updater.remove( this.queueUpdater );
+ UserPreferences.removeListener(this);
+ };
+
+ Queue.prototype.onPreferencesChange = function(data)
+ {
+ this.grid._refresh();
};
var queueTypeKeys = {
@@ -385,10 +390,12 @@ define(["dojo/_base/xhr",
var bindings = thisObj.queueData[ "bindings" ];
var consumers = thisObj.queueData[ "consumers" ];
- for(i=0; i < bindings.length; i++) {
+ if (bindings)
+ {
+ for(i=0; i < bindings.length; i++) {
bindings[i].argumentString = json.stringify(bindings[i].arguments);
+ }
}
-
thisObj.updateHeader();
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js Mon Oct 21 22:04:51 2013
@@ -31,7 +31,7 @@ define(["dojo/_base/xhr",
"dijit/form/FilteringSelect",
"dojo/_base/connect",
"dojo/dom-style",
- "qpid/management/addPreferencesProvider",
+ "qpid/management/PreferencesProviderFields",
/* dojox/ validate resources */
"dojox/validate/us", "dojox/validate/web",
/* basic dijit classes */
@@ -45,7 +45,7 @@ define(["dojo/_base/xhr",
"dojox/form/BusyButton", "dojox/form/CheckedMultiSelect",
"dojox/layout/TableContainer",
"dojo/domReady!"],
- function (xhr, dom, construct, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, addPreferencesProvider) {
+ function (xhr, dom, construct, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, PreferencesProviderFields) {
var addAuthenticationProvider = {};
@@ -66,6 +66,10 @@ define(["dojo/_base/xhr",
{
if(formValues.hasOwnProperty(propName))
{
+ if (propName.indexOf("preferencesProvider") == 0)
+ {
+ continue;
+ }
if(formValues[ propName ] !== "") {
newProvider[ propName ] = formValues[propName];
}
@@ -101,6 +105,21 @@ define(["dojo/_base/xhr",
return "ap_" + providerType + "Field" + attribute;
}
+ var showPreferencesProviderFields = function showPreferencesProviderFields(provider)
+ {
+ var preferencesProviderDiv = dojo.byId("addAuthenticationProvider.preferencesProvider");
+ var preferencesProviderPanel = dijit.byId("addAuthenticationProvider.preferencesProviderPanel");
+ if (provider && provider.type == "Anonymous")
+ {
+ preferencesProviderPanel.domNode.style.display = 'none';
+ }
+ else
+ {
+ preferencesProviderPanel.domNode.style.display = 'block';
+ PreferencesProviderFields.show(preferencesProviderDiv, provider && provider.preferencesproviders ? provider.preferencesproviders[0] : null);
+ }
+ }
+
var loadProviderAndDisplayForm = function loadProviderAndDisplayForm(providerName, dialog)
{
if (providerName)
@@ -129,11 +148,13 @@ define(["dojo/_base/xhr",
}
}
}
+ showPreferencesProviderFields(provider);
registry.byId("addAuthenticationProvider").show();
});
}
else
{
+ showPreferencesProviderFields();
registry.byId("addAuthenticationProvider").show();
}
}
@@ -163,15 +184,14 @@ define(["dojo/_base/xhr",
if(this.success === true)
{
+ if (PreferencesProviderFields.save(newAuthenticationManager.name))
+ {
registry.byId("addAuthenticationProvider").hide();
- if (newAuthenticationManager.type != "Anonymous" && dojo.byId("formAddAuthenticationProvider.id").value == "")
- {
- addPreferencesProvider.show(newAuthenticationManager.name);
- }
+ }
}
else
{
- alert("Error:" + this.failureReason);
+ alert("Authentication Provider Error:" + this.failureReason);
}
return false;
}else{
@@ -251,9 +271,10 @@ define(["dojo/_base/xhr",
name: "type",
store: providersStore,
searchAttr: "name"}, input);
- connect.connect(that.providerChooser, "onChange",
- function(event)
+ that.providerChooser.on("change",
+ function(value)
{
+ dijit.byId("addAuthenticationProvider.preferencesProviderPanel").domNode.style.display = (value == "Anonymous" ? "none" : "block");
showFieldSets(that.providerChooser.value, that.providerFieldSets);
}
);
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPreferencesProvider.js Mon Oct 21 22:04:51 2013
@@ -34,6 +34,7 @@ define(["dojo/_base/xhr",
"dojo/dom-style",
"dojo/string",
"dojox/html/entities",
+ "qpid/management/PreferencesProviderFields",
"dojox/validate/us",
"dojox/validate/web",
"dijit/Dialog",
@@ -47,47 +48,12 @@ define(["dojo/_base/xhr",
"dojox/form/CheckedMultiSelect",
"dojox/layout/TableContainer",
"dojo/domReady!"],
- function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string, entities) {
+ function (xhr, dom, construct, query, win, registry, parser, array, event, json, Memory, FilteringSelect, connect, domStyle, string, entities, PreferencesProviderFields) {
var addPreferencesProvider = {};
var node = construct.create("div", null, win.body(), "last");
- var convertToPreferencesProvider = function convertToPreferencesProvider(formValues)
- {
- var newProvider = {};
-
- newProvider.name = dijit.byId("preferencesProvider.name").value;
- newProvider.type = dijit.byId("preferencesProvider.type").value;
- var id = dojo.byId("preferencesProvider.id").value;
- if (id)
- {
- newProvider.id = id;
- }
- for(var propName in formValues)
- {
- if(formValues.hasOwnProperty(propName))
- {
- if(formValues[ propName ] !== "") {
- newProvider[ propName ] = formValues[propName];
- }
-
- }
- }
- return newProvider;
- }
-
- var selectPreferencesProviderType = function(type) {
- if(type && string.trim(type) != "")
- {
- require(["qpid/management/authenticationprovider/preferences/" + type.toLowerCase() + "/add"],
- function(addType)
- {
- addType.show(dom.byId("preferencesProvider.fieldsContainer"), addPreferencesProvider.data)
- });
- }
- }
-
xhr.get({url: "addPreferencesProvider.html",
sync: true,
load: function(data) {
@@ -104,94 +70,24 @@ define(["dojo/_base/xhr",
event.stop(e);
if(theForm.validate()){
- var newProvider = convertToPreferencesProvider(theForm.getValues());
- var that = this;
- var nameWidget = registry.byId("preferencesProvider.name")
- xhr.put({url: "rest/preferencesprovider/" +encodeURIComponent(addPreferencesProvider.authenticationProviderName) + "/" + encodeURIComponent(nameWidget.value),
- sync: true, handleAs: "json",
- headers: { "Content-Type": "application/json"},
- putData: json.toJson(newProvider),
- load: function(x) {that.success = true; },
- error: function(error) {that.success = false; that.failureReason = error;}});
- if(this.success === true)
+ if(PreferencesProviderFields.save(addPreferencesProvider.authenticationProviderName))
{
registry.byId("addPreferencesProvider").hide();
}
- else
- {
- alert("Error:" + this.failureReason);
- }
return false;
}else{
alert('Form contains invalid data. Please correct first');
return false;
}
});
- xhr.get({
- sync: true,
- url: "rest/helper?action=ListPreferencesProvidersTypes",
- handleAs: "json"
- }).then(
- function(data) {
- var preferencesProvidersTypes = data;
- var storeData = [];
- for (var i =0 ; i < preferencesProvidersTypes.length; i++)
- {
- storeData[i]= {id: preferencesProvidersTypes[i], name: preferencesProvidersTypes[i]};
- }
- var store = new Memory({ data: storeData });
- var preferencesProviderTypesDiv = dom.byId("addPreferencesProvider.selectPreferencesProviderDiv");
- var input = construct.create("input", {id: "preferencesProviderType", required: true}, preferencesProviderTypesDiv);
- addPreferencesProvider.preferencesProviderTypeChooser = new FilteringSelect({ id: "preferencesProvider.type",
- name: "type",
- store: store,
- searchAttr: "name",
- required: true,
- onChange: selectPreferencesProviderType }, input);
- addPreferencesProvider.preferencesProviderTypeChooser.startup();
- });
}});
addPreferencesProvider.show = function(authenticationProviderName, providerName) {
this.authenticationProviderName = authenticationProviderName;
- this.data = null;
- var that = this;
- var theForm = registry.byId("formAddPreferencesProvider");
- theForm.reset();
- dojo.byId("preferencesProvider.id").value="";
- var nameWidget = registry.byId("preferencesProvider.name");
- nameWidget.set("disabled", false);
- registry.byId("preferencesProvider.type").set("disabled", false);
- if (this.preferencesProviderTypeChooser)
- {
- this.preferencesProviderTypeChooser.set("disabled", false);
- this.preferencesProviderTypeChooser.set("value", null);
- }
+ PreferencesProviderFields.show(dom.byId("addPreferencesProvider.preferencesProvider"), providerName, authenticationProviderName)
var dialog = registry.byId("addPreferencesProvider");
- dialog.set("title", (providerName ? "Edit preference provider '" + entities.encode(String(providerName)) + "' " : "Add preferences provider ") + " for authentication provider '" + entities.encode(String(authenticationProviderName)) + "' ")
- if (providerName)
- {
- xhr.get({
- url: "rest/preferencesprovider/" +encodeURIComponent(authenticationProviderName) + "/" + encodeURIComponent(providerName),
- sync: false,
- handleAs: "json"
- }).then(
- function(data) {
- var provider = data[0];
- var providerType = provider.type;
- that.data = provider;
- nameWidget.set("value", entities.encode(String(provider.name)));
- nameWidget.set("disabled", true);
- that.preferencesProviderTypeChooser.set("value", providerType);
- that.preferencesProviderTypeChooser.set("disabled", true);
- dojo.byId("preferencesProvider.id").value=provider.id;
- dialog.show();
- });
- }
- else
- {
- dialog.show();
- }
+ dialog.set("title", (providerName ? "Edit preferences provider '" + entities.encode(String(providerName)) + "' " : "Add preferences provider ") + " for '" + entities.encode(String(authenticationProviderName)) + "' ")
+ dialog.show();
}
return addPreferencesProvider;
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/authenticationprovider/preferences/filesystempreferences/add.js Mon Oct 21 22:04:51 2013
@@ -33,10 +33,10 @@ define(["dojo/_base/xhr",
"dojo/domReady!"],
function (xhr, dom, domConstruct, win, registry, parser, array, event, json, string, entities, template) {
return {
- show: function(node, data) {
- dojo.forEach(dijit.findWidgets(node), function(w) {
- w.destroyRecursive();
- });
+ show: function(node, data)
+ {
+ this.destroy();
+ this.node = node;
node.innerHTML = template;
parser.parse(node);
var pathWidget = registry.byId("preferencesProvider.path")
@@ -44,6 +44,23 @@ define(["dojo/_base/xhr",
{
pathWidget.set("value", entities.encode(String(data["path"])));
}
+ },
+ destroy: function()
+ {
+ if (this.node)
+ {
+ dojo.forEach(dijit.findWidgets(this.node), function(w) {w.destroyRecursive();});
+ this.node = null;
+ }
+ },
+ disable: function(val)
+ {
+ var pathWidget = registry.byId("preferencesProvider.path");
+ pathWidget.set("disabled", val);
+ },
+ getValues: function()
+ {
+ return {path: registry.byId("preferencesProvider.path").value};
}
};
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogFileDownloadDialog.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogFileDownloadDialog.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogFileDownloadDialog.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogFileDownloadDialog.js Mon Oct 21 22:04:51 2013
@@ -28,7 +28,7 @@ define([
"dojo/parser",
"dojo/store/Memory",
"dojo/data/ObjectStore",
- "dojo/date/locale",
+ "qpid/management/UserPreferences",
"dojo/number",
"dijit/registry",
"dijit/Dialog",
@@ -36,7 +36,7 @@ define([
"dojox/grid/EnhancedGrid",
"dojo/text!../../../logs/showLogFileDownloadDialog.html",
"dojo/domReady!"
-], function(declare, event, xhr, connect, domConstruct, query, parser, Memory, ObjectStore, locale, number,
+], function(declare, event, xhr, connect, domConstruct, query, parser, Memory, ObjectStore, UserPreferences, number,
registry, Dialog, Button, EnhancedGrid, template){
@@ -79,8 +79,7 @@ return declare("qpid.management.logs.Log
},
{ name: "Last Modified", field: "lastModified", width: "250px",
formatter: function(val) {
- var d = new Date(val);
- return locale.format(d, {selector:"date", datePattern: "EEE, MMM d yy, HH:mm:ss z (ZZZZ)"});
+ return UserPreferences.formatDateTime(val, {addOffset: true, appendTimeZone: true});
}
}
];
@@ -152,7 +151,7 @@ return declare("qpid.management.logs.Log
showDialog: function(){
var self = this;
- var requestArguments = {url: "rest/logfiles", sync: true, handleAs: "json"};
+ var requestArguments = {url: "rest/logfilenames", sync: true, handleAs: "json"};
xhr.get(requestArguments).then(function(data){
try
{
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logs/LogViewer.js Mon Oct 21 22:04:51 2013
@@ -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;
});
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js Mon Oct 21 22:04:51 2013
@@ -29,8 +29,9 @@ define(["dojo/_base/xhr",
"dojo/_base/connect",
"qpid/common/properties",
"dojox/html/entities",
+ "qpid/management/UserPreferences",
"dojo/domReady!"],
- function (xhr, dom, construct, domClass, win, registry, parser, array, event, json, query, connect, properties, entities) {
+ function (xhr, dom, construct, domClass, win, registry, parser, array, event, json, query, connect, properties, entities, UserPreferences) {
function encode(val){
@@ -88,9 +89,7 @@ define(["dojo/_base/xhr",
}
tableStr += "</table>";
} else if(domClass.contains(field,"datetime")) {
- var d = new Date(0);
- d.setUTCSeconds(val/1000);
- field.innerHTML = d.toLocaleString();
+ field.innerHTML = UserPreferences.formatDateTime(val, {addOffset: true, appendTimeZone: true});
} else {
field.innerHTML = encode(val);
}
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/logs/showLogViewer.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/logs/showLogViewer.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/logs/showLogViewer.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/logs/showLogViewer.html Mon Oct 21 22:04:51 2013
@@ -23,7 +23,7 @@
<div id="broker-logfile"></div>
<br/>
<button data-dojo-type="dijit.form.Button" class="downloadLogs"
- data-dojo-props="iconClass: 'downloadLogsIcon', title:'Download Log Files', name: 'downloadLogs'">Download</button>
+ data-dojo-props="iconClass: 'downloadLogsIcon', title:'Download Log Files', name: 'downloadLogs'">Download Log Files</button>
<br/>
</div>
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showExchange.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showExchange.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showExchange.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showExchange.html Mon Oct 21 22:04:51 2013
@@ -19,24 +19,43 @@
-
-->
<div class="exchange">
- <span style="">Name:</span><span class="name" style="position:absolute; left:6em"></span>
- <br/>
- <span style="">State:</span><span class="state" style="position:absolute; left:6em"></span>
- <br/>
- <span style="">Durable:</span><span class="durable" style="position:absolute; left:6em"></span>
- <span style="position:absolute; left:26em">Inbound:</span>
- <span class="msgInRate" style="position:absolute; right:9.5em"></span>
- <span style="position:absolute; right: 5em; width: 4em"> msg/s</span>
- <span class="bytesInRate" style="position:absolute; right: 3.3em"></span>
- <span class="bytesInRateUnits" style="position:absolute; right: 0em; width: 3em"></span>
- <br/>
- <span style="">Lifespan:</span><span style="position:absolute; left:6em" class="lifetimePolicy"></span>
- <span style="position:absolute; left:26em">Dropped:</span>
- <span class="msgDropRate" style="position:absolute; right:9.5em"></span>
- <span style="position:absolute; right: 5em; width: 4em"> msg/s</span>
- <span class="bytesDropRate" style="position:absolute; right: 3.3em"></span>
- <span class="bytesDropRateUnits" style="position:absolute; right: 0em; width: 3em"></span>
- <br/>
+ <div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Exchange Attributes', open: true">
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">Name:</div>
+ <div class="name" style="float:left;"></div>
+ </div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">State:</div>
+ <div class="state" style="float:left;"></div>
+ </div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">Durable:</div>
+ <div class="durable" style="float:left;"></div>
+ </div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">Lifespan:</div>
+ <div class="lifetimePolicy" style="float:left;"></div>
+ </div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">Inbound:</div>
+ <div style="float:left;">
+ <span class="msgInRate"></span>
+ <span> msg/s</span>
+ <span class="bytesInRate">(</span>
+ <span class="bytesInRateUnits">)</span>
+ </div>
+ </div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell" style="float:left; width: 100px;">Dropped:</div>
+ <div style="float:left;">
+ <span class="msgDropRate"></span>
+ <span> msg/s</span>
+ <span class="bytesDropRate">(</span>
+ <span class="bytesDropRateUnits">)</span>
+ </div>
+ </div>
+ <div style="clear:both"></div>
+ </div>
<br/>
<div data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Bindings'">
<div class="bindings"></div>
Modified: qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferences.html
URL: http://svn.apache.org/viewvc/qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferences.html?rev=1534394&r1=1534393&r2=1534394&view=diff
==============================================================================
--- qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferences.html (original)
+++ qpid/branches/linearstore/qpid/java/broker-plugins/management-http/src/main/java/resources/showPreferences.html Mon Oct 21 22:04:51 2013
@@ -22,15 +22,13 @@
<div data-dojo-type="dijit/layout/TabContainer" style="width: 600px; height: 400px">
<div data-dojo-type="dijit/layout/ContentPane" title="Own Preferences" data-dojo-props="selected:true" id="preferences.preferencesTab">
<form method="post" data-dojo-type="dijit/form/Form" id="preferences.preferencesForm">
- <table cellpadding="0" cellspacing="2" style="overflow: auto; height: 300px;">
+ <div style="height:300px">
+ <table cellpadding="0" cellspacing="2">
<tr>
- <td><strong>Time zone: </strong></td>
- <td>
- <span id="preferences.timeZone" data-dojo-type="qpid/common/TimeZoneSelector" data-dojo-props="name: 'timeZone'"></span>
- </td>
+ <td colspan="2"><span id="preferences.timeZone" data-dojo-type="qpid/common/TimeZoneSelector" data-dojo-props="name: 'timeZone', labelStyle: {width: '105px'}"></span></td>
</tr>
<tr>
- <td><strong>Update period:</strong></td>
+ <td style="width: 105px"><strong>Update period:</strong></td>
<td><input id="preferences.updatePeriod" name="updatePeriod" data-dojo-type="dijit/form/NumberSpinner" data-dojo-props="
invalidMessage: 'Invalid value',
required: false,
@@ -40,14 +38,11 @@
"/>
</td>
</tr>
- <tr>
- <td><strong>Save tabs:</strong></td>
- <td><input id="preferences.saveTabs" type="checkbox" data-dojo-type="dijit/form/CheckBox" name="saveTabs"/></td>
- </tr>
</table>
+ </div>
<div class="dijitDialogPaneActionBar">
- <input type="submit" value="Save Preferences" data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Save Preferences'" id="preferences.saveButton"/>
- <button value="Cancel" data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Cancel'" id="preferences.cancelButton"></button>
+ <button data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Set'" id="preferences.setButton">Set</button>
+ <button data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Set and Close'" id="preferences.setAndCloseButton">Set and Close</button>
</div>
</form>
</div>
@@ -76,7 +71,8 @@
</thead>
</table>
<div class="dijitDialogPaneActionBar">
- <button id="preferences.deletePreeferencesButton" data-dojo-type="dijit/form/Button" data-dojo-props="label:'Delete Preferences', title:'Delete preferences for selected users'">Delete Preferences</button>
+ <button id="preferences.deleteButton" data-dojo-type="dijit/form/Button" data-dojo-props="label:'Delete', title:'Delete preferences for selected users'">Delete</button>
+ <button id="preferences.deleteAndCloseButton" data-dojo-type="dijit/form/Button" data-dojo-props="label: 'Delete and Close', title:'Delete preferences for selected users and close the dialog'">Delete and Close</button>
</div>
</div>
</div>
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org