mirror of
https://git.proxmox.com/git/pve-manager
synced 2025-07-20 12:12:58 +00:00
use IntegerField from widget toolkit
there we implemented deleteEmpty, which we can use in some cases. this also fixes a bug in the ControllerSelector where an empty field would be allowed (but should not) Signed-off-by: Dominik Csapak <d.csapak@proxmox.com> Reviewed-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
dbed4c1c05
commit
bf96f60deb
@ -28,7 +28,6 @@ JSSRC= \
|
|||||||
data/RRDStore.js \
|
data/RRDStore.js \
|
||||||
form/VLanField.js \
|
form/VLanField.js \
|
||||||
form/Checkbox.js \
|
form/Checkbox.js \
|
||||||
form/IntegerField.js \
|
|
||||||
form/RRDTypeSelector.js \
|
form/RRDTypeSelector.js \
|
||||||
form/KVComboBox.js \
|
form/KVComboBox.js \
|
||||||
form/Boolean.js \
|
form/Boolean.js \
|
||||||
|
@ -16,7 +16,7 @@ Ext.define('PVE.CephCreatePool', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: gettext('Size'),
|
fieldLabel: gettext('Size'),
|
||||||
name: 'size',
|
name: 'size',
|
||||||
value: 3,
|
value: 3,
|
||||||
@ -25,7 +25,7 @@ Ext.define('PVE.CephCreatePool', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: gettext('Min. Size'),
|
fieldLabel: gettext('Min. Size'),
|
||||||
name: 'min_size',
|
name: 'min_size',
|
||||||
value: 2,
|
value: 2,
|
||||||
@ -40,7 +40,7 @@ Ext.define('PVE.CephCreatePool', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: 'pg_num',
|
fieldLabel: 'pg_num',
|
||||||
name: 'pg_num',
|
name: 'pg_num',
|
||||||
value: 64,
|
value: 64,
|
||||||
|
@ -106,7 +106,7 @@ Ext.define('PVE.dc.AuthEdit', {
|
|||||||
name: 'server2'
|
name: 'server2'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'port',
|
name: 'port',
|
||||||
fieldLabel: gettext('Port'),
|
fieldLabel: gettext('Port'),
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
@ -147,7 +147,7 @@ Ext.define('PVE.dc.AuthEdit', {
|
|||||||
});
|
});
|
||||||
|
|
||||||
column2.push({
|
column2.push({
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'oath_step',
|
name: 'oath_step',
|
||||||
value: '',
|
value: '',
|
||||||
minValue: 10,
|
minValue: 10,
|
||||||
@ -158,7 +158,7 @@ Ext.define('PVE.dc.AuthEdit', {
|
|||||||
});
|
});
|
||||||
|
|
||||||
column2.push({
|
column2.push({
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'oath_digits',
|
name: 'oath_digits',
|
||||||
value: '',
|
value: '',
|
||||||
minValue: 6,
|
minValue: 6,
|
||||||
|
@ -117,12 +117,13 @@ Ext.define('PVE.form.ControllerSelector', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'deviceid',
|
name: 'deviceid',
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: PVE.form.ControllerSelector.maxIds.ide,
|
maxValue: PVE.form.ControllerSelector.maxIds.ide,
|
||||||
value: '0',
|
value: '0',
|
||||||
flex: 1,
|
flex: 1,
|
||||||
|
allowBlank: false,
|
||||||
validator: function(value) {
|
validator: function(value) {
|
||||||
/*jslint confusion: true */
|
/*jslint confusion: true */
|
||||||
if (!me.rendered) {
|
if (!me.rendered) {
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
Ext.define('PVE.form.IntegerField',{
|
|
||||||
extend: 'Ext.form.field.Number',
|
|
||||||
alias: 'widget.pveIntegerField',
|
|
||||||
|
|
||||||
allowDecimals: false,
|
|
||||||
allowExponential: false,
|
|
||||||
step: 1
|
|
||||||
});
|
|
@ -59,7 +59,7 @@ Ext.define('PVE.FirewallOptions', {
|
|||||||
subject: text,
|
subject: text,
|
||||||
fieldDefaults: { labelWidth: labelWidth || 100 },
|
fieldDefaults: { labelWidth: labelWidth || 100 },
|
||||||
items: {
|
items: {
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: name,
|
name: name,
|
||||||
minValue: minValue,
|
minValue: minValue,
|
||||||
fieldLabel: text,
|
fieldLabel: text,
|
||||||
|
@ -78,7 +78,7 @@ Ext.define('PVE.ha.GroupInputPanel', {
|
|||||||
sortable: true,
|
sortable: true,
|
||||||
stopSelection: true,
|
stopSelection: true,
|
||||||
widget: {
|
widget: {
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 1000,
|
maxValue: 1000,
|
||||||
isFormField: false,
|
isFormField: false,
|
||||||
|
@ -88,7 +88,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
|
|||||||
validateExists: true
|
validateExists: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'max_restart',
|
name: 'max_restart',
|
||||||
fieldLabel: gettext('Max. Restart'),
|
fieldLabel: gettext('Max. Restart'),
|
||||||
value: 1,
|
value: 1,
|
||||||
@ -97,7 +97,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'max_relocate',
|
name: 'max_relocate',
|
||||||
fieldLabel: gettext('Max. Relocate'),
|
fieldLabel: gettext('Max. Relocate'),
|
||||||
value: 1,
|
value: 1,
|
||||||
|
@ -81,23 +81,14 @@ Ext.define('PVE.lxc.Options', {
|
|||||||
xtype: 'pveWindowEdit',
|
xtype: 'pveWindowEdit',
|
||||||
subject: gettext('TTY count'),
|
subject: gettext('TTY count'),
|
||||||
items: {
|
items: {
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'tty',
|
name: 'tty',
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 6,
|
maxValue: 6,
|
||||||
value: 2,
|
value: 2,
|
||||||
fieldLabel: gettext('TTY count'),
|
fieldLabel: gettext('TTY count'),
|
||||||
allowEmpty: gettext('Default'),
|
emptyText: gettext('Default'),
|
||||||
getSubmitData: function() {
|
deleteEmpty: true
|
||||||
var me = this;
|
|
||||||
var val = me.getSubmitValue();
|
|
||||||
if (val !== null && val !== '' && val !== '2') {
|
|
||||||
return { tty: val };
|
|
||||||
} else {
|
|
||||||
return { 'delete' : 'tty' };
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
} : undefined
|
} : undefined
|
||||||
},
|
},
|
||||||
|
@ -60,13 +60,14 @@ Ext.define('PVE.lxc.CPUInputPanel', {
|
|||||||
|
|
||||||
var column1 = [
|
var column1 = [
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'cores',
|
name: 'cores',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
maxValue: 128,
|
maxValue: 128,
|
||||||
value: me.insideWizard ? 1 : '',
|
value: me.insideWizard ? 1 : '',
|
||||||
fieldLabel: gettext('Cores'),
|
fieldLabel: gettext('Cores'),
|
||||||
allowBlank: true,
|
allowBlank: true,
|
||||||
|
deleteEmpty: true,
|
||||||
emptyText: gettext('unlimited')
|
emptyText: gettext('unlimited')
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
@ -84,7 +85,7 @@ Ext.define('PVE.lxc.CPUInputPanel', {
|
|||||||
emptyText: gettext('unlimited')
|
emptyText: gettext('unlimited')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'cpuunits',
|
name: 'cpuunits',
|
||||||
fieldLabel: gettext('CPU units'),
|
fieldLabel: gettext('CPU units'),
|
||||||
value: 1024,
|
value: 1024,
|
||||||
@ -119,7 +120,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', {
|
|||||||
|
|
||||||
var items = [
|
var items = [
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'memory',
|
name: 'memory',
|
||||||
minValue: 16,
|
minValue: 16,
|
||||||
maxValue: 512*1024,
|
maxValue: 512*1024,
|
||||||
@ -130,7 +131,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'swap',
|
name: 'swap',
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
maxValue: 128*1024,
|
maxValue: 128*1024,
|
||||||
|
@ -5,7 +5,6 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
|
|||||||
onGetValues: function(values) {
|
onGetValues: function(values) {
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
PVE.Utils.delete_if_default(values, 'vcpus', '', 0);
|
|
||||||
PVE.Utils.delete_if_default(values, 'cpulimit', '0', 0);
|
PVE.Utils.delete_if_default(values, 'cpulimit', '0', 0);
|
||||||
PVE.Utils.delete_if_default(values, 'cpuunits', '1024', 0);
|
PVE.Utils.delete_if_default(values, 'cpuunits', '1024', 0);
|
||||||
|
|
||||||
@ -17,12 +16,13 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
|
|||||||
|
|
||||||
var items = [
|
var items = [
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'vcpus',
|
name: 'vcpus',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
maxValue: me.maxvcpus,
|
maxValue: me.maxvcpus,
|
||||||
value: '',
|
value: '',
|
||||||
fieldLabel: gettext('VCPUs'),
|
fieldLabel: gettext('VCPUs'),
|
||||||
|
deleteEmpty: true,
|
||||||
allowBlank: true,
|
allowBlank: true,
|
||||||
emptyText: me.maxvcpus
|
emptyText: me.maxvcpus
|
||||||
},
|
},
|
||||||
@ -38,12 +38,13 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
|
|||||||
emptyText: gettext('unlimited')
|
emptyText: gettext('unlimited')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'cpuunits',
|
name: 'cpuunits',
|
||||||
fieldLabel: gettext('CPU units'),
|
fieldLabel: gettext('CPU units'),
|
||||||
minValue: 8,
|
minValue: 8,
|
||||||
maxValue: 500000,
|
maxValue: 500000,
|
||||||
value: '1024',
|
value: '1024',
|
||||||
|
deleteEmpty: true,
|
||||||
allowBlank: true
|
allowBlank: true
|
||||||
}
|
}
|
||||||
];
|
];
|
||||||
|
@ -109,7 +109,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
|
|||||||
|
|
||||||
me.column2.push(me.mbps_wr_max);
|
me.column2.push(me.mbps_wr_max);
|
||||||
|
|
||||||
me.iops_rd = Ext.widget('pveIntegerField', {
|
me.iops_rd = Ext.widget('proxmoxintegerfield', {
|
||||||
name: 'iops_rd',
|
name: 'iops_rd',
|
||||||
minValue: 10,
|
minValue: 10,
|
||||||
step: 10,
|
step: 10,
|
||||||
@ -120,7 +120,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
|
|||||||
|
|
||||||
me.column1.push(me.iops_rd);
|
me.column1.push(me.iops_rd);
|
||||||
|
|
||||||
me.iops_rd_max = Ext.widget('pveIntegerField', {
|
me.iops_rd_max = Ext.widget('proxmoxintegerfield', {
|
||||||
name: 'iops_rd_max',
|
name: 'iops_rd_max',
|
||||||
minValue: 10,
|
minValue: 10,
|
||||||
step: 10,
|
step: 10,
|
||||||
@ -131,7 +131,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
|
|||||||
|
|
||||||
me.column2.push(me.iops_rd_max);
|
me.column2.push(me.iops_rd_max);
|
||||||
|
|
||||||
me.iops_wr = Ext.widget('pveIntegerField', {
|
me.iops_wr = Ext.widget('proxmoxintegerfield', {
|
||||||
name: 'iops_wr',
|
name: 'iops_wr',
|
||||||
minValue: 10,
|
minValue: 10,
|
||||||
step: 10,
|
step: 10,
|
||||||
@ -142,7 +142,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
|
|||||||
|
|
||||||
me.column1.push(me.iops_wr);
|
me.column1.push(me.iops_wr);
|
||||||
|
|
||||||
me.iops_wr_max = Ext.widget('pveIntegerField', {
|
me.iops_wr_max = Ext.widget('proxmoxintegerfield', {
|
||||||
name: 'iops_wr_max',
|
name: 'iops_wr_max',
|
||||||
minValue: 10,
|
minValue: 10,
|
||||||
step: 10,
|
step: 10,
|
||||||
|
@ -109,7 +109,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'balloon',
|
name: 'balloon',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
@ -122,7 +122,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
|
|||||||
allowBlank: false
|
allowBlank: false
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'shares',
|
name: 'shares',
|
||||||
disabled: true,
|
disabled: true,
|
||||||
minValue: 0,
|
minValue: 0,
|
||||||
|
@ -149,7 +149,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
|
|||||||
allowBlank: true
|
allowBlank: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'queues',
|
name: 'queues',
|
||||||
fieldLabel: 'Multiqueue',
|
fieldLabel: 'Multiqueue',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
|
@ -61,7 +61,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
|
|||||||
|
|
||||||
me.column1 = [
|
me.column1 = [
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'sockets',
|
name: 'sockets',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
maxValue: 4,
|
maxValue: 4,
|
||||||
@ -77,7 +77,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'cores',
|
name: 'cores',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
maxValue: 128,
|
maxValue: 128,
|
||||||
|
@ -62,7 +62,7 @@ Ext.define('PVE.storage.DirInputPanel', {
|
|||||||
fieldLabel: gettext('Shared')
|
fieldLabel: gettext('Shared')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: gettext('Max Backups'),
|
fieldLabel: gettext('Max Backups'),
|
||||||
disabled: true,
|
disabled: true,
|
||||||
name: 'maxfiles',
|
name: 'maxfiles',
|
||||||
|
@ -148,7 +148,7 @@ Ext.define('PVE.storage.GlusterFsInputPanel', {
|
|||||||
fieldLabel: gettext('Enable')
|
fieldLabel: gettext('Enable')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: gettext('Max Backups'),
|
fieldLabel: gettext('Max Backups'),
|
||||||
disabled: true,
|
disabled: true,
|
||||||
name: 'maxfiles',
|
name: 'maxfiles',
|
||||||
|
@ -143,7 +143,7 @@ Ext.define('PVE.storage.NFSInputPanel', {
|
|||||||
fieldLabel: gettext('Enable')
|
fieldLabel: gettext('Enable')
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
fieldLabel: gettext('Max Backups'),
|
fieldLabel: gettext('Max Backups'),
|
||||||
disabled: true,
|
disabled: true,
|
||||||
name: 'maxfiles',
|
name: 'maxfiles',
|
||||||
|
@ -73,7 +73,7 @@ Ext.define('PVE.window.BulkAction', {
|
|||||||
onlineValidator: true
|
onlineValidator: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
xtype: 'pveIntegerField',
|
xtype: 'proxmoxintegerfield',
|
||||||
name: 'maxworkers',
|
name: 'maxworkers',
|
||||||
minValue: 1,
|
minValue: 1,
|
||||||
maxValue: 100,
|
maxValue: 100,
|
||||||
|
Loading…
Reference in New Issue
Block a user