This gallery shows how widgets and validations are rendered in both Studio and web environments, along with sample implementation code.
You can also find sample working components for each of the configuration cases below:
Widgets allow to easily implement different types of input fields to your components.
@Option
@Documentation("This is a number")
public Integer number;
Studio Rendering | Web Rendering |
---|---|
Datetime fields rely on the Java Date Time API, including LocalTime
, LocalDate
, LocalDateTime
and ZonedDateTime
classes.
@Option
LocalDateTime startTime;
Studio Rendering | Web Rendering |
---|---|
@Option
@Proposable("valuesProvider")
String config;
/** service class */
@DynamicValues("valuesProvider")
public Values actions(){
return new Values(asList(new Values.Item("1", "Delete"),
new Values.Item("2", "Insert"),
new Values.Item("3", "Update")));
}
or
@Option
ActionEnum config;
/** Define enum */
enum ActionEnum {
Delete,
Insert,
Update
}
Studio Rendering | Web Rendering |
---|---|
@Option
@Suggestable(value = "loadModules", parameters = { "myconfig" })
@Documentation("module names are loaded using service")
public String moduleName;
// In Service class
@Suggestions("loadModules")
public SuggestionValues loadModules(@Option final MyConfig myconfig) { }
Studio Rendering | Web Rendering |
---|---|
Validations help restricting what can be entered or selected in an input field, to make sure that the value complies with the expected type of information.
/** configuration class */
@Option
@Validable("url")
String config;
/** service class */
@AsyncValidation("url")
ValidationResult doValidate(String url) {
//validate the property
}
Studio Rendering | Web Rendering |
---|---|
/** configuration class */
@Option
@Pattern("/^[a-zA-Z\\-]+$/")
String username;
Studio Rendering | Web Rendering |
---|---|
@Datastore
@Checkable
public class config {
/** config ...*/
}
/** service class */
@HealthCheck
public HealthCheckStatus testConnection(){
//validate the connection
}
Studio Rendering | Web Rendering |
---|---|
You can also use other types of validation that are similar to @Pattern
:
-
@Min
,@Max
to specify a minimum and maximum value for numerical fields. -
@Uniques
for collection values. -
@Required
for a required configuration.