fix node filter

This commit is contained in:
Dietmar Maurer 2011-10-28 10:29:33 +02:00
parent 91d4dd1165
commit c8ca6811d2

View File

@ -47,35 +47,32 @@ Ext.define('PVE.dc.BackupEdit', {
} }
}); });
var column1 = [ var nodesel = Ext.create('PVE.form.NodeSelector', {
{ name: 'node',
xtype: 'PVE.form.NodeSelector', fieldLabel: 'Node',
name: 'node', allowBlank: true,
fieldLabel: 'Node', editable: true,
allowBlank: true, autoSelect: false,
editable: true, emptyText: '-- any --',
autoSelect: false, listeners: {
emptyText: '-- any --', change: function(f, value) {
listeners: { storagesel.setNodename(value || 'localhost');
change: function(f, value) { var mode = selModeField.getValue();
storagesel.setNodename(value || 'localhost'); sm.setLocked(false); // else selection gets confused
var mode = selModeField.getValue(); store.clearFilter();
sm.setLocked(false); // else selection gets confused store.filterBy(function(rec) {
store.clearFilter(); return (!value || rec.get('node') === value);
if (value) { });
store.filterBy(function(rec) { if (mode === 'all') {
if (rec.get('node') === value) { sm.selectAll(true);
return true; sm.setLocked(true);
}
});
}
if (mode === 'all') {
sm.selectAll(true);
sm.setLocked(true);
}
} }
} }
}, }
});
var column1 = [
nodesel,
storagesel, storagesel,
{ {
xtype: 'pveDayOfWeekSelector', xtype: 'pveDayOfWeekSelector',
@ -179,7 +176,7 @@ Ext.define('PVE.dc.BackupEdit', {
}); });
var update_vmid_selection = function(list, mode) { var update_vmid_selection = function(list, mode) {
if (!insideUpdate) { if (insideUpdate) {
return; // should not happen - just to be sure return; // should not happen - just to be sure
} }
insideUpdate = true; insideUpdate = true;
@ -218,9 +215,15 @@ Ext.define('PVE.dc.BackupEdit', {
}); });
var reload = function() { var reload = function() {
sm.setLocked(false);
store.load({ store.load({
params: { type: 'vm' }, params: { type: 'vm' },
callback: function() { callback: function() {
var node = nodesel.getValue();
store.clearFilter();
store.filterBy(function(rec) {
return (!node || rec.get('node') === node);
});
var list = vmidField.getValue(); var list = vmidField.getValue();
var mode = selModeField.getValue(); var mode = selModeField.getValue();
if (mode === 'all') { if (mode === 'all') {