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 \
form/VLanField.js \
form/Checkbox.js \
form/IntegerField.js \
form/RRDTypeSelector.js \
form/KVComboBox.js \
form/Boolean.js \

View File

@ -16,7 +16,7 @@ Ext.define('PVE.CephCreatePool', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: gettext('Size'),
name: 'size',
value: 3,
@ -25,7 +25,7 @@ Ext.define('PVE.CephCreatePool', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: gettext('Min. Size'),
name: 'min_size',
value: 2,
@ -40,7 +40,7 @@ Ext.define('PVE.CephCreatePool', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: 'pg_num',
name: 'pg_num',
value: 64,

View File

@ -106,7 +106,7 @@ Ext.define('PVE.dc.AuthEdit', {
name: 'server2'
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'port',
fieldLabel: gettext('Port'),
minValue: 1,
@ -147,7 +147,7 @@ Ext.define('PVE.dc.AuthEdit', {
});
column2.push({
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'oath_step',
value: '',
minValue: 10,
@ -158,7 +158,7 @@ Ext.define('PVE.dc.AuthEdit', {
});
column2.push({
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'oath_digits',
value: '',
minValue: 6,

View File

@ -117,12 +117,13 @@ Ext.define('PVE.form.ControllerSelector', {
}
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'deviceid',
minValue: 0,
maxValue: PVE.form.ControllerSelector.maxIds.ide,
value: '0',
flex: 1,
allowBlank: false,
validator: function(value) {
/*jslint confusion: true */
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,
fieldDefaults: { labelWidth: labelWidth || 100 },
items: {
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: name,
minValue: minValue,
fieldLabel: text,

View File

@ -78,7 +78,7 @@ Ext.define('PVE.ha.GroupInputPanel', {
sortable: true,
stopSelection: true,
widget: {
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
minValue: 0,
maxValue: 1000,
isFormField: false,

View File

@ -88,7 +88,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
validateExists: true
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'max_restart',
fieldLabel: gettext('Max. Restart'),
value: 1,
@ -97,7 +97,7 @@ Ext.define('PVE.ha.VMResourceInputPanel', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'max_relocate',
fieldLabel: gettext('Max. Relocate'),
value: 1,

View File

@ -81,23 +81,14 @@ Ext.define('PVE.lxc.Options', {
xtype: 'pveWindowEdit',
subject: gettext('TTY count'),
items: {
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'tty',
minValue: 0,
maxValue: 6,
value: 2,
fieldLabel: gettext('TTY count'),
allowEmpty: gettext('Default'),
getSubmitData: function() {
var me = this;
var val = me.getSubmitValue();
if (val !== null && val !== '' && val !== '2') {
return { tty: val };
} else {
return { 'delete' : 'tty' };
}
}
emptyText: gettext('Default'),
deleteEmpty: true
}
} : undefined
},

View File

@ -60,13 +60,14 @@ Ext.define('PVE.lxc.CPUInputPanel', {
var column1 = [
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'cores',
minValue: 1,
maxValue: 128,
value: me.insideWizard ? 1 : '',
fieldLabel: gettext('Cores'),
allowBlank: true,
deleteEmpty: true,
emptyText: gettext('unlimited')
}
];
@ -84,7 +85,7 @@ Ext.define('PVE.lxc.CPUInputPanel', {
emptyText: gettext('unlimited')
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'cpuunits',
fieldLabel: gettext('CPU units'),
value: 1024,
@ -119,7 +120,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', {
var items = [
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'memory',
minValue: 16,
maxValue: 512*1024,
@ -130,7 +131,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'swap',
minValue: 0,
maxValue: 128*1024,

View File

@ -5,7 +5,6 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
onGetValues: function(values) {
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, 'cpuunits', '1024', 0);
@ -17,12 +16,13 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
var items = [
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'vcpus',
minValue: 1,
maxValue: me.maxvcpus,
value: '',
fieldLabel: gettext('VCPUs'),
deleteEmpty: true,
allowBlank: true,
emptyText: me.maxvcpus
},
@ -38,12 +38,13 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', {
emptyText: gettext('unlimited')
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'cpuunits',
fieldLabel: gettext('CPU units'),
minValue: 8,
maxValue: 500000,
value: '1024',
deleteEmpty: true,
allowBlank: true
}
];

View File

@ -109,7 +109,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
me.column2.push(me.mbps_wr_max);
me.iops_rd = Ext.widget('pveIntegerField', {
me.iops_rd = Ext.widget('proxmoxintegerfield', {
name: 'iops_rd',
minValue: 10,
step: 10,
@ -120,7 +120,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
me.column1.push(me.iops_rd);
me.iops_rd_max = Ext.widget('pveIntegerField', {
me.iops_rd_max = Ext.widget('proxmoxintegerfield', {
name: 'iops_rd_max',
minValue: 10,
step: 10,
@ -131,7 +131,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
me.column2.push(me.iops_rd_max);
me.iops_wr = Ext.widget('pveIntegerField', {
me.iops_wr = Ext.widget('proxmoxintegerfield', {
name: 'iops_wr',
minValue: 10,
step: 10,
@ -142,7 +142,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', {
me.column1.push(me.iops_wr);
me.iops_wr_max = Ext.widget('pveIntegerField', {
me.iops_wr_max = Ext.widget('proxmoxintegerfield', {
name: 'iops_wr_max',
minValue: 10,
step: 10,

View File

@ -109,7 +109,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
}
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'balloon',
disabled: true,
minValue: 0,
@ -122,7 +122,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', {
allowBlank: false
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'shares',
disabled: true,
minValue: 0,

View File

@ -149,7 +149,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', {
allowBlank: true
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'queues',
fieldLabel: 'Multiqueue',
minValue: 1,

View File

@ -61,7 +61,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
me.column1 = [
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'sockets',
minValue: 1,
maxValue: 4,
@ -77,7 +77,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', {
}
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'cores',
minValue: 1,
maxValue: 128,

View File

@ -62,7 +62,7 @@ Ext.define('PVE.storage.DirInputPanel', {
fieldLabel: gettext('Shared')
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: gettext('Max Backups'),
disabled: true,
name: 'maxfiles',

View File

@ -148,7 +148,7 @@ Ext.define('PVE.storage.GlusterFsInputPanel', {
fieldLabel: gettext('Enable')
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: gettext('Max Backups'),
disabled: true,
name: 'maxfiles',

View File

@ -143,7 +143,7 @@ Ext.define('PVE.storage.NFSInputPanel', {
fieldLabel: gettext('Enable')
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
fieldLabel: gettext('Max Backups'),
disabled: true,
name: 'maxfiles',

View File

@ -73,7 +73,7 @@ Ext.define('PVE.window.BulkAction', {
onlineValidator: true
},
{
xtype: 'pveIntegerField',
xtype: 'proxmoxintegerfield',
name: 'maxworkers',
minValue: 1,
maxValue: 100,