Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHost.js Mon May 2 15:57:52 2016 @@ -43,204 +43,220 @@ define(["dojox/html/entities", "dojox/validate/us", "dojox/validate/web", "dojo/domReady!"], - function (entities, array, event, lang, win, dom, domConstruct, registry, parser, json, query, Memory, ObjectStore, util, template) - { - var fields = ["name", - "connectionThreadPoolSize", - "queue.deadLetterQueueEnabled", - "storeTransactionIdleTimeoutWarn", - "storeTransactionIdleTimeoutClose", - "storeTransactionOpenTimeoutWarn", - "storeTransactionOpenTimeoutClose", - "housekeepingCheckPeriod", - "housekeepingThreadCount"]; - var numericFieldNames = ["storeTransactionIdleTimeoutWarn", - "storeTransactionIdleTimeoutClose", - "storeTransactionOpenTimeoutWarn", - "storeTransactionOpenTimeoutClose", - "housekeepingCheckPeriod", - "housekeepingThreadCount", - "connectionThreadPoolSize"]; - - var virtualHostEditor = { - init: function () - { - var that = this; - this.containerNode = domConstruct.create("div", {innerHTML: template}); - parser.parse(this.containerNode).then(function (instances) - { - that._postParse(); - }); - }, - _postParse: function () - { - var that = this; - this.allFieldsContainer = dom.byId("editVirtualHost.allFields"); - this.typeFieldsContainer = dom.byId("editVirtualHost.typeFields"); - this.dialog = registry.byId("editVirtualHostDialog"); - this.saveButton = registry.byId("editVirtualHost.saveButton"); - this.cancelButton = registry.byId("editVirtualHost.cancelButton"); - this.cancelButton.on("click", function (e) - { - that._cancel(e); - }); - this.saveButton.on("click", function (e) - { - that._save(e); - }); - for (var i = 0; i < fields.length; i++) - { - var fieldName = fields[i]; - this[fieldName] = registry.byId("editVirtualHost." + fieldName); - } - this.form = registry.byId("editVirtualHostForm"); - this.form.on("submit", function () - { - return false; - }); - }, - show: function (management, modelObj) - { - this.management = management; - this.modelObj = modelObj; - var that = this; - if (!this.context) - { - this.context = new qpid.common.ContextVariablesEditor({ - name: 'context', - title: 'Context variables' - }); - this.context.placeAt(dom.byId("editVirtualHost.context")); - } - this.dialog.set("title", "Edit Virtual Host - " + entities.encode(String(modelObj.name))); - - management.load(modelObj, {actuals: true}).then(function (actualData) - { - management.load(modelObj) - .then(function (effectiveData) - { - that._show(actualData[0], - effectiveData[0]); - }, util.xhrErrorHandler); - }); - - }, - destroy: function () - { - if (this.dialog) - { - this.dialog.destroyRecursive(); - this.dialog = null; - } - - if (this.containerNode) - { - domConstruct.destroy(this.containerNode); - this.containerNode = null; - } - }, - _cancel: function (e) - { - this.dialog.hide(); - }, - _save: function (e) - { - event.stop(e); - if (this.form.validate()) - { - var data = util.getFormWidgetValues(this.form, this.initialData); - var context = this.context.get("value"); - if (context && !util.equals(context, this.initialData.context)) - { - data["context"] = context; - } - var that = this; - this.management.update(that.modelObj, data).then(function (x) - { - that.dialog.hide(); - }); - } - else - { - alert('Form contains invalid data. Please correct first'); - } - }, - _show: function (actualData, effectiveData) - { - - this.initialData = actualData; - for (var i = 0; i < fields.length; i++) - { - var fieldName = fields[i]; - var widget = this[fieldName]; - widget.reset(); - - if (widget instanceof dijit.form.CheckBox) - { - widget.set("checked", actualData[fieldName]); - } - else - { - widget.set("value", actualData[fieldName]); - } - } - - util.setContextData(this.context, this.management, this.modelObj, actualData, effectiveData); - - // Add regexp to the numeric fields - for (var i = 0; i < numericFieldNames.length; i++) - { - this[numericFieldNames[i]].set("regExpGen", util.numericOrContextVarRegexp); - } - - var that = this; - - var widgets = registry.findWidgets(this.typeFieldsContainer); - array.forEach(widgets, function (item) - { - item.destroyRecursive(); - }); - domConstruct.empty(this.typeFieldsContainer); - - require(["qpid/management/virtualhost/" + actualData.type.toLowerCase() + "/edit"], function (TypeUI) - { - try - { - var metadata = that.management.metadata; - TypeUI.show({ - containerNode: that.typeFieldsContainer, - parent: that, - data: actualData, - metadata: metadata - }); - that.form.connectChildren(); - - util.applyToWidgets(that.allFieldsContainer, - "VirtualHost", - actualData.type, - actualData, - metadata); - } - catch (e) - { - if (console && console.warn) - { - console.warn(e); - } - } - }); - - this.dialog.startup(); - this.dialog.show(); - if (!this.resizeEventRegistered) - { - this.resizeEventRegistered = true; - util.resizeContentAreaAndRepositionDialog(dom.byId("editVirtualHost.contentPane"), this.dialog); - } - } - }; + function (entities, + array, + event, + lang, + win, + dom, + domConstruct, + registry, + parser, + json, + query, + Memory, + ObjectStore, + util, + template) + { + var fields = ["name", + "connectionThreadPoolSize", + "queue.deadLetterQueueEnabled", + "storeTransactionIdleTimeoutWarn", + "storeTransactionIdleTimeoutClose", + "storeTransactionOpenTimeoutWarn", + "storeTransactionOpenTimeoutClose", + "housekeepingCheckPeriod", + "housekeepingThreadCount"]; + var numericFieldNames = ["storeTransactionIdleTimeoutWarn", + "storeTransactionIdleTimeoutClose", + "storeTransactionOpenTimeoutWarn", + "storeTransactionOpenTimeoutClose", + "housekeepingCheckPeriod", + "housekeepingThreadCount", + "connectionThreadPoolSize"]; + + var virtualHostEditor = { + init: function () + { + var that = this; + this.containerNode = domConstruct.create("div", {innerHTML: template}); + parser.parse(this.containerNode) + .then(function (instances) + { + that._postParse(); + }); + }, + _postParse: function () + { + var that = this; + this.allFieldsContainer = dom.byId("editVirtualHost.allFields"); + this.typeFieldsContainer = dom.byId("editVirtualHost.typeFields"); + this.dialog = registry.byId("editVirtualHostDialog"); + this.saveButton = registry.byId("editVirtualHost.saveButton"); + this.cancelButton = registry.byId("editVirtualHost.cancelButton"); + this.cancelButton.on("click", function (e) + { + that._cancel(e); + }); + this.saveButton.on("click", function (e) + { + that._save(e); + }); + for (var i = 0; i < fields.length; i++) + { + var fieldName = fields[i]; + this[fieldName] = registry.byId("editVirtualHost." + fieldName); + } + this.form = registry.byId("editVirtualHostForm"); + this.form.on("submit", function () + { + return false; + }); + }, + show: function (management, modelObj) + { + this.management = management; + this.modelObj = modelObj; + var that = this; + if (!this.context) + { + this.context = new qpid.common.ContextVariablesEditor({ + name: 'context', + title: 'Context variables' + }); + this.context.placeAt(dom.byId("editVirtualHost.context")); + } + this.dialog.set("title", "Edit Virtual Host - " + entities.encode(String(modelObj.name))); + + management.load(modelObj, {actuals: true}) + .then(function (actualData) + { + management.load(modelObj) + .then(function (effectiveData) + { + that._show(actualData[0], effectiveData[0]); + }, util.xhrErrorHandler); + }); + + }, + destroy: function () + { + if (this.dialog) + { + this.dialog.destroyRecursive(); + this.dialog = null; + } + + if (this.containerNode) + { + domConstruct.destroy(this.containerNode); + this.containerNode = null; + } + }, + _cancel: function (e) + { + this.dialog.hide(); + }, + _save: function (e) + { + event.stop(e); + if (this.form.validate()) + { + var data = util.getFormWidgetValues(this.form, this.initialData); + var context = this.context.get("value"); + if (context && !util.equals(context, this.initialData.context)) + { + data["context"] = context; + } + var that = this; + this.management.update(that.modelObj, data) + .then(function (x) + { + that.dialog.hide(); + }); + } + else + { + alert('Form contains invalid data. Please correct first'); + } + }, + _show: function (actualData, effectiveData) + { + + this.initialData = actualData; + for (var i = 0; i < fields.length; i++) + { + var fieldName = fields[i]; + var widget = this[fieldName]; + widget.reset(); + + if (widget instanceof dijit.form.CheckBox) + { + widget.set("checked", actualData[fieldName]); + } + else + { + widget.set("value", actualData[fieldName]); + } + } + + util.setContextData(this.context, this.management, this.modelObj, actualData, effectiveData); + + // Add regexp to the numeric fields + for (var i = 0; i < numericFieldNames.length; i++) + { + this[numericFieldNames[i]].set("regExpGen", util.numericOrContextVarRegexp); + } + + var that = this; + + var widgets = registry.findWidgets(this.typeFieldsContainer); + array.forEach(widgets, function (item) + { + item.destroyRecursive(); + }); + domConstruct.empty(this.typeFieldsContainer); + + require(["qpid/management/virtualhost/" + actualData.type.toLowerCase() + "/edit"], function (TypeUI) + { + try + { + var metadata = that.management.metadata; + TypeUI.show({ + containerNode: that.typeFieldsContainer, + parent: that, + data: actualData, + metadata: metadata + }); + that.form.connectChildren(); + + util.applyToWidgets(that.allFieldsContainer, + "VirtualHost", + actualData.type, + actualData, + metadata); + } + catch (e) + { + if (console && console.warn) + { + console.warn(e); + } + } + }); + + this.dialog.startup(); + this.dialog.show(); + if (!this.resizeEventRegistered) + { + this.resizeEventRegistered = true; + util.resizeContentAreaAndRepositionDialog(dom.byId("editVirtualHost.contentPane"), this.dialog); + } + } + }; - virtualHostEditor.init(); + virtualHostEditor.init(); - return virtualHostEditor; - }); + return virtualHostEditor; + });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/editVirtualHostNode.js Mon May 2 15:57:52 2016 @@ -43,158 +43,174 @@ define(["dojox/html/entities", "dojox/validate/us", "dojox/validate/web", "dojo/domReady!"], - function (entities, array, event, lang, win, dom, domConstruct, registry, parser, json, query, Memory, ObjectStore, util, template) - { - var virtualHostNodeEditor = { - init: function () - { - var that = this; - this.containerNode = domConstruct.create("div", {innerHTML: template}); - parser.parse(this.containerNode).then(function (instances) - { - that._postParse(); - }); - }, - _postParse: function () - { - var that = this; - this.allFieldsContainer = dom.byId("editVirtualHostNode.allFields"); - this.typeFieldsContainer = dom.byId("editVirtualHostNode.typeFields"); - this.dialog = registry.byId("editVirtualHostNodeDialog"); - this.saveButton = registry.byId("editVirtualHostNode.saveButton"); - this.cancelButton = registry.byId("editVirtualHostNode.cancelButton"); - this.cancelButton.on("click", function (e) - { - that._cancel(e); - }); - this.saveButton.on("click", function (e) - { - that._save(e); - }); - this.name = registry.byId("editVirtualHostNode.name"); - this.form = registry.byId("editVirtualHostNodeForm"); - this.form.on("submit", function () - { - return false; - }); - }, - show: function (management, modelObj, effectiveData) - { - this.management = management; - this.modelObj = modelObj; - var that = this; - if (!this.context) - { - this.context = new qpid.common.ContextVariablesEditor({ - name: 'context', - title: 'Context variables' - }); - this.context.placeAt(dom.byId("editVirtualHostNode.context")); - } - this.dialog.set("title", "Edit Virtual Host Node - " + entities.encode(String(effectiveData.name))); - management.load(modelObj, {actuals: true}).then(function (data) - { - that._show(data[0], effectiveData); - }); - }, - destroy: function () - { - if (this.dialog) - { - this.dialog.destroyRecursive(); - this.dialog = null; - } - - if (this.containerNode) - { - domConstruct.destroy(this.containerNode); - this.containerNode = null; - } - }, - _cancel: function (e) - { - this.dialog.hide(); - }, - _save: function (e) - { - event.stop(e); - if (this.form.validate()) - { - var data = util.getFormWidgetValues(this.form, this.initialData); - var context = this.context.get("value"); - if (context && !util.equals(context, this.initialData.context)) - { - data["context"] = context; - } - var that = this; - this.management.update(that.modelObj, data).then(function (x) - { - that.dialog.hide(); - }); - } - else - { - alert('Form contains invalid data. Please correct first'); - } - }, - _show: function (actualData, effectiveData) - { - this.initialData = actualData; - this.name.set("value", actualData.name); - - var that = this; - - util.setContextData(this.context, this.management, this.modelObj, actualData, effectiveData); - - var widgets = registry.findWidgets(this.typeFieldsContainer); - array.forEach(widgets, function (item) - { - item.destroyRecursive(); - }); - domConstruct.empty(this.typeFieldsContainer); - - require(["qpid/management/virtualhostnode/" + actualData.type.toLowerCase() + "/edit"], - function (TypeUI) - { - try - { - var metadata = that.management.metadata; - TypeUI.show({ - containerNode: that.typeFieldsContainer, - parent: that, - data: actualData, - effectiveData: effectiveData, - metadata: metadata - }); - that.form.connectChildren(); - - util.applyToWidgets(that.allFieldsContainer, - "VirtualHostNode", - actualData.type, - actualData, - metadata); - } - catch (e) - { - if (console && console.warn) - { - console.warn(e); - } - } - }); - - this.dialog.startup(); - this.dialog.show(); - if (!this.resizeEventRegistered) - { - this.resizeEventRegistered = true; - util.resizeContentAreaAndRepositionDialog(dom.byId("editVirtualHostNode.contentPane"), - this.dialog); - } - } - }; + function (entities, + array, + event, + lang, + win, + dom, + domConstruct, + registry, + parser, + json, + query, + Memory, + ObjectStore, + util, + template) + { + var virtualHostNodeEditor = { + init: function () + { + var that = this; + this.containerNode = domConstruct.create("div", {innerHTML: template}); + parser.parse(this.containerNode) + .then(function (instances) + { + that._postParse(); + }); + }, + _postParse: function () + { + var that = this; + this.allFieldsContainer = dom.byId("editVirtualHostNode.allFields"); + this.typeFieldsContainer = dom.byId("editVirtualHostNode.typeFields"); + this.dialog = registry.byId("editVirtualHostNodeDialog"); + this.saveButton = registry.byId("editVirtualHostNode.saveButton"); + this.cancelButton = registry.byId("editVirtualHostNode.cancelButton"); + this.cancelButton.on("click", function (e) + { + that._cancel(e); + }); + this.saveButton.on("click", function (e) + { + that._save(e); + }); + this.name = registry.byId("editVirtualHostNode.name"); + this.form = registry.byId("editVirtualHostNodeForm"); + this.form.on("submit", function () + { + return false; + }); + }, + show: function (management, modelObj, effectiveData) + { + this.management = management; + this.modelObj = modelObj; + var that = this; + if (!this.context) + { + this.context = new qpid.common.ContextVariablesEditor({ + name: 'context', + title: 'Context variables' + }); + this.context.placeAt(dom.byId("editVirtualHostNode.context")); + } + this.dialog.set("title", "Edit Virtual Host Node - " + entities.encode(String(effectiveData.name))); + management.load(modelObj, {actuals: true}) + .then(function (data) + { + that._show(data[0], effectiveData); + }); + }, + destroy: function () + { + if (this.dialog) + { + this.dialog.destroyRecursive(); + this.dialog = null; + } + + if (this.containerNode) + { + domConstruct.destroy(this.containerNode); + this.containerNode = null; + } + }, + _cancel: function (e) + { + this.dialog.hide(); + }, + _save: function (e) + { + event.stop(e); + if (this.form.validate()) + { + var data = util.getFormWidgetValues(this.form, this.initialData); + var context = this.context.get("value"); + if (context && !util.equals(context, this.initialData.context)) + { + data["context"] = context; + } + var that = this; + this.management.update(that.modelObj, data) + .then(function (x) + { + that.dialog.hide(); + }); + } + else + { + alert('Form contains invalid data. Please correct first'); + } + }, + _show: function (actualData, effectiveData) + { + this.initialData = actualData; + this.name.set("value", actualData.name); + + var that = this; + + util.setContextData(this.context, this.management, this.modelObj, actualData, effectiveData); + + var widgets = registry.findWidgets(this.typeFieldsContainer); + array.forEach(widgets, function (item) + { + item.destroyRecursive(); + }); + domConstruct.empty(this.typeFieldsContainer); + + require(["qpid/management/virtualhostnode/" + actualData.type.toLowerCase() + "/edit"], + function (TypeUI) + { + try + { + var metadata = that.management.metadata; + TypeUI.show({ + containerNode: that.typeFieldsContainer, + parent: that, + data: actualData, + effectiveData: effectiveData, + metadata: metadata + }); + that.form.connectChildren(); + + util.applyToWidgets(that.allFieldsContainer, + "VirtualHostNode", + actualData.type, + actualData, + metadata); + } + catch (e) + { + if (console && console.warn) + { + console.warn(e); + } + } + }); + + this.dialog.startup(); + this.dialog.show(); + if (!this.resizeEventRegistered) + { + this.resizeEventRegistered = true; + util.resizeContentAreaAndRepositionDialog(dom.byId("editVirtualHostNode.contentPane"), this.dialog); + } + } + }; - virtualHostNodeEditor.init(); + virtualHostNodeEditor.init(); - return virtualHostNodeEditor; - }); + return virtualHostNodeEditor; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/Group.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/Group.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/Group.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/Group.js Mon May 2 15:57:52 2016 @@ -38,200 +38,205 @@ define(["dojo/parser", "dojox/grid/enhanced/plugins/Pagination", "dojox/grid/enhanced/plugins/IndirectSelection", "dojo/domReady!"], - function (parser, query, registry, connect, event, json, properties, updater, util, formatter, UpdatableStore, JsonRest, EnhancedGrid, ObjectStore, addGroupMember, entities, showGroup) - { + function (parser, + query, + registry, + connect, + event, + json, + properties, + updater, + util, + formatter, + UpdatableStore, + JsonRest, + EnhancedGrid, + ObjectStore, + addGroupMember, + entities, + showGroup) + { + + function Group(name, parent, controller) + { + this.name = name; + this.controller = controller; + this.management = management; + this.modelObj = { + type: "group", + name: name, + parent: parent + }; + } + + Group.prototype.getGroupName = function () + { + return this.name; + }; + + Group.prototype.getGroupProviderName = function () + { + return this.modelObj.parent.name; + }; + + Group.prototype.getTitle = function () + { + return "Group: " + this.name; + }; + + Group.prototype.open = function (contentPane) + { + var that = this; + this.contentPane = contentPane; + + { + contentPane.containerNode.innerHTML = showGroup; + parser.parse(contentPane.containerNode) + .then(function (instances) + { + that.groupUpdater = new GroupUpdater(that); + that.groupUpdater.update(function () + { + var addGroupMemberButton = query(".addGroupMemberButton", contentPane.containerNode)[0]; + connect.connect(registry.byNode(addGroupMemberButton), "onClick", function (evt) + { + addGroupMember.show(that.getGroupProviderName(), + that.modelObj, + that.controller.management); + }); + + var removeGroupMemberButton = query(".removeGroupMemberButton", + contentPane.containerNode)[0]; + connect.connect(registry.byNode(removeGroupMemberButton), "onClick", function (evt) + { + util.deleteSelectedObjects(that.groupUpdater.groupMembersUpdatableStore.grid, + "Are you sure you want to remove group member", + that.management, + { + type: "groupmember", + parent: that.modelObj + }, + that.groupUpdater); + }); + updater.add(that.groupUpdater); + }); + }); + } + ; + }; + + Group.prototype.close = function () + { + updater.remove(this.groupUpdater); + }; + + function GroupUpdater(tabObject) + { + this.tabObject = tabObject; + this.management = tabObject.controller.management; + this.modelObj = { + type: "groupmember", + parent: tabObject.modelObj + }; + var that = this; + var containerNode = tabObject.contentPane.containerNode; + + function findNode(name) + { + return query("." + name, containerNode)[0]; + } + + function storeNodes(names) + { + for (var i = 0; i < names.length; i++) + { + that[names[i]] = findNode(names[i]); + } + } + + storeNodes(["name", "state", "durable", "lifetimePolicy", "type"]); + this.name.innerHTML = entities.encode(String(tabObject.modelObj.name)); + + this.groupMemberData = []; + + var gridProperties = { + keepSelection: true, + plugins: { + pagination: { + pageSizes: ["10", "25", "50", "100"], + description: true, + sizeSwitch: true, + pageStepper: true, + gotoButton: true, + maxPageStep: 4, + position: "bottom" + }, + indirectSelection: true + + } + }; + + this.groupMembersUpdatableStore = new UpdatableStore([], findNode("groupMembers"), [{ + name: "Group Member Name", + field: "name", + width: "100%" + }], function (obj) + { + connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt) + { + + }); + }, gridProperties, EnhancedGrid); + + }; + + GroupUpdater.prototype.update = function (callback) + { + + var that = this; + + this.management.load(this.modelObj) + .then(function (data) + { + that.groupMemberData = data; + + util.flattenStatistics(that.groupMemberData); + + if (callback) + { + callback(); + } + that.groupMembersUpdatableStore.update(that.groupMemberData); + }, function (error) + { + util.tabErrorHandler(error, { + updater: that, + contentPane: that.tabObject.contentPane, + tabContainer: that.tabObject.controller.tabContainer, + name: that.modelObj.name, + category: "Group" + }); + }); + }; + + Group.prototype.deleteGroupMember = function () + { + if (confirm("Are you sure you want to delete group members of group '" + this.name + "'?")) + { + this.success = true + var that = this; + this.management.remove({ + type: "groupmember", + parent: this.modelObj + }) + .then(function (data) + { + that.contentPane.onClose() + that.controller.tabContainer.removeChild(that.contentPane); + that.contentPane.destroyRecursive(); + }, util.xhrErrorHandler); + } + } - function Group(name, parent, controller) - { - this.name = name; - this.controller = controller; - this.management = management; - this.modelObj = { - type: "group", - name: name, - parent: parent - }; - } - - Group.prototype.getGroupName = function () - { - return this.name; - }; - - Group.prototype.getGroupProviderName = function () - { - return this.modelObj.parent.name; - }; - - Group.prototype.getTitle = function () - { - return "Group: " + this.name; - }; - - Group.prototype.open = function (contentPane) - { - var that = this; - this.contentPane = contentPane; - - { - contentPane.containerNode.innerHTML = showGroup; - parser.parse(contentPane.containerNode).then(function (instances) - { - that.groupUpdater = new GroupUpdater(that); - that.groupUpdater.update(function () - { - var addGroupMemberButton = query( - ".addGroupMemberButton", - contentPane.containerNode)[0]; - connect.connect( - registry.byNode( - addGroupMemberButton), - "onClick", - function (evt) - { - addGroupMember.show( - that.getGroupProviderName(), - that.modelObj, - that.controller.management); - }); - - var removeGroupMemberButton = query( - ".removeGroupMemberButton", - contentPane.containerNode)[0]; - connect.connect( - registry.byNode( - removeGroupMemberButton), - "onClick", - function (evt) - { - util.deleteSelectedObjects( - that.groupUpdater.groupMembersUpdatableStore.grid, - "Are you sure you want to remove group member", - that.management, - { - type: "groupmember", - parent: that.modelObj - }, - that.groupUpdater); - }); - updater.add(that.groupUpdater); - }); - }); - } - ; - }; - - Group.prototype.close = function () - { - updater.remove(this.groupUpdater); - }; - - function GroupUpdater(tabObject) - { - this.tabObject = tabObject; - this.management = tabObject.controller.management; - this.modelObj = { - type: "groupmember", - parent: tabObject.modelObj - }; - var that = this; - var containerNode = tabObject.contentPane.containerNode; - - function findNode(name) - { - return query("." + name, containerNode)[0]; - } - - function storeNodes(names) - { - for (var i = 0; i < names.length; i++) - { - that[names[i]] = findNode(names[i]); - } - } - - storeNodes(["name", "state", "durable", "lifetimePolicy", "type"]); - this.name.innerHTML = entities.encode(String(tabObject.modelObj.name)); - - this.groupMemberData = []; - - var gridProperties = { - keepSelection: true, - plugins: { - pagination: { - pageSizes: ["10", "25", "50", "100"], - description: true, - sizeSwitch: true, - pageStepper: true, - gotoButton: true, - maxPageStep: 4, - position: "bottom" - }, - indirectSelection: true - - } - }; - - this.groupMembersUpdatableStore = new UpdatableStore([], findNode("groupMembers"), [{ - name: "Group Member Name", - field: "name", - width: "100%" - }], function (obj) - { - connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt) - { - - }); - }, gridProperties, EnhancedGrid); - - }; - - GroupUpdater.prototype.update = function (callback) - { - - var that = this; - - this.management.load(this.modelObj) - .then(function (data) - { - that.groupMemberData = data; - - util.flattenStatistics(that.groupMemberData); - - if (callback) - { - callback(); - } - that.groupMembersUpdatableStore.update(that.groupMemberData); - }, function (error) - { - util.tabErrorHandler(error, { - updater: that, - contentPane: that.tabObject.contentPane, - tabContainer: that.tabObject.controller.tabContainer, - name: that.modelObj.name, - category: "Group" - }); - }); - }; - - Group.prototype.deleteGroupMember = function () - { - if (confirm("Are you sure you want to delete group members of group '" + this.name + "'?")) - { - this.success = true - var that = this; - this.management.remove({ - type: "groupmember", - parent: this.modelObj - }).then(function (data) - { - that.contentPane.onClose() - that.controller.tabContainer.removeChild(that.contentPane); - that.contentPane.destroyRecursive(); - }, util.xhrErrorHandler); - } - } - - return Group; - }); + return Group; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/group/addGroupMember.js Mon May 2 15:57:52 2016 @@ -29,10 +29,10 @@ define(["dojo/dom", "qpid/common/util", "dojo/text!group/addGroupMember.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", @@ -45,65 +45,68 @@ define(["dojo/dom", "dijit/form/RadioButton", "dijit/form/Form", "dijit/form/DateTextBox", - /* basic dojox classes */ + /* basic dojox classes */ "dojox/form/BusyButton", "dojox/form/CheckedMultiSelect", "dojo/domReady!"], function (dom, construct, win, registry, parser, array, event, json, util, template) - { +{ - var addGroupMember = {}; + var addGroupMember = {}; - var node = construct.create("div", null, win.body(), "last"); + var node = construct.create("div", null, win.body(), "last"); - var convertToGroupMember = function convertToGroupMember(formValues) - { - var newGroupMember = {}; - newGroupMember.name = formValues.name; - return newGroupMember; - }; - - { - var theForm; - node.innerHTML = template; - addGroupMember.dialogNode = dom.byId("addGroupMember"); - parser.instantiate([addGroupMember.dialogNode]); - - theForm = registry.byId("formAddGroupMember"); - theForm.on("submit", function (e) - { - - event.stop(e); - if (theForm.validate()) - { - - var newGroupMember = convertToGroupMember(theForm.getValues()); - var that = this; - addGroupMember.management.create("groupmember", addGroupMember.group, newGroupMember) - .then(function (x) - { - registry.byId("addGroupMember").hide(); - }); - return false; - - } - else - { - alert('Form contains invalid data. Please correct first'); - return false; - } - - }); - } - ; - - addGroupMember.show = function (groupProvider, groupModel, management) - { - addGroupMember.management = management; - addGroupMember.groupProvider = groupProvider; - addGroupMember.group = groupModel; - registry.byId("formAddGroupMember").reset(); - registry.byId("addGroupMember").show(); - }; + var convertToGroupMember = function convertToGroupMember(formValues) + { + var newGroupMember = {}; + newGroupMember.name = formValues.name; + return newGroupMember; + }; + + { + var theForm; + node.innerHTML = template; + addGroupMember.dialogNode = dom.byId("addGroupMember"); + parser.instantiate([addGroupMember.dialogNode]); + + theForm = registry.byId("formAddGroupMember"); + theForm.on("submit", function (e) + { + + event.stop(e); + if (theForm.validate()) + { + + var newGroupMember = convertToGroupMember(theForm.getValues()); + var that = this; + addGroupMember.management.create("groupmember", addGroupMember.group, newGroupMember) + .then(function (x) + { + registry.byId("addGroupMember") + .hide(); + }); + return false; + + } + else + { + alert('Form contains invalid data. Please correct first'); + return false; + } + + }); + } + ; + + addGroupMember.show = function (groupProvider, groupModel, management) + { + addGroupMember.management = management; + addGroupMember.groupProvider = groupProvider; + addGroupMember.group = groupModel; + registry.byId("formAddGroupMember") + .reset(); + registry.byId("addGroupMember") + .show(); + }; - return addGroupMember; - }); \ No newline at end of file + return addGroupMember; +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/GroupManagingGroupProvider.js Mon May 2 15:57:52 2016 @@ -47,165 +47,186 @@ define(["dojo/dom", "dijit/form/Form", "dijit/form/DateTextBox", "dojo/domReady!"], - function (dom, parser, query, construct, connect, win, event, json, registry, entities, util, properties, updater, UpdatableStore, EnhancedGrid, template, addGroupTemplate) - { - function GroupManagingGroupProvider(containerNode, groupProviderObj, controller) - { - var node = construct.create("div", null, containerNode, "last"); - var that = this; - this.name = groupProviderObj.name; - node.innerHTML = template; - this.controller = controller; - this.modelObj = groupProviderObj; - parser.parse(node).then(function (instances) - { - var groupDiv = query(".groups", node)[0]; - - var gridProperties = { - height: 400, - keepSelection: true, - plugins: { - pagination: { - pageSizes: [10, 25, 50, 100], - description: true, - sizeSwitch: true, - pageStepper: true, - gotoButton: true, - maxPageStep: 4, - position: "bottom" - }, - indirectSelection: true - - } - }; - that.groupsGrid = new UpdatableStore([], groupDiv, [{ - name: "Group Name", - field: "name", - width: "100%" - }], function (obj) - { - connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt) - { - var idx = evt.rowIndex, theItem = this.getItem(idx); - var name = obj.dataStore.getValue(theItem, "name"); - that.controller.show("group", name, groupProviderObj, theItem.id); - }); - }, gridProperties, EnhancedGrid); - var addGroupButton = query(".addGroupButton", node)[0]; - registry.byNode(addGroupButton).on("click", function (evt) - { - addGroup.show(groupProviderObj, controller.management) - }); - var deleteWidget = registry.byNode(query(".deleteGroupButton", node)[0]); - deleteWidget.on("click", function (evt) - { - event.stop(evt); - that.deleteGroups(); - }); - }); - } - - GroupManagingGroupProvider.prototype.deleteGroups = function () - { - var grid = this.groupsGrid.grid; - var data = grid.selection.getSelected(); - if (data.length) - { - var that = this; - if (confirm("Delete " + data.length + " groups?")) - { - var i; - var parameters = {id: []}; - for (i = 0; i < data.length; i++) - { - parameters.id.push(data[i].id); - } - - this.controller.management.remove({ - type: "group", - parent: this.modelObj - }, parameters).then(function (data) - { - grid.setQuery({id: "*"}); - grid.selection.deselectAll(); - that.update(); - }, util.xhrErrorHandler); - } - } - }; - - GroupManagingGroupProvider.prototype.update = function (data) - { - if (data) - { - this.groupsGrid.update(data.groups); - } - }; - - var addGroup = {}; - - var node = construct.create("div", null, win.body(), "last"); - - var convertToGroup = function convertToGroup(formValues) - { - var newGroup = {}; - newGroup.name = formValues.name; - for (var propName in formValues) - { - if (formValues.hasOwnProperty(propName)) - { - if (formValues[propName] !== "") - { - newGroup[propName] = formValues[propName]; - } - } - } - - return newGroup; - }; - - { - var theForm; - node.innerHTML = addGroupTemplate; - addGroup.dialogNode = dom.byId("addGroup"); - parser.instantiate([addGroup.dialogNode]); - - var that = this; - - theForm = registry.byId("formAddGroup"); - theForm.on("submit", function (e) - { - - event.stop(e); - if (theForm.validate()) - { - - var newGroup = convertToGroup(theForm.getValues()); - addGroup.management.create("group", addGroup.groupProvider, newGroup).then(function (x) - { - registry.byId( - "addGroup") - .hide(); - }); - return false; - - } - else - { - alert('Form contains invalid data. Please correct first'); - return false; - } - - }); - } - - addGroup.show = function (groupProvider, management) - { - addGroup.management = management; - addGroup.groupProvider = groupProvider; - registry.byId("formAddGroup").reset(); - registry.byId("addGroup").show(); - }; + function (dom, + parser, + query, + construct, + connect, + win, + event, + json, + registry, + entities, + util, + properties, + updater, + UpdatableStore, + EnhancedGrid, + template, + addGroupTemplate) + { + function GroupManagingGroupProvider(containerNode, groupProviderObj, controller) + { + var node = construct.create("div", null, containerNode, "last"); + var that = this; + this.name = groupProviderObj.name; + node.innerHTML = template; + this.controller = controller; + this.modelObj = groupProviderObj; + parser.parse(node) + .then(function (instances) + { + var groupDiv = query(".groups", node)[0]; + + var gridProperties = { + height: 400, + keepSelection: true, + plugins: { + pagination: { + pageSizes: [10, 25, 50, 100], + description: true, + sizeSwitch: true, + pageStepper: true, + gotoButton: true, + maxPageStep: 4, + position: "bottom" + }, + indirectSelection: true + + } + }; + that.groupsGrid = new UpdatableStore([], groupDiv, [{ + name: "Group Name", + field: "name", + width: "100%" + }], function (obj) + { + connect.connect(obj.grid, "onRowDblClick", obj.grid, function (evt) + { + var idx = evt.rowIndex, theItem = this.getItem(idx); + var name = obj.dataStore.getValue(theItem, "name"); + that.controller.show("group", name, groupProviderObj, theItem.id); + }); + }, gridProperties, EnhancedGrid); + var addGroupButton = query(".addGroupButton", node)[0]; + registry.byNode(addGroupButton) + .on("click", function (evt) + { + addGroup.show(groupProviderObj, controller.management) + }); + var deleteWidget = registry.byNode(query(".deleteGroupButton", node)[0]); + deleteWidget.on("click", function (evt) + { + event.stop(evt); + that.deleteGroups(); + }); + }); + } + + GroupManagingGroupProvider.prototype.deleteGroups = function () + { + var grid = this.groupsGrid.grid; + var data = grid.selection.getSelected(); + if (data.length) + { + var that = this; + if (confirm("Delete " + data.length + " groups?")) + { + var i; + var parameters = {id: []}; + for (i = 0; i < data.length; i++) + { + parameters.id.push(data[i].id); + } + + this.controller.management.remove({ + type: "group", + parent: this.modelObj + }, parameters) + .then(function (data) + { + grid.setQuery({id: "*"}); + grid.selection.deselectAll(); + that.update(); + }, util.xhrErrorHandler); + } + } + }; + + GroupManagingGroupProvider.prototype.update = function (data) + { + if (data) + { + this.groupsGrid.update(data.groups); + } + }; + + var addGroup = {}; + + var node = construct.create("div", null, win.body(), "last"); + + var convertToGroup = function convertToGroup(formValues) + { + var newGroup = {}; + newGroup.name = formValues.name; + for (var propName in formValues) + { + if (formValues.hasOwnProperty(propName)) + { + if (formValues[propName] !== "") + { + newGroup[propName] = formValues[propName]; + } + } + } + + return newGroup; + }; + + { + var theForm; + node.innerHTML = addGroupTemplate; + addGroup.dialogNode = dom.byId("addGroup"); + parser.instantiate([addGroup.dialogNode]); + + var that = this; + + theForm = registry.byId("formAddGroup"); + theForm.on("submit", function (e) + { + + event.stop(e); + if (theForm.validate()) + { + + var newGroup = convertToGroup(theForm.getValues()); + addGroup.management.create("group", addGroup.groupProvider, newGroup) + .then(function (x) + { + registry.byId("addGroup") + .hide(); + }); + return false; + + } + else + { + alert('Form contains invalid data. Please correct first'); + return false; + } + + }); + } + + addGroup.show = function (groupProvider, management) + { + addGroup.management = management; + addGroup.groupProvider = groupProvider; + registry.byId("formAddGroup") + .reset(); + registry.byId("addGroup") + .show(); + }; - return GroupManagingGroupProvider; - }); + return GroupManagingGroupProvider; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/add.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/add.js Mon May 2 15:57:52 2016 @@ -29,202 +29,201 @@ define(["dojo/dom", "dojo/text!groupprovider/cloudfoundrydashboardmanagement/add.html", "dijit/form/FilteringSelect", "dojo/domReady!"], function (dom, query, array, connect, lang, Memory, registry, util, template) - { +{ - return { - _nextGridItemId: 0, + return { + _nextGridItemId: 0, - show: function (data) - { - var that = this; - this.containerNode = data.containerNode; - util.parse(data.containerNode, template, function () - { - that._postParse(data); - }); - }, - - _postParse: function (data) - { - var that = this; - util.makeInstanceStore(data.parent.management, "Broker", "TrustStore", function (trustStoresStore) - { - var trustStore = registry.byNode(query(".trustStore", data.containerNode)[0]); - trustStore.set("store", trustStoresStore); - if (data.data) - { - util.initialiseFields(data.data, - data.containerNode, - data.parent.management.metadata, - "GroupProvider", - "CloudFoundryDashboardManagement"); - } - }); - - this._setupGrid(); - if (data.data && data.data.serviceToManagementGroupMapping) - { - this._populateGrid(data.data.serviceToManagementGroupMapping); - } - }, - - _setupGrid: function () - { - var that = this; - var gridNode = query(".serviceToManagementGroupMapping", this.containerNode)[0]; - var addButtonNode = query(".addButton", this.containerNode)[0]; - var deleteButtonNode = query(".deleteButton", this.containerNode)[0]; - var addButton = registry.byNode(addButtonNode); - var deleteButton = registry.byNode(deleteButtonNode); - var layout = [[{ - name: "Service Instance Id", - field: "serviceInstanceId", - width: "50%", - editable: true - }, - { - name: 'Group Name', - field: 'groupName', - width: '50%', - editable: true - }]]; - var data = []; - var objectStore = new dojo.data.ObjectStore({ - objectStore: new Memory({ - data: data, - idProperty: "id" - }) - }); - var grid = new dojox.grid.EnhancedGrid({ - selectionMode: "multiple", - store: objectStore, - singleClickEdit: true, - structure: layout, - autoHeight: true, - sortFields: [{ - attribute: 'serviceInstanceId', - descending: false - }], - plugins: {indirectSelection: true} - }, gridNode); - - grid.name = "serviceToManagementGroupMapping"; - this._grid = grid; - - var toggleGridButtons = function (index) - { - var data = grid.selection.getSelected(); - deleteButton.set("disabled", !data || data.length == 0); - }; - - connect.connect(grid.selection, 'onSelected', toggleGridButtons); - connect.connect(grid.selection, 'onDeselected', toggleGridButtons); - - deleteButton.set("disabled", true); - addButton.on("click", function (event) - { - that._newItem(); - }); - deleteButton.on("click", function (event) - { - that._deleteSelected(); - }); - grid._getValueAttr = function () - { - var value = {}; - that._grid.store.fetch({ - onComplete: function (items, request) - { - array.forEach(items, function (item) - { - value[item.serviceInstanceId] = item.groupName; - }); - } - }); - return value; - }; - - grid.startup(); - }, - - _populateGrid: function (serviceToManagementGroupMapping) - { - var that = this; - // delete previous store data - this._grid.store.fetch({ - onComplete: function (items, request) - { - if (items.length) - { - array.forEach(items, function (item) - { - that._grid.store.deleteItem(item); - }); - } - } - }); - - // add new data into grid store - this._nextGridItemId = 0; - for (var serviceInstanceId in serviceToManagementGroupMapping) - { - var groupName = serviceToManagementGroupMapping[serviceInstanceId]; - var storeItem = { - id: this._nextId(), - serviceInstanceId: serviceInstanceId, - groupName: groupName - }; - this._grid.store.newItem(storeItem); - } - this._grid.store.save(); - }, - - _nextId: function () - { - this._nextGridItemId = this._nextGridItemId + 1; - return this._nextGridItemId; - }, - - _newItem: function () - { - var newItem = { - id: this._nextId(), - serviceInstanceId: "", - groupName: "" - }; - var grid = this._grid; - 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); - } - }); - }, - - _deleteSelected: function () - { - var that = this; - var grid = this._grid; - var data = grid.selection.getSelected(); - if (data.length > 0) - { - array.forEach(data, function (selectedItem) - { - if (selectedItem !== null) - { - grid.store.deleteItem(selectedItem); - } - }); - grid.store.save(); - grid.selection.deselectAll(); - } - } + show: function (data) + { + var that = this; + this.containerNode = data.containerNode; + util.parse(data.containerNode, template, function () + { + that._postParse(data); + }); + }, + + _postParse: function (data) + { + var that = this; + util.makeInstanceStore(data.parent.management, "Broker", "TrustStore", function (trustStoresStore) + { + var trustStore = registry.byNode(query(".trustStore", data.containerNode)[0]); + trustStore.set("store", trustStoresStore); + if (data.data) + { + util.initialiseFields(data.data, + data.containerNode, + data.parent.management.metadata, + "GroupProvider", + "CloudFoundryDashboardManagement"); + } + }); + + this._setupGrid(); + if (data.data && data.data.serviceToManagementGroupMapping) + { + this._populateGrid(data.data.serviceToManagementGroupMapping); + } + }, + + _setupGrid: function () + { + var that = this; + var gridNode = query(".serviceToManagementGroupMapping", this.containerNode)[0]; + var addButtonNode = query(".addButton", this.containerNode)[0]; + var deleteButtonNode = query(".deleteButton", this.containerNode)[0]; + var addButton = registry.byNode(addButtonNode); + var deleteButton = registry.byNode(deleteButtonNode); + var layout = [[{ + name: "Service Instance Id", + field: "serviceInstanceId", + width: "50%", + editable: true + }, { + name: 'Group Name', + field: 'groupName', + width: '50%', + editable: true + }]]; + var data = []; + var objectStore = new dojo.data.ObjectStore({ + objectStore: new Memory({ + data: data, + idProperty: "id" + }) + }); + var grid = new dojox.grid.EnhancedGrid({ + selectionMode: "multiple", + store: objectStore, + singleClickEdit: true, + structure: layout, + autoHeight: true, + sortFields: [{ + attribute: 'serviceInstanceId', + descending: false + }], + plugins: {indirectSelection: true} + }, gridNode); + + grid.name = "serviceToManagementGroupMapping"; + this._grid = grid; + + var toggleGridButtons = function (index) + { + var data = grid.selection.getSelected(); + deleteButton.set("disabled", !data || data.length == 0); + }; + + connect.connect(grid.selection, 'onSelected', toggleGridButtons); + connect.connect(grid.selection, 'onDeselected', toggleGridButtons); + + deleteButton.set("disabled", true); + addButton.on("click", function (event) + { + that._newItem(); + }); + deleteButton.on("click", function (event) + { + that._deleteSelected(); + }); + grid._getValueAttr = function () + { + var value = {}; + that._grid.store.fetch({ + onComplete: function (items, request) + { + array.forEach(items, function (item) + { + value[item.serviceInstanceId] = item.groupName; + }); + } + }); + return value; + }; + + grid.startup(); + }, + + _populateGrid: function (serviceToManagementGroupMapping) + { + var that = this; + // delete previous store data + this._grid.store.fetch({ + onComplete: function (items, request) + { + if (items.length) + { + array.forEach(items, function (item) + { + that._grid.store.deleteItem(item); + }); + } + } + }); + + // add new data into grid store + this._nextGridItemId = 0; + for (var serviceInstanceId in serviceToManagementGroupMapping) + { + var groupName = serviceToManagementGroupMapping[serviceInstanceId]; + var storeItem = { + id: this._nextId(), + serviceInstanceId: serviceInstanceId, + groupName: groupName + }; + this._grid.store.newItem(storeItem); + } + this._grid.store.save(); + }, + + _nextId: function () + { + this._nextGridItemId = this._nextGridItemId + 1; + return this._nextGridItemId; + }, + + _newItem: function () + { + var newItem = { + id: this._nextId(), + serviceInstanceId: "", + groupName: "" + }; + var grid = this._grid; + 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); + } + }); + }, + + _deleteSelected: function () + { + var that = this; + var grid = this._grid; + var data = grid.selection.getSelected(); + if (data.length > 0) + { + array.forEach(data, function (selectedItem) + { + if (selectedItem !== null) + { + grid.store.deleteItem(selectedItem); + } + }); + grid.store.save(); + grid.selection.deselectAll(); + } + } - }; - }); + }; +}); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
