diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/EmailField.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/EmailField.java new file mode 100644 index 000000000..e56a75786 --- /dev/null +++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/EmailField.java @@ -0,0 +1,37 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +package org.apache.guacamole.form; + +/** + * Represents a text field which may contain an email address. + */ +public class EmailField extends Field { + + /** + * Creates a new EmailField with the given name. + * + * @param name + * The unique name to associate with this field. + */ + public EmailField(String name) { + super(name, Field.Type.EMAIL); + } + +} diff --git a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java index dba10654c..19f1ead09 100644 --- a/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java +++ b/guacamole-ext/src/main/java/org/apache/guacamole/form/Field.java @@ -47,6 +47,12 @@ public class Field { */ public static String TEXT = "TEXT"; + /** + * An email address field. This field type generally behaves + * identically to arbitrary text fields, but has semantic differences. + */ + public static String EMAIL = "EMAIL"; + /** * A username field. This field type generally behaves identically to * arbitrary text fields, but has semantic differences. diff --git a/guacamole/src/main/webapp/app/form/services/formService.js b/guacamole/src/main/webapp/app/form/services/formService.js index 0d12259ad..c117bbf7f 100644 --- a/guacamole/src/main/webapp/app/form/services/formService.js +++ b/guacamole/src/main/webapp/app/form/services/formService.js @@ -47,6 +47,16 @@ angular.module('form').provider('formService', function formServiceProvider() { templateUrl : 'app/form/templates/textField.html' }, + /** + * Email address field type. + * + * @see {@link Field.Type.EMAIL} + * @type FieldType + */ + 'EMAIL' : { + templateUrl : 'app/form/templates/emailField.html' + }, + /** * Numeric field type. * diff --git a/guacamole/src/main/webapp/app/form/templates/emailField.html b/guacamole/src/main/webapp/app/form/templates/emailField.html new file mode 100644 index 000000000..db6d3beda --- /dev/null +++ b/guacamole/src/main/webapp/app/form/templates/emailField.html @@ -0,0 +1,8 @@ +