Add support for multiline text fields.

This commit is contained in:
Michael Jumper
2013-10-30 23:43:30 -07:00
parent afb8474c28
commit a920199ab7
6 changed files with 75 additions and 6 deletions

View File

@@ -121,6 +121,36 @@ GuacAdmin.Field.TEXT = function() {
GuacAdmin.Field.TEXT.prototype = new GuacAdmin.Field._HTML_INPUT();
/**
* A basic multiline text field.
*
* @augments GuacAdmin.Field
*/
GuacAdmin.Field.MULTILINE = function() {
// Call parent constructor
GuacAdmin.Field.apply(this);
// Create backing element
var element = GuacUI.createElement("textarea");
this.getValue = function() {
return element.value;
};
this.getElement = function() {
return element;
};
this.setValue = function(value) {
element.value = value;
};
};
GuacAdmin.Field.MULTILINE.prototype = new GuacAdmin.Field();
/**
* A basic password field.
*
@@ -882,6 +912,11 @@ GuacAdmin.ConnectionEditor = function(connection, parameters) {
field = new GuacAdmin.Field.ENUM(parameter.options);
break;
// Multiline text field
case GuacamoleService.Protocol.Parameter.MULTILINE:
field = new GuacAdmin.Field.MULTILINE();
break;
default:
continue;

View File

@@ -1250,7 +1250,7 @@ GuacamoleService.Protocol.Parameter.Option = function(value, title) {
/**
* A free-form text field.
*/
GuacamoleService.Protocol.Parameter.TEXT = 0;
GuacamoleService.Protocol.Parameter.TEXT = 0;
/**
* A password field.
@@ -1260,17 +1260,22 @@ GuacamoleService.Protocol.Parameter.PASSWORD = 1;
/**
* A numeric field.
*/
GuacamoleService.Protocol.Parameter.NUMERIC = 2;
GuacamoleService.Protocol.Parameter.NUMERIC = 2;
/**
* A boolean (checkbox) field.
*/
GuacamoleService.Protocol.Parameter.BOOLEAN = 3;
GuacamoleService.Protocol.Parameter.BOOLEAN = 3;
/**
* An enumerated (select) field.
*/
GuacamoleService.Protocol.Parameter.ENUM = 4;
GuacamoleService.Protocol.Parameter.ENUM = 4;
/**
* A free-form, multi-line text field.
*/
GuacamoleService.Protocol.Parameter.MULTILINE = 5;
/**
* Collection of service functions which deal with protocols. Each function
@@ -1364,6 +1369,11 @@ GuacamoleService.Protocols = {
parameter.type = GuacamoleService.Protocol.Parameter.ENUM;
break;
// Multiline text parameter
case "multiline":
parameter.type = GuacamoleService.Protocol.Parameter.MULTILINE;
break;
}
// Parse all options