Ticket #268: Implement enum field type.

This commit is contained in:
Michael Jumper
2013-02-14 02:10:35 -08:00
parent f6b787bfc3
commit d1e499d5d4

View File

@@ -169,7 +169,41 @@ GuacAdmin.Field.CHECKBOX = function(value) {
};
GuacAdmin.Field._HTML_INPUT.prototype = new GuacAdmin.Field();
GuacAdmin.Field.CHECKBOX.prototype = new GuacAdmin.Field();
/**
* Enumerated field type.
*
* @augments GuacAdmin.Field
*/
GuacAdmin.Field.ENUM = function(values) {
// Call parent constructor
GuacAdmin.Field.apply(this);
// Create backing element
var element = GuacUI.createElement("select");
for (var name in values) {
var option = GuacUI.createChildElement(element, "option");
option.textContent = values[name];
option.value = name;
}
this.getValue = function() {
return element.value;
};
this.getElement = function() {
return element;
};
this.setValue = function(value) {
element.value = value;
};
};
GuacAdmin.Field.ENUM.prototype = new GuacAdmin.Field();
/**
@@ -539,6 +573,10 @@ GuacAdmin.addConnection = function(connection) {
field = new GuacAdmin.Field.CHECKBOX(parameter.value);
break;
case "enum":
field = new GuacAdmin.Field.ENUM(parameter.options);
break;
default:
continue;