@progress/kendo-angular-dateinputs 7.1.3-dev.202210121001 → 7.1.3-dev.202210260703
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/bundles/kendo-angular-dateinputs.umd.js +1 -1
- package/calendar/calendar.component.d.ts +7 -2
- package/calendar/header.component.d.ts +4 -1
- package/calendar/horizontal-view-list.component.d.ts +17 -1
- package/calendar/localization/calendar-messages.d.ts +5 -1
- package/calendar/localization/multiview-calendar-messages.d.ts +5 -1
- package/calendar/multiview-calendar.component.d.ts +21 -11
- package/calendar/services/bus-view.service.d.ts +1 -0
- package/calendar/services/selection.service.d.ts +2 -0
- package/calendar/services/weeknames.service.d.ts +1 -1
- package/calendar/view-list.component.d.ts +9 -1
- package/calendar/view.component.d.ts +3 -1
- package/common/utils.d.ts +33 -0
- package/dateinput/dateinput.component.d.ts +22 -8
- package/datepicker/datepicker.component.d.ts +2 -10
- package/daterange/date-range-end-input.directive.d.ts +1 -0
- package/daterange/date-range-input.d.ts +4 -1
- package/daterange/date-range-start-input.directive.d.ts +2 -0
- package/daterange/date-range.component.d.ts +7 -1
- package/daterange/date-range.service.d.ts +6 -2
- package/datetimepicker/datetimepicker.component.d.ts +6 -9
- package/esm2015/calendar/calendar.component.js +88 -48
- package/esm2015/calendar/header.component.js +30 -3
- package/esm2015/calendar/horizontal-view-list.component.js +83 -11
- package/esm2015/calendar/localization/calendar-messages.js +3 -1
- package/esm2015/calendar/localization/multiview-calendar-messages.js +3 -1
- package/esm2015/calendar/multiview-calendar.component.js +91 -45
- package/esm2015/calendar/services/bus-view.service.js +2 -0
- package/esm2015/calendar/services/month-view.service.js +1 -1
- package/esm2015/calendar/services/selection.service.js +4 -0
- package/esm2015/calendar/services/weeknames.service.js +2 -2
- package/esm2015/calendar/view-list.component.js +45 -9
- package/esm2015/calendar/view.component.js +16 -3
- package/esm2015/common/utils.js +34 -0
- package/esm2015/dateinput/dateinput.component.js +68 -34
- package/esm2015/datepicker/datepicker.component.js +27 -20
- package/esm2015/daterange/date-range-end-input.directive.js +6 -1
- package/esm2015/daterange/date-range-input.js +10 -0
- package/esm2015/daterange/date-range-popup.component.js +4 -4
- package/esm2015/daterange/date-range-selection.directive.js +1 -1
- package/esm2015/daterange/date-range-start-input.directive.js +9 -0
- package/esm2015/daterange/date-range.component.js +29 -11
- package/esm2015/daterange/date-range.service.js +28 -4
- package/esm2015/datetimepicker/datetimepicker.component.js +38 -20
- package/esm2015/package-metadata.js +1 -1
- package/esm2015/timepicker/localization/messages.js +11 -1
- package/esm2015/timepicker/timelist.component.js +57 -10
- package/esm2015/timepicker/timepicker.component.js +75 -32
- package/esm2015/util.js +2 -2
- package/esm2015/virtualization/virtualization.component.js +7 -5
- package/fesm2015/kendo-angular-dateinputs.js +811 -320
- package/package.json +1 -1
- package/timepicker/localization/messages.d.ts +21 -1
- package/timepicker/timelist.component.d.ts +10 -1
- package/timepicker/timepicker.component.d.ts +7 -13
- package/virtualization/virtualization.component.d.ts +3 -1
|
@@ -6,7 +6,7 @@ import { Component, ChangeDetectionStrategy, EventEmitter, HostBinding, Input, O
|
|
|
6
6
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
|
|
7
7
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
8
8
|
import { cloneDate } from '@progress/kendo-date-math';
|
|
9
|
-
import { hasObservers, KendoInput,
|
|
9
|
+
import { hasObservers, KendoInput, Keys } from '@progress/kendo-angular-common';
|
|
10
10
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
11
11
|
import { packageMetadata } from '../package-metadata';
|
|
12
12
|
import { MIN_DATE, MAX_DATE } from '../defaults';
|
|
@@ -26,7 +26,7 @@ import { PickerService } from '../common/picker.service';
|
|
|
26
26
|
import { DisabledDatesService } from '../calendar/services/disabled-dates.service';
|
|
27
27
|
import { noop, isValidRange, setTime, isWindowAvailable, isTabExitingCalendar, getSizeClass, getRoundedClass, getFillModeClass, DEFAULT_FILL_MODE, DEFAULT_ROUNDED, DEFAULT_SIZE } from '../util';
|
|
28
28
|
import { TOUCH_ENABLED } from '../touch-enabled';
|
|
29
|
-
import { requiresZoneOnBlur, currentFocusTarget } from '../common/utils';
|
|
29
|
+
import { requiresZoneOnBlur, currentFocusTarget, attributeNames } from '../common/utils';
|
|
30
30
|
import { fromEvent } from 'rxjs';
|
|
31
31
|
import { incompleteDateValidator } from '../validators/incomplete-date.validator';
|
|
32
32
|
import { disabledDatesValidator } from '../validators/disabled-date.validator';
|
|
@@ -60,10 +60,6 @@ export class DatePickerComponent {
|
|
|
60
60
|
this.pickerService = pickerService;
|
|
61
61
|
this.disabledDatesService = disabledDatesService;
|
|
62
62
|
this.touchEnabled = touchEnabled;
|
|
63
|
-
/**
|
|
64
|
-
* @hidden
|
|
65
|
-
*/
|
|
66
|
-
this.focusableId = `k-${guid()}`;
|
|
67
63
|
/**
|
|
68
64
|
* Defines the active view that the Calendar initially renders
|
|
69
65
|
* ([see example]({% slug calendar_type_datepicker %}#toc-active-view)).
|
|
@@ -266,7 +262,6 @@ export class DatePickerComponent {
|
|
|
266
262
|
* @hidden
|
|
267
263
|
*/
|
|
268
264
|
this.wrapperClasses = true;
|
|
269
|
-
this.popupUID = guid();
|
|
270
265
|
this._popupSettings = { animate: true };
|
|
271
266
|
this._show = false;
|
|
272
267
|
this._value = null;
|
|
@@ -460,12 +455,11 @@ export class DatePickerComponent {
|
|
|
460
455
|
get disabledClass() {
|
|
461
456
|
return this.disabled;
|
|
462
457
|
}
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
get inputRole() {
|
|
467
|
-
return this.readOnlyInput ? 'listbox' : 'spinbutton';
|
|
458
|
+
get popupUID() {
|
|
459
|
+
var _a;
|
|
460
|
+
return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.id;
|
|
468
461
|
}
|
|
462
|
+
;
|
|
469
463
|
get isActive() {
|
|
470
464
|
return this._active;
|
|
471
465
|
}
|
|
@@ -749,6 +743,7 @@ export class DatePickerComponent {
|
|
|
749
743
|
return;
|
|
750
744
|
}
|
|
751
745
|
this._show = show;
|
|
746
|
+
const inputElement = this.wrapper.nativeElement.querySelector('input');
|
|
752
747
|
if (show) {
|
|
753
748
|
const direction = this.localization.rtl ? 'right' : 'left';
|
|
754
749
|
this.popupRef = this.popupService.open({
|
|
@@ -761,13 +756,27 @@ export class DatePickerComponent {
|
|
|
761
756
|
popupClass: this.popupClasses,
|
|
762
757
|
positionMode: 'absolute'
|
|
763
758
|
});
|
|
759
|
+
if (this.calendar.type === 'infinite') {
|
|
760
|
+
this.pickerSubscriptions.add(this.calendar.monthView.focusedCellChange.subscribe((id) => {
|
|
761
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaActiveDescendant, id);
|
|
762
|
+
}));
|
|
763
|
+
}
|
|
764
|
+
else {
|
|
765
|
+
this.pickerSubscriptions.add(this.calendar.multiViewCalendar.viewList.focusedCellChange.subscribe((id) => {
|
|
766
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaActiveDescendant, id);
|
|
767
|
+
}));
|
|
768
|
+
}
|
|
764
769
|
this.popupRef.popupElement.setAttribute('id', this.popupUID);
|
|
770
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaControls, this.popupUID);
|
|
765
771
|
this.subscription = this.popupRef.popupAnchorViewportLeave.subscribe(() => this.show = false);
|
|
766
772
|
}
|
|
767
773
|
else {
|
|
768
774
|
this.popupRef.close();
|
|
769
775
|
this.popupRef = null;
|
|
770
776
|
this.subscription.unsubscribe();
|
|
777
|
+
this.renderer.removeAttribute(inputElement, attributeNames.ariaControls);
|
|
778
|
+
this.renderer.removeAttribute(inputElement, attributeNames.ariaActiveDescendant);
|
|
779
|
+
this.cdr.detectChanges();
|
|
771
780
|
}
|
|
772
781
|
}
|
|
773
782
|
focusInput() {
|
|
@@ -884,7 +893,7 @@ export class DatePickerComponent {
|
|
|
884
893
|
}
|
|
885
894
|
}
|
|
886
895
|
DatePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", 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 }, { token: TOUCH_ENABLED, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
887
|
-
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DatePickerComponent, selector: "kendo-datepicker", inputs: { cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"],
|
|
896
|
+
DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DatePickerComponent, selector: "kendo-datepicker", inputs: { cellTemplateRef: ["cellTemplate", "cellTemplateRef"], monthCellTemplateRef: ["monthCellTemplate", "monthCellTemplateRef"], yearCellTemplateRef: ["yearCellTemplate", "yearCellTemplateRef"], decadeCellTemplateRef: ["decadeCellTemplate", "decadeCellTemplateRef"], centuryCellTemplateRef: ["centuryCellTemplate", "centuryCellTemplateRef"], weekNumberTemplateRef: ["weekNumberTemplate", "weekNumberTemplateRef"], headerTitleTemplateRef: ["headerTitleTemplate", "headerTitleTemplateRef"], navigationItemTemplateRef: ["navigationItemTemplate", "navigationItemTemplateRef"], 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", focusedDate: "focusedDate", value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", formatPlaceholder: "formatPlaceholder", placeholder: "placeholder", tabindex: "tabindex", tabIndex: "tabIndex", disabledDates: "disabledDates", title: "title", rangeValidation: "rangeValidation", disabledDatesValidation: "disabledDatesValidation", weekNumber: "weekNumber", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", onFocus: "focus", onBlur: "blur", open: "open", close: "close" }, host: { properties: { "class.k-datepicker": "this.wrapperClasses", "class.k-input": "this.wrapperClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
|
|
888
897
|
{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => DatePickerComponent), multi: true },
|
|
889
898
|
{ provide: NG_VALIDATORS, useExisting: forwardRef(() => DatePickerComponent), multi: true },
|
|
890
899
|
{ provide: KendoInput, useExisting: forwardRef(() => DatePickerComponent) },
|
|
@@ -912,8 +921,8 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
912
921
|
</ng-container>
|
|
913
922
|
<kendo-dateinput
|
|
914
923
|
#input
|
|
915
|
-
[role]="
|
|
916
|
-
|
|
924
|
+
[role]="'combobox'"
|
|
925
|
+
pickerType="datepicker"
|
|
917
926
|
[hasPopup]="true"
|
|
918
927
|
[isPopupOpen]="show"
|
|
919
928
|
[disabled]="disabled"
|
|
@@ -987,7 +996,7 @@ DatePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
987
996
|
</kendo-calendar-messages>
|
|
988
997
|
</kendo-calendar>
|
|
989
998
|
<ng-template>
|
|
990
|
-
`, isInline: true, components: [{ type: i5.DateInputComponent, selector: "kendo-dateinput", inputs: ["
|
|
999
|
+
`, isInline: true, components: [{ type: i5.DateInputComponent, selector: "kendo-dateinput", inputs: ["pickerType", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrect", "incompleteDateValidation", "twoDigitYearMax", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { type: i6.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i7.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }], directives: [{ type: i8.DatePickerLocalizedMessagesDirective, selector: "[kendoDatePickerLocalizedMessages]" }, { type: i9.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
991
1000
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
992
1001
|
type: Component,
|
|
993
1002
|
args: [{
|
|
@@ -1023,8 +1032,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1023
1032
|
</ng-container>
|
|
1024
1033
|
<kendo-dateinput
|
|
1025
1034
|
#input
|
|
1026
|
-
[role]="
|
|
1027
|
-
|
|
1035
|
+
[role]="'combobox'"
|
|
1036
|
+
pickerType="datepicker"
|
|
1028
1037
|
[hasPopup]="true"
|
|
1029
1038
|
[isPopupOpen]="show"
|
|
1030
1039
|
[disabled]="disabled"
|
|
@@ -1162,8 +1171,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1162
1171
|
}], navigationItemTemplateRef: [{
|
|
1163
1172
|
type: Input,
|
|
1164
1173
|
args: ['navigationItemTemplate']
|
|
1165
|
-
}], focusableId: [{
|
|
1166
|
-
type: Input
|
|
1167
1174
|
}], activeView: [{
|
|
1168
1175
|
type: Input
|
|
1169
1176
|
}], bottomView: [{
|
|
@@ -7,7 +7,7 @@ import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
|
7
7
|
import { DateRangeInput } from './date-range-input';
|
|
8
8
|
import { EMPTY_SELECTIONRANGE } from '../calendar/models/selection-range.interface';
|
|
9
9
|
import { clampRange, isInRange } from '../util';
|
|
10
|
-
import { isPresent } from '../common/utils';
|
|
10
|
+
import { attributeNames, isPresent } from '../common/utils';
|
|
11
11
|
import * as i0 from "@angular/core";
|
|
12
12
|
import * as i1 from "./date-range.service";
|
|
13
13
|
import * as i2 from "../dateinput/dateinput.component";
|
|
@@ -51,6 +51,11 @@ export class DateRangeEndInputDirective extends DateRangeInput {
|
|
|
51
51
|
this.rangeService.registerEndInput(this.dateInput);
|
|
52
52
|
super.init();
|
|
53
53
|
}
|
|
54
|
+
ngAfterViewInit() {
|
|
55
|
+
const inputElement = this.dateInput.inputElement;
|
|
56
|
+
this.renderer.removeAttribute(inputElement, attributeNames.ariaExpanded);
|
|
57
|
+
this.dateInput.pickerType = 'daterangeend';
|
|
58
|
+
}
|
|
54
59
|
ngOnDestroy() {
|
|
55
60
|
super.destroy();
|
|
56
61
|
}
|
|
@@ -2,11 +2,15 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
+
import { Directive } from '@angular/core';
|
|
5
6
|
import { cloneDate } from '@progress/kendo-date-math';
|
|
6
7
|
import { Keys } from '@progress/kendo-angular-common';
|
|
7
8
|
import { Subscription, fromEvent } from 'rxjs';
|
|
8
9
|
import { filter } from 'rxjs/operators';
|
|
9
10
|
import { isPresent } from '../common/utils';
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "./date-range.service";
|
|
13
|
+
import * as i2 from "../dateinput/dateinput.component";
|
|
10
14
|
/**
|
|
11
15
|
* @hidden
|
|
12
16
|
*/
|
|
@@ -115,3 +119,9 @@ export class DateRangeInput {
|
|
|
115
119
|
}
|
|
116
120
|
}
|
|
117
121
|
}
|
|
122
|
+
DateRangeInput.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeInput, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
123
|
+
DateRangeInput.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: DateRangeInput, ngImport: i0 });
|
|
124
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeInput, decorators: [{
|
|
125
|
+
type: Directive,
|
|
126
|
+
args: [{}]
|
|
127
|
+
}], ctorParameters: function () { return [{ type: undefined }, { type: i1.DateRangeService }, { type: i2.DateInputComponent }, { type: i0.ElementRef }, { type: i0.Renderer2 }, { type: i0.NgZone }]; } });
|
|
@@ -241,9 +241,9 @@ export class DateRangePopupComponent {
|
|
|
241
241
|
if (!calendar) {
|
|
242
242
|
return;
|
|
243
243
|
}
|
|
244
|
-
const
|
|
245
|
-
this.blurSubscription = fromEvent(
|
|
246
|
-
this.focusSubscription = fromEvent(
|
|
244
|
+
const calendarElement = calendar.element.nativeElement.querySelector('.k-calendar-view');
|
|
245
|
+
this.blurSubscription = fromEvent(calendarElement, 'blur').subscribe(() => this.onBlur.emit());
|
|
246
|
+
this.focusSubscription = fromEvent(calendarElement, 'focus').subscribe(() => this.onFocus.emit());
|
|
247
247
|
}
|
|
248
248
|
addPopupSubscriptions(...subscriptions) {
|
|
249
249
|
if (!isPresent(this.popupSubscriptions)) {
|
|
@@ -297,7 +297,7 @@ DateRangePopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
297
297
|
<ng-template #defaultTemplate>
|
|
298
298
|
<kendo-multiviewcalendar kendoDateRangeSelection></kendo-multiviewcalendar>
|
|
299
299
|
</ng-template>
|
|
300
|
-
`, isInline: true, components: [{ type: i3.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur"], exportAs: ["kendo-multiviewcalendar"] }], directives: [{ type: i4.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }] });
|
|
300
|
+
`, isInline: true, components: [{ type: i3.MultiViewCalendarComponent, selector: "kendo-multiviewcalendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "disabledDatesRangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "isActive", "disabledDates", "activeView", "bottomView", "topView", "showViewHeader", "animateNavigation", "weekNumber", "activeRangeEnd", "selectionRange", "views", "orientation", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate"], outputs: ["activeViewChange", "navigate", "cellEnter", "cellLeave", "valueChange", "blur", "focusCalendar"], exportAs: ["kendo-multiviewcalendar"] }], directives: [{ type: i4.DateRangeSelectionDirective, selector: "[kendoDateRangeSelection]", inputs: ["autoCorrectOn", "selectionRange", "activeRangeEnd"], outputs: ["activeRangeEndChange", "selectionRangeChange"] }] });
|
|
301
301
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangePopupComponent, decorators: [{
|
|
302
302
|
type: Component,
|
|
303
303
|
args: [{
|
|
@@ -40,7 +40,7 @@ export class DateRangeSelectionDirective {
|
|
|
40
40
|
*/
|
|
41
41
|
this.selectionRangeChange = new EventEmitter();
|
|
42
42
|
this.calendarSubscriptions = new Subscription();
|
|
43
|
-
this.dateRangeService = this.dateRangeService || new DateRangeService();
|
|
43
|
+
this.dateRangeService = this.dateRangeService || new DateRangeService(renderer);
|
|
44
44
|
renderer.setAttribute(element.nativeElement, 'aria-multiselectable', 'true');
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
@@ -7,6 +7,7 @@ import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
|
7
7
|
import { DateRangeInput } from './date-range-input';
|
|
8
8
|
import { EMPTY_SELECTIONRANGE } from '../calendar/models/selection-range.interface';
|
|
9
9
|
import { clampRange, isInRange } from '../util';
|
|
10
|
+
import { attributeNames } from '../common/utils';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
12
|
import * as i1 from "./date-range.service";
|
|
12
13
|
import * as i2 from "../dateinput/dateinput.component";
|
|
@@ -20,6 +21,7 @@ export class DateRangeStartInputDirective extends DateRangeInput {
|
|
|
20
21
|
super('start', rangeService, dateInput, element, renderer, zone);
|
|
21
22
|
this.rangeService = rangeService;
|
|
22
23
|
this.dateInput = dateInput;
|
|
24
|
+
this.renderer = renderer;
|
|
23
25
|
/**
|
|
24
26
|
* Specifies the navigation behavior of the calendar when the active end is changed on input focus.
|
|
25
27
|
* When enabled, the calendar navigates to the value of the focused input. Otherwise, the calendar
|
|
@@ -51,6 +53,13 @@ export class DateRangeStartInputDirective extends DateRangeInput {
|
|
|
51
53
|
this.rangeService.registerStartInput(this.dateInput);
|
|
52
54
|
super.init();
|
|
53
55
|
}
|
|
56
|
+
ngAfterViewInit() {
|
|
57
|
+
const inputElement = this.dateInput.inputElement;
|
|
58
|
+
this.renderer.setAttribute(inputElement, 'role', 'combobox');
|
|
59
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaHasPopup, 'true');
|
|
60
|
+
this.dateInput.pickerType = 'daterangestart';
|
|
61
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'false');
|
|
62
|
+
}
|
|
54
63
|
ngOnDestroy() {
|
|
55
64
|
super.destroy();
|
|
56
65
|
}
|
|
@@ -2,14 +2,16 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Component, ContentChildren, HostBinding } from '@angular/core';
|
|
5
|
+
import { Component, ContentChildren, HostBinding, HostListener } from '@angular/core';
|
|
6
6
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
7
7
|
import { packageMetadata } from '../package-metadata';
|
|
8
8
|
import { DateRangePopupComponent } from './date-range-popup.component';
|
|
9
9
|
import { DateRangeService } from './date-range.service';
|
|
10
|
+
import { Keys } from '@progress/kendo-angular-common';
|
|
10
11
|
import * as i0 from "@angular/core";
|
|
11
|
-
import * as i1 from "./date-range
|
|
12
|
-
import * as i2 from "
|
|
12
|
+
import * as i1 from "./date-range.service";
|
|
13
|
+
import * as i2 from "./date-range-popup.component";
|
|
14
|
+
import * as i3 from "@angular/common";
|
|
13
15
|
/**
|
|
14
16
|
* Represents the Kendo UI DateRange component for Angular.
|
|
15
17
|
*
|
|
@@ -30,7 +32,8 @@ import * as i2 from "@angular/common";
|
|
|
30
32
|
* ```
|
|
31
33
|
*/
|
|
32
34
|
export class DateRangeComponent {
|
|
33
|
-
constructor() {
|
|
35
|
+
constructor(dateRangeService) {
|
|
36
|
+
this.dateRangeService = dateRangeService;
|
|
34
37
|
this.wrapperClass = true;
|
|
35
38
|
/**
|
|
36
39
|
* @hidden
|
|
@@ -38,6 +41,19 @@ export class DateRangeComponent {
|
|
|
38
41
|
this.showDefault = false;
|
|
39
42
|
validatePackage(packageMetadata);
|
|
40
43
|
}
|
|
44
|
+
/**
|
|
45
|
+
* @hidden
|
|
46
|
+
*/
|
|
47
|
+
keydown(event) {
|
|
48
|
+
const shouldOpenPopup = event.keyCode === Keys.ArrowDown && event.altKey;
|
|
49
|
+
if (shouldOpenPopup) {
|
|
50
|
+
this.dateRangeService.activatePopup();
|
|
51
|
+
}
|
|
52
|
+
const shouldClosePopup = (event.keyCode === Keys.ArrowUp && event.altKey) || event.keyCode === Keys.Escape;
|
|
53
|
+
if (shouldClosePopup) {
|
|
54
|
+
this.dateRangeService.deactivatePopup();
|
|
55
|
+
}
|
|
56
|
+
}
|
|
41
57
|
get hasContentPopup() {
|
|
42
58
|
return this.contentPopup.length > 0;
|
|
43
59
|
}
|
|
@@ -48,16 +64,15 @@ export class DateRangeComponent {
|
|
|
48
64
|
});
|
|
49
65
|
}
|
|
50
66
|
ngOnDestroy() {
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
}
|
|
67
|
+
var _a;
|
|
68
|
+
(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
54
69
|
}
|
|
55
70
|
}
|
|
56
|
-
DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
57
|
-
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateRangeComponent, selector: "kendo-daterange", host: { properties: { "class.k-daterangepicker": "this.wrapperClass" } }, providers: [DateRangeService], queries: [{ propertyName: "contentPopup", predicate: DateRangePopupComponent }], ngImport: i0, template: `
|
|
71
|
+
DateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeComponent, deps: [{ token: i1.DateRangeService }], target: i0.ɵɵFactoryTarget.Component });
|
|
72
|
+
DateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateRangeComponent, selector: "kendo-daterange", host: { listeners: { "keydown": "keydown($event)" }, properties: { "class.k-daterangepicker": "this.wrapperClass" } }, providers: [DateRangeService], queries: [{ propertyName: "contentPopup", predicate: DateRangePopupComponent }], ngImport: i0, template: `
|
|
58
73
|
<ng-content></ng-content>
|
|
59
74
|
<kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
|
|
60
|
-
`, isInline: true, components: [{ type:
|
|
75
|
+
`, isInline: true, components: [{ type: i2.DateRangePopupComponent, selector: "kendo-daterange-popup", inputs: ["animate", "anchor", "anchorAlign", "appendTo", "collision", "popupAlign", "margin"], outputs: ["open", "close", "blur", "focus", "cancel"], exportAs: ["kendo-daterange-popup"] }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
61
76
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeComponent, decorators: [{
|
|
62
77
|
type: Component,
|
|
63
78
|
args: [{
|
|
@@ -68,7 +83,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
68
83
|
<kendo-daterange-popup *ngIf="showDefault"></kendo-daterange-popup>
|
|
69
84
|
`
|
|
70
85
|
}]
|
|
71
|
-
}], ctorParameters: function () { return []; }, propDecorators: {
|
|
86
|
+
}], ctorParameters: function () { return [{ type: i1.DateRangeService }]; }, propDecorators: { keydown: [{
|
|
87
|
+
type: HostListener,
|
|
88
|
+
args: ['keydown', ['$event']]
|
|
89
|
+
}], wrapperClass: [{
|
|
72
90
|
type: HostBinding,
|
|
73
91
|
args: ['class.k-daterangepicker']
|
|
74
92
|
}], contentPopup: [{
|
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Copyright © 2021 Progress Software Corporation. All rights reserved.
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
|
-
import { Injectable } from '@angular/core';
|
|
5
|
+
import { Injectable, Optional } from '@angular/core';
|
|
6
6
|
import { BehaviorSubject } from 'rxjs';
|
|
7
7
|
import { EMPTY_SELECTIONRANGE } from '../calendar/models/selection-range.interface';
|
|
8
8
|
import { isEqual } from '@progress/kendo-date-math';
|
|
9
|
+
import { Subscription } from 'rxjs';
|
|
10
|
+
import { attributeNames } from '../common/utils';
|
|
9
11
|
import * as i0 from "@angular/core";
|
|
10
12
|
const isActive = (cmp) => (cmp && cmp.isActive) || false;
|
|
11
13
|
const hasActiveContent = (popup) => popup && popup.hasActiveContent();
|
|
@@ -15,7 +17,10 @@ const hasActiveContent = (popup) => popup && popup.hasActiveContent();
|
|
|
15
17
|
*/
|
|
16
18
|
export class DateRangeService {
|
|
17
19
|
/** @hidden */
|
|
18
|
-
constructor() {
|
|
20
|
+
constructor(renderer) {
|
|
21
|
+
this.renderer = renderer;
|
|
22
|
+
/** @hidden */
|
|
23
|
+
this.focusedCellChange = new Subscription();
|
|
19
24
|
/**
|
|
20
25
|
* An Observable instance that notifies when the `activeRangeEnd` state is changed.
|
|
21
26
|
*/
|
|
@@ -80,10 +85,19 @@ export class DateRangeService {
|
|
|
80
85
|
* The method opens the popup and focuses the calendar.
|
|
81
86
|
*/
|
|
82
87
|
activatePopup() {
|
|
88
|
+
var _a;
|
|
83
89
|
const dateRangePopup = this.dateRangePopup$.value;
|
|
84
90
|
if (!dateRangePopup) {
|
|
85
91
|
return;
|
|
86
92
|
}
|
|
93
|
+
if (this.startInput$.value) {
|
|
94
|
+
const inputElement = this.startInput$.value.dateInput.nativeElement;
|
|
95
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaControls, dateRangePopup.popupUID);
|
|
96
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'true');
|
|
97
|
+
this.focusedCellChange = (_a = dateRangePopup.viewCalendar.first) === null || _a === void 0 ? void 0 : _a.viewList.focusedCellChange.subscribe((id) => {
|
|
98
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaActiveDescendant, id);
|
|
99
|
+
});
|
|
100
|
+
}
|
|
87
101
|
dateRangePopup.activate();
|
|
88
102
|
}
|
|
89
103
|
/**
|
|
@@ -91,10 +105,18 @@ export class DateRangeService {
|
|
|
91
105
|
* The method closes the popup.
|
|
92
106
|
*/
|
|
93
107
|
deactivatePopup() {
|
|
108
|
+
var _a;
|
|
94
109
|
const dateRangePopup = this.dateRangePopup$.value;
|
|
95
110
|
if (!(dateRangePopup && dateRangePopup.show)) {
|
|
96
111
|
return;
|
|
97
112
|
}
|
|
113
|
+
if (this.startInput$.value) {
|
|
114
|
+
const inputElement = this.startInput$.value.dateInput.nativeElement;
|
|
115
|
+
this.renderer.removeAttribute(inputElement, attributeNames.ariaControls);
|
|
116
|
+
this.renderer.setAttribute(inputElement, attributeNames.ariaExpanded, 'false');
|
|
117
|
+
(_a = this.focusedCellChange) === null || _a === void 0 ? void 0 : _a.unsubscribe();
|
|
118
|
+
this.renderer.removeAttribute(inputElement, attributeNames.ariaActiveDescendant);
|
|
119
|
+
}
|
|
98
120
|
dateRangePopup.show = false;
|
|
99
121
|
}
|
|
100
122
|
/**
|
|
@@ -178,8 +200,10 @@ export class DateRangeService {
|
|
|
178
200
|
this.range$.next(range);
|
|
179
201
|
}
|
|
180
202
|
}
|
|
181
|
-
DateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
203
|
+
DateRangeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeService, deps: [{ token: i0.Renderer2, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
182
204
|
DateRangeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeService });
|
|
183
205
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateRangeService, decorators: [{
|
|
184
206
|
type: Injectable
|
|
185
|
-
}], ctorParameters: function () { return [
|
|
207
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2, decorators: [{
|
|
208
|
+
type: Optional
|
|
209
|
+
}] }]; } });
|
|
@@ -7,13 +7,13 @@ import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
|
7
7
|
import { Subscription, fromEvent } from 'rxjs';
|
|
8
8
|
import { tap } from 'rxjs/operators';
|
|
9
9
|
import { cloneDate, isEqual, getDate } from '@progress/kendo-date-math';
|
|
10
|
-
import { hasObservers, KendoInput, Keys
|
|
10
|
+
import { hasObservers, KendoInput, Keys } from '@progress/kendo-angular-common';
|
|
11
11
|
import { LocalizationService, L10N_PREFIX } from '@progress/kendo-angular-l10n';
|
|
12
12
|
import { validatePackage } from '@progress/kendo-licensing';
|
|
13
13
|
import { packageMetadata } from '../package-metadata';
|
|
14
14
|
import { PickerService } from '../common/picker.service';
|
|
15
15
|
import { DisabledDatesService } from '../calendar/services/disabled-dates.service';
|
|
16
|
-
import { isPresent } from '../common/utils';
|
|
16
|
+
import { attributeNames, isPresent } from '../common/utils';
|
|
17
17
|
import { mergeDateAndTime, noop, lastMillisecondOfDate, isInRange, isValidRange, isWindowAvailable, getFillModeClass, getRoundedClass, getSizeClass, DEFAULT_FILL_MODE, DEFAULT_ROUNDED, DEFAULT_SIZE } from '../util';
|
|
18
18
|
import { PreventableEvent } from '../preventable-event';
|
|
19
19
|
import { minValidator } from '../validators/min.validator';
|
|
@@ -78,10 +78,6 @@ export class DateTimePickerComponent {
|
|
|
78
78
|
* will be assumed to be 20xx, while 69 and larger will be assumed to be 19xx.
|
|
79
79
|
*/
|
|
80
80
|
this.twoDigitYearMax = TWO_DIGIT_YEAR_MAX;
|
|
81
|
-
/**
|
|
82
|
-
* @hidden
|
|
83
|
-
*/
|
|
84
|
-
this.focusableId = `k-${guid()}`;
|
|
85
81
|
/**
|
|
86
82
|
* Sets the title of the input element of the DateTimePicker.
|
|
87
83
|
*/
|
|
@@ -245,6 +241,12 @@ export class DateTimePickerComponent {
|
|
|
245
241
|
get input() {
|
|
246
242
|
return this.pickerService.input;
|
|
247
243
|
}
|
|
244
|
+
/**
|
|
245
|
+
* @hidden
|
|
246
|
+
*/
|
|
247
|
+
get inputElement() {
|
|
248
|
+
return this.wrapper.nativeElement.querySelector('input');
|
|
249
|
+
}
|
|
248
250
|
/**
|
|
249
251
|
* @hidden
|
|
250
252
|
*/
|
|
@@ -483,12 +485,6 @@ export class DateTimePickerComponent {
|
|
|
483
485
|
get disableCalendar() {
|
|
484
486
|
return this.activeTab !== 'date' && !this.calendar.isActive;
|
|
485
487
|
}
|
|
486
|
-
/**
|
|
487
|
-
* @hidden
|
|
488
|
-
*/
|
|
489
|
-
get inputRole() {
|
|
490
|
-
return this.readOnlyInput ? 'listbox' : 'spinbutton';
|
|
491
|
-
}
|
|
492
488
|
/**
|
|
493
489
|
* @hidden
|
|
494
490
|
*
|
|
@@ -514,6 +510,11 @@ export class DateTimePickerComponent {
|
|
|
514
510
|
}
|
|
515
511
|
return appendTo === 'component' ? this.container : appendTo;
|
|
516
512
|
}
|
|
513
|
+
get popupUID() {
|
|
514
|
+
var _a;
|
|
515
|
+
return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.id;
|
|
516
|
+
}
|
|
517
|
+
;
|
|
517
518
|
ngOnInit() {
|
|
518
519
|
this.subscriptions.add(this.pickerService.onFocus
|
|
519
520
|
// detect popup changes to disable the inactive view mark-up when the popup is open
|
|
@@ -713,6 +714,9 @@ export class DateTimePickerComponent {
|
|
|
713
714
|
if (event.target !== dateTimeSelector) {
|
|
714
715
|
return;
|
|
715
716
|
}
|
|
717
|
+
if (this.activeTab === 'time') {
|
|
718
|
+
this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
|
|
719
|
+
}
|
|
716
720
|
this.activeTabComponent.focus();
|
|
717
721
|
}
|
|
718
722
|
/**
|
|
@@ -922,12 +926,28 @@ export class DateTimePickerComponent {
|
|
|
922
926
|
anchorAlign: { vertical: 'bottom', horizontal: direction },
|
|
923
927
|
popupAlign: { vertical: 'top', horizontal: direction }
|
|
924
928
|
});
|
|
929
|
+
this.popupRef.popupElement.setAttribute('id', this.popupUID);
|
|
930
|
+
this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
|
|
931
|
+
if (this.activeTab === 'date') {
|
|
932
|
+
if (this.calendar.type === 'infinite') {
|
|
933
|
+
this.subscriptions.add(this.calendar.monthView.focusedCellChange.subscribe((id) => {
|
|
934
|
+
this.renderer.setAttribute(this.inputElement, attributeNames.ariaActiveDescendant, id);
|
|
935
|
+
}));
|
|
936
|
+
}
|
|
937
|
+
else {
|
|
938
|
+
this.subscriptions.add(this.calendar.multiViewCalendar.viewList.focusedCellChange.subscribe((id) => {
|
|
939
|
+
this.renderer.setAttribute(this.inputElement, attributeNames.ariaActiveDescendant, id);
|
|
940
|
+
}));
|
|
941
|
+
}
|
|
942
|
+
}
|
|
925
943
|
this.popupRef.popupAnchorViewportLeave.subscribe(() => this.handleCancel());
|
|
926
944
|
}
|
|
927
945
|
closePopup() {
|
|
928
946
|
if (!this.isOpen) {
|
|
929
947
|
return;
|
|
930
948
|
}
|
|
949
|
+
this.renderer.removeAttribute(this.inputElement, attributeNames.ariaControls);
|
|
950
|
+
this.renderer.removeAttribute(this.inputElement, attributeNames.ariaActiveDescendant);
|
|
931
951
|
this.popupRef.close();
|
|
932
952
|
this.popupRef = null;
|
|
933
953
|
}
|
|
@@ -1003,7 +1023,7 @@ export class DateTimePickerComponent {
|
|
|
1003
1023
|
}
|
|
1004
1024
|
}
|
|
1005
1025
|
DateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateTimePickerComponent, deps: [{ token: i1.PopupService }, { token: i2.IntlService }, { token: i0.ChangeDetectorRef }, { token: i3.PickerService }, { token: i0.NgZone }, { token: i0.ElementRef }, { token: TOUCH_ENABLED }, { token: i4.LocalizationService }, { token: i5.DisabledDatesService }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
1006
|
-
DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: { value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings",
|
|
1026
|
+
DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: { value: "value", format: "format", twoDigitYearMax: "twoDigitYearMax", tabindex: "tabindex", disabledDates: "disabledDates", popupSettings: "popupSettings", title: "title", 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", defaultTab: "defaultTab", size: "size", rounded: "rounded", fillMode: "fillMode" }, outputs: { valueChange: "valueChange", open: "open", close: "close", onFocus: "focus", onBlur: "blur" }, host: { properties: { "class.k-datetimepicker": "this.hostClasses", "class.k-input": "this.hostClasses", "class.k-disabled": "this.disabledClass" } }, providers: [
|
|
1007
1027
|
PickerService,
|
|
1008
1028
|
LocalizationService,
|
|
1009
1029
|
DisabledDatesService,
|
|
@@ -1070,12 +1090,12 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
1070
1090
|
[placeholder]="placeholder"
|
|
1071
1091
|
[disabled]="disabled"
|
|
1072
1092
|
[readonly]="readonly || readOnlyInput"
|
|
1073
|
-
[role]="
|
|
1093
|
+
[role]="'combobox'"
|
|
1074
1094
|
[ariaReadOnly]="readonly"
|
|
1075
1095
|
[steps]="steps"
|
|
1076
1096
|
[tabindex]="tabindex"
|
|
1077
1097
|
[title]="title"
|
|
1078
|
-
|
|
1098
|
+
pickerType="datetimepicker"
|
|
1079
1099
|
[hasPopup]="true"
|
|
1080
1100
|
[isPopupOpen]="isOpen"
|
|
1081
1101
|
(valueChange)="handleInputValueChange($event)"
|
|
@@ -1254,7 +1274,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
1254
1274
|
</div>
|
|
1255
1275
|
</div>
|
|
1256
1276
|
</ng-template>
|
|
1257
|
-
`, isInline: true, components: [{ type: i6.DateInputComponent, selector: "kendo-dateinput", inputs: ["
|
|
1277
|
+
`, isInline: true, components: [{ type: i6.DateInputComponent, selector: "kendo-dateinput", inputs: ["pickerType", "disabled", "readonly", "title", "tabindex", "role", "ariaReadOnly", "tabIndex", "format", "formatPlaceholder", "placeholder", "steps", "max", "min", "rangeValidation", "autoCorrect", "incompleteDateValidation", "twoDigitYearMax", "value", "spinners", "isPopupOpen", "hasPopup", "size", "rounded", "fillMode"], outputs: ["valueChange", "valueUpdate", "focus", "blur"], exportAs: ["kendo-dateinput"] }, { type: i7.CalendarComponent, selector: "kendo-calendar", inputs: ["id", "focusedDate", "min", "max", "rangeValidation", "selection", "value", "disabled", "tabindex", "tabIndex", "disabledDates", "navigation", "activeView", "bottomView", "topView", "type", "animateNavigation", "weekNumber", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "valueChange"], exportAs: ["kendo-calendar"] }, { type: i8.CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: i9.TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: i10.TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: i11.LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i12.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i13.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i13.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1258
1278
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
1259
1279
|
type: Component,
|
|
1260
1280
|
args: [{
|
|
@@ -1329,12 +1349,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1329
1349
|
[placeholder]="placeholder"
|
|
1330
1350
|
[disabled]="disabled"
|
|
1331
1351
|
[readonly]="readonly || readOnlyInput"
|
|
1332
|
-
[role]="
|
|
1352
|
+
[role]="'combobox'"
|
|
1333
1353
|
[ariaReadOnly]="readonly"
|
|
1334
1354
|
[steps]="steps"
|
|
1335
1355
|
[tabindex]="tabindex"
|
|
1336
1356
|
[title]="title"
|
|
1337
|
-
|
|
1357
|
+
pickerType="datetimepicker"
|
|
1338
1358
|
[hasPopup]="true"
|
|
1339
1359
|
[isPopupOpen]="isOpen"
|
|
1340
1360
|
(valueChange)="handleInputValueChange($event)"
|
|
@@ -1542,8 +1562,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
1542
1562
|
type: Input
|
|
1543
1563
|
}], popupSettings: [{
|
|
1544
1564
|
type: Input
|
|
1545
|
-
}], focusableId: [{
|
|
1546
|
-
type: Input
|
|
1547
1565
|
}], title: [{
|
|
1548
1566
|
type: Input
|
|
1549
1567
|
}], disabled: [{
|
|
@@ -9,7 +9,7 @@ export const packageMetadata = {
|
|
|
9
9
|
name: '@progress/kendo-angular-dateinputs',
|
|
10
10
|
productName: 'Kendo UI for Angular',
|
|
11
11
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
12
|
-
publishDate:
|
|
12
|
+
publishDate: 1666767725,
|
|
13
13
|
version: '',
|
|
14
14
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/?utm_medium=product&utm_source=kendoangular&utm_campaign=kendo-ui-angular-purchase-license-keys-warning'
|
|
15
15
|
};
|
|
@@ -11,7 +11,7 @@ import * as i0 from "@angular/core";
|
|
|
11
11
|
export class TimePickerMessages extends ComponentMessages {
|
|
12
12
|
}
|
|
13
13
|
TimePickerMessages.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimePickerMessages, deps: null, target: i0.ɵɵFactoryTarget.Directive });
|
|
14
|
-
TimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle" }, usesInheritance: true, ngImport: i0 });
|
|
14
|
+
TimePickerMessages.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TimePickerMessages, selector: "kendo-timepicker-messages-base", inputs: { accept: "accept", acceptLabel: "acceptLabel", cancel: "cancel", cancelLabel: "cancelLabel", now: "now", nowLabel: "nowLabel", toggle: "toggle", hour: "hour", minute: "minute", second: "second", millisecond: "millisecond", dayperiod: "dayperiod" }, usesInheritance: true, ngImport: i0 });
|
|
15
15
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TimePickerMessages, decorators: [{
|
|
16
16
|
type: Directive,
|
|
17
17
|
args: [{
|
|
@@ -32,4 +32,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
32
32
|
type: Input
|
|
33
33
|
}], toggle: [{
|
|
34
34
|
type: Input
|
|
35
|
+
}], hour: [{
|
|
36
|
+
type: Input
|
|
37
|
+
}], minute: [{
|
|
38
|
+
type: Input
|
|
39
|
+
}], second: [{
|
|
40
|
+
type: Input
|
|
41
|
+
}], millisecond: [{
|
|
42
|
+
type: Input
|
|
43
|
+
}], dayperiod: [{
|
|
44
|
+
type: Input
|
|
35
45
|
}] } });
|