You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2014/07/21 13:08:10 UTC
svn commit: r1612247 - in /qpid/trunk/qpid/java:
bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/
bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/
bdbstore/src/main/java/resources/virtua...
Author: kwall
Date: Mon Jul 21 11:08:09 2014
New Revision: 1612247
URL: http://svn.apache.org/r1612247
Log:
QPID-5413: [Java Broker] BDB HA VHN/VH UI
* Fix fieldset border styling and use dojo's object.keys() [IE7/8 does not support Object.keys()]
* Add support for permitted node list
Work completed by Andrew MacBean <ma...@apache.org> and me.
Modified:
qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js
qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css
qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js?rev=1612247&r1=1612246&r2=1612247&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/js/qpid/management/virtualhostnode/bdb_ha/add/newgroup/add.js Mon Jul 21 11:08:09 2014
@@ -17,6 +17,7 @@
* under the License.
*/
define(["dojo/_base/xhr",
+ "dojo/_base/window",
"dojo/parser",
"dojo/dom",
"dojo/dom-construct",
@@ -24,9 +25,10 @@ define(["dojo/_base/xhr",
"dijit/registry",
"dojo/text!virtualhostnode/bdb_ha/add/newgroup/add.html",
"dijit/form/ValidationTextBox",
- "dijit/form/CheckBox",
+ "dijit/form/MultiSelect",
+ "dijit/form/Button",
"dojo/domReady!"],
- function (xhr, parser, dom, domConstruct, json, registry, template)
+ function (xhr, win, parser, dom, domConstruct, json, registry, template)
{
return {
show: function(data)
@@ -42,10 +44,126 @@ define(["dojo/_base/xhr",
// add callback
virtualHostNodeAddress.on("change", function(address){that._addressChanged(address, that.virtualHostNodeHelperAddress);});
+
+ // list objects html node and dojo object
+ this.addVirtualHostNodePermittedNodesList = dom.byId("addVirtualHostNode.permittedNodesList");
+ this.addVirtualHostNodePermittedNodesListDojo = registry.byId("addVirtualHostNode.permittedNodesList");
+ this.addVirtualHostNodePermittedNodesListDojo.on("change", function(value){that._changePermittedNodeList(value);});
+
+ // permitted node text field
+ this.addVirtualHostNodePermittedNode = registry.byId("addVirtualHostNode.permittedNode");
+ this.addVirtualHostNodePermittedNode.on("input", function(event){that._inputPermittedNode(event);});
+
+ // add and remove buttons & click handlers
+ this.addVirtualHostNodePermittedNodeAddButton = registry.byId("addVirtualHostNode.permittedNodeAdd");
+ this.addVirtualHostNodePermittedNodeAddButton.set("disabled", true);
+ this.addVirtualHostNodePermittedNodeRemoveButton = registry.byId("addVirtualHostNode.permittedNodeRemove");
+ this.addVirtualHostNodePermittedNodeRemoveButton.set("disabled", true);
+ this.addVirtualHostNodePermittedNodeAddButton.on("click", function(e){that._clickAddPermittedNodeButton(e);});
+ this.addVirtualHostNodePermittedNodeRemoveButton.on("click", function(e){that._clickRemovePermittedNodeButton(e);});
+
+ // This will contain the serialised form that will go to the server
+ this.addVirtualHostNodeVirtualhostBlueprint = registry.byId("addVirtualHostNode.virtualhostBlueprint");
+ this.addVirtualHostNodeAddress = registry.byId("addVirtualHostNode.address");
+ this.addVirtualHostNodeAddress.on("click", function(e){that._updatePermittedNodesJson();});
+ },
+ _updatePermittedNodesJson: function ()
+ {
+ var nodeAddress = this.addVirtualHostNodeAddress.get("value");
+ var permittedNodes = [ ];
+ if (nodeAddress)
+ {
+ permittedNodes.push(nodeAddress);
+ }
+ var children = this.addVirtualHostNodePermittedNodesList.children;
+ var i;
+ for (i = 0; i < children.length; i++)
+ {
+ var child = children.item(i);
+ if (child.value != nodeAddress)
+ {
+ permittedNodes.push(child.value);
+ }
+ }
+
+ this.addVirtualHostNodeVirtualhostBlueprint.set("value",json.stringify({"permittedNodes" : permittedNodes}));
+ },
+ _changePermittedNodeList: function(value)
+ {
+ var hasSelection = this.addVirtualHostNodePermittedNodesListDojo.get("value").length > 0;
+ this.addVirtualHostNodePermittedNodeRemoveButton.set("disabled", !hasSelection);
+ },
+ _inputPermittedNode: function(event)
+ {
+ this.addVirtualHostNodePermittedNodeAddButton.set("disabled", false);
+ return true;
},
_addressChanged: function(address, virtualHostNodeHelperAddress)
{
virtualHostNodeHelperAddress.set("value", address);
+ },
+ _clickAddPermittedNodeButton: function(e)
+ {
+ // check the text box is valid and not empty
+ if(this.addVirtualHostNodePermittedNode.isValid() &&
+ this.addVirtualHostNodePermittedNode.value &&
+ this.addVirtualHostNodePermittedNode.value != "")
+ {
+ // read value to add from text box
+ var newAddress = this.addVirtualHostNodePermittedNode.value;
+
+ // clear UI value
+ this.addVirtualHostNodePermittedNode.set("value", "");
+ this.addVirtualHostNodePermittedNodeAddButton.set("disabled", true);
+
+ //check entry not already present in list
+ var alreadyPresent = false;
+ var children = this.addVirtualHostNodePermittedNodesList.children;
+ var i;
+ for (i = 0; i < children.length; i++)
+ {
+ var child = children.item(i);
+ if (child.value == newAddress)
+ {
+ alreadyPresent = true;
+ break;
+ }
+ }
+
+ if (!alreadyPresent)
+ {
+ // construct new option for list
+ var newOption = win.doc.createElement('option');
+ newOption.innerHTML = newAddress;
+ newOption.value = newAddress;
+
+ // add new option to list
+ this.addVirtualHostNodePermittedNodesList.appendChild(newOption);
+ }
+ }
+ this._updatePermittedNodesJson();
+ },
+ _clickRemovePermittedNodeButton: function(e)
+ {
+ var selectedValues = this.addVirtualHostNodePermittedNodesListDojo.get("value");
+ var v;
+ for (v in selectedValues)
+ {
+ var children = this.addVirtualHostNodePermittedNodesList.children;
+ var i;
+ for (i = 0; i < children.length; i++)
+ {
+ var child = children.item(i);
+ if (child.value == selectedValues[v])
+ {
+ this.addVirtualHostNodePermittedNodesList.removeChild(child);
+ }
+ }
+ }
+ this.addVirtualHostNodePermittedNodeRemoveButton.set("disabled", true);
+
+ this._updatePermittedNodesJson();
+
}
};
}
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html?rev=1612247&r1=1612246&r2=1612247&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/existinggroup/add.html Mon Jul 21 11:08:09 2014
@@ -22,7 +22,7 @@
<fieldset>
<legend>Existing details</legend>
<div style="clear:both">
- <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Group Name*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Group name*:</div>
<div class="formLabel-controlCell tableContainer-valueCell" style="float:left;">
<input type="text" id="addVirtualHostNode.groupName"
data-dojo-type="dijit/form/ValidationTextBox"
@@ -42,7 +42,7 @@
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'name',
- placeHolder: 'existing node name from the group',
+ placeHolder: 'node name from group',
required: true,
missingMessage: 'A node name must be supplied',
title: 'Enter a node name',
@@ -56,7 +56,7 @@
data-dojo-type="dijit/form/ValidationTextBox"
data-dojo-props="
name: 'helperAddress',
- placeHolder: 'existing node address from the group',
+ placeHolder: 'node address from group',
required: true,
missingMessage: 'Node host and port must be supplied',
title: 'Enter address',
Modified: qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html?rev=1612247&r1=1612246&r2=1612247&view=diff
==============================================================================
--- qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html (original)
+++ qpid/trunk/qpid/java/bdbstore/src/main/java/resources/virtualhostnode/bdb_ha/add/newgroup/add.html Mon Jul 21 11:08:09 2014
@@ -18,7 +18,7 @@
-->
<div>
<div style="clear:both">
- <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Node Name*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Node name*:</div>
<div class="formLabel-controlCell tableContainer-valueCell" style="float:left;">
<input type="text" id="addVirtualHostNode.nodeName"
data-dojo-type="dijit/form/ValidationTextBox"
@@ -32,7 +32,7 @@
</div>
</div>
<div style="clear:both">
- <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Group Name*:</div>
+ <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Group name*:</div>
<div class="formLabel-controlCell tableContainer-valueCell" style="float:left;">
<input type="text" id="addVirtualHostNode.groupName"
data-dojo-type="dijit/form/ValidationTextBox"
@@ -72,6 +72,48 @@
title: 'Enter store path'" />
</div>
</div>
+ <div class="formBox" style="clear:both">
+ <fieldset>
+ <legend>Permitted group nodes</legend>
+ <div style="clear:both">
+ <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Permitted addresses*:</div>
+ <div class="formLabel-controlCell tableContainer-valueCell addPermittedNodeList" style="float:left;">
+ <select type="text" id="addVirtualHostNode.permittedNodesList"
+ data-dojo-type="dijit/form/MultiSelect"
+ data-dojo-props="
+ name: 'permittedNodesList',
+ readOnly : 'true',
+ title: 'Enter permitted nodes'">
+ </select> <!-- must use closing tag rather than shorthand - dojo bug? -->
+ </div>
+ <div class="formBoxButtons">
+ <button data-dojo-type="dijit/form/Button" id="addVirtualHostNode.permittedNodeRemove" data-dojo-props="label: '-'" ></button>
+ </div>
+ </div>
+
+ <div style="clear:both"></div>
+ <div style="clear:both">
+ <div class="formLabel-labelCell tableContainer-labelCell" style="float:left; width: 300px;">Address:</div>
+ <div class="formLabel-controlCell tableContainer-valueCell" style="float:left;">
+ <input type="text" id="addVirtualHostNode.permittedNode"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="
+ name: 'permittedNode',
+ placeHolder: 'host:port',
+ title: 'Enter address',
+ pattern: '([0-9a-zA-Z.-_]|::)+:[0-9]{1,5}'" />
+ </div>
+ <div class="formBoxButtons">
+ <button data-dojo-type="dijit/form/Button" id="addVirtualHostNode.permittedNodeAdd" data-dojo-props="label: '+'"></button>
+ </div>
+ </div>
+ </fieldset>
+ </div>
+
+ <input type="hidden" id="addVirtualHostNode.virtualhostBlueprint"
+ data-dojo-type="dijit/form/ValidationTextBox"
+ data-dojo-props="name: 'virtualhostBlueprint'"
+ contextvar="true"/>
<input type="hidden" id="addVirtualHostNode.helperAddress"
data-dojo-type="dijit/form/ValidationTextBox"
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css?rev=1612247&r1=1612246&r2=1612247&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/css/common.css Mon Jul 21 11:08:09 2014
@@ -91,31 +91,41 @@ div .messages {
}
.formBox {
- border: .1em solid lightgrey;
margin: 10px 5px;
- border-radius: 5px;
}
.formBox legend {
font-weight: bold;
- margin-top: -10px;
margin-left: 5px;
background-color: white;
}
.formBox fieldset {
padding: 5px;
+ border: .1em solid lightgrey;
+ border-radius: 5px;
}
.formBox .formLabel-labelCell {
margin-left: 5px;
}
+.formBox .addPermittedNodeList {
+ width: 15em;
+}
+
+.formBox .addPermittedNodeList select {
+ width: 100%;
+}
+
+.formBoxButtons {
+ float : right;
+}
+
.formLabel-labelCell {
font-weight: bold;
}
-
.formLabel-controlCell {
padding: 1px;
}
@@ -193,4 +203,6 @@ div .messages {
{
padding: 5px;
font-style: italic;
-}
\ No newline at end of file
+}
+
+
Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js?rev=1612247&r1=1612246&r2=1612247&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addVirtualHostNodeAndVirtualHost.js Mon Jul 21 11:08:09 2014
@@ -27,6 +27,7 @@ define(["dojo/_base/xhr",
"dojo/json",
"dojo/parser",
"dojo/store/Memory",
+ "dojox/lang/functional/object",
"dijit/registry",
"dijit/Dialog",
"dijit/form/Button",
@@ -39,7 +40,7 @@ define(["dojo/_base/xhr",
"dojox/validate/us",
"dojox/validate/web",
"dojo/domReady!"],
- function (xhr, event, lang, array, dom, domConstruct, json, parser, Memory, registry, Dialog, Button, FilteringSelect, properties, template)
+ function (xhr, event, lang, array, dom, domConstruct, json, parser, Memory, fobject, registry, Dialog, Button, FilteringSelect, properties, template)
{
var addVirtualHostNodeAndVirtualHost =
@@ -320,7 +321,7 @@ define(["dojo/_base/xhr",
}
// One or more context variables were defined on form
- if (Object.keys(contextMap).length > 0)
+ if (fobject.keys(contextMap).length > 0)
{
values ["context"] = contextMap;
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org