Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAccessControlProvider.js
 Mon May  2 15:57:52 2016
@@ -42,139 +42,136 @@ define(["dojo/_base/lang",
         "dijit/layout/ContentPane",
         "dojox/layout/TableContainer",
         "dojo/domReady!"], function (lang, dom, construct, registry, parser, 
array, event, json, util, template)
-       {
+{
 
-           var addAccessControlProvider = {
-               init: function ()
-               {
-                   var that = this;
-                   this.containerNode = construct.create("div", {innerHTML: 
template});
-                   parser.parse(this.containerNode).then(function (instances)
-                                                         {
-                                                             that._postParse();
-                                                         });
-               },
-               _postParse: function ()
-               {
-                   var that = this;
-                   this.accessControlProviderName = 
registry.byId("addAccessControlProvider.name");
-                   this.accessControlProviderName.set("regExpGen", 
util.nameOrContextVarRegexp);
+    var addAccessControlProvider = {
+        init: function ()
+        {
+            var that = this;
+            this.containerNode = construct.create("div", {innerHTML: 
template});
+            parser.parse(this.containerNode)
+                .then(function (instances)
+                {
+                    that._postParse();
+                });
+        },
+        _postParse: function ()
+        {
+            var that = this;
+            this.accessControlProviderName = 
registry.byId("addAccessControlProvider.name");
+            this.accessControlProviderName.set("regExpGen", 
util.nameOrContextVarRegexp);
 
-                   this.dialog = registry.byId("addAccessControlProvider");
-                   this.addButton = 
registry.byId("addAccessControlProvider.addButton");
-                   this.cancelButton = 
registry.byId("addAccessControlProvider.cancelButton");
-                   this.cancelButton.on("click", function (e)
-                   {
-                       that._cancel(e);
-                   });
-                   this.addButton.on("click", function (e)
-                   {
-                       that._add(e);
-                   });
+            this.dialog = registry.byId("addAccessControlProvider");
+            this.addButton = 
registry.byId("addAccessControlProvider.addButton");
+            this.cancelButton = 
registry.byId("addAccessControlProvider.cancelButton");
+            this.cancelButton.on("click", function (e)
+            {
+                that._cancel(e);
+            });
+            this.addButton.on("click", function (e)
+            {
+                that._add(e);
+            });
 
-                   this.accessControlProviderTypeFieldsContainer = 
dom.byId("addAccessControlProvider.typeFields");
-                   this.accessControlProviderForm = 
registry.byId("addAccessControlProvider.form");
-                   this.accessControlProviderType = 
registry.byId("addAccessControlProvider.type");
-                   this.accessControlProviderType.on("change", function (type)
-                   {
-                       that._accessControlProviderTypeChanged(type);
-                   });
-               },
-               show: function (management, modelObj, effectiveData)
-               {
-                   this.management = management;
-                   this.modelObj = modelObj;
-                   this.accessControlProviderForm.reset();
-                   this.supportedAccessControlProviderTypes =
-                       
management.metadata.getTypesForCategory("AccessControlProvider");
-                   this.supportedAccessControlProviderTypes.sort();
-                   var accessControlProviderTypeStore = 
util.makeTypeStore(this.supportedAccessControlProviderTypes);
-                   this.accessControlProviderType.set("store", 
accessControlProviderTypeStore);
-                   this.dialog.show();
-               },
-               _cancel: function (e)
-               {
-                   event.stop(e);
-                   
this._destroyTypeFields(this.accessControlProviderTypeFieldsContainer);
-                   this.dialog.hide();
-               },
-               _add: function (e)
-               {
-                   event.stop(e);
-                   this._submit();
-               },
-               _submit: function ()
-               {
-                   if (this.accessControlProviderForm.validate())
-                   {
-                       var accessControlProviderData = 
util.getFormWidgetValues(this.accessControlProviderForm,
-                                                                               
 this.initialData);
-                       var that = this;
-                       this.management.create("accesscontrolprovider", 
this.modelObj, accessControlProviderData)
-                           .then(function (x)
-                                 {
-                                     that.dialog.hide();
-                                 });
-                   }
-                   else
-                   {
-                       alert('Form contains invalid data. Please correct 
first');
-                   }
-               },
-               _accessControlProviderTypeChanged: function (type)
-               {
-                   this._typeChanged(type,
-                                     
this.accessControlProviderTypeFieldsContainer,
-                                     "qpid/management/accesscontrolprovider/",
-                                     "AccessControlProvider");
-               },
-               _destroyTypeFields: function (typeFieldsContainer)
-               {
-                   var widgets = registry.findWidgets(typeFieldsContainer);
-                   array.forEach(widgets, function (item)
-                   {
-                       item.destroyRecursive();
-                   });
-                   construct.empty(typeFieldsContainer);
-               },
-               _typeChanged: function (type, typeFieldsContainer, baseUrl, 
category)
-               {
-                   this._destroyTypeFields(typeFieldsContainer);
+            this.accessControlProviderTypeFieldsContainer = 
dom.byId("addAccessControlProvider.typeFields");
+            this.accessControlProviderForm = 
registry.byId("addAccessControlProvider.form");
+            this.accessControlProviderType = 
registry.byId("addAccessControlProvider.type");
+            this.accessControlProviderType.on("change", function (type)
+            {
+                that._accessControlProviderTypeChanged(type);
+            });
+        },
+        show: function (management, modelObj, effectiveData)
+        {
+            this.management = management;
+            this.modelObj = modelObj;
+            this.accessControlProviderForm.reset();
+            this.supportedAccessControlProviderTypes = 
management.metadata.getTypesForCategory("AccessControlProvider");
+            this.supportedAccessControlProviderTypes.sort();
+            var accessControlProviderTypeStore = 
util.makeTypeStore(this.supportedAccessControlProviderTypes);
+            this.accessControlProviderType.set("store", 
accessControlProviderTypeStore);
+            this.dialog.show();
+        },
+        _cancel: function (e)
+        {
+            event.stop(e);
+            
this._destroyTypeFields(this.accessControlProviderTypeFieldsContainer);
+            this.dialog.hide();
+        },
+        _add: function (e)
+        {
+            event.stop(e);
+            this._submit();
+        },
+        _submit: function ()
+        {
+            if (this.accessControlProviderForm.validate())
+            {
+                var accessControlProviderData = 
util.getFormWidgetValues(this.accessControlProviderForm,
+                    this.initialData);
+                var that = this;
+                this.management.create("accesscontrolprovider", this.modelObj, 
accessControlProviderData)
+                    .then(function (x)
+                    {
+                        that.dialog.hide();
+                    });
+            }
+            else
+            {
+                alert('Form contains invalid data. Please correct first');
+            }
+        },
+        _accessControlProviderTypeChanged: function (type)
+        {
+            this._typeChanged(type,
+                this.accessControlProviderTypeFieldsContainer,
+                "qpid/management/accesscontrolprovider/",
+                "AccessControlProvider");
+        },
+        _destroyTypeFields: function (typeFieldsContainer)
+        {
+            var widgets = registry.findWidgets(typeFieldsContainer);
+            array.forEach(widgets, function (item)
+            {
+                item.destroyRecursive();
+            });
+            construct.empty(typeFieldsContainer);
+        },
+        _typeChanged: function (type, typeFieldsContainer, baseUrl, category)
+        {
+            this._destroyTypeFields(typeFieldsContainer);
 
-                   if (type)
-                   {
-                       var that = this;
-                       require([baseUrl + type.toLowerCase() + "/add"], 
function (typeUI)
-                       {
-                           try
-                           {
-                               typeUI.show({
-                                               containerNode: 
typeFieldsContainer,
-                                               parent: that,
-                                               data: that.initialData,
-                                               effectiveData: 
that.effectiveData
-                                           });
-                               util.applyMetadataToWidgets(typeFieldsContainer,
-                                                           category,
-                                                           type,
-                                                           
that.management.metadata);
-                           }
-                           catch (e)
-                           {
-                               console.warn(e);
-                           }
-                       });
-                   }
-               }
-           };
+            if (type)
+            {
+                var that = this;
+                require([baseUrl + type.toLowerCase() + "/add"], function 
(typeUI)
+                {
+                    try
+                    {
+                        typeUI.show({
+                            containerNode: typeFieldsContainer,
+                            parent: that,
+                            data: that.initialData,
+                            effectiveData: that.effectiveData
+                        });
+                        util.applyMetadataToWidgets(typeFieldsContainer, 
category, type, that.management.metadata);
+                    }
+                    catch (e)
+                    {
+                        console.warn(e);
+                    }
+                });
+            }
+        }
+    };
 
-           try
-           {
-               addAccessControlProvider.init();
-           }
-           catch (e)
-           {
-               console.warn(e);
-           }
-           return addAccessControlProvider;
-       });
+    try
+    {
+        addAccessControlProvider.init();
+    }
+    catch (e)
+    {
+        console.warn(e);
+    }
+    return addAccessControlProvider;
+});

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addAuthenticationProvider.js
 Mon May  2 15:57:52 2016
@@ -33,10 +33,10 @@ define(["dojo/dom",
         "qpid/common/util",
         "dojo/text!addAuthenticationProvider.html",
         "qpid/management/preferencesprovider/PreferencesProviderForm",
-           /* dojox/ validate resources */
+        /* dojox/ validate resources */
         "dojox/validate/us",
         "dojox/validate/web",
-           /* basic dijit classes */
+        /* basic dijit classes */
         "dijit/Dialog",
         "dijit/form/CheckBox",
         "dijit/form/Textarea",
@@ -44,281 +44,282 @@ define(["dojo/dom",
         "dijit/form/ValidationTextBox",
         "dijit/form/Button",
         "dijit/form/Form",
-           /* basic dojox classes */
+        /* basic dojox classes */
         "dojox/form/BusyButton",
         "dojox/form/CheckedMultiSelect",
         "dojox/layout/TableContainer",
         "qpid/common/ContextVariablesEditor",
         "dojo/domReady!"],
-       function (dom, construct, win, registry, parser, array, event, json, 
Memory, FilteringSelect, connect, domStyle, util, template)
-       {
-           var addAuthenticationProvider = {
-               init: function ()
-               {
-                   var that = this;
-                   this.containerNode = construct.create("div", {innerHTML: 
template});
-                   parser.parse(this.containerNode).then(function (instances)
-                                                         {
-                                                             that._postParse();
-                                                         });
-               },
-               _postParse: function ()
-               {
-                   var that = this;
-                   this.authenticationProviderName = 
registry.byId("addAuthenticationProvider.name");
-                   this.authenticationProviderName.set("regExpGen", 
util.nameOrContextVarRegexp);
-                   this.authenticationProviderName.on("change", function 
(newValue)
-                   {
-                       
that.preferencesProviderForm.setPreferencesProviderName(newValue);
-                   });
-
-                   this.dialog = registry.byId("addAuthenticationProvider");
-                   this.addButton = 
registry.byId("addAuthenticationProvider.addButton");
-                   this.cancelButton = 
registry.byId("addAuthenticationProvider.cancelButton");
-                   this.cancelButton.on("click", function (e)
-                   {
-                       that._cancel(e);
-                   });
-                   this.addButton.on("click", function (e)
-                   {
-                       that._add(e);
-                   });
-
-                   this.authenticationProviderTypeFieldsContainer = 
dom.byId("addAuthenticationProvider.typeFields");
-                   this.authenticationProviderForm = 
registry.byId("addAuthenticationProvider.form");
-                   this.authenticationProviderType = 
registry.byId("addAuthenticationProvider.type");
-                   this.authenticationProviderType.on("change", function (type)
-                   {
-                       that._authenticationProviderTypeChanged(type);
-                   });
-
-                   this.preferencesProviderForm =
-                       new 
qpid.preferencesprovider.PreferencesProviderForm({disabled: true});
-                   
this.preferencesProviderForm.placeAt(dom.byId("addPreferencesProvider.form"));
-                   this.context = 
registry.byId("addAuthenticationProvider.context");
-               },
-               show: function (management, modelObj, effectiveData)
-               {
-                   this.management = management;
-                   this.modelObj = modelObj;
-                   this.authenticationProviderForm.reset();
-                   
this.preferencesProviderForm.setMetadata(management.metadata);
-
-                   this.supportedAuthenticationProviderTypes =
-                       
management.metadata.getTypesForCategory("AuthenticationProvider");
-                   this.supportedAuthenticationProviderTypes.sort();
-                   var authenticationProviderTypeStore = 
util.makeTypeStore(this.supportedAuthenticationProviderTypes);
-                   this.authenticationProviderType.set("store", 
authenticationProviderTypeStore);
-
-                   var that = this;
-                   if (effectiveData)
-                   {
-                       // editing
-                       management.load(modelObj, {actuals: 
true}).then(function (data)
-                                                                       {
-                                                                           var 
actualData = data[0];
-                                                                           
that.initialData = actualData;
-                                                                           
that.effectiveData = effectiveData;
-                                                                           
that.authenticationProviderType.set("value",
-                                                                               
                                actualData.type);
-
-                                                                           
that.authenticationProviderType.set(
-                                                                               
"disabled",
-                                                                               
true);
-                                                                           
that.authenticationProviderName.set(
-                                                                               
"disabled",
-                                                                               
true);
-                                                                           if 
(actualData.preferencesproviders
-                                                                               
&& actualData.preferencesproviders[0])
-                                                                           {
-                                                                               
that.preferencesProviderForm.setData(
-                                                                               
    actualData.preferencesproviders[0]);
-                                                                           }
-                                                                           else
-                                                                           {
-                                                                               
that.preferencesProviderForm.reset();
-                                                                               
that.preferencesProviderForm.setPreferencesProviderName(
-                                                                               
    actualData.name);
-                                                                           }
-                                                                           
that.authenticationProviderName.set("value",
-                                                                               
                                actualData.name);
-                                                                           
util.setContextData(that.context,
-                                                                               
                management,
-                                                                               
                modelObj,
-                                                                               
                actualData,
-                                                                               
                effectiveData,
-                                                                               
                function ()
-                                                                               
                {
-                                                                               
                    that._show();
-                                                                               
                });
-                                                                       });
-                   }
-                   else
-                   {
-                       this.preferencesProviderForm.reset();
-                       this.authenticationProviderType.set("disabled", false);
-                       this.authenticationProviderName.set("disabled", false);
-                       this.initialData = {};
-                       this.effectiveData = {};
-                       util.setToBrokerEffectiveContext(this.context, 
management, function ()
-                       {
-                           that._show();
-                       });
-                   }
-               },
-               _show: function ()
-               {
-                   this.dialog.show();
-                   if (!this.resizeEventRegistered)
-                   {
-                       this.resizeEventRegistered = true;
-                       
util.resizeContentAreaAndRepositionDialog(dom.byId("addAuthenticationProvider.contentPane"),
-                                                                 this.dialog);
-                   }
-               },
-               _cancel: function (e)
-               {
-                   event.stop(e);
-                   this.dialog.hide();
-               },
-               _add: function (e)
-               {
-                   event.stop(e);
-                   this._submit();
-               },
-               _submit: function ()
-               {
-                   if (this.authenticationProviderForm.validate() && 
this.preferencesProviderForm.validate())
-                   {
-                       var authenticationProviderData = 
util.getFormWidgetValues(this.authenticationProviderForm,
-                                                                               
  this.initialData);
-                       var context = this.context.get("value");
-                       if (context && (!this.initialData || 
!util.equals(context, this.initialData.context)))
-                       {
-                           authenticationProviderData["context"] = context;
-                       }
-                       var that = this;
-
-                       var hideDialog = function (x)
-                       {
-                           that.dialog.hide();
-                       }
-
-                       var savePreferences = function (x)
-                       {
-                           that.preferencesProviderForm.submit(function 
(preferencesProviderData)
-                                                               {
-                                                                   if 
(that.preferencesProviderForm.data)
-                                                                   {
-                                                                       // 
update request
-                                                                       var 
name = that.preferencesProviderForm.getPreferencesProviderName();
-
-                                                                       var 
modelObj = {
-                                                                           
name: name,
-                                                                           
type: "preferencesprovider",
-                                                                           
parent: that.modelObj
-                                                                       };
-                                                                       
that.management.update(modelObj,
-                                                                               
               preferencesProviderData)
-                                                                           
.then(hideDialog);
-                                                                   }
-                                                                   else
-                                                                   {
-                                                                       var 
authProviderModelObj = that.modelObj;
-                                                                       if 
(authProviderModelObj.type
-                                                                           != 
"authenticationprovider")
-                                                                       {
-                                                                           
authProviderModelObj = {
-                                                                               
name: authenticationProviderData.name,
-                                                                               
type: "authenticationprovider",
-                                                                               
parent: that.modelObj
-                                                                           };
-                                                                       }
-                                                                       
that.management.create("preferencesprovider",
-                                                                               
               authProviderModelObj,
-                                                                               
               preferencesProviderData)
-                                                                           
.then(hideDialog);
-                                                                   }
-                                                               }, hideDialog);
-                       }
-
-                       if (this.initialData && this.initialData.id)
-                       {
-                           // update request
-                           this.management.update(that.modelObj, 
authenticationProviderData).then(savePreferences);
-                       }
-                       else
-                       {
-                           this.management.create("authenticationprovider", 
that.modelObj, authenticationProviderData)
-                               .then(savePreferences);
-                       }
-                   }
-                   else
-                   {
-                       alert('Form contains invalid data. Please correct 
first');
-                   }
-               },
-               _authenticationProviderTypeChanged: function (type)
-               {
-                   this._typeChanged(type,
-                                     
this.authenticationProviderTypeFieldsContainer,
-                                     "qpid/management/authenticationprovider/",
-                                     "AuthenticationProvider");
-               },
-               _typeChanged: function (type, typeFieldsContainer, baseUrl, 
category)
-               {
-                   var widgets = registry.findWidgets(typeFieldsContainer);
-                   array.forEach(widgets, function (item)
-                   {
-                       item.destroyRecursive();
-                   });
-                   construct.empty(typeFieldsContainer);
-                   var supportsPreferencesProvider = false;
-                   if (type && this.management)
-                   {
-                       supportsPreferencesProvider = 
this.management.metadata.implementsManagedInterface(
-                           "AuthenticationProvider",
-                           type,
-                           "PreferencesSupportingAuthenticationProvider");
-                   }
-                   this.preferencesProviderForm.set("disabled", !type || 
!supportsPreferencesProvider);
-                   if (type)
-                   {
-                       var that = this;
-                       require([baseUrl + type.toLowerCase() + "/add"], 
function (typeUI)
-                       {
-                           try
-                           {
-                               typeUI.show({
-                                               containerNode: 
typeFieldsContainer,
-                                               parent: that,
-                                               category: category,
-                                               type: type,
-                                               data: that.initialData,
-                                               effectiveData: 
that.effectiveData,
-                                               metadata: 
that.management.metadata
-                                           });
-                               util.applyMetadataToWidgets(typeFieldsContainer,
-                                                           category,
-                                                           type,
-                                                           
that.management.metadata);
-                           }
-                           catch (e)
-                           {
-                               console.warn(e);
-                           }
-                       });
-                   }
-               }
-           };
-
-           try
-           {
-               addAuthenticationProvider.init();
-           }
-           catch (e)
-           {
-               console.warn(e);
-           }
-           return addAuthenticationProvider;
-       });
+    function (dom,
+              construct,
+              win,
+              registry,
+              parser,
+              array,
+              event,
+              json,
+              Memory,
+              FilteringSelect,
+              connect,
+              domStyle,
+              util,
+              template)
+    {
+        var addAuthenticationProvider = {
+            init: function ()
+            {
+                var that = this;
+                this.containerNode = construct.create("div", {innerHTML: 
template});
+                parser.parse(this.containerNode)
+                    .then(function (instances)
+                    {
+                        that._postParse();
+                    });
+            },
+            _postParse: function ()
+            {
+                var that = this;
+                this.authenticationProviderName = 
registry.byId("addAuthenticationProvider.name");
+                this.authenticationProviderName.set("regExpGen", 
util.nameOrContextVarRegexp);
+                this.authenticationProviderName.on("change", function 
(newValue)
+                {
+                    
that.preferencesProviderForm.setPreferencesProviderName(newValue);
+                });
+
+                this.dialog = registry.byId("addAuthenticationProvider");
+                this.addButton = 
registry.byId("addAuthenticationProvider.addButton");
+                this.cancelButton = 
registry.byId("addAuthenticationProvider.cancelButton");
+                this.cancelButton.on("click", function (e)
+                {
+                    that._cancel(e);
+                });
+                this.addButton.on("click", function (e)
+                {
+                    that._add(e);
+                });
+
+                this.authenticationProviderTypeFieldsContainer = 
dom.byId("addAuthenticationProvider.typeFields");
+                this.authenticationProviderForm = 
registry.byId("addAuthenticationProvider.form");
+                this.authenticationProviderType = 
registry.byId("addAuthenticationProvider.type");
+                this.authenticationProviderType.on("change", function (type)
+                {
+                    that._authenticationProviderTypeChanged(type);
+                });
+
+                this.preferencesProviderForm = new 
qpid.preferencesprovider.PreferencesProviderForm({disabled: true});
+                
this.preferencesProviderForm.placeAt(dom.byId("addPreferencesProvider.form"));
+                this.context = 
registry.byId("addAuthenticationProvider.context");
+            },
+            show: function (management, modelObj, effectiveData)
+            {
+                this.management = management;
+                this.modelObj = modelObj;
+                this.authenticationProviderForm.reset();
+                this.preferencesProviderForm.setMetadata(management.metadata);
+
+                this.supportedAuthenticationProviderTypes =
+                    
management.metadata.getTypesForCategory("AuthenticationProvider");
+                this.supportedAuthenticationProviderTypes.sort();
+                var authenticationProviderTypeStore = 
util.makeTypeStore(this.supportedAuthenticationProviderTypes);
+                this.authenticationProviderType.set("store", 
authenticationProviderTypeStore);
+
+                var that = this;
+                if (effectiveData)
+                {
+                    // editing
+                    management.load(modelObj, {actuals: true})
+                        .then(function (data)
+                        {
+                            var actualData = data[0];
+                            that.initialData = actualData;
+                            that.effectiveData = effectiveData;
+                            that.authenticationProviderType.set("value", 
actualData.type);
+
+                            that.authenticationProviderType.set("disabled", 
true);
+                            that.authenticationProviderName.set("disabled", 
true);
+                            if (actualData.preferencesproviders && 
actualData.preferencesproviders[0])
+                            {
+                                
that.preferencesProviderForm.setData(actualData.preferencesproviders[0]);
+                            }
+                            else
+                            {
+                                that.preferencesProviderForm.reset();
+                                
that.preferencesProviderForm.setPreferencesProviderName(actualData.name);
+                            }
+                            that.authenticationProviderName.set("value", 
actualData.name);
+                            util.setContextData(that.context,
+                                management,
+                                modelObj,
+                                actualData,
+                                effectiveData,
+                                function ()
+                                {
+                                    that._show();
+                                });
+                        });
+                }
+                else
+                {
+                    this.preferencesProviderForm.reset();
+                    this.authenticationProviderType.set("disabled", false);
+                    this.authenticationProviderName.set("disabled", false);
+                    this.initialData = {};
+                    this.effectiveData = {};
+                    util.setToBrokerEffectiveContext(this.context, management, 
function ()
+                    {
+                        that._show();
+                    });
+                }
+            },
+            _show: function ()
+            {
+                this.dialog.show();
+                if (!this.resizeEventRegistered)
+                {
+                    this.resizeEventRegistered = true;
+                    
util.resizeContentAreaAndRepositionDialog(dom.byId("addAuthenticationProvider.contentPane"),
+                        this.dialog);
+                }
+            },
+            _cancel: function (e)
+            {
+                event.stop(e);
+                this.dialog.hide();
+            },
+            _add: function (e)
+            {
+                event.stop(e);
+                this._submit();
+            },
+            _submit: function ()
+            {
+                if (this.authenticationProviderForm.validate() && 
this.preferencesProviderForm.validate())
+                {
+                    var authenticationProviderData = 
util.getFormWidgetValues(this.authenticationProviderForm,
+                        this.initialData);
+                    var context = this.context.get("value");
+                    if (context && (!this.initialData || !util.equals(context, 
this.initialData.context)))
+                    {
+                        authenticationProviderData["context"] = context;
+                    }
+                    var that = this;
+
+                    var hideDialog = function (x)
+                    {
+                        that.dialog.hide();
+                    }
+
+                    var savePreferences = function (x)
+                    {
+                        that.preferencesProviderForm.submit(function 
(preferencesProviderData)
+                        {
+                            if (that.preferencesProviderForm.data)
+                            {
+                                // update request
+                                var name = 
that.preferencesProviderForm.getPreferencesProviderName();
+
+                                var modelObj = {
+                                    name: name,
+                                    type: "preferencesprovider",
+                                    parent: that.modelObj
+                                };
+                                that.management.update(modelObj, 
preferencesProviderData)
+                                    .then(hideDialog);
+                            }
+                            else
+                            {
+                                var authProviderModelObj = that.modelObj;
+                                if (authProviderModelObj.type != 
"authenticationprovider")
+                                {
+                                    authProviderModelObj = {
+                                        name: authenticationProviderData.name,
+                                        type: "authenticationprovider",
+                                        parent: that.modelObj
+                                    };
+                                }
+                                that.management.create("preferencesprovider",
+                                    authProviderModelObj,
+                                    preferencesProviderData)
+                                    .then(hideDialog);
+                            }
+                        }, hideDialog);
+                    }
+
+                    if (this.initialData && this.initialData.id)
+                    {
+                        // update request
+                        this.management.update(that.modelObj, 
authenticationProviderData)
+                            .then(savePreferences);
+                    }
+                    else
+                    {
+                        this.management.create("authenticationprovider", 
that.modelObj, authenticationProviderData)
+                            .then(savePreferences);
+                    }
+                }
+                else
+                {
+                    alert('Form contains invalid data. Please correct first');
+                }
+            },
+            _authenticationProviderTypeChanged: function (type)
+            {
+                this._typeChanged(type,
+                    this.authenticationProviderTypeFieldsContainer,
+                    "qpid/management/authenticationprovider/",
+                    "AuthenticationProvider");
+            },
+            _typeChanged: function (type, typeFieldsContainer, baseUrl, 
category)
+            {
+                var widgets = registry.findWidgets(typeFieldsContainer);
+                array.forEach(widgets, function (item)
+                {
+                    item.destroyRecursive();
+                });
+                construct.empty(typeFieldsContainer);
+                var supportsPreferencesProvider = false;
+                if (type && this.management)
+                {
+                    supportsPreferencesProvider = 
this.management.metadata.implementsManagedInterface(
+                        "AuthenticationProvider",
+                        type,
+                        "PreferencesSupportingAuthenticationProvider");
+                }
+                this.preferencesProviderForm.set("disabled", !type || 
!supportsPreferencesProvider);
+                if (type)
+                {
+                    var that = this;
+                    require([baseUrl + type.toLowerCase() + "/add"], function 
(typeUI)
+                    {
+                        try
+                        {
+                            typeUI.show({
+                                containerNode: typeFieldsContainer,
+                                parent: that,
+                                category: category,
+                                type: type,
+                                data: that.initialData,
+                                effectiveData: that.effectiveData,
+                                metadata: that.management.metadata
+                            });
+                            util.applyMetadataToWidgets(typeFieldsContainer, 
category, type, that.management.metadata);
+                        }
+                        catch (e)
+                        {
+                            console.warn(e);
+                        }
+                    });
+                }
+            }
+        };
+
+        try
+        {
+            addAuthenticationProvider.init();
+        }
+        catch (e)
+        {
+            console.warn(e);
+        }
+        return addAuthenticationProvider;
+    });

Modified: 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js?rev=1741993&r1=1741992&r2=1741993&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js
 (original)
+++ 
qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addBinding.js
 Mon May  2 15:57:52 2016
@@ -30,10 +30,10 @@ define(["dojo/_base/connect",
         "qpid/common/util",
         "dojo/text!addBinding.html",
         "dijit/form/NumberSpinner", // required by the form
-           /* dojox/ validate resources */
+        /* dojox/ validate resources */
         "dojox/validate/us",
         "dojox/validate/web",
-           /* basic dijit classes */
+        /* basic dijit classes */
         "dijit/Dialog",
         "dijit/form/CheckBox",
         "dijit/form/Textarea",
@@ -46,474 +46,473 @@ define(["dojo/_base/connect",
         "dijit/form/RadioButton",
         "dijit/form/Form",
         "dijit/form/DateTextBox",
-           /* basic dojox classes */
+        /* basic dojox classes */
         "dojox/form/BusyButton",
         "dojox/form/CheckedMultiSelect",
         "dojox/grid/EnhancedGrid",
         "dojo/data/ObjectStore",
         "dojo/domReady!"],
-       function (connect, dom, construct, win, registry, parser, array, event, 
json, lang, declare, Memory, FilteringSelect, util, template)
-       {
+    function (connect,
+              dom,
+              construct,
+              win,
+              registry,
+              parser,
+              array,
+              event,
+              json,
+              lang,
+              declare,
+              Memory,
+              FilteringSelect,
+              util,
+              template)
+    {
+
+        var noLocalValues = new Memory({
+            data: [{
+                name: "true",
+                id: true
+            }, {
+                name: "false",
+                id: false
+            }]
+        });
+
+        var xMatchValues = new Memory({
+            data: [{
+                name: "all",
+                id: "all"
+            }, {
+                name: "any",
+                id: "any"
+            }]
+        });
+
+        var defaultBindingArguments = [{
+            id: 0,
+            name: "x-filter-jms-selector",
+            value: null
+        }, {
+            id: 1,
+            name: "x-qpid-no-local",
+            value: null
+        }];
+
+        var GridWidgetProxy = declare("qpid.dojox.grid.cells.GridWidgetProxy", 
dojox.grid.cells._Widget, {
+            createWidget: function (inNode, inDatum, inRowIndex)
+            {
+                var WidgetClass = this.widgetClass;
+                var widgetProperties = this.getWidgetProps(inDatum);
+                var getWidgetProperties = widgetProperties.getWidgetProperties;
+                if (typeof getWidgetProperties == "function")
+                {
+                    var item = this.grid.getItem(inRowIndex);
+                    if (item)
+                    {
+                        var additionalWidgetProperties = 
getWidgetProperties(inDatum, inRowIndex, item);
+                        if (additionalWidgetProperties)
+                        {
+                            WidgetClass = 
additionalWidgetProperties.widgetClass;
+                            for (var prop in additionalWidgetProperties)
+                            {
+                                if 
(additionalWidgetProperties.hasOwnProperty(prop) && !widgetProperties[prop])
+                                {
+                                    widgetProperties[prop] = 
additionalWidgetProperties[prop];
+                                }
+                            }
+                        }
+                    }
+                }
+                var widget = new WidgetClass(widgetProperties, inNode);
+                return widget;
+            },
+            getValue: function (inRowIndex)
+            {
+                if (this.widget)
+                {
+                    return this.widget.get('value');
+                }
+                return null;
+            },
+            _finish: function (inRowIndex)
+            {
+                if (this.widget)
+                {
+                    this.inherited(arguments);
+                    this.widget.destroyRecursive();
+                    this.widget = null;
+                }
+            }
+        });
+
+        var addBinding = {};
+
+        var node = construct.create("div", null, win.body(), "last");
+
+        var convertToBinding = function convertToBinding(formValues)
+        {
+            var newBinding = {};
+
+            newBinding.name = formValues.name;
+            for (var propName in formValues)
+            {
+                if (formValues.hasOwnProperty(propName))
+                {
+                    if (propName === "durable")
+                    {
+                        if (formValues.durable[0] && formValues.durable[0] == 
"durable")
+                        {
+                            newBinding.durable = true;
+                        }
+                    }
+                    else
+                    {
+                        if (formValues[propName] !== "")
+                        {
+                            newBinding[propName] = formValues[propName];
+                        }
+                    }
+
+                }
+            }
+            if (addBinding.queue)
+            {
+                newBinding.queue = addBinding.queue;
+            }
+            if (addBinding.exchange)
+            {
+                newBinding.exchange = addBinding.exchange;
+            }
+
+            addBinding.bindingArgumentsGrid.store.fetch({
+                onComplete: function (items, request)
+                {
+                    if (items.length)
+                    {
+                        array.forEach(items, function (item)
+                        {
+                            if (item && item.name && item.value)
+                            {
+                                var bindingArguments = newBinding.arguments;
+                                if (!bindingArguments)
+                                {
+                                    bindingArguments = {};
+                                    newBinding.arguments = bindingArguments;
+                                }
+                                bindingArguments[item.name] = item.value;
+                            }
+                        });
+                    }
+                }
+            });
+            return newBinding;
+        };
+
+        var theForm;
+        node.innerHTML = template;
+        addBinding.dialogNode = dom.byId("addBinding");
+        parser.instantiate([addBinding.dialogNode]);
+
+        theForm = registry.byId("formAddBinding");
+        array.forEach(theForm.getDescendants(), function (widget)
+        {
+            if (widget.name === "type")
+            {
+                widget.on("change", function (isChecked)
+                {
+
+                    var obj = registry.byId(widget.id + ":fields");
+                    if (obj)
+                    {
+                        if (isChecked)
+                        {
+                            obj.domNode.style.display = "block";
+                            obj.resize();
+                        }
+                        else
+                        {
+                            obj.domNode.style.display = "none";
+                            obj.resize();
+                        }
+                    }
+                })
+            }
+
+        });
+
+        var argumentsGridNode = dom.byId("formAddbinding.bindingArguments");
+        var objectStore = new dojo.data.ObjectStore({
+            objectStore: new Memory({
+                data: lang.clone(defaultBindingArguments),
+                idProperty: "id"
+            })
+        });
+
+        var layout = [[{
+            name: "Argument Name",
+            field: "name",
+            width: "50%",
+            editable: true
+        }, {
+            name: 'Argument Value',
+            field: 'value',
+            width: '50%',
+            editable: true,
+            type: GridWidgetProxy,
+            widgetProps: {
+                getWidgetProperties: function (inDatum, inRowIndex, item)
+                {
+                    if (item.name == "x-qpid-no-local")
+                    {
+                        return {
+                            labelAttr: "name",
+                            searchAttr: "id",
+                            selectOnClick: false,
+                            query: {id: "*"},
+                            required: false,
+                            store: noLocalValues,
+                            widgetClass: dijit.form.FilteringSelect
+                        };
+                    }
+                    else if (item.name && item.name.toLowerCase() == "x-match")
+                    {
+                        return {
+                            labelAttr: "name",
+                            searchAttr: "id",
+                            selectOnClick: false,
+                            query: {id: "*"},
+                            required: false,
+                            store: xMatchValues,
+                            widgetClass: dijit.form.FilteringSelect
+                        };
+                    }
+                    return {widgetClass: dijit.form.TextBox};
+                }
+            }
+        }]];
+
+        var grid = new dojox.grid.EnhancedGrid({
+            selectionMode: "multiple",
+            store: objectStore,
+            singleClickEdit: true,
+            structure: layout,
+            autoHeight: true,
+            plugins: {indirectSelection: true}
+        }, argumentsGridNode);
+        grid.startup();
+
+        addBinding.bindingArgumentsGrid = grid;
+        addBinding.idGenerator = 1;
+        var addArgumentButton = 
registry.byId("formAddbinding.addArgumentButton");
+        var deleteArgumentButton = 
registry.byId("formAddbinding.deleteArgumentButton");
+
+        var toggleGridButtons = function (index)
+        {
+            var data = grid.selection.getSelected();
+            deleteArgumentButton.set("disabled", !data || data.length == 0);
+        };
+        connect.connect(grid.selection, 'onSelected', toggleGridButtons);
+        connect.connect(grid.selection, 'onDeselected', toggleGridButtons);
+        deleteArgumentButton.set("disabled", true);
+
+        addArgumentButton.on("click", function (event)
+        {
+            addBinding.idGenerator = addBinding.idGenerator + 1;
+            var newItem = {
+                id: addBinding.idGenerator,
+                name: "",
+                value: ""
+            };
+            grid.store.newItem(newItem);
+            grid.store.save();
+            grid.store.fetch({
+                onComplete: function (items, request)
+                {
+                    var rowIndex = items.length - 1;
+                    window.setTimeout(function ()
+                    {
+                        grid.focus.setFocusIndex(rowIndex, 1);
+                    }, 10);
+                }
+            });
+        });
+
+        deleteArgumentButton.on("click", function (event)
+        {
+            var data = grid.selection.getSelected();
+            if (data.length)
+            {
+                array.forEach(data, function (selectedItem)
+                {
+                    if (selectedItem !== null)
+                    {
+                        grid.store.deleteItem(selectedItem);
+                    }
+                });
+                grid.store.save();
+            }
+        });
+
+        theForm.on("submit", function (e)
+        {
+
+            event.stop(e);
+            if (theForm.validate())
+            {
+
+                var newBinding = 
convertToBinding(util.getFormWidgetValues(registry.byId("formAddBinding")));
+                var that = this;
+                var model = null;
+                if (addBinding.modelObj.type == "exchange")
+                {
+                    model = {
+                        name: newBinding.queue,
+                        type: "queue",
+                        parent: addBinding.modelObj
+                    };
+                }
+                else
+                {
+                    model = {
+                        name: newBinding.queue,
+                        type: "queue",
+                        parent: {
+                            name: newBinding.exchange,
+                            type: "exchange",
+                            parent: addBinding.modelObj.parent
+                        }
+                    };
+                }
+                addBinding.management.create("binding", model, newBinding)
+                    .then(function (x)
+                    {
+                        registry.byId("addBinding")
+                            .hide();
+                    });
+                return false;
+            }
+            else
+            {
+                alert('Form contains invalid data.  Please correct first');
+                return false;
+            }
+
+        });
+
+        addBinding.show = function (management, obj)
+        {
+            var that = this;
+            addBinding.management = management;
+            addBinding.modelObj = obj;
+            registry.byId("formAddBinding")
+                .reset();
+
+            var grid = addBinding.bindingArgumentsGrid;
+            grid.store.fetch({
+                onComplete: function (items, request)
+                {
+                    if (items.length)
+                    {
+                        array.forEach(items, function (item)
+                        {
+                            if (item !== null)
+                            {
+                                grid.store.deleteItem(item);
+                            }
+                        });
+                    }
+                }
+            });
+            array.forEach(lang.clone(defaultBindingArguments), function (item)
+            {
+                grid.store.newItem(item);
+            });
+            grid.store.save();
+
+            management.load({
+                    type: "queue",
+                    parent: obj.parent
+                }, {depth: 0})
+                .then(function (data)
+                {
+                    var queues = [];
+                    for (var i = 0; i < data.length; i++)
+                    {
+                        queues[i] = {
+                            id: data[i].name,
+                            name: data[i].name
+                        };
+                    }
+                    var queueStore = new Memory({data: queues});
+
+                    if (that.queueChooser)
+                    {
+                        that.queueChooser.destroy(false);
+                    }
+                    var queueDiv = dom.byId("addBinding.selectQueueDiv");
+                    var input = construct.create("input", {id: 
"addBindingSelectQueue"}, queueDiv);
+
+                    that.queueChooser = new FilteringSelect({
+                        id: "addBindingSelectQueue",
+                        name: "queue",
+                        store: queueStore,
+                        searchAttr: "name",
+                        promptMessage: "Name of the queue",
+                        title: "Select the name of the queue"
+                    }, input);
+
+                    if (obj.type == "queue")
+                    {
+                        that.queueChooser.set("value", obj.name);
+                        that.queueChooser.set("disabled", true);
+                    }
+                    management.load({
+                            type: "exchange",
+                            parent: obj.parent
+                        }, {depth: 0})
+                        .then(function (data)
+                        {
+
+                            var exchanges = [];
+                            for (var i = 0; i < data.length; i++)
+                            {
+                                exchanges[i] = {
+                                    id: data[i].name,
+                                    name: data[i].name
+                                };
+                            }
+                            var exchangeStore = new Memory({data: exchanges});
+
+                            if (that.exchangeChooser)
+                            {
+                                that.exchangeChooser.destroy(false);
+                            }
+                            var exchangeDiv = 
dom.byId("addBinding.selectExchangeDiv");
+                            var input = construct.create("input", {id: 
"addBindingSelectExchange"}, exchangeDiv);
+
+                            that.exchangeChooser = new FilteringSelect({
+                                id: "addBindingSelectExchange",
+                                name: "exchange",
+                                store: exchangeStore,
+                                searchAttr: "name",
+                                promptMessage: "Name of the exchange",
+                                title: "Select the name of the exchange"
+                            }, input);
+
+                            if (obj.type == "exchange")
+                            {
+                                that.exchangeChooser.set("value", obj.name);
+                                that.exchangeChooser.set("disabled", true);
+                            }
+
+                            registry.byId("addBinding")
+                                .show();
+                        }, util.xhrErrorHandler);
 
-           var noLocalValues = new Memory({
-               data: [{
-                   name: "true",
-                   id: true
-               },
-                   {
-                       name: "false",
-                       id: false
-                   }]
-           });
-
-           var xMatchValues = new Memory({
-               data: [{
-                   name: "all",
-                   id: "all"
-               },
-                   {
-                       name: "any",
-                       id: "any"
-                   }]
-           });
-
-           var defaultBindingArguments = [{
-               id: 0,
-               name: "x-filter-jms-selector",
-               value: null
-           },
-               {
-                   id: 1,
-                   name: "x-qpid-no-local",
-                   value: null
-               }];
-
-           var GridWidgetProxy = 
declare("qpid.dojox.grid.cells.GridWidgetProxy", dojox.grid.cells._Widget, {
-               createWidget: function (inNode, inDatum, inRowIndex)
-               {
-                   var WidgetClass = this.widgetClass;
-                   var widgetProperties = this.getWidgetProps(inDatum);
-                   var getWidgetProperties = 
widgetProperties.getWidgetProperties;
-                   if (typeof getWidgetProperties == "function")
-                   {
-                       var item = this.grid.getItem(inRowIndex);
-                       if (item)
-                       {
-                           var additionalWidgetProperties = 
getWidgetProperties(inDatum, inRowIndex, item);
-                           if (additionalWidgetProperties)
-                           {
-                               WidgetClass = 
additionalWidgetProperties.widgetClass;
-                               for (var prop in additionalWidgetProperties)
-                               {
-                                   if 
(additionalWidgetProperties.hasOwnProperty(prop) && !widgetProperties[prop])
-                                   {
-                                       widgetProperties[prop] = 
additionalWidgetProperties[prop];
-                                   }
-                               }
-                           }
-                       }
-                   }
-                   var widget = new WidgetClass(widgetProperties, inNode);
-                   return widget;
-               },
-               getValue: function (inRowIndex)
-               {
-                   if (this.widget)
-                   {
-                       return this.widget.get('value');
-                   }
-                   return null;
-               },
-               _finish: function (inRowIndex)
-               {
-                   if (this.widget)
-                   {
-                       this.inherited(arguments);
-                       this.widget.destroyRecursive();
-                       this.widget = null;
-                   }
-               }
-           });
-
-           var addBinding = {};
-
-           var node = construct.create("div", null, win.body(), "last");
-
-           var convertToBinding = function convertToBinding(formValues)
-           {
-               var newBinding = {};
-
-               newBinding.name = formValues.name;
-               for (var propName in formValues)
-               {
-                   if (formValues.hasOwnProperty(propName))
-                   {
-                       if (propName === "durable")
-                       {
-                           if (formValues.durable[0] && formValues.durable[0] 
== "durable")
-                           {
-                               newBinding.durable = true;
-                           }
-                       }
-                       else
-                       {
-                           if (formValues[propName] !== "")
-                           {
-                               newBinding[propName] = formValues[propName];
-                           }
-                       }
-
-                   }
-               }
-               if (addBinding.queue)
-               {
-                   newBinding.queue = addBinding.queue;
-               }
-               if (addBinding.exchange)
-               {
-                   newBinding.exchange = addBinding.exchange;
-               }
-
-               addBinding.bindingArgumentsGrid.store.fetch({
-                                                               onComplete: 
function (items, request)
-                                                               {
-                                                                   if 
(items.length)
-                                                                   {
-                                                                       
array.forEach(items, function (item)
-                                                                       {
-                                                                           if 
(item && item.name && item.value)
-                                                                           {
-                                                                               
var bindingArguments = newBinding.arguments;
-                                                                               
if (!bindingArguments)
-                                                                               
{
-                                                                               
    bindingArguments = {};
-                                                                               
    newBinding.arguments =
-                                                                               
        bindingArguments;
-                                                                               
}
-                                                                               
bindingArguments[item.name] = item.value;
-                                                                           }
-                                                                       });
-                                                                   }
-                                                               }
-                                                           });
-               return newBinding;
-           };
-
-           var theForm;
-           node.innerHTML = template;
-           addBinding.dialogNode = dom.byId("addBinding");
-           parser.instantiate([addBinding.dialogNode]);
-
-           theForm = registry.byId("formAddBinding");
-           array.forEach(theForm.getDescendants(), function (widget)
-           {
-               if (widget.name === "type")
-               {
-                   widget.on("change", function (isChecked)
-                   {
-
-                       var obj = registry.byId(widget.id + ":fields");
-                       if (obj)
-                       {
-                           if (isChecked)
-                           {
-                               obj.domNode.style.display = "block";
-                               obj.resize();
-                           }
-                           else
-                           {
-                               obj.domNode.style.display = "none";
-                               obj.resize();
-                           }
-                       }
-                   })
-               }
-
-           });
-
-           var argumentsGridNode = dom.byId("formAddbinding.bindingArguments");
-           var objectStore = new dojo.data.ObjectStore({
-               objectStore: new Memory({
-                   data: lang.clone(defaultBindingArguments),
-                   idProperty: "id"
-               })
-           });
-
-           var layout = [[{
-               name: "Argument Name",
-               field: "name",
-               width: "50%",
-               editable: true
-           }, {
-               name: 'Argument Value',
-               field: 'value',
-               width: '50%',
-               editable: true,
-               type: GridWidgetProxy,
-               widgetProps: {
-                   getWidgetProperties: function (inDatum, inRowIndex, item)
-                   {
-                       if (item.name == "x-qpid-no-local")
-                       {
-                           return {
-                               labelAttr: "name",
-                               searchAttr: "id",
-                               selectOnClick: false,
-                               query: {id: "*"},
-                               required: false,
-                               store: noLocalValues,
-                               widgetClass: dijit.form.FilteringSelect
-                           };
-                       }
-                       else if (item.name && item.name.toLowerCase() == 
"x-match")
-                       {
-                           return {
-                               labelAttr: "name",
-                               searchAttr: "id",
-                               selectOnClick: false,
-                               query: {id: "*"},
-                               required: false,
-                               store: xMatchValues,
-                               widgetClass: dijit.form.FilteringSelect
-                           };
-                       }
-                       return {widgetClass: dijit.form.TextBox};
-                   }
-               }
-           }]];
-
-           var grid = new dojox.grid.EnhancedGrid({
-               selectionMode: "multiple",
-               store: objectStore,
-               singleClickEdit: true,
-               structure: layout,
-               autoHeight: true,
-               plugins: {indirectSelection: true}
-           }, argumentsGridNode);
-           grid.startup();
-
-           addBinding.bindingArgumentsGrid = grid;
-           addBinding.idGenerator = 1;
-           var addArgumentButton = 
registry.byId("formAddbinding.addArgumentButton");
-           var deleteArgumentButton = 
registry.byId("formAddbinding.deleteArgumentButton");
-
-           var toggleGridButtons = function (index)
-           {
-               var data = grid.selection.getSelected();
-               deleteArgumentButton.set("disabled", !data || data.length == 0);
-           };
-           connect.connect(grid.selection, 'onSelected', toggleGridButtons);
-           connect.connect(grid.selection, 'onDeselected', toggleGridButtons);
-           deleteArgumentButton.set("disabled", true);
-
-           addArgumentButton.on("click", function (event)
-           {
-               addBinding.idGenerator = addBinding.idGenerator + 1;
-               var newItem = {
-                   id: addBinding.idGenerator,
-                   name: "",
-                   value: ""
-               };
-               grid.store.newItem(newItem);
-               grid.store.save();
-               grid.store.fetch({
-                                    onComplete: function (items, request)
-                                    {
-                                        var rowIndex = items.length - 1;
-                                        window.setTimeout(function ()
-                                                          {
-                                                              
grid.focus.setFocusIndex(rowIndex, 1);
-                                                          }, 10);
-                                    }
-                                });
-           });
-
-           deleteArgumentButton.on("click", function (event)
-           {
-               var data = grid.selection.getSelected();
-               if (data.length)
-               {
-                   array.forEach(data, function (selectedItem)
-                   {
-                       if (selectedItem !== null)
-                       {
-                           grid.store.deleteItem(selectedItem);
-                       }
-                   });
-                   grid.store.save();
-               }
-           });
-
-           theForm.on("submit", function (e)
-           {
-
-               event.stop(e);
-               if (theForm.validate())
-               {
-
-                   var newBinding = 
convertToBinding(util.getFormWidgetValues(registry.byId("formAddBinding")));
-                   var that = this;
-                   var model = null;
-                   if (addBinding.modelObj.type == "exchange")
-                   {
-                       model = {
-                           name: newBinding.queue,
-                           type: "queue",
-                           parent: addBinding.modelObj
-                       };
-                   }
-                   else
-                   {
-                       model = {
-                           name: newBinding.queue,
-                           type: "queue",
-                           parent: {
-                               name: newBinding.exchange,
-                               type: "exchange",
-                               parent: addBinding.modelObj.parent
-                           }
-                       };
-                   }
-                   addBinding.management.create("binding", model, 
newBinding).then(function (x)
-                                                                               
    {
-                                                                               
        registry.byId("addBinding")
-                                                                               
                .hide();
-                                                                               
    });
-                   return false;
-               }
-               else
-               {
-                   alert('Form contains invalid data.  Please correct first');
-                   return false;
-               }
-
-           });
-
-           addBinding.show = function (management, obj)
-           {
-               var that = this;
-               addBinding.management = management;
-               addBinding.modelObj = obj;
-               registry.byId("formAddBinding").reset();
-
-               var grid = addBinding.bindingArgumentsGrid;
-               grid.store.fetch({
-                                    onComplete: function (items, request)
-                                    {
-                                        if (items.length)
-                                        {
-                                            array.forEach(items, function 
(item)
-                                            {
-                                                if (item !== null)
-                                                {
-                                                    
grid.store.deleteItem(item);
-                                                }
-                                            });
-                                        }
-                                    }
-                                });
-               array.forEach(lang.clone(defaultBindingArguments), function 
(item)
-               {
-                   grid.store.newItem(item);
-               });
-               grid.store.save();
-
-               management.load({
-                                   type: "queue",
-                                   parent: obj.parent
-                               }, {depth: 0}).then(function (data)
-                                                   {
-                                                       var queues = [];
-                                                       for (var i = 0; i < 
data.length; i++)
-                                                       {
-                                                           queues[i] = {
-                                                               id: 
data[i].name,
-                                                               name: 
data[i].name
-                                                           };
-                                                       }
-                                                       var queueStore = new 
Memory({data: queues});
-
-                                                       if (that.queueChooser)
-                                                       {
-                                                           
that.queueChooser.destroy(false);
-                                                       }
-                                                       var queueDiv = 
dom.byId("addBinding.selectQueueDiv");
-                                                       var input = 
construct.create("input",
-                                                                               
     {id: "addBindingSelectQueue"},
-                                                                               
     queueDiv);
-
-                                                       that.queueChooser = new 
FilteringSelect({
-                                                           id: 
"addBindingSelectQueue",
-                                                           name: "queue",
-                                                           store: queueStore,
-                                                           searchAttr: "name",
-                                                           promptMessage: 
"Name of the queue",
-                                                           title: "Select the 
name of the queue"
-                                                       }, input);
-
-                                                       if (obj.type == "queue")
-                                                       {
-                                                           
that.queueChooser.set("value", obj.name);
-                                                           
that.queueChooser.set("disabled", true);
-                                                       }
-                                                       management.load({
-                                                                           
type: "exchange",
-                                                                           
parent: obj.parent
-                                                                       }, 
{depth: 0}).then(function (data)
-                                                                               
            {
-
-                                                                               
                var exchanges = [];
-                                                                               
                for (var i = 0;
-                                                                               
                     i < data.length;
-                                                                               
                     i++)
-                                                                               
                {
-                                                                               
                    exchanges[i] = {
-                                                                               
                        id: data[i].name,
-                                                                               
                        name: data[i].name
-                                                                               
                    };
-                                                                               
                }
-                                                                               
                var exchangeStore = new Memory({data: exchanges});
-
-                                                                               
                if (that.exchangeChooser)
-                                                                               
                {
-                                                                               
                    that.exchangeChooser.destroy(
-                                                                               
                        false);
-                                                                               
                }
-                                                                               
                var exchangeDiv = dom.byId(
-                                                                               
                    "addBinding.selectExchangeDiv");
-                                                                               
                var input = construct.create(
-                                                                               
                    "input",
-                                                                               
                    {id: "addBindingSelectExchange"},
-                                                                               
                    exchangeDiv);
-
-                                                                               
                that.exchangeChooser =
-                                                                               
                    new FilteringSelect({
-                                                                               
                        id: "addBindingSelectExchange",
-                                                                               
                        name: "exchange",
-                                                                               
                        store: exchangeStore,
-                                                                               
                        searchAttr: "name",
-                                                                               
                        promptMessage: "Name of the exchange",
-                                                                               
                        title: "Select the name of the exchange"
-                                                                               
                    }, input);
-
-                                                                               
                if (obj.type
-                                                                               
                    == "exchange")
-                                                                               
                {
-                                                                               
                    that.exchangeChooser.set(
-                                                                               
                        "value",
-                                                                               
                        obj.name);
-                                                                               
                    that.exchangeChooser.set(
-                                                                               
                        "disabled",
-                                                                               
                        true);
-                                                                               
                }
-
-                                                                               
                registry.byId(
-                                                                               
                    "addBinding").show();
-                                                                               
            }, util.xhrErrorHandler);
+                }, util.xhrErrorHandler);
 
-                                                   }, util.xhrErrorHandler);
+        };
 
-           };
-
-           return addBinding;
-       });
+        return addBinding;
+    });



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to