Skip to content

Latest commit

 

History

History
173 lines (145 loc) · 4.89 KB

File metadata and controls

173 lines (145 loc) · 4.89 KB

Widget and validation gallery

Widgets

Name Code Studio Rendering Web Rendering

Input/Text

@Option
String config;
Studio Input
Web Input

Password

@Option
@Credential
String config;
Studio Password
Web Password

Textarea

@Option
@Textarea
String config;
Studio Textarea
Web Textarea

Checkbox

@Option
Boolean config;
Studio Checkbox
Web Checkbox

List

@Option
@Proposable("valuesProvider")
String config;
/** service class */
@DynamicValues("valuesProvider")
public Values vendors(){
    return new Values(asList(new Values.Item("1", "Delete"),
                      new Values.Item("2", "Insert")
                      new Values.Item("3", "Update")));
 }
Studio List
Web List

List

@Option
ActionEnum config;
/** Define enum */
enum ActionEnum {Delete,
    Insert,
    Update}
Studio List
Web List

Table

@Option
Object config;
Studio Table
Web Table

Code

@Code("java")
@Option
String config;
Studio Code
Web Code

Schema

@Option
@Structure
List<String> config;
Studio Schema
Web Schema

Validations

Name Code Studio Rendering Web Rendering

Property validation

/** configuration class */
@Option
@Validable("url")
String config;

/** service class */
@AsyncValidation("url")
ValidationResult doValidate(String url) {
}
Studio Code
Web Code

Property validation with Pattern

/** configuration class */
@Option
@Pattern("/^[a-zA-Z\\-]+$/")
String username;
Studio Code
Web Code

Data store validation

@Datastore
@Checkable
public class config {
/** config ...*/
}

/** service class */
@HealthCheck
public HealthCheckStatus testConnection(){

}
Studio Code
Web Code

You can also use other types of validation that are similar to @Pattern:

  • @Min, @Max for numbers.

  • @Unique for collection values.

  • @Required for a required configuration.