ptcs-datepicker¶
Visual¶
Closed¶
Opened¶
Overview¶
The date picker is a dialog box that enables you to pick a specific date and time. The date can be displayed according to a format that is specified by the user.
The date picker is implemented using the MomentJS library and it uses its format specification.
Usage Examples¶
Basic Usage¶
<ptcs-datepicker></ptcs-datepicker>
Specific date and format selected¶
<ptcs-datepicker format="LL" date="2018-11-25"></ptcs-datepicker>
In the example above, the attributes define the following:
- date - The date to display
- format - The date format specifier according to the MomentJS format. The 'LL' value generates the following: 'November 25, 2018'.
<ptcs-datepicker week-start="day" month-format="YMD" date-order="order" action-position="location" show-time display-seconds></ptcs-datepicker>
In the above example substitute attribute values:
- day - possible values: Monday, Sunday
- YMD - possible values: full, short, numeric
- order - possible values: YMD, MDY, DMY
- location - possible values: left, right
Date range selection¶
<ptcs-datepicker date-range-selection></ptcs-datepicker>
In the example above, date picker allows users to select a date range.
Component API¶
Properties¶
Property | Type | Description | Triggers a changed event? |
---|---|---|---|
actionPosition | String | Sets the position of the "Done" button. The allowed values are "left" and "right". When set to "left", the button is placed to the left of the "Today" button. | No |
date | String | Opens the calendar on a specific date using the following format: YYYY-MM-DD | Yes |
dateDelimiter | String | The separator to use between date components. Set to '-' by default. | No |
dateOnly | Boolean | A property for the _dateFormat call | No |
dateOrder | String | The order of the year, month, and day. You can set it to "auto", "YMD", "MDY", or "DMY". Setting it to "auto" defaults to the "YMD" format. | No |
dateTime | Date | The actual data, as a Date object | Yes |
daysContainingAnyData | Array (timestamp) | Displays dots for the dates contained in the array. | No |
disabled | Boolean | Disables the date picker | No |
displaySeconds | Boolean | Displays seconds as part of the date. | No |
formatToken | String | Overrides the format of the displayed date. See the Available formats. | No |
hidden | Boolean | Hides the calendar | No |
hintText | String | Sets the prompt text to pick a date | No |
initWithCurrentDateTime | Boolean | Initializes the date picker with current date and time. | No |
interval | Number | The refresh rate for updating the calendar. Default: 0 | No |
intervalType | String | The unit of refresh rate for updating the calendar. Default: 'h'. Allowed values: 'h' - Hours, 'm' - Minutes, 's' - Seconds, 'd' - Days | No |
label | String | An optional label above the date picker | No |
monthFormat | String | The month format. Allowed values: "full", "short", "numeric" (default: "full") | No |
labelAlignment | String | The horizontal alignment of the label. Allowed values: "left", "center", "right" (default: "left") | No |
selectedDate | Object | The selected date as a moment object | Yes |
showTime | Boolean | Shows the time in the picker. (default: false) | No |
tooltip | String | The tooltip that appears when hovering over the date picker | No |
tooltipIcon | String | The icon for the tooltip | No |
weekStart | String | The first day of the week. Set to "Monday" by default. The allowed values are "Monday" and "Sunday". | No |
dateRangeSelection | Boolean | Enables you to specify a date range by selecting a start and an end date. You cannot specify a time value when range selection is enabled. (default: true) | No |
showTodayButton | Boolean | Deprecated. Adds a button that enables you to select the current date. (default: true) | No |
hideTodayButton | Boolean | Hides the button used to select the current date. (default: false) | No |
fromDate | Date | Sets the value of the start date for the date range. The value must be smaller than or equal to the toDate. | Yes |
toDate | Date | Sets the value of the end date for the date range. The value must be larger than or equal to the fromDate. | Yes |
fromFieldLabel | String | Specifies the label to display for the start date field | No |
toFieldLabel | String | Specifies the label to display for the end date field | No |
fromAndToFieldsHintText | String | Specifies the hint text to display within the start and end date fields. | No |
iconWidth | String | Sets a fixed width for the icon (both iconWidth and iconHeight should be set, otherwise the icon default size is set) | No |
iconHeight | String | Sets a fixed height for the icon (both iconWidth and iconHeight should be set, otherwise the icon default size is set) | No |
extraValidation | Function | Custom client validation function. This is invoked with the text component itself as parameter, so that it can use any ptcs-textarea property for custom validation. Can return true (= valid), false (= invalid), or undefined (ignore validation) |
|
externalValidity | String | List validity as determined externally (server-side). Value: undefined , "unvalidated", "invalid", or "valid" |
|
hideValidationCriteria | Boolean | Don't show validation criteria in unvalidated state? | |
hideValidationError | Boolean | Don't show validation error state? | |
hideValidationSuccess | Boolean | Don't show validation success state? | |
required | Boolean | Validation criterion: Must the list have a selection? | |
min | Date | Validation criterion: Minimal possible date | |
max | Date | Validation criterion: Maximal possible date | |
validationCriteria | String | The validation details message | |
validationCriteriaIcon | String | Icon for criteria state (unvalidated). Default: cds:icon_info |
|
validationErrorIcon | String | Icon for error state (invalid). Default: cds:icon_error |
|
validationMessage | String | The validation (title) message | |
validationSuccessDetails | String | The validation success details message | |
validationSuccessIcon | String | Icon for success state (valid). Default: cds:icon_success |
|
validationSuccessMessage | String | The validation success (title) message. Default: "Success" |
Events¶
Name | Data | Description |
---|---|---|
range-updated | Event that triggers when the start date or end date value is modified | |
calendar-date-changed | { value: date } | The generated date as a string in specified format |
{ value: closeCalendar} | Boolean |
States¶
Attribute | Description | Part |
---|---|---|
date | The actual date data | :host, date-field |
disabled | Date picker or calendar state | :host, date-field, calendar |
hidden | Indicates whether the date picker calendar is open. | calendar |
label | The date picker label | :host, label |
label-alignment | The horizontal alignment of the label | :host |
no-label | Is True when there is no label | label |
Methods¶
Styling¶
Parts¶
The closed date time picker is a text field with a calendar icon. In the text field, you can specify hint text or display the date and time. A clear button is displayed when the picker shows a date or time selection.
Note: The date picker has an optional label.
Part | Description |
---|---|
label-container | The container panel of the label above the date picker |
label | The label above the date picker |
date-field | The container for the current timestamp or hint text |
icon | The calendar icon |
hint-text | The text prompt that is displayed to select a date and time |
text-value | The generated date and time in specified format |
clear-button | The button to clear a generated date and time string, reverting the contents to the hint text |
The following figure shows the different part of the component when the picker is closed:
The opened date time picker displays date and time selectors with the following parts:
Part | Description |
---|---|
calendar | The container panel of the calendar drop-down in the date picker |
datepicker-container | The calendar container panel |
header | The top part of the date picker, with navigation button for previous month, month dropdown, year dropdown, and navigation button for next month |
prev-month-button | The back arrow |
month-dropdown | The month drop-down selector |
year-dropdown | The year drop-down selector |
next-month-button | The forward arrow |
weekdays | The weekdays container panel |
weekday | A single weekday |
days | The day date container panel |
day | A single day |
dot | A dot highlight below a day's date, generated via property daysContaingAnyData |
time | The time selector container |
hour-dropdown | The hours drop-down selector |
minute-dropdown | The minutes drop-down selector |
second-dropdown | The seconds drop-down selector |
footer | The lower panel container for the buttons Done and Today |
apply-button | The Done button |
today-button | The Today button |
The following parts are added when the date-range-selection option is enabled:
Part | Description |
---|---|
range-inputs | The container for the current timestamp or hint text |
date-field-from | The container for the current 'from' timestamp |
date-field-to | The container for the current 'to' timestamp |
The following figure shows the different parts of the component when the picker is open: