mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-05-12 07:46:46 +00:00
57 lines
1.1 KiB
JavaScript
57 lines
1.1 KiB
JavaScript
Ext.define('PVE.form.VMIDSelector', {
|
|
extend: 'Ext.form.field.Number',
|
|
alias: 'widget.pveVMIDSelector',
|
|
|
|
allowBlank: false,
|
|
|
|
minValue: 100,
|
|
|
|
maxValue: 999999999,
|
|
|
|
validateExists: undefined,
|
|
|
|
loadNextFreeVMID: false,
|
|
|
|
initComponent: function() {
|
|
var me = this;
|
|
|
|
Ext.applyIf(me, {
|
|
fieldLabel: 'VM ID',
|
|
listeners: {
|
|
'change': function(field, newValue, oldValue) {
|
|
if (!Ext.isDefined(me.validateExists)) {
|
|
return;
|
|
}
|
|
PVE.Utils.API2Request({
|
|
params: { vmid: newValue },
|
|
url: '/cluster/nextid',
|
|
method: 'GET',
|
|
success: function(response, opts) {
|
|
if (me.validateExists === true) {
|
|
me.markInvalid(gettext('This VM ID does not exists'));
|
|
}
|
|
},
|
|
failure: function(response, opts) {
|
|
if (me.validateExists === false) {
|
|
me.markInvalid(gettext('This VM ID is already in use'));
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|
|
|
|
me.callParent();
|
|
|
|
if (me.loadNextFreeVMID) {
|
|
PVE.Utils.API2Request({
|
|
url: '/cluster/nextid',
|
|
method: 'GET',
|
|
success: function(response, opts) {
|
|
me.setRawValue(response.result.data);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
});
|