mirror of
				https://git.proxmox.com/git/proxmox-backup
				synced 2025-11-02 15:18:42 +00:00 
			
		
		
		
	ui: RemoteEdit: remove port field and parse it from host field
use our hostport regexes to parse out a potential port from the host field and send it individually this makes for a simpler and cleaner ui this additionally checks the field for valid input before sending it to the backend Signed-off-by: Dominik Csapak <d.csapak@proxmox.com>
This commit is contained in:
		
							parent
							
								
									3784dbf029
								
							
						
					
					
						commit
						0f22f53b36
					
				@ -45,18 +45,45 @@ Ext.define('PBS.window.RemoteEdit', {
 | 
			
		||||
	    {
 | 
			
		||||
		xtype: 'proxmoxtextfield',
 | 
			
		||||
		allowBlank: false,
 | 
			
		||||
		name: 'host',
 | 
			
		||||
		name: 'hostport',
 | 
			
		||||
		submitValue: false,
 | 
			
		||||
		vtype: 'HostPort',
 | 
			
		||||
		fieldLabel: gettext('Host'),
 | 
			
		||||
		listeners: {
 | 
			
		||||
		    change: function(field, newvalue) {
 | 
			
		||||
			let host = newvalue;
 | 
			
		||||
			let port;
 | 
			
		||||
 | 
			
		||||
			let match = Proxmox.Utils.HostPort_match.exec(newvalue);
 | 
			
		||||
			if (match === null) {
 | 
			
		||||
			    match = Proxmox.Utils.HostPortBrackets_match.exec(newvalue);
 | 
			
		||||
			    if (match === null) {
 | 
			
		||||
				match = Proxmox.Utils.IP6_dotnotation_match.exec(newvalue);
 | 
			
		||||
			    }
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			if (match !== null) {
 | 
			
		||||
			    host = match[1];
 | 
			
		||||
			    if (match[2] !== undefined) {
 | 
			
		||||
				port = match[2];
 | 
			
		||||
			    }
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			field.up('inputpanel').down('field[name=host]').setValue(host);
 | 
			
		||||
			field.up('inputpanel').down('field[name=port]').setValue(port);
 | 
			
		||||
		    }
 | 
			
		||||
		}
 | 
			
		||||
	    },
 | 
			
		||||
	    {
 | 
			
		||||
		xtype: 'proxmoxintegerfield',
 | 
			
		||||
		allowBlank: true,
 | 
			
		||||
		minValue: 1,
 | 
			
		||||
		maxValue: 2**16,
 | 
			
		||||
		name: 'port',
 | 
			
		||||
		emptyText: 8007,
 | 
			
		||||
		xtype: 'proxmoxtextfield',
 | 
			
		||||
		hidden: true,
 | 
			
		||||
		name: 'host',
 | 
			
		||||
	    },
 | 
			
		||||
	    {
 | 
			
		||||
		xtype: 'proxmoxtextfield',
 | 
			
		||||
		hidden: true,
 | 
			
		||||
		deleteEmpty: true,
 | 
			
		||||
		fieldLabel: gettext('Port'),
 | 
			
		||||
		name: 'port',
 | 
			
		||||
	    },
 | 
			
		||||
	],
 | 
			
		||||
 | 
			
		||||
@ -95,6 +122,21 @@ Ext.define('PBS.window.RemoteEdit', {
 | 
			
		||||
	],
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    setValues: function(values) {
 | 
			
		||||
	let me = this;
 | 
			
		||||
 | 
			
		||||
	let host = values.host;
 | 
			
		||||
	if (values.port !== undefined) {
 | 
			
		||||
	    if (Proxmox.Utils.IP6_match.test(host)) {
 | 
			
		||||
		host = `[${host}]`;
 | 
			
		||||
	    }
 | 
			
		||||
	    host += `:${values.port}`;
 | 
			
		||||
	}
 | 
			
		||||
	values.hostport = host;
 | 
			
		||||
 | 
			
		||||
	return me.callParent([values]);
 | 
			
		||||
    },
 | 
			
		||||
 | 
			
		||||
    getValues: function() {
 | 
			
		||||
	let me = this;
 | 
			
		||||
	let values = me.callParent(arguments);
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user