Skip to main content

Time range

Time Range component is a UI component that allows users to select a range of times from a 24-hour interface, typically used in forms or data entry interfaces where the user needs to specify a start and end time range.

When a Time Range component is added to canvas, it displays two 24-hour interfaces side by side. One interface is used to select the start time, while the other is used to select the end time. The user can adjust the time by moving the mouse cursor or using the up and down arrows.

Properties

Time Range's available properties. JavaScript may be written to read or alter information about components.

PropertiesDescription
Start timeThe default start time value of the component
End timeThe default end time value of the component
FormatA valid date format string. See https://day.js.org/docs/en/parse/string-format.
Start PlaceholderThe value will be shown when the start time input field is empty.
End PlaceholderThe value will be shown when the end time input field is empty.
Step sizethe step size in unit of minutes
LabelThe name of the field displayed to the user
CaptionA caption used to describe the field in detail
Hidden labelSet whether to display the label
PositionSet the position of the label relative to the component
AlignmentSet the alignment (align to left or right) of the label
WidthWhen the label is on the left side of the component, set the width ratio of the label.
Event HandlerTrigger queries, control components, or call other APIs in response to component events.
DisabledControl the status of whether the component is disabled. The component cannot be modified or focused when it is disabled.
TooltipUsers can enter the component tooltip here. The tooltip will be shown when it is focused. Markdown format is supported.
Show clear buttoncontrol whether or not a clear button is displayed in the input field
Required fieldValid only when the switch is on.
Custom ruleCreate your validation logic here. The rules should be made in JavaScript and covered by {{}}.
Hide validation messageYou can hide the error message by switching the hidden status when the input value is incorrect. You can dynamically change the hidden status by JavaScript.
Form Data KeySpecify a key of a wrapping form component when constructing the data attribute.
HiddenDynamically control whether the component is hidden. You can change the hidden status through dynamical boolean value.
Theme ColorAllows users to specify the button's background color and opacity

Methods

You can use other components to control the component. We support the following two methods:

  • setStartTime

To set the start date value, for example, {{"value1"}}

PropertiesDescription
ValueInput start time value
  • setEndTime

To set the end date value, for example, {{"value2"}}

PropertiesDescription
ValueInput end time value
  • clearValue

To clear the value of the selected component

  • validate

To verify that the input information is legal

  • clearValidate

To clear the validation message

Event handler

EventDescription
ChangeWhen a user changes the selected time value, perform specific action customized by users.

Data

The component has some commonly used data, which can be called via {{componentName.propertyName}} in the app.

Property nameDescription
colorSchemethe color property of Date
customRulethe custom rule that user specified
disableda Boolean value indicate the disabled status
displayNamethe name of this component (ie cascader1)
startTimestart time value
endTimeend time value
startPlaceholderplaceholder value for start time
endPlaceholderplaceholder value for end time
eventsan Array value for sequence of events
formatthe formate of date and time
formDataKeythe Form Data Key of Date
hiddena Boolean value indicate the hidden status of button
hideValidationMessagea Boolean value indicate whether the validation message is hidden
labellabel value
labelAlignalignment of cascader label (left or right)
labelPositionposition of cascader label (left or right)
labelWidththe integer representing width of label
minuteStepminute step size value
requireda Boolean value indicate the required status of input.
showCleara Boolean value indicate wether the date will be shown clear
valueSelected value

Example: {{rangeTime1.value[0]}}

Use case

Next, we will demonstrate how to map the data from the data source to time range and set end value to current time with a button.

Step 1 Add an action

Let us create a table in REST API called promoteCodes, including 6 columns:  codeid, createdAtexpiredAtstartedAt, updatedAt. We will use the startedAt and expiredAt time for sample use.

Then we can create a new action for REST API from the action list, listing all data in promoteCodes and named restapi1.

Click Save and Run to activate this action.

Step 2 Add Components

Next, we can add a time range component and a button component to the canvas. For default start time value of the date range component, we use the startedAt time of the first promote code from the rest api data.

{{restapi1.data.promoteCodes[0].startedAt}}

Similarly, for default end time value, we use expiredAt time of the first promote code from the rest api data.

{{restapi1.data.promoteCodes[0].expiredAt}}

We also labeled the button as "Now" as shown below.

time_range_0

Step 3 Configure the component

For the button component, we can configure it to set the end date value in time range component to today's date.

  1. In the Edit event handler, select Control component in action, select the time range component that you want to update as the target of the event.
  2. Choose the setEndTime action and set the End time as {{currentUserInfo.updatedAt}}

time_range_config

Step 4 Test

Now that when you click the "Now" button, the end time should change to today's date. As for here, we have 20:03:05 but it may be different when you are testing it.

time_range_1