@progress/kendo-angular-dateinputs 17.0.0-develop.9 → 17.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/calendar/calendar.component.d.ts +1 -1
- package/calendar/footer.component.d.ts +1 -1
- package/calendar/for.directive.d.ts +1 -1
- package/calendar/header.component.d.ts +1 -1
- package/calendar/horizontal-view-list.component.d.ts +1 -1
- package/calendar/localization/calendar-messages.d.ts +1 -1
- package/calendar/localization/multiview-calendar-messages.d.ts +1 -1
- package/calendar/models/orientation.d.ts +1 -1
- package/calendar/models/selection-range-end.type.d.ts +1 -1
- package/calendar/models/selection.d.ts +1 -1
- package/calendar/models/type.d.ts +1 -1
- package/calendar/models/view.type.d.ts +1 -1
- package/calendar/multiview-calendar.component.d.ts +1 -1
- package/calendar/navigation.component.d.ts +1 -1
- package/calendar/view-list.component.d.ts +1 -1
- package/calendar/view.component.d.ts +1 -1
- package/common/models/fillmode.d.ts +1 -1
- package/common/models/rounded.d.ts +1 -1
- package/common/models/size.d.ts +1 -1
- package/common/models/week-days-format.d.ts +1 -1
- package/dateinput/dateinput.component.d.ts +2 -2
- package/dateinput/localization/messages.d.ts +1 -1
- package/dateinput/models/format-placeholder.model.d.ts +1 -1
- package/datepicker/datepicker.component.d.ts +1 -1
- package/datepicker/localization/messages.d.ts +1 -1
- package/daterange/auto-correct-on.type.d.ts +1 -1
- package/daterange/date-range-end-input.directive.d.ts +1 -1
- package/daterange/date-range-popup.component.d.ts +86 -2
- package/daterange/date-range-selection.directive.d.ts +1 -1
- package/daterange/date-range-start-input.directive.d.ts +1 -1
- package/daterange/date-range.component.d.ts +1 -1
- package/daterange/localization/messages.d.ts +1 -1
- package/datetimepicker/datetimepicker.component.d.ts +1 -1
- package/datetimepicker/localization/messages.d.ts +1 -1
- package/datetimepicker/models/active-tab.type.d.ts +1 -1
- package/{esm2020 → esm2022}/calendar/calendar.component.mjs +277 -167
- package/{esm2020 → esm2022}/calendar/calendar.module.mjs +14 -14
- package/{esm2020 → esm2022}/calendar/calendars.module.mjs +14 -14
- package/{esm2020 → esm2022}/calendar/footer.component.mjs +10 -6
- package/{esm2020 → esm2022}/calendar/for.directive.mjs +13 -4
- package/{esm2020 → esm2022}/calendar/header.component.mjs +46 -29
- package/{esm2020 → esm2022}/calendar/horizontal-view-list.component.mjs +63 -40
- package/{esm2020 → esm2022}/calendar/localization/calendar-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/calendar/localization/calendar-localized-messages.directive.mjs +9 -8
- package/{esm2020/calendar/localization/multiview-calendar-messages.mjs → esm2022/calendar/localization/calendar-messages.mjs} +21 -5
- package/{esm2020 → esm2022}/calendar/localization/multiview-calendar-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/calendar/localization/multiview-calendar-localized-messages.directive.mjs +9 -8
- package/esm2022/calendar/localization/multiview-calendar-messages.mjs +45 -0
- package/{esm2020 → esm2022}/calendar/multiview-calendar.component.mjs +300 -212
- package/{esm2020 → esm2022}/calendar/multiview-calendar.module.mjs +11 -11
- package/{esm2020 → esm2022}/calendar/navigation.component.mjs +34 -15
- package/{esm2020 → esm2022}/calendar/services/bus-view.service.mjs +8 -6
- package/{esm2020 → esm2022}/calendar/services/century-view.service.mjs +15 -17
- package/{esm2020 → esm2022}/calendar/services/decade-view.service.mjs +15 -17
- package/{esm2020 → esm2022}/calendar/services/disabled-dates.service.mjs +12 -14
- package/{esm2020 → esm2022}/calendar/services/dom.service.mjs +21 -3
- package/{esm2020 → esm2022}/calendar/services/month-view.service.mjs +16 -15
- package/{esm2020 → esm2022}/calendar/services/navigation.service.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/services/scroll-sync.service.mjs +11 -3
- package/{esm2020 → esm2022}/calendar/services/selection.service.mjs +5 -3
- package/{esm2020 → esm2022}/calendar/services/weeknames.service.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/services/year-view.service.mjs +16 -15
- package/{esm2020 → esm2022}/calendar/templates/cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/century-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/decade-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/footer-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/header-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/header-title-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/month-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/navigation-item-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/weeknumber-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/templates/year-cell-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/calendar/view-list.component.mjs +68 -37
- package/{esm2020 → esm2022}/calendar/view.component.mjs +50 -24
- package/{esm2020 → esm2022}/common/picker.service.mjs +7 -6
- package/{esm2020 → esm2022}/dateinput/dateinput.component.mjs +282 -231
- package/{esm2020 → esm2022}/dateinput/dateinput.module.mjs +6 -6
- package/{esm2020 → esm2022}/dateinput/localization/dateinput-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/dateinput/localization/dateinput-localized-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/dateinput/localization/messages.mjs +15 -3
- package/{esm2020 → esm2022}/dateinputs.module.mjs +22 -22
- package/{esm2020 → esm2022}/datepicker/datepicker.component.mjs +403 -282
- package/{esm2020 → esm2022}/datepicker/datepicker.module.mjs +16 -16
- package/{esm2020 → esm2022}/datepicker/localization/datepicker-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/datepicker/localization/datepicker-localized-messages.directive.mjs +9 -8
- package/esm2022/datepicker/localization/messages.mjs +57 -0
- package/{esm2020 → esm2022}/daterange/date-range-end-input.directive.mjs +38 -28
- package/{esm2020 → esm2022}/daterange/date-range-input.mjs +19 -13
- package/{esm2020 → esm2022}/daterange/date-range-popup-template.directive.mjs +4 -3
- package/{esm2020 → esm2022}/daterange/date-range-popup.component.mjs +324 -87
- package/{esm2020 → esm2022}/daterange/date-range-selection.directive.mjs +41 -36
- package/{esm2020 → esm2022}/daterange/date-range-start-input.directive.mjs +40 -29
- package/{esm2020 → esm2022}/daterange/date-range.component.mjs +31 -14
- package/{esm2020 → esm2022}/daterange/date-range.module.mjs +16 -16
- package/{esm2020 → esm2022}/daterange/date-range.service.mjs +34 -33
- package/{esm2020 → esm2022}/daterange/localization/daterange-popup-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/daterange/localization/daterange-popup-localized-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/daterange/localization/messages.mjs +19 -3
- package/{esm2020 → esm2022}/datetimepicker/datetimepicker.component.mjs +390 -292
- package/{esm2020 → esm2022}/datetimepicker/datetimepicker.module.mjs +22 -22
- package/{esm2020 → esm2022}/datetimepicker/localization/datetimepicker-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/datetimepicker/localization/localized-messages.directive.mjs +9 -8
- package/esm2022/datetimepicker/localization/messages.mjs +147 -0
- package/{esm2020 → esm2022}/index.mjs +0 -1
- package/{esm2020 → esm2022}/package-metadata.mjs +2 -2
- package/{esm2020 → esm2022}/preventable-event.mjs +2 -3
- package/esm2022/timepicker/localization/messages.mjs +99 -0
- package/{esm2020 → esm2022}/timepicker/localization/timepicker-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/timepicker/localization/timepicker-localized-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/timepicker/localization/timeselector-custom-messages.component.mjs +9 -8
- package/{esm2020 → esm2022}/timepicker/localization/timeselector-localized-messages.directive.mjs +9 -8
- package/{esm2020 → esm2022}/timepicker/services/dayperiod.service.mjs +7 -3
- package/{esm2020 → esm2022}/timepicker/services/dom.service.mjs +7 -3
- package/{esm2020 → esm2022}/timepicker/services/hours.service.mjs +10 -5
- package/{esm2020 → esm2022}/timepicker/services/milliseconds.service.mjs +9 -4
- package/{esm2020 → esm2022}/timepicker/services/minutes.service.mjs +9 -4
- package/{esm2020 → esm2022}/timepicker/services/seconds.service.mjs +9 -4
- package/{esm2020 → esm2022}/timepicker/timelist.component.mjs +45 -27
- package/{esm2020 → esm2022}/timepicker/timepicker.component.mjs +301 -219
- package/{esm2020 → esm2022}/timepicker/timepicker.module.mjs +14 -14
- package/{esm2020 → esm2022}/timepicker/timeselector.component.mjs +96 -73
- package/{esm2020 → esm2022}/virtualization/services/row-height.service.mjs +5 -2
- package/{esm2020 → esm2022}/virtualization/services/scroller.service.mjs +14 -3
- package/{esm2020 → esm2022}/virtualization/virtualization.component.mjs +42 -28
- package/{fesm2020 → fesm2022}/progress-kendo-angular-dateinputs.mjs +3758 -2455
- package/index.d.ts +0 -1
- package/package.json +20 -26
- package/schematics/ngAdd/index.js +1 -1
- package/timepicker/localization/messages.d.ts +1 -1
- package/timepicker/timelist.component.d.ts +1 -1
- package/timepicker/timepicker.component.d.ts +2 -1
- package/timepicker/timeselector.component.d.ts +1 -1
- package/util.d.ts +1 -1
- package/virtualization/services/scroller.service.d.ts +2 -2
- package/virtualization/virtualization.component.d.ts +1 -1
- package/common/adaptive.module.d.ts +0 -18
- package/esm2020/calendar/localization/calendar-messages.mjs +0 -29
- package/esm2020/common/adaptive.module.mjs +0 -44
- package/esm2020/datepicker/localization/messages.mjs +0 -33
- package/esm2020/datetimepicker/localization/messages.mjs +0 -63
- package/esm2020/timepicker/localization/messages.mjs +0 -47
- package/fesm2015/progress-kendo-angular-dateinputs.mjs +0 -19188
- /package/{esm2020 → esm2022}/calendar/models/cell-context.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/keydown.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/navigation-action.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/orientation.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/row-length-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/scrollable.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/selection-range-end.type.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/selection-range.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/selection.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/type.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/view-service.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/view.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/calendar/models/view.type.mjs +0 -0
- /package/{esm2020 → esm2022}/common/dom-queries.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/fillmode.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/rounded.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/size.mjs +0 -0
- /package/{esm2020 → esm2022}/common/models/week-days-format.mjs +0 -0
- /package/{esm2020 → esm2022}/common/utils.mjs +0 -0
- /package/{esm2020 → esm2022}/dateinput/arrow.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/dateinput/models/format-placeholder.model.mjs +0 -0
- /package/{esm2020 → esm2022}/dateinput/models/format-settings.model.mjs +0 -0
- /package/{esm2020 → esm2022}/dateinput/models/incremental-steps.model.mjs +0 -0
- /package/{esm2020 → esm2022}/daterange/auto-correct-on.type.mjs +0 -0
- /package/{esm2020 → esm2022}/datetimepicker/models/active-tab.type.mjs +0 -0
- /package/{esm2020 → esm2022}/defaults.mjs +0 -0
- /package/{esm2020 → esm2022}/directives.mjs +0 -0
- /package/{esm2020 → esm2022}/popup-settings.model.mjs +0 -0
- /package/{esm2020 → esm2022}/progress-kendo-angular-dateinputs.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/models/incremental-steps.model.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/models/list-item.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/models/list-service-settings.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/models/list-service.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/models/time-part.default.mjs +0 -0
- /package/{esm2020 → esm2022}/timepicker/util.mjs +0 -0
- /package/{esm2020 → esm2022}/util.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/disabled-date.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/disabled-dates-range.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/incomplete-date.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/max.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/min.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/validators/time-range.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/virtualization/models/scrollable.interface.mjs +0 -0
|
@@ -67,261 +67,38 @@ const TIME_TAB_BUTTON_SELECTOR = '.k-button.k-group-end';
|
|
|
67
67
|
* Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
|
|
68
68
|
*/
|
|
69
69
|
export class DateTimePickerComponent extends MultiTabStop {
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
*/
|
|
93
|
-
this.hostClasses = true;
|
|
94
|
-
/**
|
|
95
|
-
* Sets the format of the displayed Calendar week days' names.
|
|
96
|
-
* @default 'short'
|
|
97
|
-
*/
|
|
98
|
-
this.weekDaysFormat = "short";
|
|
99
|
-
/**
|
|
100
|
-
* The maximum year to assume to be from the current century when typing two-digit year value
|
|
101
|
-
* ([see example]({% slug formats_datetimepicker %}#toc-two-digit-year-format)).
|
|
102
|
-
*
|
|
103
|
-
* The default value is 68, indicating that typing any value less than 69
|
|
104
|
-
* will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
|
|
105
|
-
*/
|
|
106
|
-
this.twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
|
|
107
|
-
/**
|
|
108
|
-
* Sets the title of the input element of the DateTimePicker and the title text rendered
|
|
109
|
-
* in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
110
|
-
*/
|
|
111
|
-
this.title = '';
|
|
112
|
-
/**
|
|
113
|
-
* Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
|
|
114
|
-
* ([see example]({% slug disabled_datetimepicker %})).
|
|
115
|
-
* To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datetimepicker#toc-managing-the-datetimepicker-disabled-state-in-reactive-forms).
|
|
116
|
-
*/
|
|
117
|
-
this.disabled = false;
|
|
118
|
-
/**
|
|
119
|
-
* Sets the read-only state of the DateTimePicker
|
|
120
|
-
* ([see example]({% slug readonly_datetimepicker %}#toc-read-only-datetimepicker)).
|
|
121
|
-
*
|
|
122
|
-
* @default false
|
|
123
|
-
*/
|
|
124
|
-
this.readonly = false;
|
|
125
|
-
/**
|
|
126
|
-
* Sets the read-only state of the DateTimePicker input field
|
|
127
|
-
* ([see example]({% slug readonly_datetimepicker %}#toc-read-only-input)).
|
|
128
|
-
*
|
|
129
|
-
* > Note that if you set the [`readonly`]({% slug api_dateinputs_datetimepickercomponent %}#toc-readonly) property value to `true`,
|
|
130
|
-
* the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
|
|
131
|
-
*/
|
|
132
|
-
this.readOnlyInput = false;
|
|
133
|
-
/**
|
|
134
|
-
* Determines whether to display the **Cancel** button in the popup
|
|
135
|
-
* ([see example]({% slug datetimepicker_popup_options %}#toc-toggling-the-cancel-button)).
|
|
136
|
-
*/
|
|
137
|
-
this.cancelButton = true;
|
|
138
|
-
/**
|
|
139
|
-
* Configures the incremental steps of the DateInput and the popup component of the TimePicker
|
|
140
|
-
* ([see example]({% slug incrementalsteps_datetimepicker %})).
|
|
141
|
-
*/
|
|
142
|
-
this.steps = {};
|
|
143
|
-
/**
|
|
144
|
-
* Specifies the Calendar type.
|
|
145
|
-
*
|
|
146
|
-
* The possible values are:
|
|
147
|
-
* - `infinite` (default)
|
|
148
|
-
* - `classic`
|
|
149
|
-
*
|
|
150
|
-
*/
|
|
151
|
-
this.calendarType = 'infinite';
|
|
152
|
-
/**
|
|
153
|
-
* Determines whether to enable animation when navigating to previous/next Calendar view.
|
|
154
|
-
* Applies to the [`classic`]({% slug api_dateinputs_datetimepickercomponent %}#toc-calendartype) Calendar only.
|
|
155
|
-
*
|
|
156
|
-
* > This feature uses the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API). In order to run the animation in browsers that do not support it, you need the `web-animations-js` polyfill.
|
|
157
|
-
*
|
|
158
|
-
* @default false
|
|
159
|
-
*/
|
|
160
|
-
this.animateCalendarNavigation = false;
|
|
161
|
-
/**
|
|
162
|
-
* Determines whether to display a week number column in the `month` view of the popup Calendar
|
|
163
|
-
* ([see example]({% slug datetimepicker_calendar_options %}#toc-week-number-column)).
|
|
164
|
-
*/
|
|
165
|
-
this.weekNumber = false;
|
|
166
|
-
/**
|
|
167
|
-
* Determines whether the built-in min or max validators are enforced when validating a form
|
|
168
|
-
* ([see example](slug:dateranges_datetimepicker)).
|
|
169
|
-
*/
|
|
170
|
-
this.rangeValidation = true;
|
|
171
|
-
/**
|
|
172
|
-
* Determines whether the built-in validator for disabled
|
|
173
|
-
* date ranges is enforced when validating a form
|
|
174
|
-
* ([see example](slug:disabled_dates_datetimepicker)).
|
|
175
|
-
*/
|
|
176
|
-
this.disabledDatesValidation = true;
|
|
177
|
-
/**
|
|
178
|
-
* Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
|
|
179
|
-
*/
|
|
180
|
-
this.incompleteDateValidation = false;
|
|
181
|
-
/**
|
|
182
|
-
* Determines whether to autocorrect invalid segments automatically.
|
|
183
|
-
*
|
|
184
|
-
* @default true
|
|
185
|
-
*/
|
|
186
|
-
this.autoCorrectParts = true;
|
|
187
|
-
/**
|
|
188
|
-
* Determines whether to automatically move to the next segment after the user completes the current one.
|
|
189
|
-
*
|
|
190
|
-
* @default true
|
|
191
|
-
*/
|
|
192
|
-
this.autoSwitchParts = true;
|
|
193
|
-
/**
|
|
194
|
-
* A string array representing custom keys, which will move the focus to the next date format segment.
|
|
195
|
-
*/
|
|
196
|
-
this.autoSwitchKeys = [];
|
|
197
|
-
/**
|
|
198
|
-
* Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
|
|
199
|
-
*
|
|
200
|
-
* @default true
|
|
201
|
-
*/
|
|
202
|
-
this.enableMouseWheel = true;
|
|
203
|
-
/**
|
|
204
|
-
* Determines if the users should see a blinking caret inside the Date Input when possible.
|
|
205
|
-
*
|
|
206
|
-
* @default false
|
|
207
|
-
*/
|
|
208
|
-
this.allowCaretMode = false;
|
|
209
|
-
/**
|
|
210
|
-
* If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
|
|
211
|
-
* Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
|
|
212
|
-
* @default false
|
|
213
|
-
*/
|
|
214
|
-
this.clearButton = false;
|
|
215
|
-
/**
|
|
216
|
-
* When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
|
|
217
|
-
*
|
|
218
|
-
* @default false
|
|
219
|
-
*/
|
|
220
|
-
this.autoFill = false;
|
|
221
|
-
/**
|
|
222
|
-
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
223
|
-
*/
|
|
224
|
-
this.adaptiveMode = 'none';
|
|
225
|
-
/**
|
|
226
|
-
* Fires each time the user selects a new value
|
|
227
|
-
* ([see example](slug:events_datetimepicker)).
|
|
228
|
-
*/
|
|
229
|
-
this.valueChange = new EventEmitter();
|
|
230
|
-
/**
|
|
231
|
-
* Fires each time the popup is about to open
|
|
232
|
-
* ([see example](slug:events_datetimepicker)).
|
|
233
|
-
* This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain closed.
|
|
234
|
-
*/
|
|
235
|
-
this.open = new EventEmitter();
|
|
236
|
-
/**
|
|
237
|
-
* Fires each time the popup is about to close
|
|
238
|
-
* ([see example](slug:events_datetimepicker)).
|
|
239
|
-
* This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain open.
|
|
240
|
-
*/
|
|
241
|
-
this.close = new EventEmitter();
|
|
242
|
-
/**
|
|
243
|
-
* Fires each time the user focuses the component
|
|
244
|
-
* ([see example](slug:events_datetimepicker)).
|
|
245
|
-
*/
|
|
246
|
-
this.onFocus = new EventEmitter();
|
|
247
|
-
/**
|
|
248
|
-
* Fires each time the user blurs the component
|
|
249
|
-
* ([see example](slug:events_datetimepicker)).
|
|
250
|
-
*/
|
|
251
|
-
this.onBlur = new EventEmitter();
|
|
252
|
-
/**
|
|
253
|
-
* @hidden
|
|
254
|
-
*/
|
|
255
|
-
this.escape = new EventEmitter();
|
|
256
|
-
/**
|
|
257
|
-
* @hidden
|
|
258
|
-
*
|
|
259
|
-
* Controls whether the Calendar or the TimeSelector will be displayed.
|
|
260
|
-
*/
|
|
261
|
-
this.activeTab = DEFAULT_ACTIVE_TAB;
|
|
262
|
-
/**
|
|
263
|
-
* @hidden
|
|
264
|
-
*
|
|
265
|
-
* Specifies the stripped time-related format that is used in the TimeSelector.
|
|
266
|
-
* Updates each time the `format` property value changes.
|
|
267
|
-
*/
|
|
268
|
-
this.timeSelectorFormat = DEFAULT_TIMESELECTOR_FORMAT;
|
|
269
|
-
/**
|
|
270
|
-
* @hidden
|
|
271
|
-
*/
|
|
272
|
-
this.timeSelectorMin = cloneDate(MIN_TIME);
|
|
273
|
-
/**
|
|
274
|
-
* @hidden
|
|
275
|
-
*/
|
|
276
|
-
this.timeSelectorMax = cloneDate(MAX_TIME);
|
|
277
|
-
/**
|
|
278
|
-
* @hidden
|
|
279
|
-
*/
|
|
280
|
-
this.calendarValue = null;
|
|
281
|
-
/**
|
|
282
|
-
* @hidden
|
|
283
|
-
*/
|
|
284
|
-
this.calendarMin = cloneDate(MIN_DATE);
|
|
285
|
-
/**
|
|
286
|
-
* @hidden
|
|
287
|
-
*/
|
|
288
|
-
this.calendarMax = lastMillisecondOfDate(MAX_DATE);
|
|
289
|
-
/**
|
|
290
|
-
* @hidden
|
|
291
|
-
*/
|
|
292
|
-
this.xIcon = xIcon;
|
|
293
|
-
/**
|
|
294
|
-
* Toggles the visibility of the Calendar footer.
|
|
295
|
-
* @default false
|
|
296
|
-
*/
|
|
297
|
-
this.footer = false;
|
|
298
|
-
this._popupSettings = { animate: true };
|
|
299
|
-
this._value = null;
|
|
300
|
-
this._format = DEFAULT_DATEINPUT_FORMAT;
|
|
301
|
-
this._tabindex = 0;
|
|
302
|
-
this._defaultTab = DEFAULT_ACTIVE_TAB;
|
|
303
|
-
this._min = mergeDateAndTime(MIN_DATE, MIN_TIME);
|
|
304
|
-
this._max = mergeDateAndTime(MAX_DATE, MAX_TIME);
|
|
305
|
-
this._isActive = false;
|
|
306
|
-
this.onControlTouched = noop;
|
|
307
|
-
this.onControlChange = noop;
|
|
308
|
-
this.onValidatorChange = noop;
|
|
309
|
-
this.minValidateFn = noop;
|
|
310
|
-
this.maxValidateFn = noop;
|
|
311
|
-
this.disabledDatesValidateFn = noop;
|
|
312
|
-
this.incompleteValidator = noop;
|
|
313
|
-
this.subscriptions = new Subscription();
|
|
314
|
-
this._size = DEFAULT_SIZE;
|
|
315
|
-
this._rounded = DEFAULT_ROUNDED;
|
|
316
|
-
this._fillMode = DEFAULT_FILL_MODE;
|
|
317
|
-
validatePackage(packageMetadata);
|
|
318
|
-
}
|
|
70
|
+
popupService;
|
|
71
|
+
intl;
|
|
72
|
+
cdr;
|
|
73
|
+
pickerService;
|
|
74
|
+
ngZone;
|
|
75
|
+
wrapper;
|
|
76
|
+
localization;
|
|
77
|
+
disabledDatesService;
|
|
78
|
+
renderer;
|
|
79
|
+
injector;
|
|
80
|
+
/**
|
|
81
|
+
* @hidden
|
|
82
|
+
*/
|
|
83
|
+
calendarIcon = calendarIcon;
|
|
84
|
+
/**
|
|
85
|
+
* @hidden
|
|
86
|
+
*/
|
|
87
|
+
clockIcon = clockIcon;
|
|
88
|
+
/**
|
|
89
|
+
* @hidden
|
|
90
|
+
*/
|
|
91
|
+
hostClasses = true;
|
|
319
92
|
/**
|
|
320
93
|
* @hidden
|
|
321
94
|
*/
|
|
322
95
|
get disabledClass() {
|
|
323
96
|
return this.disabled;
|
|
324
97
|
}
|
|
98
|
+
/**
|
|
99
|
+
* @hidden
|
|
100
|
+
*/
|
|
101
|
+
toggleButton;
|
|
325
102
|
/**
|
|
326
103
|
* @hidden
|
|
327
104
|
*/
|
|
@@ -340,6 +117,22 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
340
117
|
get timeSelector() {
|
|
341
118
|
return this.pickerService.timeSelector;
|
|
342
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* @hidden
|
|
122
|
+
*/
|
|
123
|
+
focusableId;
|
|
124
|
+
/**
|
|
125
|
+
* Sets the format of the displayed Calendar week days' names.
|
|
126
|
+
* @default 'short'
|
|
127
|
+
*/
|
|
128
|
+
weekDaysFormat = "short";
|
|
129
|
+
/**
|
|
130
|
+
* Displays the days that fall out of the current month in the Calendar ([see example]({% slug datetimepicker_calendar_options %}#toc-displaying-other-month-days)).
|
|
131
|
+
* The default values per Calendar type are:
|
|
132
|
+
* - `infinite` - false
|
|
133
|
+
* - `classic` - true
|
|
134
|
+
*/
|
|
135
|
+
showOtherMonthDays;
|
|
343
136
|
/**
|
|
344
137
|
* Specifies the value of the DateTimePicker component.
|
|
345
138
|
*
|
|
@@ -372,6 +165,14 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
372
165
|
get format() {
|
|
373
166
|
return this._format;
|
|
374
167
|
}
|
|
168
|
+
/**
|
|
169
|
+
* The maximum year to assume to be from the current century when typing two-digit year value
|
|
170
|
+
* ([see example]({% slug formats_datetimepicker %}#toc-two-digit-year-format)).
|
|
171
|
+
*
|
|
172
|
+
* The default value is 68, indicating that typing any value less than 69
|
|
173
|
+
* will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
|
|
174
|
+
*/
|
|
175
|
+
twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
|
|
375
176
|
/**
|
|
376
177
|
* Specifies the [`tabindex`](https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/tabindex) of the DateTimePicker.
|
|
377
178
|
*/
|
|
@@ -409,6 +210,11 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
409
210
|
get popupSettings() {
|
|
410
211
|
return this._popupSettings;
|
|
411
212
|
}
|
|
213
|
+
/**
|
|
214
|
+
* Sets the title of the input element of the DateTimePicker and the title text rendered
|
|
215
|
+
* in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
216
|
+
*/
|
|
217
|
+
title = '';
|
|
412
218
|
/**
|
|
413
219
|
* Sets the subtitle text rendered in the header of the popup(action sheet).
|
|
414
220
|
* Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
@@ -419,6 +225,76 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
419
225
|
get subtitle() {
|
|
420
226
|
return this._subtitle || this.placeholder;
|
|
421
227
|
}
|
|
228
|
+
_subtitle;
|
|
229
|
+
/**
|
|
230
|
+
* Sets or gets the `disabled` property of the DateTimePicker and determines whether the component is active
|
|
231
|
+
* ([see example]({% slug disabled_datetimepicker %})).
|
|
232
|
+
* To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datetimepicker#toc-managing-the-datetimepicker-disabled-state-in-reactive-forms).
|
|
233
|
+
*/
|
|
234
|
+
disabled = false;
|
|
235
|
+
/**
|
|
236
|
+
* Sets the read-only state of the DateTimePicker
|
|
237
|
+
* ([see example]({% slug readonly_datetimepicker %}#toc-read-only-datetimepicker)).
|
|
238
|
+
*
|
|
239
|
+
* @default false
|
|
240
|
+
*/
|
|
241
|
+
readonly = false;
|
|
242
|
+
/**
|
|
243
|
+
* Sets the read-only state of the DateTimePicker input field
|
|
244
|
+
* ([see example]({% slug readonly_datetimepicker %}#toc-read-only-input)).
|
|
245
|
+
*
|
|
246
|
+
* > Note that if you set the [`readonly`]({% slug api_dateinputs_datetimepickercomponent %}#toc-readonly) property value to `true`,
|
|
247
|
+
* the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
|
|
248
|
+
*/
|
|
249
|
+
readOnlyInput = false;
|
|
250
|
+
/**
|
|
251
|
+
* Determines whether to display the **Cancel** button in the popup
|
|
252
|
+
* ([see example]({% slug datetimepicker_popup_options %}#toc-toggling-the-cancel-button)).
|
|
253
|
+
*/
|
|
254
|
+
cancelButton = true;
|
|
255
|
+
/**
|
|
256
|
+
* Defines the descriptions of the format sections in the input field
|
|
257
|
+
* ([see example]({% slug placeholders_datetimepicker %}#toc-format-sections-description)).
|
|
258
|
+
*/
|
|
259
|
+
formatPlaceholder;
|
|
260
|
+
/**
|
|
261
|
+
* Specifies the hint which is displayed by the DateTimePicker when its value is `null`
|
|
262
|
+
* ([see example]({% slug placeholders_datetimepicker %}#toc-text-hints)).
|
|
263
|
+
*/
|
|
264
|
+
placeholder;
|
|
265
|
+
/**
|
|
266
|
+
* Configures the incremental steps of the DateInput and the popup component of the TimePicker
|
|
267
|
+
* ([see example]({% slug incrementalsteps_datetimepicker %})).
|
|
268
|
+
*/
|
|
269
|
+
steps = {};
|
|
270
|
+
/**
|
|
271
|
+
* Specifies the focused date of the popup Calendar
|
|
272
|
+
* ([see example]({% slug datetimepicker_calendar_options %}#toc-focused-dates)).
|
|
273
|
+
*/
|
|
274
|
+
focusedDate;
|
|
275
|
+
/**
|
|
276
|
+
* Specifies the Calendar type.
|
|
277
|
+
*
|
|
278
|
+
* The possible values are:
|
|
279
|
+
* - `infinite` (default)
|
|
280
|
+
* - `classic`
|
|
281
|
+
*
|
|
282
|
+
*/
|
|
283
|
+
calendarType = 'infinite';
|
|
284
|
+
/**
|
|
285
|
+
* Determines whether to enable animation when navigating to previous/next Calendar view.
|
|
286
|
+
* Applies to the [`classic`]({% slug api_dateinputs_datetimepickercomponent %}#toc-calendartype) Calendar only.
|
|
287
|
+
*
|
|
288
|
+
* > This feature uses the [Web Animations API](https://developer.mozilla.org/en-US/docs/Web/API/Web_Animations_API). In order to run the animation in browsers that do not support it, you need the `web-animations-js` polyfill.
|
|
289
|
+
*
|
|
290
|
+
* @default false
|
|
291
|
+
*/
|
|
292
|
+
animateCalendarNavigation = false;
|
|
293
|
+
/**
|
|
294
|
+
* Determines whether to display a week number column in the `month` view of the popup Calendar
|
|
295
|
+
* ([see example]({% slug datetimepicker_calendar_options %}#toc-week-number-column)).
|
|
296
|
+
*/
|
|
297
|
+
weekNumber = false;
|
|
422
298
|
/**
|
|
423
299
|
* Specifies the smallest valid date.
|
|
424
300
|
* The Calendar will not display dates before this value.
|
|
@@ -447,6 +323,100 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
447
323
|
get max() {
|
|
448
324
|
return this._max;
|
|
449
325
|
}
|
|
326
|
+
/**
|
|
327
|
+
* Determines whether the built-in min or max validators are enforced when validating a form
|
|
328
|
+
* ([see example](slug:dateranges_datetimepicker)).
|
|
329
|
+
*/
|
|
330
|
+
rangeValidation = true;
|
|
331
|
+
/**
|
|
332
|
+
* Determines whether the built-in validator for disabled
|
|
333
|
+
* date ranges is enforced when validating a form
|
|
334
|
+
* ([see example](slug:disabled_dates_datetimepicker)).
|
|
335
|
+
*/
|
|
336
|
+
disabledDatesValidation = true;
|
|
337
|
+
/**
|
|
338
|
+
* Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
|
|
339
|
+
*/
|
|
340
|
+
incompleteDateValidation = false;
|
|
341
|
+
/**
|
|
342
|
+
* Determines whether to autocorrect invalid segments automatically.
|
|
343
|
+
*
|
|
344
|
+
* @default true
|
|
345
|
+
*/
|
|
346
|
+
autoCorrectParts = true;
|
|
347
|
+
/**
|
|
348
|
+
* Determines whether to automatically move to the next segment after the user completes the current one.
|
|
349
|
+
*
|
|
350
|
+
* @default true
|
|
351
|
+
*/
|
|
352
|
+
autoSwitchParts = true;
|
|
353
|
+
/**
|
|
354
|
+
* A string array representing custom keys, which will move the focus to the next date format segment.
|
|
355
|
+
*/
|
|
356
|
+
autoSwitchKeys = [];
|
|
357
|
+
/**
|
|
358
|
+
* Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
|
|
359
|
+
*
|
|
360
|
+
* @default true
|
|
361
|
+
*/
|
|
362
|
+
enableMouseWheel = true;
|
|
363
|
+
/**
|
|
364
|
+
* Determines if the users should see a blinking caret inside the Date Input when possible.
|
|
365
|
+
*
|
|
366
|
+
* @default false
|
|
367
|
+
*/
|
|
368
|
+
allowCaretMode = false;
|
|
369
|
+
/**
|
|
370
|
+
* If set to `true`, renders a clear button after the input text or DateTimePicker value has been changed.
|
|
371
|
+
* Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
|
|
372
|
+
* @default false
|
|
373
|
+
*/
|
|
374
|
+
clearButton = false;
|
|
375
|
+
/**
|
|
376
|
+
* When enabled, the DateTimePicker will autofill the rest of the date to the current date when the component loses focus.
|
|
377
|
+
*
|
|
378
|
+
* @default false
|
|
379
|
+
*/
|
|
380
|
+
autoFill = false;
|
|
381
|
+
/**
|
|
382
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
383
|
+
*/
|
|
384
|
+
adaptiveMode = 'none';
|
|
385
|
+
/**
|
|
386
|
+
* Sets the HTML attributes of the inner focusable input element. Attributes which are essential for certain component functionalities cannot be changed.
|
|
387
|
+
*/
|
|
388
|
+
inputAttributes;
|
|
389
|
+
/**
|
|
390
|
+
* Fires each time the user selects a new value
|
|
391
|
+
* ([see example](slug:events_datetimepicker)).
|
|
392
|
+
*/
|
|
393
|
+
valueChange = new EventEmitter();
|
|
394
|
+
/**
|
|
395
|
+
* Fires each time the popup is about to open
|
|
396
|
+
* ([see example](slug:events_datetimepicker)).
|
|
397
|
+
* This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain closed.
|
|
398
|
+
*/
|
|
399
|
+
open = new EventEmitter();
|
|
400
|
+
/**
|
|
401
|
+
* Fires each time the popup is about to close
|
|
402
|
+
* ([see example](slug:events_datetimepicker)).
|
|
403
|
+
* This event is preventable. If you cancel the event by setting `event.preventDefault()`, the popup will remain open.
|
|
404
|
+
*/
|
|
405
|
+
close = new EventEmitter();
|
|
406
|
+
/**
|
|
407
|
+
* Fires each time the user focuses the component
|
|
408
|
+
* ([see example](slug:events_datetimepicker)).
|
|
409
|
+
*/
|
|
410
|
+
onFocus = new EventEmitter();
|
|
411
|
+
/**
|
|
412
|
+
* Fires each time the user blurs the component
|
|
413
|
+
* ([see example](slug:events_datetimepicker)).
|
|
414
|
+
*/
|
|
415
|
+
onBlur = new EventEmitter();
|
|
416
|
+
/**
|
|
417
|
+
* @hidden
|
|
418
|
+
*/
|
|
419
|
+
escape = new EventEmitter();
|
|
450
420
|
/**
|
|
451
421
|
* Indicates whether the component is currently open. That is when the popup or actionSheet is open.
|
|
452
422
|
*/
|
|
@@ -609,18 +579,96 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
609
579
|
}
|
|
610
580
|
this.windowSize = windowSize();
|
|
611
581
|
}
|
|
582
|
+
/**
|
|
583
|
+
* @hidden
|
|
584
|
+
*
|
|
585
|
+
* Controls whether the Calendar or the TimeSelector will be displayed.
|
|
586
|
+
*/
|
|
587
|
+
activeTab = DEFAULT_ACTIVE_TAB;
|
|
588
|
+
/**
|
|
589
|
+
* @hidden
|
|
590
|
+
*
|
|
591
|
+
* Specifies the stripped time-related format that is used in the TimeSelector.
|
|
592
|
+
* Updates each time the `format` property value changes.
|
|
593
|
+
*/
|
|
594
|
+
timeSelectorFormat = DEFAULT_TIMESELECTOR_FORMAT;
|
|
595
|
+
/**
|
|
596
|
+
* @hidden
|
|
597
|
+
*/
|
|
598
|
+
timeSelectorMin = cloneDate(MIN_TIME);
|
|
599
|
+
/**
|
|
600
|
+
* @hidden
|
|
601
|
+
*/
|
|
602
|
+
timeSelectorMax = cloneDate(MAX_TIME);
|
|
603
|
+
/**
|
|
604
|
+
* @hidden
|
|
605
|
+
*/
|
|
606
|
+
calendarValue = null;
|
|
607
|
+
/**
|
|
608
|
+
* @hidden
|
|
609
|
+
*/
|
|
610
|
+
calendarMin = cloneDate(MIN_DATE);
|
|
611
|
+
/**
|
|
612
|
+
* @hidden
|
|
613
|
+
*/
|
|
614
|
+
calendarMax = lastMillisecondOfDate(MAX_DATE);
|
|
615
|
+
/**
|
|
616
|
+
* @hidden
|
|
617
|
+
*/
|
|
618
|
+
xIcon = xIcon;
|
|
619
|
+
/**
|
|
620
|
+
* @hidden
|
|
621
|
+
*/
|
|
622
|
+
cellTemplate;
|
|
623
|
+
/**
|
|
624
|
+
* @hidden
|
|
625
|
+
*/
|
|
626
|
+
monthCellTemplate;
|
|
627
|
+
/**
|
|
628
|
+
* @hidden
|
|
629
|
+
*/
|
|
630
|
+
yearCellTemplate;
|
|
631
|
+
/**
|
|
632
|
+
* @hidden
|
|
633
|
+
*/
|
|
634
|
+
decadeCellTemplate;
|
|
635
|
+
/**
|
|
636
|
+
* @hidden
|
|
637
|
+
*/
|
|
638
|
+
centuryCellTemplate;
|
|
639
|
+
/**
|
|
640
|
+
* @hidden
|
|
641
|
+
*/
|
|
642
|
+
weekNumberTemplate;
|
|
643
|
+
/**
|
|
644
|
+
* @hidden
|
|
645
|
+
*/
|
|
646
|
+
headerTitleTemplate;
|
|
647
|
+
/**
|
|
648
|
+
* @hidden
|
|
649
|
+
*/
|
|
650
|
+
headerTemplate;
|
|
612
651
|
/**
|
|
613
652
|
* @hidden
|
|
614
653
|
*/
|
|
615
654
|
set headerTemplateRef(template) {
|
|
616
655
|
this.headerTemplate = template;
|
|
617
656
|
}
|
|
657
|
+
/**
|
|
658
|
+
* @hidden
|
|
659
|
+
*/
|
|
660
|
+
footerTemplate;
|
|
618
661
|
/**
|
|
619
662
|
* @hidden
|
|
620
663
|
*/
|
|
621
664
|
set footerTemplateRef(template) {
|
|
622
665
|
this.footerTemplate = template;
|
|
623
666
|
}
|
|
667
|
+
/**
|
|
668
|
+
* Toggles the visibility of the Calendar footer.
|
|
669
|
+
* @default false
|
|
670
|
+
*/
|
|
671
|
+
footer = false;
|
|
624
672
|
get activeTabComponent() {
|
|
625
673
|
if (!this.isOpen) {
|
|
626
674
|
return;
|
|
@@ -637,6 +685,9 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
637
685
|
}
|
|
638
686
|
return appendTo === 'component' ? this.container : appendTo;
|
|
639
687
|
}
|
|
688
|
+
container;
|
|
689
|
+
popupTemplate;
|
|
690
|
+
actionSheet;
|
|
640
691
|
get popupUID() {
|
|
641
692
|
return this.calendar?.popupId;
|
|
642
693
|
}
|
|
@@ -657,10 +708,20 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
657
708
|
}
|
|
658
709
|
}
|
|
659
710
|
get dateTabButton() {
|
|
660
|
-
|
|
711
|
+
if (this.isAdaptive) {
|
|
712
|
+
return this.actionSheet.element.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
|
|
713
|
+
}
|
|
714
|
+
else {
|
|
715
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
|
|
716
|
+
}
|
|
661
717
|
}
|
|
662
718
|
get timeTabButton() {
|
|
663
|
-
|
|
719
|
+
if (this.isAdaptive) {
|
|
720
|
+
return this.actionSheet.element.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
|
|
721
|
+
}
|
|
722
|
+
else {
|
|
723
|
+
return this.popupRef?.popup.instance.container.nativeElement.querySelector(TIME_TAB_BUTTON_SELECTOR);
|
|
724
|
+
}
|
|
664
725
|
}
|
|
665
726
|
/**
|
|
666
727
|
* @hidden
|
|
@@ -675,6 +736,43 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
675
736
|
get isControlRequired() {
|
|
676
737
|
return isControlRequired(this.formControl);
|
|
677
738
|
}
|
|
739
|
+
popupRef;
|
|
740
|
+
_popupSettings = { animate: true };
|
|
741
|
+
_value = null;
|
|
742
|
+
_format = DEFAULT_DATEINPUT_FORMAT;
|
|
743
|
+
_tabindex = 0;
|
|
744
|
+
_defaultTab = DEFAULT_ACTIVE_TAB;
|
|
745
|
+
_min = mergeDateAndTime(MIN_DATE, MIN_TIME);
|
|
746
|
+
_max = mergeDateAndTime(MAX_DATE, MAX_TIME);
|
|
747
|
+
_disabledDates;
|
|
748
|
+
_isActive = false;
|
|
749
|
+
onControlTouched = noop;
|
|
750
|
+
onControlChange = noop;
|
|
751
|
+
onValidatorChange = noop;
|
|
752
|
+
minValidateFn = noop;
|
|
753
|
+
maxValidateFn = noop;
|
|
754
|
+
disabledDatesValidateFn = noop;
|
|
755
|
+
incompleteValidator = noop;
|
|
756
|
+
subscriptions = new Subscription();
|
|
757
|
+
ariaActiveDescendantSubscription;
|
|
758
|
+
_size = DEFAULT_SIZE;
|
|
759
|
+
_rounded = DEFAULT_ROUNDED;
|
|
760
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
761
|
+
windowSize;
|
|
762
|
+
constructor(popupService, intl, cdr, pickerService, ngZone, wrapper, localization, disabledDatesService, renderer, injector) {
|
|
763
|
+
super();
|
|
764
|
+
this.popupService = popupService;
|
|
765
|
+
this.intl = intl;
|
|
766
|
+
this.cdr = cdr;
|
|
767
|
+
this.pickerService = pickerService;
|
|
768
|
+
this.ngZone = ngZone;
|
|
769
|
+
this.wrapper = wrapper;
|
|
770
|
+
this.localization = localization;
|
|
771
|
+
this.disabledDatesService = disabledDatesService;
|
|
772
|
+
this.renderer = renderer;
|
|
773
|
+
this.injector = injector;
|
|
774
|
+
validatePackage(packageMetadata);
|
|
775
|
+
}
|
|
678
776
|
ngOnInit() {
|
|
679
777
|
this.subscriptions.add(this.pickerService.onFocus
|
|
680
778
|
// detect popup changes to disable the inactive view mark-up when the popup is open
|
|
@@ -1336,18 +1434,17 @@ export class DateTimePickerComponent extends MultiTabStop {
|
|
|
1336
1434
|
this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
|
|
1337
1435
|
}
|
|
1338
1436
|
}
|
|
1339
|
-
}
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
|
|
1348
|
-
|
|
1349
|
-
{
|
|
1350
|
-
], queries: [{ propertyName: "cellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "monthCellTemplate", first: true, predicate: MonthCellTemplateDirective, descendants: true }, { propertyName: "yearCellTemplate", first: true, predicate: YearCellTemplateDirective, descendants: true }, { propertyName: "decadeCellTemplate", first: true, predicate: DecadeCellTemplateDirective, descendants: true }, { propertyName: "centuryCellTemplate", first: true, predicate: CenturyCellTemplateDirective, descendants: true }, { propertyName: "weekNumberTemplate", first: true, predicate: WeekNumberCellTemplateDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: HeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datetimepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
1437
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1.PopupService }, { token: i2.IntlService }, { token: i0.ChangeDetectorRef }, { token: i3.PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: i4.LocalizationService }, { token: i5.DisabledDatesService }, { token: i0.Renderer2 }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
|
|
1438
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DateTimePickerComponent, isStandalone: true, selector: "kendo-datetimepicker", inputs: { focusableId: "focusableId", weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings", title: "title", subtitle: "subtitle", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", cancelButton: "cancelButton", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", steps: "steps", focusedDate: "focusedDate", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", weekNumber: "weekNumber", min: "min", max: "max", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", clearButton: "clearButton", autoFill: "autoFill", adaptiveMode: "adaptiveMode", inputAttributes: "inputAttributes", defaultTab: "defaultTab", size: "size", rounded: "rounded", fillMode: "fillMode", headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur", escape: "escape" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass", "class.k-readonly": "this.readonly" } }, providers: [
|
|
1439
|
+
PickerService,
|
|
1440
|
+
LocalizationService,
|
|
1441
|
+
DisabledDatesService,
|
|
1442
|
+
{ provide: L10N_PREFIX, useValue: 'kendo.datetimepicker' },
|
|
1443
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
|
|
1444
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DateTimePickerComponent), multi: true },
|
|
1445
|
+
{ provide: KendoInput, useExisting: forwardRef(() => DateTimePickerComponent) },
|
|
1446
|
+
{ provide: MultiTabStop, useExisting: forwardRef(() => DateTimePickerComponent) }
|
|
1447
|
+
], queries: [{ propertyName: "cellTemplate", first: true, predicate: CellTemplateDirective, descendants: true }, { propertyName: "monthCellTemplate", first: true, predicate: MonthCellTemplateDirective, descendants: true }, { propertyName: "yearCellTemplate", first: true, predicate: YearCellTemplateDirective, descendants: true }, { propertyName: "decadeCellTemplate", first: true, predicate: DecadeCellTemplateDirective, descendants: true }, { propertyName: "centuryCellTemplate", first: true, predicate: CenturyCellTemplateDirective, descendants: true }, { propertyName: "weekNumberTemplate", first: true, predicate: WeekNumberCellTemplateDirective, descendants: true }, { propertyName: "headerTitleTemplate", first: true, predicate: HeaderTitleTemplateDirective, descendants: true }, { propertyName: "headerTemplate", first: true, predicate: HeaderTemplateDirective, descendants: true }, { propertyName: "footerTemplate", first: true, predicate: FooterTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, read: TemplateRef, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datetimepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
1351
1448
|
<ng-container
|
|
1352
1449
|
kendoDateTimePickerLocalizedMessages
|
|
1353
1450
|
|
|
@@ -1531,6 +1628,18 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
1531
1628
|
<ng-container *ngTemplateOutlet="dateTimeTemplate"></ng-container>
|
|
1532
1629
|
</div>
|
|
1533
1630
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
1631
|
+
<button kendoButton
|
|
1632
|
+
*ngIf="cancelButton"
|
|
1633
|
+
class="k-time-cancel"
|
|
1634
|
+
type="button"
|
|
1635
|
+
(click)="handleCancel()"
|
|
1636
|
+
size="large"
|
|
1637
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
1638
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1639
|
+
>
|
|
1640
|
+
{{localization.get('cancel')}}
|
|
1641
|
+
</button>
|
|
1642
|
+
|
|
1534
1643
|
<button kendoButton
|
|
1535
1644
|
type="button"
|
|
1536
1645
|
class="k-time-accept"
|
|
@@ -1543,18 +1652,6 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
1543
1652
|
>
|
|
1544
1653
|
{{localization.get('accept')}}
|
|
1545
1654
|
</button>
|
|
1546
|
-
|
|
1547
|
-
<button kendoButton
|
|
1548
|
-
*ngIf="cancelButton"
|
|
1549
|
-
class="k-time-cancel"
|
|
1550
|
-
type="button"
|
|
1551
|
-
(click)="handleCancel()"
|
|
1552
|
-
size="large"
|
|
1553
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
1554
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1555
|
-
>
|
|
1556
|
-
{{localization.get('cancel')}}
|
|
1557
|
-
</button>
|
|
1558
1655
|
</div>
|
|
1559
1656
|
</ng-template>
|
|
1560
1657
|
</kendo-actionsheet>
|
|
@@ -1584,7 +1681,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
1584
1681
|
type="button"
|
|
1585
1682
|
class="k-button k-group-start"
|
|
1586
1683
|
[ngClass]="popupButtonsClasses()"
|
|
1587
|
-
[class.k-
|
|
1684
|
+
[class.k-selected]="activeTab === 'date'"
|
|
1588
1685
|
[attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
|
|
1589
1686
|
[attr.title]="localization.get('dateTabLabel')"
|
|
1590
1687
|
[attr.aria-label]="localization.get('dateTabLabel')"
|
|
@@ -1600,7 +1697,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
1600
1697
|
type="button"
|
|
1601
1698
|
class="k-button k-group-end"
|
|
1602
1699
|
[ngClass]="popupButtonsClasses()"
|
|
1603
|
-
[class.k-
|
|
1700
|
+
[class.k-selected]="activeTab === 'time'"
|
|
1604
1701
|
[attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
|
|
1605
1702
|
[attr.title]="localization.get('timeTabLabel')"
|
|
1606
1703
|
[attr.aria-label]="localization.get('timeTabLabel')"
|
|
@@ -1734,7 +1831,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0"
|
|
|
1734
1831
|
</div>
|
|
1735
1832
|
</ng-template>
|
|
1736
1833
|
`, isInline: true, dependencies: [{ kind: "directive", type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { kind: "component", type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "pickerType", "clearButton", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "isRequired", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "allowCaretMode", "autoFill", "incompleteDateValidation", "twoDigitYearMax", "enableMouseWheel", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode", "inputAttributes"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { kind: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass", "size"], exportAs: ["kendoIconWrapper"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { kind: "component", type: ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded", "titleId"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { kind: "directive", type: ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { kind: "component", type: ButtonComponent, selector: "button[kendoButton]", inputs: ["arrowIcon", "toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: CalendarComponent, selector: "kendo-calendar", inputs: ["showOtherMonthDays", "id", "focusedDate", "min", "max", "rangeValidation", "weekDaysFormat", "footer", "selection", "allowReverse", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "headerTemplate", "footerTemplate", "navigationItemTemplate", "size", "activeRangeEnd"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { kind: "component", type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { kind: "component", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart", "tabOutNow"], exportAs: ["kendo-timeselector"] }, { kind: "component", type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1737
|
-
|
|
1834
|
+
}
|
|
1835
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
1738
1836
|
type: Component,
|
|
1739
1837
|
args: [{
|
|
1740
1838
|
selector: 'kendo-datetimepicker',
|
|
@@ -1934,6 +2032,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1934
2032
|
<ng-container *ngTemplateOutlet="dateTimeTemplate"></ng-container>
|
|
1935
2033
|
</div>
|
|
1936
2034
|
<div class="k-actions k-actions-stretched k-actions-horizontal k-actionsheet-footer">
|
|
2035
|
+
<button kendoButton
|
|
2036
|
+
*ngIf="cancelButton"
|
|
2037
|
+
class="k-time-cancel"
|
|
2038
|
+
type="button"
|
|
2039
|
+
(click)="handleCancel()"
|
|
2040
|
+
size="large"
|
|
2041
|
+
[attr.title]="localization.get('cancelLabel')"
|
|
2042
|
+
[attr.aria-label]="localization.get('cancelLabel')"
|
|
2043
|
+
>
|
|
2044
|
+
{{localization.get('cancel')}}
|
|
2045
|
+
</button>
|
|
2046
|
+
|
|
1937
2047
|
<button kendoButton
|
|
1938
2048
|
type="button"
|
|
1939
2049
|
class="k-time-accept"
|
|
@@ -1946,18 +2056,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1946
2056
|
>
|
|
1947
2057
|
{{localization.get('accept')}}
|
|
1948
2058
|
</button>
|
|
1949
|
-
|
|
1950
|
-
<button kendoButton
|
|
1951
|
-
*ngIf="cancelButton"
|
|
1952
|
-
class="k-time-cancel"
|
|
1953
|
-
type="button"
|
|
1954
|
-
(click)="handleCancel()"
|
|
1955
|
-
size="large"
|
|
1956
|
-
[attr.title]="localization.get('cancelLabel')"
|
|
1957
|
-
[attr.aria-label]="localization.get('cancelLabel')"
|
|
1958
|
-
>
|
|
1959
|
-
{{localization.get('cancel')}}
|
|
1960
|
-
</button>
|
|
1961
2059
|
</div>
|
|
1962
2060
|
</ng-template>
|
|
1963
2061
|
</kendo-actionsheet>
|
|
@@ -1987,7 +2085,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
1987
2085
|
type="button"
|
|
1988
2086
|
class="k-button k-group-start"
|
|
1989
2087
|
[ngClass]="popupButtonsClasses()"
|
|
1990
|
-
[class.k-
|
|
2088
|
+
[class.k-selected]="activeTab === 'date'"
|
|
1991
2089
|
[attr.aria-pressed]="activeTab === 'date' ? 'true' : 'false'"
|
|
1992
2090
|
[attr.title]="localization.get('dateTabLabel')"
|
|
1993
2091
|
[attr.aria-label]="localization.get('dateTabLabel')"
|
|
@@ -2003,7 +2101,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.10", ngImpo
|
|
|
2003
2101
|
type="button"
|
|
2004
2102
|
class="k-button k-group-end"
|
|
2005
2103
|
[ngClass]="popupButtonsClasses()"
|
|
2006
|
-
[class.k-
|
|
2104
|
+
[class.k-selected]="activeTab === 'time'"
|
|
2007
2105
|
[attr.aria-pressed]="activeTab === 'time' ? 'true' : 'false'"
|
|
2008
2106
|
[attr.title]="localization.get('timeTabLabel')"
|
|
2009
2107
|
[attr.aria-label]="localization.get('timeTabLabel')"
|