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, }, ], }, });