You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ma...@apache.org on 2014/10/06 17:35:07 UTC

svn commit: r1629680 - in /qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources: addQueue.html editQueue.html js/qpid/management/addQueue.js js/qpid/management/editQueue.js

Author: macbean
Date: Mon Oct  6 15:35:07 2014
New Revision: 1629680

URL: http://svn.apache.org/r1629680
Log:
QPID-6130: [Java Broker] Introduce edit queue dialog - further add/edit harmonisation

Modified:
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
    qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html?rev=1629680&r1=1629679&r2=1629680&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/addQueue.html Mon Oct  6 15:35:07 2014
@@ -39,19 +39,75 @@
             <div class="clear">
                 <div class="formLabel-labelCell">Queue Type:</div>
                 <div class="formLabel-controlCell">
-                    <input type="radio" id="formAddQueueTypeStandard" name="type" value="standard" checked="checked" dojoType="dijit.form.RadioButton" />
-                    <label for="formAddQueueTypeStandard">Standard</label>
-                    &nbsp;
-                    <input type="radio" id="formAddQueueTypePriority" name="type" value="priority" dojoType="dijit.form.RadioButton" />
-                    <label for="formAddQueueTypePriority">Priority</label>
-                    &nbsp;
-                    <input type="radio" id="formAddQueueTypeLVQ" name="type" value="lvq" dojoType="dijit.form.RadioButton" />
-                    <label for="formAddQueueTypeLVQ">LVQ</label>
-                    &nbsp;
-                    <input type="radio" id="formAddQueueTypeSorted" name="type" value="sorted" dojoType="dijit.form.RadioButton" />
-                    <label for="formAddQueueTypeSorted">Sorted</label>
+                    <select id="formAddQueue.type"
+                            dojoType="dijit.form.FilteringSelect"
+                            data-dojo-props="
+                              name: 'type',
+                              value: 'standard',
+                              searchAttr: 'name',
+                              required: true,
+                              promptMessage: 'Type of Queue',
+                              title: 'Enter the queue type'">
+                        <option value="standard">Standard</option>
+                        <option value="priority">Priority</option>
+                        <option value="lvq">LVQ</option>
+                        <option value="sorted">Sorted</option>
+                    </select>
+                </div>
+            </div>
+            <div class="clear"></div>
+
+            <div id="formAddQueueType:priority" class="hidden typeSpecificDiv">
+                <div class="clear">
+                    <div class="formLabel-labelCell">Priorities:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.priorities"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'priorities',
+                                  placeHolder: 'number of priorities',
+                                  promptMessage: 'Number of priorities supported by the queue',
+                                  title: 'Enter the number of priorities supported by the queue',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
+            </div>
+
+            <div id="formAddQueueType:lvq" class="hidden typeSpecificDiv">
+                <div class="clear">
+                    <div class="formLabel-labelCell">LVQ Message Property:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.lvqKey"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'lvqKey',
+                                  placeHolder: 'lvq key',
+                                  promptMessage: 'Name of the message property used to perform the conflation',
+                                  title: 'Enter the name of the message property used to perform the conflation',
+                                  trim: true"/>
+                    </div>
+                </div>
+                <div class="clear"></div>
+            </div>
+
+            <div id="formAddQueueType:sorted" class="hidden typeSpecificDiv">
+                <div class="clear">
+                    <div class="formLabel-labelCell">Sort Message Property*:</div>
+                    <div class="formLabel-controlCell">
+                        <input type="text" id="formAddQueue.sortKey"
+                               data-dojo-type="dijit/form/ValidationTextBox"
+                               data-dojo-props="
+                                  name: 'sortKey',
+                                  placeHolder: 'sort key',
+                                  promptMessage: 'Name of the message property used for sorting the messages on the queue',
+                                  title: 'Enter the name of the message property used for sorting the messages on the queue',
+                                  trim: true"/>
+                    </div>
                 </div>
+                <div class="clear"></div>
             </div>
+
             <div class="clear">
                 <div class="formLabel-labelCell">Durable?</div>
                 <div class="formLabel-controlCell">
@@ -108,62 +164,6 @@
                 </div>
             </div>
 
-            <div class="clear"></div>
-
-            <div id="formAddQueueTypePriority:fields" class="hidden"
-                 data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Priority Queue Settings'">
-                <div class="clear">
-                    <div class="formLabel-labelCell">Priorities:</div>
-                    <div class="formLabel-controlCell">
-                        <input type="text" id="formAddQueue.priorities"
-                               data-dojo-type="dijit/form/ValidationTextBox"
-                               data-dojo-props="
-                                  name: 'priorities',
-                                  placeHolder: 'number of priorities',
-                                  promptMessage: 'Number of priorities supported by the queue',
-                                  title: 'Enter the number of priorities supported by the queue',
-                                  trim: true"/>
-                    </div>
-                </div>
-                <div class="clear"></div>
-            </div>
-
-            <div id="formAddQueueTypeLVQ:fields" class="hidden"
-                 data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Last Value Queue Settings'">
-                <div class="clear">
-                    <div class="formLabel-labelCell">LVQ Message Property:</div>
-                    <div class="formLabel-controlCell">
-                        <input type="text" id="formAddQueue.lvqkey"
-                               data-dojo-type="dijit/form/ValidationTextBox"
-                               data-dojo-props="
-                                  name: 'lvqKey',
-                                  placeHolder: 'lvq key',
-                                  promptMessage: 'Name of the message property used to perform the conflation',
-                                  title: 'Enter the name of the message property used to perform the conflation',
-                                  trim: true"/>
-                    </div>
-                </div>
-                <div class="clear"></div>
-            </div>
-
-            <div id="formAddQueueTypeSorted:fields" class="hidden"
-                 data-dojo-type="dijit.TitlePane" data-dojo-props="title: 'Sorted Queue Settings'">
-                <div class="clear">
-                    <div class="formLabel-labelCell">Sort Message Property*:</div>
-                    <div class="formLabel-controlCell">
-                        <input type="text" id="formAddQueue.sortkey"
-                               data-dojo-type="dijit/form/ValidationTextBox"
-                               data-dojo-props="
-                                  name: 'sortKey',
-                                  placeHolder: 'sort key',
-                                  promptMessage: 'Name of the message property used for sorting the messages on the queue',
-                                  title: 'Enter the name of the message property used for sorting the messages on the queue',
-                                  trim: true"/>
-                    </div>
-                </div>
-                <div class="clear"></div>
-            </div>
-
             <div class="clear formBox">
                 <fieldset>
                 <legend>Flow Control Settings</legend>

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html?rev=1629680&r1=1629679&r2=1629680&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/editQueue.html Mon Oct  6 15:35:07 2014
@@ -49,6 +49,59 @@
                                       disabled: 'true'"/>
                     </div>
                 </div>
+                <div class="clear"></div>
+
+                <div id="formEditQueueType:priority" class="hidden typeSpecificDiv">
+                    <div class="clear">
+                        <div class="formLabel-labelCell">Priorities:</div>
+                        <div class="formLabel-controlCell">
+                            <input type="text" id="formEditQueue.priorities"
+                                   data-dojo-type="dijit/form/ValidationTextBox"
+                                   data-dojo-props="
+                                  name: 'priorities',
+                                  disabled: 'true',
+                                  promptMessage: 'Number of priorities supported by the queue',
+                                  title: 'Enter the number of priorities supported by the queue',
+                                  trim: true"/>
+                        </div>
+                    </div>
+                    <div class="clear"></div>
+                </div>
+
+                <div id="formEditQueueType:lvq" class="hidden typeSpecificDiv">
+                    <div class="clear">
+                        <div class="formLabel-labelCell">LVQ Message Property:</div>
+                        <div class="formLabel-controlCell">
+                            <input type="text" id="formEditQueue.lvqKey"
+                                   data-dojo-type="dijit/form/ValidationTextBox"
+                                   data-dojo-props="
+                                  name: 'lvqKey',
+                                  disabled: 'true',
+                                  promptMessage: 'Name of the message property used to perform the conflation',
+                                  title: 'Enter the name of the message property used to perform the conflation',
+                                  trim: true"/>
+                        </div>
+                    </div>
+                    <div class="clear"></div>
+                </div>
+
+                <div id="formEditQueueType:sorted" class="hidden typeSpecificDiv">
+                    <div class="clear">
+                        <div class="formLabel-labelCell">Sort Message Property*:</div>
+                        <div class="formLabel-controlCell">
+                            <input type="text" id="formEditQueue.sortKey"
+                                   data-dojo-type="dijit/form/ValidationTextBox"
+                                   data-dojo-props="
+                                  name: 'sortKey',
+                                  disabled: 'true',
+                                  promptMessage: 'Name of the message property used for sorting the messages on the queue',
+                                  title: 'Enter the name of the message property used for sorting the messages on the queue',
+                                  trim: true"/>
+                        </div>
+                    </div>
+                    <div class="clear"></div>
+                </div>
+
                 <div class="clear">
                     <div class="formLabel-labelCell">Durable?</div>
                     <div class="formLabel-controlCell">

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js?rev=1629680&r1=1629679&r2=1629680&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addQueue.js Mon Oct  6 15:35:07 2014
@@ -27,6 +27,7 @@ define(["dojo/_base/xhr",
         "dojo/_base/array",
         "dojo/_base/event",
         'dojo/_base/json',
+        "dojo/query",
         'qpid/common/util',
         "qpid/common/ContextVariablesEditor",
         "dijit/form/NumberSpinner", // required by the form
@@ -43,22 +44,14 @@ define(["dojo/_base/xhr",
         /* basic dojox classes */
         "dojox/form/BusyButton", "dojox/form/CheckedMultiSelect",
         "dojo/domReady!"],
-    function (xhr, dom, construct, win, registry, parser, array, event, json, util) {
+    function (xhr, dom, construct, win, registry, parser, array, event, json, query, util) {
 
         var addQueue = {};
 
         var node = construct.create("div", null, win.body(), "last");
 
-        var typeSpecificFields = {
-                        priorities: "priority",
-                        lvqKey: "lvq",
-                        sortKey: "sorted"
-                    };
-
-        var requiredFields = {
-                priority: "priorities",
-                sorted: "sortkey"
-            };
+        var typeSpecificFields = { priorities: "priority", lvqKey: "lvq", sortKey: "sorted" };
+        var requiredFields = { sorted: "sortKey"};
 
         var fieldConverters = {
                 queueFlowControlSizeBytes:        parseInt,
@@ -97,8 +90,8 @@ define(["dojo/_base/xhr",
                                 newQueue["messageGroupSharedGroups"] = true;
                             }
                         }
-                        else if (!typeSpecificFields.hasOwnProperty(propName) ||
-                                        formValues[ "type" ] === typeSpecificFields[ propName ]) {
+                        else if (!typeSpecificFields.hasOwnProperty(propName) || formValues[ "type" ] === typeSpecificFields[ propName ])
+                        {
                             if(formValues[ propName ] !== "") {
                                 if (fieldConverters.hasOwnProperty(propName))
                                 {
@@ -126,36 +119,29 @@ define(["dojo/_base/xhr",
                             addQueue.dialogNode = dom.byId("addQueue");
                             parser.instantiate([addQueue.dialogNode]);
 
-                            // for children which have name type, add a function to make all the associated rows
-                            // visible / invisible as the radio button is checked / unchecked
-
+                            // for children which have name type, add a function to make all the associated atrributes
+                            // visible / invisible as the select is changed
                             theForm = registry.byId("formAddQueue");
-                            array.forEach(theForm.getDescendants(), function(widget)
+                            var typeSelector = registry.byId("formAddQueue.type");
+                            typeSelector.on("change", function(value)
+                            {
+                                query(".typeSpecificDiv").forEach(function(node, index, arr)
                                 {
-                                    if(widget.name === "type") {
-                                        widget.on("change", function(isChecked) {
-
-                                            var objId = widget.id + ":fields";
-                                            var obj = registry.byId(objId);
-                                            if(obj) {
-                                                if(isChecked) {
-                                                    obj.domNode.style.display = "block";
-                                                } else {
-                                                    obj.domNode.style.display = "none";
-                                                }
-                                                obj.resize();
-                                                var widgetValue = widget.value;
-                                                if (requiredFields.hasOwnProperty(widgetValue))
-                                                {
-                                                    dijit.byId('formAddQueue.' + requiredFields[widgetValue]).required = isChecked;
-                                                }
-
-                                                util.applyMetadataToWidgets(obj.domNode, "Queue", widgetValue);
-                                            }
-                                        })
+                                    if (node.id === "formAddQueueType:" + value)
+                                    {
+                                        node.style.display = "block";
+                                        util.applyMetadataToWidgets(node, "Queue", value);
+                                    }
+                                    else
+                                    {
+                                        node.style.display = "none";
                                     }
-
                                 });
+                                for(var requiredField in requiredFields)
+                                {
+                                    dijit.byId('formAddQueue.' + requiredFields[requiredField]).required = (requiredField == value);
+                                }
+                            });
 
                             theForm.on("submit", function(e) {
 

Modified: qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js
URL: http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js?rev=1629680&r1=1629679&r2=1629680&view=diff
==============================================================================
--- qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js (original)
+++ qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editQueue.js Mon Oct  6 15:35:07 2014
@@ -57,7 +57,10 @@ define(["dojo/_base/xhr",
                   "alertThresholdMessageAge",
                   "alertThresholdMessageSize",
                   "alertRepeatGap",
-                  "maximumDeliveryAttempts"];
+                  "maximumDeliveryAttempts",
+                  "priorities",
+                  "lvqKey",
+                  "sortKey"];
 
     var numericFieldNames = ["maximumMessageTtl",
                   "minimumMessageTtl",
@@ -90,6 +93,7 @@ define(["dojo/_base/xhr",
         }
         this.form = registry.byId("formEditQueue");
         this.form.on("submit", function(){return false;});
+        this.typeSelector = registry.byId("formEditQueue.type");
       },
       show: function(hostData)
       {
@@ -113,6 +117,18 @@ define(["dojo/_base/xhr",
               }
             }
         );
+        var queueType = this.typeSelector.get("value");
+        query(".typeSpecificDiv").forEach(function(node, index, arr){
+            if (node.id === "formEditQueueType:" + queueType)
+            {
+                node.style.display = "block";
+                util.applyMetadataToWidgets(node, "Queue", queueType);
+            }
+            else
+            {
+                node.style.display = "none";
+            }
+        });
       },
       destroy: function()
       {



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org