this adds a subclass of Ext.form.field.Number with the settings for Integers (allowDecimals: false and allowExponential: false and default step size 1)
and use it where we only accept integers Signed-off-by: Dominik Csapak <d.csa...@proxmox.com> --- www/manager6/Makefile | 1 + www/manager6/ceph/Pool.js | 8 ++++---- www/manager6/dc/AuthEdit.js | 12 +++--------- www/manager6/form/ControllerSelector.js | 2 +- www/manager6/form/IntegerField.js | 8 ++++++++ www/manager6/grid/FirewallOptions.js | 3 +-- www/manager6/ha/GroupEdit.js | 2 +- www/manager6/ha/ResourceEdit.js | 8 ++------ www/manager6/lxc/Options.js | 3 +-- www/manager6/lxc/ResourceEdit.js | 11 ++++------- www/manager6/qemu/CPUOptions.js | 4 ++-- www/manager6/qemu/HDThrottle.js | 8 ++++---- www/manager6/qemu/MemoryEdit.js | 4 ++-- www/manager6/qemu/NetworkEdit.js | 2 +- www/manager6/qemu/ProcessorEdit.js | 4 ++-- www/manager6/storage/DirEdit.js | 2 +- www/manager6/storage/GlusterFsEdit.js | 2 +- www/manager6/storage/NFSEdit.js | 2 +- www/manager6/window/MigrateAll.js | 2 +- 19 files changed, 41 insertions(+), 47 deletions(-) create mode 100644 www/manager6/form/IntegerField.js diff --git a/www/manager6/Makefile b/www/manager6/Makefile index 62eccbe..d35ac35 100644 --- a/www/manager6/Makefile +++ b/www/manager6/Makefile @@ -26,6 +26,7 @@ JSSRC= \ form/VLanField.js \ form/Checkbox.js \ form/TextField.js \ + form/IntegerField.js \ form/RRDTypeSelector.js \ form/ComboGrid.js \ form/KVComboBox.js \ diff --git a/www/manager6/ceph/Pool.js b/www/manager6/ceph/Pool.js index c4e8dff..b45596f 100644 --- a/www/manager6/ceph/Pool.js +++ b/www/manager6/ceph/Pool.js @@ -16,7 +16,7 @@ Ext.define('PVE.CephCreatePool', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Size'), name: 'size', value: 2, @@ -25,7 +25,7 @@ Ext.define('PVE.CephCreatePool', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Min. Size'), name: 'min_size', value: 1, @@ -34,7 +34,7 @@ Ext.define('PVE.CephCreatePool', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Crush RuleSet'), name: 'crush_ruleset', value: 0, @@ -43,7 +43,7 @@ Ext.define('PVE.CephCreatePool', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: 'pg_num', name: 'pg_num', value: 64, diff --git a/www/manager6/dc/AuthEdit.js b/www/manager6/dc/AuthEdit.js index de51062..8198a1f 100644 --- a/www/manager6/dc/AuthEdit.js +++ b/www/manager6/dc/AuthEdit.js @@ -106,7 +106,7 @@ Ext.define('PVE.dc.AuthEdit', { name: 'server2' }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'port', fieldLabel: gettext('Port'), minValue: 1, @@ -147,13 +147,10 @@ Ext.define('PVE.dc.AuthEdit', { }); column2.push({ - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'oath_step', value: '', minValue: 10, - step: 1, - allowDecimals: false, - allowBlank: true, emptyText: PVE.Utils.defaultText + ' (30)', submitEmptyText: false, hidden: true, @@ -161,14 +158,11 @@ Ext.define('PVE.dc.AuthEdit', { }); column2.push({ - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'oath_digits', value: '', minValue: 6, maxValue: 8, - step: 1, - allowDecimals: false, - allowBlank: true, emptyText: PVE.Utils.defaultText + ' (6)', submitEmptyText: false, hidden: true, diff --git a/www/manager6/form/ControllerSelector.js b/www/manager6/form/ControllerSelector.js index bf8a53e..fa3df16 100644 --- a/www/manager6/form/ControllerSelector.js +++ b/www/manager6/form/ControllerSelector.js @@ -122,7 +122,7 @@ Ext.define('PVE.form.ControllerSelector', { } }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'deviceid', minValue: 0, maxValue: PVE.form.ControllerSelector.maxIds.ide, diff --git a/www/manager6/form/IntegerField.js b/www/manager6/form/IntegerField.js new file mode 100644 index 0000000..2453415 --- /dev/null +++ b/www/manager6/form/IntegerField.js @@ -0,0 +1,8 @@ +Ext.define('PVE.form.IntegerField',{ + extend: 'Ext.form.field.Number', + alias: 'widget.pveIntegerfield', + + allowDecimals: false, + allowExponential: false, + step: 1 +}); diff --git a/www/manager6/grid/FirewallOptions.js b/www/manager6/grid/FirewallOptions.js index 26ee373..b624407 100644 --- a/www/manager6/grid/FirewallOptions.js +++ b/www/manager6/grid/FirewallOptions.js @@ -59,10 +59,9 @@ Ext.define('PVE.FirewallOptions', { subject: text, fieldDefaults: { labelWidth: labelWidth || 100 }, items: { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: name, minValue: minValue, - decimalPrecision: 0, fieldLabel: text, emptyText: gettext('Default'), getSubmitData: function() { diff --git a/www/manager6/ha/GroupEdit.js b/www/manager6/ha/GroupEdit.js index db9cf74..7f3da3f 100644 --- a/www/manager6/ha/GroupEdit.js +++ b/www/manager6/ha/GroupEdit.js @@ -78,7 +78,7 @@ Ext.define('PVE.ha.GroupInputPanel', { sortable: true, stopSelection: true, widget: { - xtype: 'numberfield', + xtype: 'pveIntegerfield', minValue: 0, maxValue: 1000, listeners: { diff --git a/www/manager6/ha/ResourceEdit.js b/www/manager6/ha/ResourceEdit.js index 326d268..69c6e28 100644 --- a/www/manager6/ha/ResourceEdit.js +++ b/www/manager6/ha/ResourceEdit.js @@ -48,25 +48,21 @@ Ext.define('PVE.ha.VMResourceInputPanel', { validateExists: true }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'max_restart', fieldLabel: gettext('Max. Restart'), value: 1, minValue: 0, maxValue: 10, - allowDecimals: false, - allowExponential: false, allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'max_relocate', fieldLabel: gettext('Max. Relocate'), value: 1, minValue: 0, maxValue: 10, - allowDecimals: false, - allowExponential: false, allowBlank: false } ]; diff --git a/www/manager6/lxc/Options.js b/www/manager6/lxc/Options.js index 8871554..c5d42b1 100644 --- a/www/manager6/lxc/Options.js +++ b/www/manager6/lxc/Options.js @@ -78,9 +78,8 @@ Ext.define('PVE.lxc.Options', { xtype: 'pveWindowEdit', subject: gettext('TTY count'), items: { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'tty', - decimalPrecision: 0, minValue: 0, maxValue: 6, value: 2, diff --git a/www/manager6/lxc/ResourceEdit.js b/www/manager6/lxc/ResourceEdit.js index dd1639c..900c67a 100644 --- a/www/manager6/lxc/ResourceEdit.js +++ b/www/manager6/lxc/ResourceEdit.js @@ -119,13 +119,10 @@ Ext.define('PVE.lxc.CPUInputPanel', { var column1 = [ { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'cores', minValue: 1, maxValue: 128, - step: 1, - allowDecimals: false, - allowExponential: false, value: me.insideWizard ? 1 : '', fieldLabel: gettext('Cores'), allowBlank: true, @@ -146,7 +143,7 @@ Ext.define('PVE.lxc.CPUInputPanel', { emptyText: gettext('unlimited') }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'cpuunits', fieldLabel: gettext('CPU units'), value: 1024, @@ -181,7 +178,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', { var items = [ { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'memory', minValue: 32, maxValue: 512*1024, @@ -192,7 +189,7 @@ Ext.define('PVE.lxc.MemoryInputPanel', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'swap', minValue: 0, maxValue: 128*1024, diff --git a/www/manager6/qemu/CPUOptions.js b/www/manager6/qemu/CPUOptions.js index 5ee7afb..aec9da6 100644 --- a/www/manager6/qemu/CPUOptions.js +++ b/www/manager6/qemu/CPUOptions.js @@ -17,7 +17,7 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', { var items = [ { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'vcpus', minValue: 1, maxValue: me.maxvcpus, @@ -38,7 +38,7 @@ Ext.define('PVE.qemu.CPUOptionsInputPanel', { emptyText: gettext('unlimited') }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'cpuunits', fieldLabel: gettext('CPU units'), minValue: 8, diff --git a/www/manager6/qemu/HDThrottle.js b/www/manager6/qemu/HDThrottle.js index 7506cff..400185e 100644 --- a/www/manager6/qemu/HDThrottle.js +++ b/www/manager6/qemu/HDThrottle.js @@ -111,7 +111,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', { me.column2.push(me.mbps_wr_max); - me.iops_rd = Ext.widget('numberfield', { + me.iops_rd = Ext.widget('pveIntegerfield', { name: 'iops_rd', minValue: 10, step: 10, @@ -122,7 +122,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', { me.column1.push(me.iops_rd); - me.iops_rd_max = Ext.widget('numberfield', { + me.iops_rd_max = Ext.widget('pveIntegerfield', { name: 'iops_rd_max', minValue: 10, step: 10, @@ -133,7 +133,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', { me.column2.push(me.iops_rd_max); - me.iops_wr = Ext.widget('numberfield', { + me.iops_wr = Ext.widget('pveIntegerfield', { name: 'iops_wr', minValue: 10, step: 10, @@ -144,7 +144,7 @@ Ext.define('PVE.qemu.HDThrottleInputPanel', { me.column1.push(me.iops_wr); - me.iops_wr_max = Ext.widget('numberfield', { + me.iops_wr_max = Ext.widget('pveIntegerfield', { name: 'iops_wr_max', minValue: 10, step: 10, diff --git a/www/manager6/qemu/MemoryEdit.js b/www/manager6/qemu/MemoryEdit.js index e9ee432..4b9d889 100644 --- a/www/manager6/qemu/MemoryEdit.js +++ b/www/manager6/qemu/MemoryEdit.js @@ -93,7 +93,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', { } }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'balloon', disabled: true, minValue: 0, @@ -106,7 +106,7 @@ Ext.define('PVE.qemu.MemoryInputPanel', { allowBlank: false }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'shares', disabled: true, minValue: 0, diff --git a/www/manager6/qemu/NetworkEdit.js b/www/manager6/qemu/NetworkEdit.js index 9a4875d..a08abbb 100644 --- a/www/manager6/qemu/NetworkEdit.js +++ b/www/manager6/qemu/NetworkEdit.js @@ -149,7 +149,7 @@ Ext.define('PVE.qemu.NetworkInputPanel', { allowBlank: true }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'queues', fieldLabel: gettext('Multiqueues'), minValue: 1, diff --git a/www/manager6/qemu/ProcessorEdit.js b/www/manager6/qemu/ProcessorEdit.js index be15354..87ef406 100644 --- a/www/manager6/qemu/ProcessorEdit.js +++ b/www/manager6/qemu/ProcessorEdit.js @@ -42,7 +42,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', { me.column1 = [ { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'sockets', minValue: 1, maxValue: 4, @@ -58,7 +58,7 @@ Ext.define('PVE.qemu.ProcessorInputPanel', { } }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'cores', minValue: 1, maxValue: 128, diff --git a/www/manager6/storage/DirEdit.js b/www/manager6/storage/DirEdit.js index e38c231..cd31fa4 100644 --- a/www/manager6/storage/DirEdit.js +++ b/www/manager6/storage/DirEdit.js @@ -61,7 +61,7 @@ Ext.define('PVE.storage.DirInputPanel', { fieldLabel: gettext('Shared') }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Max Backups'), name: 'maxfiles', minValue: 0, diff --git a/www/manager6/storage/GlusterFsEdit.js b/www/manager6/storage/GlusterFsEdit.js index 3a04fb4..cd2c265 100644 --- a/www/manager6/storage/GlusterFsEdit.js +++ b/www/manager6/storage/GlusterFsEdit.js @@ -147,7 +147,7 @@ Ext.define('PVE.storage.GlusterFsInputPanel', { fieldLabel: gettext('Enable') }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Max Backups'), name: 'maxfiles', minValue: 0, diff --git a/www/manager6/storage/NFSEdit.js b/www/manager6/storage/NFSEdit.js index 20ba83b..345370f 100644 --- a/www/manager6/storage/NFSEdit.js +++ b/www/manager6/storage/NFSEdit.js @@ -142,7 +142,7 @@ Ext.define('PVE.storage.NFSInputPanel', { fieldLabel: gettext('Enable') }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', fieldLabel: gettext('Max Backups'), name: 'maxfiles', minValue: 0, diff --git a/www/manager6/window/MigrateAll.js b/www/manager6/window/MigrateAll.js index 525735b..e4b45ae 100644 --- a/www/manager6/window/MigrateAll.js +++ b/www/manager6/window/MigrateAll.js @@ -48,7 +48,7 @@ Ext.define('PVE.window.MigrateAll', { onlineValidator: true }, { - xtype: 'numberfield', + xtype: 'pveIntegerfield', name: 'maxworkers', minValue: 1, maxValue: 100, -- 2.1.4 _______________________________________________ pve-devel mailing list pve-devel@pve.proxmox.com http://pve.proxmox.com/cgi-bin/mailman/listinfo/pve-devel