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:
Dominik Csapak 2018-01-15 15:17:52 +01:00
parent dbed4c1c05
commit bf96f60deb
19 changed files with 37 additions and 52 deletions

View File

@ -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 \

View File

@ -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,

View File

@ -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,

View File

@ -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) {

View File

@ -1,8 +0,0 @@
Ext.define('PVE.form.IntegerField',{
extend: 'Ext.form.field.Number',
alias: 'widget.pveIntegerField',
allowDecimals: false,
allowExponential: false,
step: 1
});

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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
}, },

View File

@ -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,

View File

@ -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
} }
]; ];

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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,

View File

@ -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',

View File

@ -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',

View File

@ -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',

View File

@ -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,