[pve-devel] help with ExtJS4
Seth Lauzon
seth.lauzon at gmail.com
Tue Jun 28 22:57:23 CEST 2011
I need to get the userid from the selected record in the User List. Can anyone help?
Ext.define('PVE.dc.UserView', {
extend: 'Ext.grid.GridPanel',
alias: ['widget.pveUserView'],
initComponent : function() {
var me = this;
var tbar = [
{
text: 'Add',
handler: function() {
var msg = 'This feature is not implemented yet!';
Ext.Msg.alert('Not Implemented', msg);
}
},
{
text: 'Modify',
handler: function() {
var msg = 'This feature is not implemented yet!';
Ext.Msg.alert('Not Implemented', msg);
}
},
{
text: 'Delete',
handler: function() {
var msg = 'Are you sure you want to permanently delete the user: ' + me.getSelectionModel.getSelection()[0];
Ext.Msg.confirm('Deletion Confirmation', msg, function(btn) {
if (btn !== 'yes')
return;
Ext.Msg.alert('Not Implemented', 'This feature is not implemented yet!');
});
}
},
];
var store = new Ext.data.Store({
model: 'pve-users',
proxy: {
type: 'pve',
url: "/api2/json/access/users"
},
sorters: {
property: 'userid',
order: 'DESC'
}
});
var render_expire = function(date) {
if (!date)
return 'never';
return Ext.Date.format(date, "Y-m-d");
};
var render_full_name = function(firstname, metaData, record) {
var first = firstname || '';
var last = record.data.lastname || '';
return first + " " + last;
};
var render_username = function(userid) {
return userid.match(/^([^@]+)/)[1];
};
var render_realm = function(userid) {
return userid.match(/@([^@]+)$/)[1];
};
Ext.apply(me, {
store: store,
tbar: tbar,
columns: [
{
header: 'User name',
width: 200,
sortable: true,
renderer: render_username,
dataIndex: 'userid'
},
{
header: 'Realm',
width: 100,
sortable: true,
renderer: render_realm,
dataIndex: 'userid'
},
{
header: 'Enabled',
width: 80,
sortable: true,
dataIndex: 'enabled'
},
{
header: 'Expire',
width: 80,
sortable: true,
renderer: render_expire,
dataIndex: 'expire'
},
{
header: 'Name',
width: 150,
sortable: true,
renderer: render_full_name,
dataIndex: 'firstname'
},
{
id: 'comment',
header: 'Comment',
sortable: false,
dataIndex: 'comment',
flex: 1
}
],
listeners: {
show: function() {
store.load();
}
}
});
me.callParent();
}
}, function() {
Ext.define('pve-users', {
extend: 'Ext.data.Model',
fields: [
'userid', 'firstname', 'lastname' , 'email', 'comment',
{ type: 'boolean', name: 'enabled' },
{ type: 'date', dateFormat: 'timestamp', name: 'expire' },
],
idProperty: 'userid'
});
More information about the pve-devel
mailing list