diff --git a/Makefile b/Makefile index fbebbb3..ee8f565 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,7 @@ JSSRC= \ data/DiffStore.js \ data/ObjectStore.js \ data/TimezoneStore.js \ + form/TextField.js \ grid/ObjectGrid.js \ panel/InputPanel.js \ panel/LogView.js \ diff --git a/form/TextField.js b/form/TextField.js new file mode 100644 index 0000000..91d9742 --- /dev/null +++ b/form/TextField.js @@ -0,0 +1,36 @@ +Ext.define('Proxmox.form.Textfield', { + extend: 'Ext.form.field.Text', + alias: ['widget.proxmoxtextfield'], + + skipEmptyText: true, + + deleteEmpty: false, + + getSubmitData: function() { + var me = this, + data = null, + val; + if (!me.disabled && me.submitValue && !me.isFileUpload()) { + val = me.getSubmitValue(); + if (val !== null) { + data = {}; + data[me.getName()] = val; + } else if (me.deleteEmpty) { + data = {}; + data['delete'] = me.getName(); + } + } + return data; + }, + + getSubmitValue: function() { + var me = this; + + var value = this.processRawValue(this.getRawValue()); + if (value !== '') { + return value; + } + + return me.skipEmptyText ? null: value; + } +}); diff --git a/node/NetworkEdit.js b/node/NetworkEdit.js index 3df9dce..f925e0d 100644 --- a/node/NetworkEdit.js +++ b/node/NetworkEdit.js @@ -208,14 +208,14 @@ Ext.define('Proxmox.node.NetworkEdit', { column1.push( { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('IP address'), vtype: 'IPAddress', name: 'address' }, { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('Subnet mask'), vtype: 'IPAddress', @@ -240,21 +240,21 @@ Ext.define('Proxmox.node.NetworkEdit', { } }, { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('Gateway'), vtype: 'IPAddress', name: 'gateway' }, { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('IPv6 address'), vtype: 'IP6Address', name: 'address6' }, { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('Prefix length'), vtype: 'IP6PrefixLength', @@ -281,7 +281,7 @@ Ext.define('Proxmox.node.NetworkEdit', { } }, { - xtype: 'pvetextfield', + xtype: 'proxmoxtextfield', deleteEmpty: !me.create, fieldLabel: gettext('Gateway'), vtype: 'IP6Address',