copy qemu/BootOrderEdit.js from manager to manager6
This commit is contained in:
parent
ad07dcb380
commit
638a57e735
194
www/manager6/qemu/BootOrderEdit.js
Normal file
194
www/manager6/qemu/BootOrderEdit.js
Normal file
@ -0,0 +1,194 @@
|
||||
Ext.define('PVE.qemu.BootOrderPanel', {
|
||||
extend: 'PVE.panel.InputPanel',
|
||||
|
||||
vmconfig: {}, // store loaded vm config
|
||||
|
||||
bootdisk: undefined,
|
||||
curSel1: '',
|
||||
curSel2: '',
|
||||
curSel3: '',
|
||||
|
||||
onGetValues: function(values) {
|
||||
var me = this;
|
||||
|
||||
var order = '';
|
||||
|
||||
if (me.curSel1) {
|
||||
order = order + me.curSel1;
|
||||
}
|
||||
if (me.curSel2) {
|
||||
order = order + me.curSel2;
|
||||
}
|
||||
if (me.curSel3) {
|
||||
order = order + me.curSel3;
|
||||
}
|
||||
|
||||
var res = { boot: order };
|
||||
if (me.bootdisk && (me.curSel1 === 'c' || me.curSel2 === 'c' || me.curSel3 === 'c') ) {
|
||||
res.bootdisk = me.bootdisk;
|
||||
} else {
|
||||
res['delete'] = 'bootdisk';
|
||||
}
|
||||
|
||||
return res;
|
||||
},
|
||||
|
||||
setVMConfig: function(vmconfig) {
|
||||
var me = this;
|
||||
|
||||
me.vmconfig = vmconfig;
|
||||
|
||||
var order = me.vmconfig.boot || 'cdn';
|
||||
me.bootdisk = me.vmconfig.bootdisk;
|
||||
if (!me.vmconfig[me.bootdisk]) {
|
||||
me.bootdisk = undefined;
|
||||
}
|
||||
me.curSel1 = order.substring(0, 1) || '';
|
||||
me.curSel2 = order.substring(1, 2) || '';
|
||||
me.curSel3 = order.substring(2, 3) || '';
|
||||
|
||||
me.compute_sel1();
|
||||
|
||||
me.kv1.resetOriginalValue();
|
||||
me.kv2.resetOriginalValue();
|
||||
me.kv3.resetOriginalValue();
|
||||
},
|
||||
|
||||
genList: function(includeNone, sel1, sel2) {
|
||||
var me = this;
|
||||
var list = [];
|
||||
|
||||
if (sel1 !== 'c' && (sel2 !== 'c')) {
|
||||
Ext.Object.each(me.vmconfig, function(key, value) {
|
||||
if ((/^(ide|sata|scsi|virtio)\d+$/).test(key) &&
|
||||
!(/media=cdrom/).test(value)) {
|
||||
list.push([key, "Disk '" + key + "'"]);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (sel1 !== 'd' && (sel2 !== 'd')) {
|
||||
list.push(['d', 'CD-ROM']);
|
||||
}
|
||||
if (sel1 !== 'n' && (sel2 !== 'n')) {
|
||||
list.push(['n', gettext('Network')]);
|
||||
}
|
||||
//if (sel1 !== 'a' && (sel2 !== 'a')) {
|
||||
// list.push(['a', 'Floppy']);
|
||||
//}
|
||||
|
||||
if (includeNone) {
|
||||
list.push(['', PVE.Utils.noneText]);
|
||||
}
|
||||
|
||||
return list;
|
||||
},
|
||||
|
||||
compute_sel3: function() {
|
||||
var me = this;
|
||||
var list = me.genList(true, me.curSel1, me.curSel2);
|
||||
me.kv3.store.loadData(list);
|
||||
me.kv3.setValue((me.curSel3 === 'c') ? me.bootdisk : me.curSel3);
|
||||
},
|
||||
|
||||
compute_sel2: function() {
|
||||
var me = this;
|
||||
var list = me.genList(true, me.curSel1);
|
||||
me.kv2.store.loadData(list);
|
||||
me.kv2.setValue((me.curSel2 === 'c') ? me.bootdisk : me.curSel2);
|
||||
me.compute_sel3();
|
||||
},
|
||||
|
||||
compute_sel1: function() {
|
||||
var me = this;
|
||||
var list = me.genList(false);
|
||||
me.kv1.store.loadData(list);
|
||||
me.kv1.setValue((me.curSel1 === 'c') ? me.bootdisk : me.curSel1);
|
||||
me.compute_sel2();
|
||||
},
|
||||
|
||||
initComponent : function() {
|
||||
var me = this;
|
||||
|
||||
me.kv1 = Ext.create('PVE.form.KVComboBox', {
|
||||
fieldLabel: gettext('Boot device') + " 1",
|
||||
labelWidth: 120,
|
||||
name: 'bd1',
|
||||
allowBlank: false,
|
||||
data: []
|
||||
});
|
||||
|
||||
me.kv2 = Ext.create('PVE.form.KVComboBox', {
|
||||
fieldLabel: gettext('Boot device') + " 2",
|
||||
labelWidth: 120,
|
||||
name: 'bd2',
|
||||
allowBlank: false,
|
||||
data: []
|
||||
});
|
||||
|
||||
me.kv3 = Ext.create('PVE.form.KVComboBox', {
|
||||
fieldLabel: gettext('Boot device') + " 3",
|
||||
labelWidth: 120,
|
||||
name: 'bd3',
|
||||
allowBlank: false,
|
||||
data: []
|
||||
});
|
||||
|
||||
me.mon(me.kv1, 'change', function(t, value) {
|
||||
if ((/^(ide|sata|scsi|virtio)\d+$/).test(value)) {
|
||||
me.curSel1 = 'c';
|
||||
me.bootdisk = value;
|
||||
} else {
|
||||
me.curSel1 = value;
|
||||
}
|
||||
me.compute_sel2();
|
||||
});
|
||||
|
||||
me.mon(me.kv2, 'change', function(t, value) {
|
||||
if ((/^(ide|sata|scsi|virtio)\d+$/).test(value)) {
|
||||
me.curSel2 = 'c';
|
||||
me.bootdisk = value;
|
||||
} else {
|
||||
me.curSel2 = value;
|
||||
}
|
||||
me.compute_sel3();
|
||||
});
|
||||
|
||||
me.mon(me.kv3, 'change', function(t, value) {
|
||||
if ((/^(ide|sata|scsi|virtio)\d+$/).test(value)) {
|
||||
me.curSel3 = 'c';
|
||||
me.bootdisk = value;
|
||||
} else {
|
||||
me.curSel3 = value;
|
||||
}
|
||||
});
|
||||
|
||||
Ext.apply(me, {
|
||||
items: [ me.kv1, me.kv2, me.kv3 ]
|
||||
});
|
||||
|
||||
me.callParent();
|
||||
}
|
||||
});
|
||||
|
||||
Ext.define('PVE.qemu.BootOrderEdit', {
|
||||
extend: 'PVE.window.Edit',
|
||||
|
||||
initComponent : function() {
|
||||
var me = this;
|
||||
|
||||
var ipanel = Ext.create('PVE.qemu.BootOrderPanel', {});
|
||||
|
||||
me.items = [ ipanel ];
|
||||
|
||||
me.subject = gettext('Boot order');
|
||||
|
||||
me.callParent();
|
||||
|
||||
me.load({
|
||||
success: function(response, options) {
|
||||
ipanel.setVMConfig(response.result.data);
|
||||
}
|
||||
});
|
||||
}
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user