function showWiSPLocationMembersWindow(locationID) { var WiSPLocationMembersWindow = new Ext.ux.GenericGridWindow( // Window config { title: "Members", width: 600, height: 335, minWidth: 600, minHeight: 335, }, // Grid config { // Inline toolbars tbar: [ { text:'Remove', tooltip:'Remove member', iconCls:'remove', handler: function() { var selectedItem = WiSPLocationMembersWindow.getComponent('gridpanel').getSelectionModel().getSelected(); // Check if we have selected item if (selectedItem) { // If so display window showWiSPLocationMemberRemoveWindow(WiSPLocationMembersWindow,selectedItem.data.ID); } else { WiSPLocationMembersWindow.getEl().mask(); // Display error Ext.Msg.show({ title: "Nothing selected", msg: "No member selected", icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.CANCEL, modal: false, fn: function() { WiSPLocationMembersWindow.getEl().unmask(); } }); } } } ], // Column model colModel: new Ext.grid.ColumnModel([ { id: 'ID', header: "ID", sortable: true, dataIndex: 'ID' }, { header: "Username", sortable: true, dataIndex: 'Username' } ]), autoExpandColumn: 'Username' }, // Store config { baseParams: { ID: locationID, SOAPUsername: globalConfig.soap.username, SOAPPassword: globalConfig.soap.password, SOAPAuthType: globalConfig.soap.authtype, SOAPModule: 'WiSPLocationMembers', SOAPFunction: 'getWiSPLocationMembers', SOAPParams: 'ID,__search' } }, // Filter config { filters: [ {type: 'numeric', dataIndex: 'ID'}, {type: 'string', dataIndex: 'Username'} ] } ); WiSPLocationMembersWindow.show(); } // Display remove form function showWiSPLocationMemberRemoveWindow(parent,id) { // Mask parent window parent.getEl().mask(); // Display remove confirm window Ext.Msg.show({ title: "Confirm removal", msg: "Are you very sure you wish to remove this member?", icon: Ext.MessageBox.ERROR, buttons: Ext.Msg.YESNO, modal: false, fn: function(buttonId,text) { // Check if user clicked on 'yes' button if (buttonId == 'yes') { // Do ajax request uxAjaxRequest(parent,{ params: { ID: id, SOAPUsername: globalConfig.soap.username, SOAPPassword: globalConfig.soap.password, SOAPAuthType: globalConfig.soap.authtype, SOAPModule: 'WiSPLocationMembers', SOAPFunction: 'removeWiSPLocationMember', SOAPParams: 'ID' } }); // Unmask if user answered no } else { parent.getEl().unmask(); } } }); }