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=1741609&r1=1741608&r2=1741609&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 Fri Apr 29 11:04:40 2016 @@ -38,168 +38,198 @@ 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) { + function Group(name, parent, controller) + { this.name = name; this.controller = controller; this.management = management; - this.modelObj = { type: "group", name: name, parent: parent }; + this.modelObj = { + type: "group", + name: name, + parent: parent + }; } - Group.prototype.getGroupName = function() + Group.prototype.getGroupName = function () { return this.name; }; - - Group.prototype.getGroupProviderName = function() + Group.prototype.getGroupProviderName = function () { return this.modelObj.parent.name; }; - Group.prototype.getTitle = function() + Group.prototype.getTitle = function () { return "Group: " + this.name; }; - Group.prototype.open = function(contentPane) { + 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); - }); - }); - }; + { + 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 ); + 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}; + this.modelObj = { + type: "groupmember", + parent: tabObject.modelObj + }; var that = this; var containerNode = tabObject.contentPane.containerNode; - function findNode(name) { + 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]); - } + for (var i = 0; i < names.length; i++) + { + that[names[i]] = findNode(names[i]); + } } - storeNodes(["name", - "state", - "durable", - "lifetimePolicy", - "type"]); + 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 - 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); + 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) + 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"}); - }); + .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+"'?")) { + 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); + 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); } }
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=1741609&r1=1741608&r2=1741609&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 Fri Apr 29 11:04:40 2016 @@ -29,65 +29,81 @@ define(["dojo/dom", "qpid/common/util", "dojo/text!group/addGroupMember.html", "dijit/form/NumberSpinner", // required by the form - /* dojox/ validate resources */ - "dojox/validate/us", "dojox/validate/web", - /* basic dijit classes */ + /* dojox/ validate resources */ + "dojox/validate/us", + "dojox/validate/web", + /* basic dijit classes */ "dijit/Dialog", - "dijit/form/CheckBox", "dijit/form/Textarea", - "dijit/form/FilteringSelect", "dijit/form/TextBox", - "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", - "dijit/form/TimeTextBox", "dijit/form/Button", - "dijit/form/RadioButton", "dijit/form/Form", + "dijit/form/CheckBox", + "dijit/form/Textarea", + "dijit/form/FilteringSelect", + "dijit/form/TextBox", + "dijit/form/ValidationTextBox", "dijit/form/DateTextBox", - /* 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 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(); - }; + "dijit/form/TimeTextBox", + "dijit/form/Button", + "dijit/form/RadioButton", + "dijit/form/Form", + "dijit/form/DateTextBox", + /* 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 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(); + }; - 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=1741609&r1=1741608&r2=1741609&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 Fri Apr 29 11:04:40 2016 @@ -37,148 +37,175 @@ define(["dojo/dom", "dojo/text!groupprovider/addGroup.html", "dojox/grid/enhanced/plugins/Pagination", "dojox/grid/enhanced/plugins/IndirectSelection", - "dojox/validate/us", "dojox/validate/web", + "dojox/validate/us", + "dojox/validate/web", "dijit/Dialog", "dijit/form/TextBox", "dijit/form/ValidationTextBox", - "dijit/form/TimeTextBox", "dijit/form/Button", + "dijit/form/TimeTextBox", + "dijit/form/Button", "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=1741609&r1=1741608&r2=1741609&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 Fri Apr 29 11:04:40 2016 @@ -28,170 +28,203 @@ define(["dojo/dom", "qpid/common/util", "dojo/text!groupprovider/cloudfoundrydashboardmanagement/add.html", "dijit/form/FilteringSelect", - "dojo/domReady!"], - function (dom, query, array, connect, lang, Memory, registry, util, template) { + "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(); + } + } + + }; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/show.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/show.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/cloudfoundrydashboardmanagement/show.js Fri Apr 29 11:04:40 2016 @@ -18,37 +18,38 @@ * under the License. * */ -define(["qpid/common/util", - "dojo/query", - "dojo/_base/lang", - "dojox/html/entities", - "dojo/domReady!"], - function (util, query, lang, entities) - { - var fieldNames = ["cloudFoundryEndpointURI", "trustStore", "serviceToManagementGroupMapping"]; +define(["qpid/common/util", "dojo/query", "dojo/_base/lang", "dojox/html/entities", "dojo/domReady!"], + function (util, query, lang, entities) + { + var fieldNames = ["cloudFoundryEndpointURI", "trustStore", "serviceToManagementGroupMapping"]; - function GroupProvider(params) - { - this.containerNode = params.containerNode; - util.buildUI(params.containerNode, params.parent, "groupprovider/cloudfoundrydashboardmanagement/show.html", fieldNames, this); - } + function GroupProvider(params) + { + this.containerNode = params.containerNode; + util.buildUI(params.containerNode, + params.parent, + "groupprovider/cloudfoundrydashboardmanagement/show.html", + fieldNames, + this); + } - GroupProvider.prototype.update = function(restData) - { - var data = restData || {}; - if (data.serviceToManagementGroupMapping) - { - var tableContent = ""; - for (var serviceInstanceId in data.serviceToManagementGroupMapping) - { - tableContent += "<tr><td>" + entities.encode(serviceInstanceId) + "</td><td>: " + entities.encode(data.serviceToManagementGroupMapping[serviceInstanceId]) + "</td></tr>\n"; - } - var table = query(".serviceToManagementGroupMappingTable", this.containerNode)[0]; - table.innerHTML = tableContent; - } - util.updateUI(data, fieldNames, this); - } + GroupProvider.prototype.update = function (restData) + { + var data = restData || {}; + if (data.serviceToManagementGroupMapping) + { + var tableContent = ""; + for (var serviceInstanceId in data.serviceToManagementGroupMapping) + { + tableContent += "<tr><td>" + entities.encode(serviceInstanceId) + "</td><td>: " + + entities.encode(data.serviceToManagementGroupMapping[serviceInstanceId]) + + "</td></tr>\n"; + } + var table = query(".serviceToManagementGroupMappingTable", this.containerNode)[0]; + table.innerHTML = tableContent; + } + util.updateUI(data, fieldNames, this); + } - return GroupProvider; - } -); + return GroupProvider; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/add.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/add.js Fri Apr 29 11:04:40 2016 @@ -18,24 +18,26 @@ * under the License. * */ -define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/common/util", - "dojo/text!groupprovider/groupfile/add.html"], - function (dom, query, array, registry, util, template) - { +define(["dojo/dom", + "dojo/query", + "dojo/_base/array", + "dijit/registry", + "qpid/common/util", + "dojo/text!groupprovider/groupfile/add.html"], function (dom, query, array, registry, util, template) + { - return { show: function(data) - { - var that=this; - util.parse(data.containerNode, template, - function() - { - if (data.data) - { - var pathWidget = registry.byNode(query(".addGroupProviderPath", data.containerNode)[0]); - pathWidget.set("value", data.data.path); - } - }); - } - }; - } -); + return { + show: function (data) + { + var that = this; + util.parse(data.containerNode, template, function () + { + if (data.data) + { + var pathWidget = registry.byNode(query(".addGroupProviderPath", data.containerNode)[0]); + pathWidget.set("value", data.data.path); + } + }); + } + }; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/show.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/show.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/groupfile/show.js Fri Apr 29 11:04:40 2016 @@ -18,20 +18,18 @@ * under the License. * */ -define(["qpid/common/util", "dojo/domReady!"], - function (util) - { +define(["qpid/common/util", "dojo/domReady!"], function (util) +{ function GroupFile(data) { util.buildUI(data.containerNode, data.parent, "groupprovider/groupfile/show.html", ["path"], this); } - GroupFile.prototype.update = function(data) + GroupFile.prototype.update = function (data) { util.updateUI(data, ["path"], this); } return GroupFile; - } -); +}); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/add.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/add.js Fri Apr 29 11:04:40 2016 @@ -18,9 +18,11 @@ * under the License. * */ -define([], - function () - { - return { show: function(data) { /* nothing to do */ } }; - } -); +define([], function () +{ + return { + show: function (data) + { /* nothing to do */ + } + }; +}); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/show.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/show.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/groupprovider/managedgroupprovider/show.js Fri Apr 29 11:04:40 2016 @@ -18,18 +18,16 @@ * under the License. * */ -define([], - function () - { +define([], function () +{ function ManagedGroupProvider(data) { } - ManagedGroupProvider.prototype.update = function(data) + ManagedGroupProvider.prototype.update = function (data) { } return ManagedGroupProvider; - } -); +}); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logger/FileBrowser.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logger/FileBrowser.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logger/FileBrowser.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/logger/FileBrowser.js Fri Apr 29 11:04:40 2016 @@ -19,139 +19,169 @@ * */ define(["qpid/common/util", - "dojo/query", - "dojo/number", - "dojo/_base/lang", - "dojo/_base/connect", - "dojox/html/entities", - "dojo/text!logger/file/fileBrowser.html", - "dojox/grid/EnhancedGrid", - "qpid/common/UpdatableStore", - "dijit/registry", - "dojo/domReady!"], - function (util, query, number, lang, connect, entities, template, EnhancedGrid, UpdatableStore, registry) - { - function FileBrowser(params) - { - var that = this; - this.management = params.management; - this.modelObj = params.modelObj; - util.parse(params.containerNode, template, function() - { - that.postParse(params); - }); - } - - FileBrowser.prototype.postParse = function(params) - { - var that = this; - var gridProperties = { - height: 400, - selectionMode: "extended", - plugins: { - indirectSelection: true, - pagination: { - pageSizes: [10, 25, 50, 100], - description: true, - sizeSwitch: true, - pageStepper: true, - gotoButton: true, - maxPageStep: 4, - position: "bottom" - } - }}; - - this.downloadButton = registry.byNode(query(".downloadButton", params.containerNode)[0]); - this.downloadButton.on("click", function(e) {that.downloadSelectedFiles()} ); - - this.downloadAllButton = registry.byNode(query(".downloadAllButton", params.containerNode)[0]); - this.downloadAllButton.on("click", function(e) {that.downloadAllFiles()} ); - - this.logFiles = this.addIdToFileObjects(params.data); - this.logFileGrid = new UpdatableStore(this.logFiles, query(".logFilesGrid", params.containerNode)[0], - [ - { name: "Name", field: "name", width: "40%"}, - { name: "Size", field: "size", width: "20%", - formatter: function(val) - { - return val > 1024 ? (val > 1048576? number.round(val/1048576) + " MB": number.round(val/1024) + " KB") : val + " B"; - } - }, - { name: "Last Modified", field: "lastModified", width: "40%", - formatter: function(val) - { - return that.management.userPreferences.formatDateTime(val, {addOffset: true, appendTimeZone: true}); - } - } - ], function(obj) { - obj.grid.on("rowDblClick", - function(evt){ - var idx = evt.rowIndex; - var theItem = this.getItem(idx); - that.download(theItem); - }); - }, gridProperties, EnhancedGrid); - } - - FileBrowser.prototype.download = function (item) - { - var parentModelObj = this.modelObj; - var modelObj = {type: parentModelObj.type, name: "getFile", parent: parentModelObj} - this.management.download(modelObj, {fileName: item.name}); - } - - FileBrowser.prototype.addIdToFileObjects = function(data) - { - var fileItems = []; - var logFiles = data.logFiles; - for (var idx in logFiles) - { - var item = lang.mixin(logFiles[idx], {id: logFiles[idx].name}); - fileItems.push(item); - } - return fileItems; - } - - FileBrowser.prototype.downloadSelectedFiles = function () - { - var data = this.logFileGrid.grid.selection.getSelected(); - this.downloadFiles(data); - } - - FileBrowser.prototype.downloadAllFiles = function() - { - var parentModelObj = this.modelObj; - var modelObj = {type: parentModelObj.type, name: "getAllFiles", parent: parentModelObj} - this.management.download(modelObj, {}); - } - - FileBrowser.prototype.downloadFiles = function(fileItems) - { - if(fileItems.length) - { - var parentModelObj = this.modelObj; - var modelObj = {type: parentModelObj.type, name: "getFiles", parent: parentModelObj} - var items = []; - for(var i = 0; i < fileItems.length; i++) - { - items.push(fileItems[i].id); - } - this.management.download(modelObj, {fileName: items}); - } - } - - FileBrowser.prototype.update = function (restData) - { - if (this.logFileGrid) - { - this.logFiles = this.addIdToFileObjects(restData); - if (this.logFileGrid.update(this.logFiles)) - { - //this.logFileGrid.grid._refresh(); - } - } - } - - return FileBrowser; - } -); + "dojo/query", + "dojo/number", + "dojo/_base/lang", + "dojo/_base/connect", + "dojox/html/entities", + "dojo/text!logger/file/fileBrowser.html", + "dojox/grid/EnhancedGrid", + "qpid/common/UpdatableStore", + "dijit/registry", + "dojo/domReady!"], + function (util, query, number, lang, connect, entities, template, EnhancedGrid, UpdatableStore, registry) + { + function FileBrowser(params) + { + var that = this; + this.management = params.management; + this.modelObj = params.modelObj; + util.parse(params.containerNode, template, function () + { + that.postParse(params); + }); + } + + FileBrowser.prototype.postParse = function (params) + { + var that = this; + var gridProperties = { + height: 400, + selectionMode: "extended", + plugins: { + indirectSelection: true, + pagination: { + pageSizes: [10, 25, 50, 100], + description: true, + sizeSwitch: true, + pageStepper: true, + gotoButton: true, + maxPageStep: 4, + position: "bottom" + } + } + }; + + this.downloadButton = registry.byNode(query(".downloadButton", params.containerNode)[0]); + this.downloadButton.on("click", function (e) + { + that.downloadSelectedFiles() + }); + + this.downloadAllButton = registry.byNode(query(".downloadAllButton", params.containerNode)[0]); + this.downloadAllButton.on("click", function (e) + { + that.downloadAllFiles() + }); + + this.logFiles = this.addIdToFileObjects(params.data); + this.logFileGrid = new UpdatableStore(this.logFiles, query(".logFilesGrid", params.containerNode)[0], [{ + name: "Name", + field: "name", + width: "40%" + }, { + name: "Size", + field: "size", + width: "20%", + formatter: function (val) + { + return val > 1024 ? (val > 1048576 ? number.round(val / 1048576) + " MB" : number.round(val + / 1024) + + " KB") : val + " B"; + } + }, { + name: "Last Modified", + field: "lastModified", + width: "40%", + formatter: function (val) + { + return that.management.userPreferences.formatDateTime(val, + { + addOffset: true, + appendTimeZone: true + }); + } + }], function (obj) + { + obj.grid.on("rowDblClick", function (evt) + { + var idx = evt.rowIndex; + var theItem = this.getItem(idx); + that.download(theItem); + }); + }, gridProperties, EnhancedGrid); + } + + FileBrowser.prototype.download = function (item) + { + var parentModelObj = this.modelObj; + var modelObj = { + type: parentModelObj.type, + name: "getFile", + parent: parentModelObj + } + this.management.download(modelObj, {fileName: item.name}); + } + + FileBrowser.prototype.addIdToFileObjects = function (data) + { + var fileItems = []; + var logFiles = data.logFiles; + for (var idx in logFiles) + { + var item = lang.mixin(logFiles[idx], {id: logFiles[idx].name}); + fileItems.push(item); + } + return fileItems; + } + + FileBrowser.prototype.downloadSelectedFiles = function () + { + var data = this.logFileGrid.grid.selection.getSelected(); + this.downloadFiles(data); + } + + FileBrowser.prototype.downloadAllFiles = function () + { + var parentModelObj = this.modelObj; + var modelObj = { + type: parentModelObj.type, + name: "getAllFiles", + parent: parentModelObj + } + this.management.download(modelObj, {}); + } + + FileBrowser.prototype.downloadFiles = function (fileItems) + { + if (fileItems.length) + { + var parentModelObj = this.modelObj; + var modelObj = { + type: parentModelObj.type, + name: "getFiles", + parent: parentModelObj + } + var items = []; + for (var i = 0; i < fileItems.length; i++) + { + items.push(fileItems[i].id); + } + this.management.download(modelObj, {fileName: items}); + } + } + + FileBrowser.prototype.update = function (restData) + { + if (this.logFileGrid) + { + this.logFiles = this.addIdToFileObjects(restData); + if (this.logFileGrid.update(this.logFiles)) + { + //this.logFileGrid.grid._refresh(); + } + } + } + + return FileBrowser; + }); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
