@progress/kendo-angular-dateinputs 17.0.0-develop.4 → 17.0.0-develop.40
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/README.md +39 -124
- 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 +11 -7
- package/{esm2020 → esm2022}/calendar/for.directive.mjs +13 -4
- package/{esm2020 → esm2022}/calendar/header.component.mjs +47 -30
- 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 +404 -283
- 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 +325 -88
- 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 +391 -293
- 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 +302 -220
- 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 +3764 -2461
- package/index.d.ts +0 -1
- package/package.json +19 -25
- 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
|
@@ -57,332 +57,211 @@ const TWO_DIGIT_YEAR_MAX = 68;
|
|
|
57
57
|
* Represents the [Kendo UI DatePicker component for Angular](slug:overview_datepicker).
|
|
58
58
|
*/
|
|
59
59
|
export class DatePickerComponent extends MultiTabStop {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
this.footer = false;
|
|
86
|
-
/**
|
|
87
|
-
* Sets the format of the displayed Calendar week days' names.
|
|
88
|
-
* @default 'short'
|
|
89
|
-
*/
|
|
90
|
-
this.weekDaysFormat = "short";
|
|
91
|
-
/**
|
|
92
|
-
* Defines the active view that the Calendar initially renders
|
|
93
|
-
* ([see example]({% slug viewoptions_calendar %}#toc-active-view)).
|
|
94
|
-
* By default, the active view is `month`.
|
|
95
|
-
*
|
|
96
|
-
* > You have to set `activeView` within the `topView`-`bottomView` range.
|
|
97
|
-
*/
|
|
98
|
-
this.activeView = CalendarViewEnum[CalendarViewEnum.month];
|
|
99
|
-
/**
|
|
100
|
-
* Defines the bottommost Calendar view to which the user can navigate
|
|
101
|
-
* ([see example](slug:datepicker_calendar_options#toc-view-selection-depth)).
|
|
102
|
-
*/
|
|
103
|
-
this.bottomView = CalendarViewEnum[CalendarViewEnum.month];
|
|
104
|
-
/**
|
|
105
|
-
* Defines the topmost Calendar view to which the user can navigate
|
|
106
|
-
* ([see example](slug:datepicker_calendar_options#toc-view-selection-depth)).
|
|
107
|
-
*/
|
|
108
|
-
this.topView = CalendarViewEnum[CalendarViewEnum.century];
|
|
109
|
-
/**
|
|
110
|
-
* Specifies the Calendar type.
|
|
111
|
-
*
|
|
112
|
-
* The possible values are:
|
|
113
|
-
* - `infinite` (default)
|
|
114
|
-
* - `classic`
|
|
115
|
-
*
|
|
116
|
-
*/
|
|
117
|
-
this.calendarType = 'infinite';
|
|
118
|
-
/**
|
|
119
|
-
* Determines whether to enable animation when navigating to previous/next Calendar view.
|
|
120
|
-
* Applies to the [`classic`]({% slug api_dateinputs_datepickercomponent %}#toc-calendartype) Calendar only.
|
|
121
|
-
*
|
|
122
|
-
* > 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.
|
|
123
|
-
*
|
|
124
|
-
* @default false
|
|
125
|
-
*/
|
|
126
|
-
this.animateCalendarNavigation = false;
|
|
127
|
-
/**
|
|
128
|
-
* Sets or gets the `disabled` property of the DatePicker and determines whether the component is active
|
|
129
|
-
* ([see example]({% slug disabled_datepicker %})).
|
|
130
|
-
* To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datepicker#toc-managing-the-datepicker-disabled-state-in-reactive-forms).
|
|
131
|
-
*/
|
|
132
|
-
this.disabled = false;
|
|
133
|
-
/**
|
|
134
|
-
* Sets the read-only state of the DatePicker
|
|
135
|
-
* ([see example]({% slug readonly_datepicker %}#toc-read-only-datepicker)).
|
|
136
|
-
*
|
|
137
|
-
* @default false
|
|
138
|
-
*/
|
|
139
|
-
this.readonly = false;
|
|
140
|
-
/**
|
|
141
|
-
* Sets the read-only state of the DatePicker input field
|
|
142
|
-
* ([see example]({% slug readonly_datepicker %}#toc-read-only-input)).
|
|
143
|
-
*
|
|
144
|
-
* > Note that if you set the [`readonly`]({% slug api_dateinputs_datepickercomponent %}#toc-readonly) property value to `true`,
|
|
145
|
-
* the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
|
|
146
|
-
*/
|
|
147
|
-
this.readOnlyInput = false;
|
|
148
|
-
this._navigation = true;
|
|
149
|
-
/**
|
|
150
|
-
* Specifies the smallest valid date
|
|
151
|
-
* ([see example]({% slug dateranges_datepicker %})).
|
|
152
|
-
* By default, the `min` value is `1900-1-1`.
|
|
153
|
-
*/
|
|
154
|
-
this.min = cloneDate(MIN_DATE);
|
|
155
|
-
/**
|
|
156
|
-
* Specifies the biggest valid date
|
|
157
|
-
* ([see example]({% slug dateranges_datepicker %})).
|
|
158
|
-
* By default, the `max` value is `2099-12-31`.
|
|
159
|
-
*/
|
|
160
|
-
this.max = cloneDate(MAX_DATE);
|
|
161
|
-
/**
|
|
162
|
-
* Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
|
|
163
|
-
*/
|
|
164
|
-
this.incompleteDateValidation = false;
|
|
165
|
-
/**
|
|
166
|
-
* Determines whether to autocorrect invalid segments automatically.
|
|
167
|
-
*
|
|
168
|
-
* @default true
|
|
169
|
-
*/
|
|
170
|
-
this.autoCorrectParts = true;
|
|
171
|
-
/**
|
|
172
|
-
* Determines whether to automatically move to the next segment after the user completes the current one.
|
|
173
|
-
*
|
|
174
|
-
* @default true
|
|
175
|
-
*/
|
|
176
|
-
this.autoSwitchParts = true;
|
|
177
|
-
/**
|
|
178
|
-
* A string array representing custom keys, which will move the focus to the next date format segment.
|
|
179
|
-
*/
|
|
180
|
-
this.autoSwitchKeys = [];
|
|
181
|
-
/**
|
|
182
|
-
* Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
|
|
183
|
-
*
|
|
184
|
-
* @default true
|
|
185
|
-
*/
|
|
186
|
-
this.enableMouseWheel = true;
|
|
187
|
-
/**
|
|
188
|
-
* Determines if the users should see a blinking caret inside the Date Input when possible.
|
|
189
|
-
*
|
|
190
|
-
* @default false
|
|
191
|
-
*/
|
|
192
|
-
this.allowCaretMode = false;
|
|
193
|
-
/**
|
|
194
|
-
* When enabled, the DatePicker will autofill the rest of the date to the current date when the component loses focus.
|
|
195
|
-
*
|
|
196
|
-
* @default false
|
|
197
|
-
*/
|
|
198
|
-
this.autoFill = false;
|
|
199
|
-
/**
|
|
200
|
-
* Specifies the focused date of the Calendar component
|
|
201
|
-
* ([see example](slug:datepicker_calendar_options#toc-focused-dates)).
|
|
202
|
-
*/
|
|
203
|
-
this.focusedDate = null;
|
|
204
|
-
/**
|
|
205
|
-
* Specifies the date format that is used to display the input value
|
|
206
|
-
* ([see example]({% slug formats_datepicker %})).
|
|
207
|
-
*
|
|
208
|
-
* Format value options:
|
|
209
|
-
* - `string` - Provide a `string` if a single format is going to be used regardless whether the input is focused or blurred.
|
|
210
|
-
* - [`FormatSettings`]({% slug api_dateinputs_formatsettings %}) - To display different formats when the component is focused or blurred, provide a settings object with specified `inputFormat` and `displayFormat` values.
|
|
211
|
-
*/
|
|
212
|
-
this.format = DEFAULT_FORMAT;
|
|
213
|
-
/**
|
|
214
|
-
* The maximum year to assume to be from the current century when typing two-digit year value
|
|
215
|
-
* ([see example]({% slug formats_datepicker %}#toc-two-digit-year-format)).
|
|
216
|
-
*
|
|
217
|
-
* The default value is 68, indicating that typing any value less than 69
|
|
218
|
-
* will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
|
|
219
|
-
*/
|
|
220
|
-
this.twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
|
|
221
|
-
/**
|
|
222
|
-
* Specifies the hint the DatePicker displays when its value is `null`.
|
|
223
|
-
* ([more information and exaples]({% slug placeholders_datepicker %})).
|
|
224
|
-
*
|
|
225
|
-
* @example
|
|
226
|
-
* ```ts
|
|
227
|
-
* _@Component({
|
|
228
|
-
* selector: 'my-app',
|
|
229
|
-
* template: `
|
|
230
|
-
* <kendo-datepicker placeholder="Enter birth date..."></kendo-datepicker>
|
|
231
|
-
* `
|
|
232
|
-
* })
|
|
233
|
-
* export class AppComponent { }
|
|
234
|
-
* ```
|
|
235
|
-
*/
|
|
236
|
-
this.placeholder = null;
|
|
237
|
-
/**
|
|
238
|
-
* Sets or gets the `tabindex` property of the DatePicker.
|
|
239
|
-
*/
|
|
240
|
-
this.tabindex = 0;
|
|
241
|
-
/**
|
|
242
|
-
* Sets the title of the input element of the DatePicker and the title text rendered
|
|
243
|
-
* in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
244
|
-
*/
|
|
245
|
-
this.title = "";
|
|
246
|
-
/**
|
|
247
|
-
* Determines whether the built-in min or max validators are enforced when validating a form.
|
|
248
|
-
*/
|
|
249
|
-
this.rangeValidation = true;
|
|
250
|
-
/**
|
|
251
|
-
* Determines whether the built-in validator for disabled
|
|
252
|
-
* date ranges is enforced when validating a form
|
|
253
|
-
* ([see example]( slug:disabled_dates_datepicker#toc-using-a-function)).
|
|
254
|
-
*/
|
|
255
|
-
this.disabledDatesValidation = true;
|
|
256
|
-
/**
|
|
257
|
-
* Determines whether to display a week number column in the `month` view of the Calendar
|
|
258
|
-
* ([see example](slug:datepicker_calendar_options#toc-week-number-column)).
|
|
259
|
-
*/
|
|
260
|
-
this.weekNumber = false;
|
|
261
|
-
/**
|
|
262
|
-
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
263
|
-
*/
|
|
264
|
-
this.adaptiveMode = 'none';
|
|
265
|
-
/**
|
|
266
|
-
* Fires each time the user selects a new value
|
|
267
|
-
* ([see example](slug:events_datepicker)).
|
|
268
|
-
*/
|
|
269
|
-
this.valueChange = new EventEmitter();
|
|
270
|
-
/**
|
|
271
|
-
* Fires each time the user focuses the input element
|
|
272
|
-
* ([see example](slug:events_datepicker)).
|
|
273
|
-
*/
|
|
274
|
-
this.onFocus = new EventEmitter();
|
|
275
|
-
/**
|
|
276
|
-
* Fires each time the input element gets blurred
|
|
277
|
-
* ([see example](slug:events_datepicker)).
|
|
278
|
-
*/
|
|
279
|
-
this.onBlur = new EventEmitter();
|
|
280
|
-
/**
|
|
281
|
-
* Fires each time the popup is about to open
|
|
282
|
-
* ([see example](slug:events_datepicker)).
|
|
283
|
-
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
284
|
-
*/
|
|
285
|
-
this.open = new EventEmitter();
|
|
286
|
-
/**
|
|
287
|
-
* Fires each time the popup is about to close
|
|
288
|
-
* ([see example](slug:events_datepicker)).
|
|
289
|
-
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
290
|
-
*/
|
|
291
|
-
this.close = new EventEmitter();
|
|
292
|
-
/**
|
|
293
|
-
* @hidden
|
|
294
|
-
*/
|
|
295
|
-
this.escape = new EventEmitter();
|
|
296
|
-
/**
|
|
297
|
-
* @hidden
|
|
298
|
-
*/
|
|
299
|
-
this.wrapperClasses = true;
|
|
300
|
-
/**
|
|
301
|
-
* @hidden
|
|
302
|
-
*/
|
|
303
|
-
this.xIcon = xIcon;
|
|
304
|
-
this._popupSettings = { animate: true };
|
|
305
|
-
this._show = false;
|
|
306
|
-
this._value = null;
|
|
307
|
-
this._active = false;
|
|
308
|
-
this.onControlChange = noop;
|
|
309
|
-
this.onControlTouched = noop;
|
|
310
|
-
this.onValidatorChange = noop;
|
|
311
|
-
this.minValidateFn = noop;
|
|
312
|
-
this.maxValidateFn = noop;
|
|
313
|
-
this.disabledDatesValidateFn = noop;
|
|
314
|
-
this.incompleteValidator = noop;
|
|
315
|
-
this.resolvedPromise = Promise.resolve(null);
|
|
316
|
-
this.domEvents = [];
|
|
317
|
-
this._size = DEFAULT_SIZE;
|
|
318
|
-
this._rounded = DEFAULT_ROUNDED;
|
|
319
|
-
this._fillMode = DEFAULT_FILL_MODE;
|
|
320
|
-
validatePackage(packageMetadata);
|
|
321
|
-
this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
|
|
322
|
-
this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
|
|
323
|
-
this.pickerSubscriptions.add(this.pickerService.sameDateSelected.subscribe(this.handleSameSelection.bind(this)));
|
|
324
|
-
this.pickerSubscriptions.add(this.pickerService.dateCompletenessChange.subscribe(this.handleDateCompletenessChange.bind(this)));
|
|
325
|
-
}
|
|
60
|
+
zone;
|
|
61
|
+
localization;
|
|
62
|
+
cdr;
|
|
63
|
+
popupService;
|
|
64
|
+
wrapper;
|
|
65
|
+
renderer;
|
|
66
|
+
injector;
|
|
67
|
+
pickerService;
|
|
68
|
+
disabledDatesService;
|
|
69
|
+
/**
|
|
70
|
+
* @hidden
|
|
71
|
+
*/
|
|
72
|
+
calendarIcon = calendarIcon;
|
|
73
|
+
container;
|
|
74
|
+
popupTemplate;
|
|
75
|
+
toggleButton;
|
|
76
|
+
actionSheet;
|
|
77
|
+
/**
|
|
78
|
+
* @hidden
|
|
79
|
+
*/
|
|
80
|
+
focusableId;
|
|
81
|
+
/**
|
|
82
|
+
* @hidden
|
|
83
|
+
*/
|
|
84
|
+
cellTemplate;
|
|
326
85
|
/**
|
|
327
86
|
* @hidden
|
|
328
87
|
*/
|
|
329
88
|
set cellTemplateRef(template) {
|
|
330
89
|
this.cellTemplate = template;
|
|
331
90
|
}
|
|
91
|
+
/**
|
|
92
|
+
* If set to `true`, renders a clear button after the input text or DatePicker value has been changed.
|
|
93
|
+
* Clicking this button resets the value of the component to `null` and triggers the `valueChange` event.
|
|
94
|
+
* @default false
|
|
95
|
+
*/
|
|
96
|
+
clearButton = false;
|
|
97
|
+
/**
|
|
98
|
+
* Sets the HTML attributes of the inner focusable input element. Attributes which are essential for certain component functionalities cannot be changed.
|
|
99
|
+
*/
|
|
100
|
+
inputAttributes;
|
|
101
|
+
/**
|
|
102
|
+
* @hidden
|
|
103
|
+
*/
|
|
104
|
+
monthCellTemplate;
|
|
332
105
|
/**
|
|
333
106
|
* @hidden
|
|
334
107
|
*/
|
|
335
108
|
set monthCellTemplateRef(template) {
|
|
336
109
|
this.monthCellTemplate = template;
|
|
337
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* @hidden
|
|
113
|
+
*/
|
|
114
|
+
yearCellTemplate;
|
|
338
115
|
/**
|
|
339
116
|
* @hidden
|
|
340
117
|
*/
|
|
341
118
|
set yearCellTemplateRef(template) {
|
|
342
119
|
this.yearCellTemplate = template;
|
|
343
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* @hidden
|
|
123
|
+
*/
|
|
124
|
+
decadeCellTemplate;
|
|
344
125
|
/**
|
|
345
126
|
* @hidden
|
|
346
127
|
*/
|
|
347
128
|
set decadeCellTemplateRef(template) {
|
|
348
129
|
this.decadeCellTemplate = template;
|
|
349
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* @hidden
|
|
133
|
+
*/
|
|
134
|
+
centuryCellTemplate;
|
|
350
135
|
/**
|
|
351
136
|
* @hidden
|
|
352
137
|
*/
|
|
353
138
|
set centuryCellTemplateRef(template) {
|
|
354
139
|
this.centuryCellTemplate = template;
|
|
355
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* @hidden
|
|
143
|
+
*/
|
|
144
|
+
weekNumberTemplate;
|
|
356
145
|
/**
|
|
357
146
|
* @hidden
|
|
358
147
|
*/
|
|
359
148
|
set weekNumberTemplateRef(template) {
|
|
360
149
|
this.weekNumberTemplate = template;
|
|
361
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* @hidden
|
|
153
|
+
*/
|
|
154
|
+
headerTitleTemplate;
|
|
362
155
|
/**
|
|
363
156
|
* @hidden
|
|
364
157
|
*/
|
|
365
158
|
set headerTitleTemplateRef(template) {
|
|
366
159
|
this.headerTitleTemplate = template;
|
|
367
160
|
}
|
|
161
|
+
/**
|
|
162
|
+
* @hidden
|
|
163
|
+
*/
|
|
164
|
+
headerTemplate;
|
|
368
165
|
/**
|
|
369
166
|
* @hidden
|
|
370
167
|
*/
|
|
371
168
|
set headerTemplateRef(template) {
|
|
372
169
|
this.headerTemplate = template;
|
|
373
170
|
}
|
|
171
|
+
/**
|
|
172
|
+
* @hidden
|
|
173
|
+
*/
|
|
174
|
+
footerTemplate;
|
|
374
175
|
/**
|
|
375
176
|
* @hidden
|
|
376
177
|
*/
|
|
377
178
|
set footerTemplateRef(template) {
|
|
378
179
|
this.footerTemplate = template;
|
|
379
180
|
}
|
|
181
|
+
/**
|
|
182
|
+
* Toggles the visibility of the Calendar footer.
|
|
183
|
+
* @default false
|
|
184
|
+
*/
|
|
185
|
+
footer = false;
|
|
186
|
+
/**
|
|
187
|
+
* @hidden
|
|
188
|
+
*/
|
|
189
|
+
navigationItemTemplate;
|
|
380
190
|
/**
|
|
381
191
|
* @hidden
|
|
382
192
|
*/
|
|
383
193
|
set navigationItemTemplateRef(template) {
|
|
384
194
|
this.navigationItemTemplate = template;
|
|
385
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* Sets the format of the displayed Calendar week days' names.
|
|
198
|
+
* @default 'short'
|
|
199
|
+
*/
|
|
200
|
+
weekDaysFormat = "short";
|
|
201
|
+
/**
|
|
202
|
+
* Displays the days that fall out of the current month in the Calendar ([see example]({% slug viewoptions_calendar %}#toc-displaying-other-month-days)).
|
|
203
|
+
* The default values per Calendar type are:
|
|
204
|
+
* - `infinite` - false
|
|
205
|
+
* - `classic` - true
|
|
206
|
+
*/
|
|
207
|
+
showOtherMonthDays;
|
|
208
|
+
/**
|
|
209
|
+
* Defines the active view that the Calendar initially renders
|
|
210
|
+
* ([see example]({% slug viewoptions_calendar %}#toc-active-view)).
|
|
211
|
+
* By default, the active view is `month`.
|
|
212
|
+
*
|
|
213
|
+
* > You have to set `activeView` within the `topView`-`bottomView` range.
|
|
214
|
+
*/
|
|
215
|
+
activeView = CalendarViewEnum[CalendarViewEnum.month];
|
|
216
|
+
/**
|
|
217
|
+
* Defines the bottommost Calendar view to which the user can navigate
|
|
218
|
+
* ([see example](slug:datepicker_calendar_options#toc-view-selection-depth)).
|
|
219
|
+
*/
|
|
220
|
+
bottomView = CalendarViewEnum[CalendarViewEnum.month];
|
|
221
|
+
/**
|
|
222
|
+
* Defines the topmost Calendar view to which the user can navigate
|
|
223
|
+
* ([see example](slug:datepicker_calendar_options#toc-view-selection-depth)).
|
|
224
|
+
*/
|
|
225
|
+
topView = CalendarViewEnum[CalendarViewEnum.century];
|
|
226
|
+
/**
|
|
227
|
+
* Specifies the Calendar type.
|
|
228
|
+
*
|
|
229
|
+
* The possible values are:
|
|
230
|
+
* - `infinite` (default)
|
|
231
|
+
* - `classic`
|
|
232
|
+
*
|
|
233
|
+
*/
|
|
234
|
+
calendarType = 'infinite';
|
|
235
|
+
/**
|
|
236
|
+
* Determines whether to enable animation when navigating to previous/next Calendar view.
|
|
237
|
+
* Applies to the [`classic`]({% slug api_dateinputs_datepickercomponent %}#toc-calendartype) Calendar only.
|
|
238
|
+
*
|
|
239
|
+
* > 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.
|
|
240
|
+
*
|
|
241
|
+
* @default false
|
|
242
|
+
*/
|
|
243
|
+
animateCalendarNavigation = false;
|
|
244
|
+
/**
|
|
245
|
+
* Sets or gets the `disabled` property of the DatePicker and determines whether the component is active
|
|
246
|
+
* ([see example]({% slug disabled_datepicker %})).
|
|
247
|
+
* To learn how to disable the component in reactive forms, refer to the article on [Forms Support](slug:formssupport_datepicker#toc-managing-the-datepicker-disabled-state-in-reactive-forms).
|
|
248
|
+
*/
|
|
249
|
+
disabled = false;
|
|
250
|
+
/**
|
|
251
|
+
* Sets the read-only state of the DatePicker
|
|
252
|
+
* ([see example]({% slug readonly_datepicker %}#toc-read-only-datepicker)).
|
|
253
|
+
*
|
|
254
|
+
* @default false
|
|
255
|
+
*/
|
|
256
|
+
readonly = false;
|
|
257
|
+
/**
|
|
258
|
+
* Sets the read-only state of the DatePicker input field
|
|
259
|
+
* ([see example]({% slug readonly_datepicker %}#toc-read-only-input)).
|
|
260
|
+
*
|
|
261
|
+
* > Note that if you set the [`readonly`]({% slug api_dateinputs_datepickercomponent %}#toc-readonly) property value to `true`,
|
|
262
|
+
* the input will be rendered in a read-only state regardless of the `readOnlyInput` value.
|
|
263
|
+
*/
|
|
264
|
+
readOnlyInput = false;
|
|
386
265
|
/**
|
|
387
266
|
* Configures the popup options of the DatePicker.
|
|
388
267
|
*
|
|
@@ -411,6 +290,62 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
411
290
|
}
|
|
412
291
|
return this._navigation;
|
|
413
292
|
}
|
|
293
|
+
_navigation = true;
|
|
294
|
+
/**
|
|
295
|
+
* Specifies the smallest valid date
|
|
296
|
+
* ([see example]({% slug dateranges_datepicker %})).
|
|
297
|
+
* By default, the `min` value is `1900-1-1`.
|
|
298
|
+
*/
|
|
299
|
+
min = cloneDate(MIN_DATE);
|
|
300
|
+
/**
|
|
301
|
+
* Specifies the biggest valid date
|
|
302
|
+
* ([see example]({% slug dateranges_datepicker %})).
|
|
303
|
+
* By default, the `max` value is `2099-12-31`.
|
|
304
|
+
*/
|
|
305
|
+
max = cloneDate(MAX_DATE);
|
|
306
|
+
/**
|
|
307
|
+
* Determines whether the built-in validation for incomplete dates is to be enforced when a form is being validated.
|
|
308
|
+
*/
|
|
309
|
+
incompleteDateValidation = false;
|
|
310
|
+
/**
|
|
311
|
+
* Determines whether to autocorrect invalid segments automatically.
|
|
312
|
+
*
|
|
313
|
+
* @default true
|
|
314
|
+
*/
|
|
315
|
+
autoCorrectParts = true;
|
|
316
|
+
/**
|
|
317
|
+
* Determines whether to automatically move to the next segment after the user completes the current one.
|
|
318
|
+
*
|
|
319
|
+
* @default true
|
|
320
|
+
*/
|
|
321
|
+
autoSwitchParts = true;
|
|
322
|
+
/**
|
|
323
|
+
* A string array representing custom keys, which will move the focus to the next date format segment.
|
|
324
|
+
*/
|
|
325
|
+
autoSwitchKeys = [];
|
|
326
|
+
/**
|
|
327
|
+
* Indicates whether the mouse scroll can be used to increase/decrease the time segments values.
|
|
328
|
+
*
|
|
329
|
+
* @default true
|
|
330
|
+
*/
|
|
331
|
+
enableMouseWheel = true;
|
|
332
|
+
/**
|
|
333
|
+
* Determines if the users should see a blinking caret inside the Date Input when possible.
|
|
334
|
+
*
|
|
335
|
+
* @default false
|
|
336
|
+
*/
|
|
337
|
+
allowCaretMode = false;
|
|
338
|
+
/**
|
|
339
|
+
* When enabled, the DatePicker will autofill the rest of the date to the current date when the component loses focus.
|
|
340
|
+
*
|
|
341
|
+
* @default false
|
|
342
|
+
*/
|
|
343
|
+
autoFill = false;
|
|
344
|
+
/**
|
|
345
|
+
* Specifies the focused date of the Calendar component
|
|
346
|
+
* ([see example](slug:datepicker_calendar_options#toc-focused-dates)).
|
|
347
|
+
*/
|
|
348
|
+
focusedDate = null;
|
|
414
349
|
/**
|
|
415
350
|
* Specifies the value of the DatePicker component.
|
|
416
351
|
*
|
|
@@ -424,6 +359,86 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
424
359
|
get value() {
|
|
425
360
|
return this._value;
|
|
426
361
|
}
|
|
362
|
+
/**
|
|
363
|
+
* Specifies the date format that is used to display the input value
|
|
364
|
+
* ([see example]({% slug formats_datepicker %})).
|
|
365
|
+
*
|
|
366
|
+
* Format value options:
|
|
367
|
+
* - `string` - Provide a `string` if a single format is going to be used regardless whether the input is focused or blurred.
|
|
368
|
+
* - [`FormatSettings`]({% slug api_dateinputs_formatsettings %}) - To display different formats when the component is focused or blurred, provide a settings object with specified `inputFormat` and `displayFormat` values.
|
|
369
|
+
*/
|
|
370
|
+
format = DEFAULT_FORMAT;
|
|
371
|
+
/**
|
|
372
|
+
* The maximum year to assume to be from the current century when typing two-digit year value
|
|
373
|
+
* ([see example]({% slug formats_datepicker %}#toc-two-digit-year-format)).
|
|
374
|
+
*
|
|
375
|
+
* The default value is 68, indicating that typing any value less than 69
|
|
376
|
+
* will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
|
|
377
|
+
*/
|
|
378
|
+
twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
|
|
379
|
+
/**
|
|
380
|
+
* Defines the descriptions of the format sections in the input field.
|
|
381
|
+
* ([more information and examples]({% slug placeholders_datepicker %})).
|
|
382
|
+
*
|
|
383
|
+
* @example
|
|
384
|
+
* ```ts
|
|
385
|
+
* _@Component({
|
|
386
|
+
* selector: 'my-app',
|
|
387
|
+
* template: `
|
|
388
|
+
* <div class="row example-wrapper" [style.min-height.px]="450">
|
|
389
|
+
* <div class="col-xs-12 col-md-6 example-col">
|
|
390
|
+
* <p>Full-length format description:</p>
|
|
391
|
+
* <kendo-datepicker formatPlaceholder="wide"></kendo-datepicker>
|
|
392
|
+
* </div>
|
|
393
|
+
*
|
|
394
|
+
* <div class="col-xs-12 col-md-6 example-col">
|
|
395
|
+
* <p>Narrow-length format description:</p>
|
|
396
|
+
* <kendo-datepicker formatPlaceholder="narrow"></kendo-datepicker>
|
|
397
|
+
* </div>
|
|
398
|
+
*
|
|
399
|
+
* <div class="col-xs-12 col-md-6 example-col">
|
|
400
|
+
* <p>Short-length format description:</p>
|
|
401
|
+
* <kendo-datepicker formatPlaceholder="short"></kendo-datepicker>
|
|
402
|
+
* </div>
|
|
403
|
+
*
|
|
404
|
+
* <div class="col-xs-12 col-md-6 example-col">
|
|
405
|
+
* <p>Display defined format:</p>
|
|
406
|
+
* <kendo-datepicker format="MM/dd/yyyy" formatPlaceholder="formatPattern"></kendo-datepicker>
|
|
407
|
+
* </div>
|
|
408
|
+
*
|
|
409
|
+
* <div class="col-xs-12 col-md-6 example-col">
|
|
410
|
+
* <p>Custom defined format descriptions</p>
|
|
411
|
+
* <kendo-datepicker format="MM/dd/yyyy"
|
|
412
|
+
* [formatPlaceholder]="{ year: 'y', month: 'M', day: 'd' }"
|
|
413
|
+
* ></kendo-datepicker>
|
|
414
|
+
* </div>
|
|
415
|
+
* </div>
|
|
416
|
+
* `
|
|
417
|
+
* })
|
|
418
|
+
* export class AppComponent { }
|
|
419
|
+
* ```
|
|
420
|
+
*/
|
|
421
|
+
formatPlaceholder;
|
|
422
|
+
/**
|
|
423
|
+
* Specifies the hint the DatePicker displays when its value is `null`.
|
|
424
|
+
* ([more information and exaples]({% slug placeholders_datepicker %})).
|
|
425
|
+
*
|
|
426
|
+
* @example
|
|
427
|
+
* ```ts
|
|
428
|
+
* _@Component({
|
|
429
|
+
* selector: 'my-app',
|
|
430
|
+
* template: `
|
|
431
|
+
* <kendo-datepicker placeholder="Enter birth date..."></kendo-datepicker>
|
|
432
|
+
* `
|
|
433
|
+
* })
|
|
434
|
+
* export class AppComponent { }
|
|
435
|
+
* ```
|
|
436
|
+
*/
|
|
437
|
+
placeholder = null;
|
|
438
|
+
/**
|
|
439
|
+
* Sets or gets the `tabindex` property of the DatePicker.
|
|
440
|
+
*/
|
|
441
|
+
tabindex = 0;
|
|
427
442
|
/**
|
|
428
443
|
* @hidden
|
|
429
444
|
*/
|
|
@@ -444,6 +459,11 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
444
459
|
get disabledDates() {
|
|
445
460
|
return this._disabledDates;
|
|
446
461
|
}
|
|
462
|
+
/**
|
|
463
|
+
* Sets the title of the input element of the DatePicker and the title text rendered
|
|
464
|
+
* in the header of the popup(action sheet). Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
465
|
+
*/
|
|
466
|
+
title = "";
|
|
447
467
|
/**
|
|
448
468
|
* Sets the subtitle text rendered in the header of the popup(action sheet).
|
|
449
469
|
* Applicable only when [`AdaptiveMode` is set to `auto`](slug:api_dateinputs_adaptivemode).
|
|
@@ -454,6 +474,22 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
454
474
|
get subtitle() {
|
|
455
475
|
return this._subtitle || this.placeholder;
|
|
456
476
|
}
|
|
477
|
+
_subtitle;
|
|
478
|
+
/**
|
|
479
|
+
* Determines whether the built-in min or max validators are enforced when validating a form.
|
|
480
|
+
*/
|
|
481
|
+
rangeValidation = true;
|
|
482
|
+
/**
|
|
483
|
+
* Determines whether the built-in validator for disabled
|
|
484
|
+
* date ranges is enforced when validating a form
|
|
485
|
+
* ([see example]( slug:disabled_dates_datepicker#toc-using-a-function)).
|
|
486
|
+
*/
|
|
487
|
+
disabledDatesValidation = true;
|
|
488
|
+
/**
|
|
489
|
+
* Determines whether to display a week number column in the `month` view of the Calendar
|
|
490
|
+
* ([see example](slug:datepicker_calendar_options#toc-week-number-column)).
|
|
491
|
+
*/
|
|
492
|
+
weekNumber = false;
|
|
457
493
|
/**
|
|
458
494
|
* Sets the size of the component.
|
|
459
495
|
*
|
|
@@ -524,6 +560,45 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
524
560
|
get fillMode() {
|
|
525
561
|
return this._fillMode;
|
|
526
562
|
}
|
|
563
|
+
/**
|
|
564
|
+
* Enables or disables the adaptive mode. By default the adaptive rendering is disabled.
|
|
565
|
+
*/
|
|
566
|
+
adaptiveMode = 'none';
|
|
567
|
+
/**
|
|
568
|
+
* Fires each time the user selects a new value
|
|
569
|
+
* ([see example](slug:events_datepicker)).
|
|
570
|
+
*/
|
|
571
|
+
valueChange = new EventEmitter();
|
|
572
|
+
/**
|
|
573
|
+
* Fires each time the user focuses the input element
|
|
574
|
+
* ([see example](slug:events_datepicker)).
|
|
575
|
+
*/
|
|
576
|
+
onFocus = new EventEmitter();
|
|
577
|
+
/**
|
|
578
|
+
* Fires each time the input element gets blurred
|
|
579
|
+
* ([see example](slug:events_datepicker)).
|
|
580
|
+
*/
|
|
581
|
+
onBlur = new EventEmitter();
|
|
582
|
+
/**
|
|
583
|
+
* Fires each time the popup is about to open
|
|
584
|
+
* ([see example](slug:events_datepicker)).
|
|
585
|
+
* This event is preventable. If you cancel the event, the popup will remain closed.
|
|
586
|
+
*/
|
|
587
|
+
open = new EventEmitter();
|
|
588
|
+
/**
|
|
589
|
+
* Fires each time the popup is about to close
|
|
590
|
+
* ([see example](slug:events_datepicker)).
|
|
591
|
+
* This event is preventable. If you cancel the event, the popup will remain open.
|
|
592
|
+
*/
|
|
593
|
+
close = new EventEmitter();
|
|
594
|
+
/**
|
|
595
|
+
* @hidden
|
|
596
|
+
*/
|
|
597
|
+
escape = new EventEmitter();
|
|
598
|
+
/**
|
|
599
|
+
* @hidden
|
|
600
|
+
*/
|
|
601
|
+
wrapperClasses = true;
|
|
527
602
|
/**
|
|
528
603
|
* @hidden
|
|
529
604
|
*/
|
|
@@ -533,6 +608,7 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
533
608
|
get popupUID() {
|
|
534
609
|
return this.calendar?.popupId;
|
|
535
610
|
}
|
|
611
|
+
popupRef;
|
|
536
612
|
get isActive() {
|
|
537
613
|
return this._active;
|
|
538
614
|
}
|
|
@@ -576,12 +652,57 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
576
652
|
this.toggleCalendar(show);
|
|
577
653
|
}
|
|
578
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* @hidden
|
|
657
|
+
*/
|
|
658
|
+
xIcon = xIcon;
|
|
579
659
|
/**
|
|
580
660
|
* @hidden
|
|
581
661
|
*/
|
|
582
662
|
get isControlRequired() {
|
|
583
663
|
return isControlRequired(this.control);
|
|
584
664
|
}
|
|
665
|
+
_popupSettings = { animate: true };
|
|
666
|
+
_show = false;
|
|
667
|
+
_value = null;
|
|
668
|
+
_active = false;
|
|
669
|
+
_disabledDates;
|
|
670
|
+
onControlChange = noop;
|
|
671
|
+
onControlTouched = noop;
|
|
672
|
+
onValidatorChange = noop;
|
|
673
|
+
minValidateFn = noop;
|
|
674
|
+
maxValidateFn = noop;
|
|
675
|
+
disabledDatesValidateFn = noop;
|
|
676
|
+
incompleteValidator = noop;
|
|
677
|
+
resolvedPromise = Promise.resolve(null);
|
|
678
|
+
subscription;
|
|
679
|
+
pickerSubscriptions;
|
|
680
|
+
localizationChangeSubscription;
|
|
681
|
+
windowBlurSubscription;
|
|
682
|
+
ariaActiveDescendantSubscription;
|
|
683
|
+
control;
|
|
684
|
+
domEvents = [];
|
|
685
|
+
_size = DEFAULT_SIZE;
|
|
686
|
+
_rounded = DEFAULT_ROUNDED;
|
|
687
|
+
_fillMode = DEFAULT_FILL_MODE;
|
|
688
|
+
windowSize;
|
|
689
|
+
constructor(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, disabledDatesService) {
|
|
690
|
+
super();
|
|
691
|
+
this.zone = zone;
|
|
692
|
+
this.localization = localization;
|
|
693
|
+
this.cdr = cdr;
|
|
694
|
+
this.popupService = popupService;
|
|
695
|
+
this.wrapper = wrapper;
|
|
696
|
+
this.renderer = renderer;
|
|
697
|
+
this.injector = injector;
|
|
698
|
+
this.pickerService = pickerService;
|
|
699
|
+
this.disabledDatesService = disabledDatesService;
|
|
700
|
+
validatePackage(packageMetadata);
|
|
701
|
+
this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
|
|
702
|
+
this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
|
|
703
|
+
this.pickerSubscriptions.add(this.pickerService.sameDateSelected.subscribe(this.handleSameSelection.bind(this)));
|
|
704
|
+
this.pickerSubscriptions.add(this.pickerService.dateCompletenessChange.subscribe(this.handleDateCompletenessChange.bind(this)));
|
|
705
|
+
}
|
|
585
706
|
/**
|
|
586
707
|
* @hidden
|
|
587
708
|
* Used by the TextBoxContainer to determine if the component is empty.
|
|
@@ -1084,21 +1205,20 @@ export class DatePickerComponent extends MultiTabStop {
|
|
|
1084
1205
|
this.renderer.addClass(this.toggleButton.nativeElement, `k-button-${this.fillMode}-base`);
|
|
1085
1206
|
}
|
|
1086
1207
|
}
|
|
1087
|
-
}
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
}
|
|
1101
|
-
], 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 }, { propertyName: "navigationItemTemplate", first: true, predicate: NavigationItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
1208
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, deps: [{ token: i0.NgZone }, { token: i1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i2.PopupService }, { token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.Injector }, { token: i3.PickerService }, { token: i4.DisabledDatesService }], target: i0.ɵɵFactoryTarget.Component });
|
|
1209
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DatePickerComponent, isStandalone: true, selector: "kendo-datepicker", inputs: { focusableId: "focusableId", cellTemplateRef: ["cellTemplate", "cellTemplateRef"], clearButton: "clearButton", inputAttributes: "inputAttributes", monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], headerTemplateRef: ["headerTemplate", "headerTemplateRef"], footerTemplateRef: ["footerTemplate", "footerTemplateRef"], footer: "footer", navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], weekDaysFormat: "weekDaysFormat", showOtherMonthDays: "showOtherMonthDays", activeView: "activeView", bottomView: "bottomView", topView: "topView", calendarType: "calendarType", animateCalendarNavigation: "animateCalendarNavigation", disabled: "disabled", readonly: "readonly", readOnlyInput: "readOnlyInput", popupSettings: "popupSettings", navigation: "navigation", min: "min", max: "max", incompleteDateValidation: "incompleteDateValidation", autoCorrectParts: "autoCorrectParts", autoSwitchParts: "autoSwitchParts", autoSwitchKeys: "autoSwitchKeys", enableMouseWheel: "enableMouseWheel", allowCaretMode: "allowCaretMode", autoFill: "autoFill", focusedDate: "focusedDate", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", title: "title", subtitle: "subtitle", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", weekNumber: "weekNumber", size: "size", rounded: "rounded", fillMode: "fillMode", adaptiveMode: "adaptiveMode" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close", escape: "escape" }, host: { properties: { "class.k-readonly": "this.readonly", "class.k-datepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
|
|
1210
|
+
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
|
|
1211
|
+
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
|
|
1212
|
+
{ provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
|
|
1213
|
+
{ provide: MultiTabStop, useExisting: forwardRef(() => DatePickerComponent) },
|
|
1214
|
+
LocalizationService,
|
|
1215
|
+
PickerService,
|
|
1216
|
+
DisabledDatesService,
|
|
1217
|
+
{
|
|
1218
|
+
provide: L10N_PREFIX,
|
|
1219
|
+
useValue: 'kendo.datepicker'
|
|
1220
|
+
}
|
|
1221
|
+
], 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 }, { propertyName: "navigationItemTemplate", first: true, predicate: NavigationItemTemplateDirective, descendants: true }], viewQueries: [{ propertyName: "container", first: true, predicate: ["container"], descendants: true, read: ViewContainerRef, static: true }, { propertyName: "popupTemplate", first: true, predicate: ["popupTemplate"], descendants: true, static: true }, { propertyName: "toggleButton", first: true, predicate: ["toggleButton"], descendants: true, static: true }, { propertyName: "actionSheet", first: true, predicate: ["actionSheet"], descendants: true }], exportAs: ["kendo-datepicker"], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: `
|
|
1102
1222
|
<ng-container kendoDatePickerLocalizedMessages
|
|
1103
1223
|
i18n-today="kendo.datepicker.today|The label for the today button in the calendar header"
|
|
1104
1224
|
today="Today"
|
|
@@ -1271,8 +1391,9 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", ve
|
|
|
1271
1391
|
</kendo-calendar-messages>
|
|
1272
1392
|
</kendo-calendar>
|
|
1273
1393
|
</ng-template>
|
|
1274
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { 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: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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]
|
|
1275
|
-
|
|
1394
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { 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: "component", type: DateInputCustomMessagesComponent, selector: "kendo-dateinput-messages" }, { kind: "directive", type: EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { 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: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { 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: "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" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1395
|
+
}
|
|
1396
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
1276
1397
|
type: Component,
|
|
1277
1398
|
args: [{
|
|
1278
1399
|
changeDetection: ChangeDetectionStrategy.OnPush,
|