The date and time inputs provide a simple way for end - users to pick values from a fixed set.
Date
To create an input for selecting a time, use the date input:.
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
final datePattern = 'yyyy-MM-dd' def date = api.parseDate(datePattern, input.date) |
Time
To create an input for selecting a time, use the time input:.
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
def matcher = input.time =~ /(?<hour>[0-9]{2}):(?<minute>[0-9]{2})/ matcher.matches() // ❶ def hour = matcher.group('hour') as Integer def minute = matcher.group('minute') as Integer |
❶ You need to test if the pattern matches before you can extract groups by name.
Date Time
To create an input for selecting a combination of date and time, use the date-time input:
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
final dateTimePattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" def dateTime = api.parseDateTime(dateTimePattern, input.dateTime) |
Date Range
To create an input for selecting a pair of dates — a date range — use dates – a date range – use the date range input:
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
|
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
❶ the processor can be one of the quoteProcessor, cProcessor, etc., which references subclasses of the CalculableLineItemCollectionBuilder |
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
final datePattern = 'yyyy-MM-dd' def dateFrom = api.parseDate(datePattern, input.dateRange[0]) def dateTo = api.parseDate(datePattern, input.dateRange[1]) |
Minimum and Maximum Values
You can restrict the input from the user , by setting minimum and maximum dates.
Warning |
---|
As of version 7.3, the functionality for setting the minimum and maximum values hasn’t has not been implemented in the frontend application. However, you can still set these properties in a Groovy logic. |
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
String dateFormat = "yyyy-MM-dd" Date minDate = api.parseDate(dateFormat, "2021-01-15") Date maxDate = api.parseDate(dateFormat, "2021-01-25") api.inputBuilderFactory() .createDateUserEntry('Date') .setMin(minDate) .setMax(maxDate) .getInput() |