proxmox-backup/www/form/GroupSelector.js

55 lines
1000 B
JavaScript

Ext.define('pbs-groups', {
extend: 'Ext.data.Model',
fields: [
'backup-type',
'backup-id',
{
name: 'group',
type: 'string',
convert: function(value, record) {
if (record.data['backup-type'] && record.data['backup-id']) {
return `${record.data['backup-type']}/${record.data['backup-id']}`;
}
return value;
},
},
],
proxy: {
type: 'proxmox',
},
});
Ext.define('PBS.form.GroupSelector', {
extend: 'Proxmox.form.ComboGrid',
alias: 'widget.pbsGroupSelector',
allowBlank: false,
autoSelect: false,
notFoundIsValid: true,
editable: true,
valueField: 'group',
displayField: 'group',
store: {
sorters: 'group',
model: 'pbs-groups',
},
listConfig: {
minHeight: 80,
emptyText: gettext('No Groups'),
viewConfig: {
deferEmptyText: false,
},
columns: [
{
header: gettext('Group'),
sortable: true,
dataIndex: 'group',
renderer: Ext.String.htmlEncode,
flex: 1,
},
],
},
});