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]
