]>
git.proxmox.com Git - pve-manager.git/blob - www/manager6/qemu/MultiHDEdit.js
1 Ext
.define('PVE.qemu.MultiHDPanel', {
2 extend
: 'PVE.panel.MultiDiskPanel',
3 alias
: 'widget.pveMultiHDPanel',
5 onlineHelp
: 'qm_hard_disk',
8 xclass
: 'Ext.app.ViewController',
10 // maxCount is the sum of all controller ids - 1 (ide2 is fixed in the wizard)
11 maxCount
: Object
.values(PVE
.Utils
.diskControllerMaxIDs
)
12 .reduce((previous
, current
) => previous
+current
, 0) - 1,
14 getNextFreeDisk: function(vmconfig
) {
15 let clist
= PVE
.Utils
.sortByPreviousUsage(vmconfig
);
16 return PVE
.Utils
.nextFreeDisk(clist
, vmconfig
);
19 addPanel: function(itemId
, vmconfig
, nextFreeDisk
) {
21 return me
.getView().add({
24 showAdvanced
: Ext
.state
.Manager
.getProvider().get('proxmox-advanced-cb'),
25 xtype
: 'pveQemuHDInputPanel',
27 nodename
: '{nodename}',
36 getBaseVMConfig: function() {
38 let vm
= me
.getViewModel();
42 scsihw
: vm
.get('current.scsihw'),
43 ostype
: vm
.get('current.ostype'),
48 sorterFn: function(rec1
, rec2
) {
49 let [, name1
, id1
] = PVE
.Utils
.bus_match
.exec(rec1
.data
.name
);
50 let [, name2
, id2
] = PVE
.Utils
.bus_match
.exec(rec2
.data
.name
);
52 if (name1
=== name2
) {
53 return parseInt(id1
, 10) - parseInt(id2
, 10);
56 return name1
< name2
? -1 : 1;
60 deleteDisabled
: () => false,