@progress/kendo-angular-dateinputs 12.1.0-develop.1 → 12.1.0-develop.2
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/datetimepicker/datetimepicker.component.d.ts +8 -5
- package/esm2020/datetimepicker/datetimepicker.component.mjs +86 -25
- package/esm2020/package-metadata.mjs +2 -2
- package/esm2020/timepicker/timelist.component.mjs +12 -1
- package/esm2020/timepicker/timepicker.component.mjs +14 -1
- package/esm2020/timepicker/timeselector.component.mjs +40 -4
- package/fesm2015/progress-kendo-angular-dateinputs.mjs +155 -33
- package/fesm2020/progress-kendo-angular-dateinputs.mjs +152 -33
- package/package.json +11 -11
- package/timepicker/timelist.component.d.ts +3 -1
- package/timepicker/timepicker.component.d.ts +4 -0
- package/timepicker/timeselector.component.d.ts +9 -3
|
@@ -36,8 +36,8 @@ const packageMetadata = {
|
|
|
36
36
|
name: '@progress/kendo-angular-dateinputs',
|
|
37
37
|
productName: 'Kendo UI for Angular',
|
|
38
38
|
productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
|
|
39
|
-
publishDate:
|
|
40
|
-
version: '12.1.0-develop.
|
|
39
|
+
publishDate: 1684164847,
|
|
40
|
+
version: '12.1.0-develop.2',
|
|
41
41
|
licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
|
|
42
42
|
};
|
|
43
43
|
|
|
@@ -10926,7 +10926,9 @@ class TimeListComponent {
|
|
|
10926
10926
|
this.max = cloneDate(MAX_TIME);
|
|
10927
10927
|
this.step = 1;
|
|
10928
10928
|
this.disabled = false;
|
|
10929
|
+
this.isLast = false;
|
|
10929
10930
|
this.valueChange = new EventEmitter();
|
|
10931
|
+
this.tabOutLastPart = new EventEmitter();
|
|
10930
10932
|
this.componentClass = true;
|
|
10931
10933
|
this.animateToIndex = true;
|
|
10932
10934
|
this.isActive = false;
|
|
@@ -11105,6 +11107,10 @@ class TimeListComponent {
|
|
|
11105
11107
|
return oldData && newData && oldData.text !== newData.text;
|
|
11106
11108
|
}
|
|
11107
11109
|
handleKeyDown(e) {
|
|
11110
|
+
if (e.keyCode === Keys$1.Tab && !e.shiftKey && this.isLast) {
|
|
11111
|
+
e.preventDefault();
|
|
11112
|
+
this.tabOutLastPart.emit();
|
|
11113
|
+
}
|
|
11108
11114
|
const getter = getters[e.keyCode] || nil;
|
|
11109
11115
|
const dataItem = getter(this.data, this.service.selectedIndex(this.value));
|
|
11110
11116
|
if (dataItem) {
|
|
@@ -11125,7 +11131,7 @@ class TimeListComponent {
|
|
|
11125
11131
|
}
|
|
11126
11132
|
}
|
|
11127
11133
|
TimeListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeListComponent, deps: [{ token: i0.ElementRef }, { token: i0.Injector }, { token: TimePickerDOMService }, { token: i0.Renderer2 }, { token: i0.NgZone }, { token: i1$1.LocalizationService }], target: i0.ɵɵFactoryTarget.Component });
|
|
11128
|
-
TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value" }, outputs: { valueChange: "valueChange" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
11134
|
+
TimeListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeListComponent, selector: "kendo-timelist", inputs: { min: "min", max: "max", part: "part", step: "step", disabled: "disabled", value: "value", isLast: "isLast" }, outputs: { valueChange: "valueChange", tabOutLastPart: "tabOutLastPart" }, host: { properties: { "attr.role": "this.roleAttribute", "attr.aria-label": "this.ariaLabel", "attr.tabindex": "this.tabIndex", "class.k-time-list": "this.componentClass" } }, viewQueries: [{ propertyName: "virtualization", first: true, predicate: VirtualizationComponent, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: `
|
|
11129
11135
|
<kendo-virtualization
|
|
11130
11136
|
[skip]="skip"
|
|
11131
11137
|
[take]="total"
|
|
@@ -11200,8 +11206,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11200
11206
|
type: Input
|
|
11201
11207
|
}], value: [{
|
|
11202
11208
|
type: Input
|
|
11209
|
+
}], isLast: [{
|
|
11210
|
+
type: Input
|
|
11203
11211
|
}], valueChange: [{
|
|
11204
11212
|
type: Output
|
|
11213
|
+
}], tabOutLastPart: [{
|
|
11214
|
+
type: Output
|
|
11205
11215
|
}], virtualization: [{
|
|
11206
11216
|
type: ViewChild,
|
|
11207
11217
|
args: [VirtualizationComponent, { static: true }]
|
|
@@ -11423,6 +11433,7 @@ class TimeSelectorComponent {
|
|
|
11423
11433
|
* Fires each time the user cancels the selected value.
|
|
11424
11434
|
*/
|
|
11425
11435
|
this.valueReject = new EventEmitter();
|
|
11436
|
+
this.tabOutLastPart = new EventEmitter();
|
|
11426
11437
|
this.isActive = false;
|
|
11427
11438
|
this.showNowButton = true;
|
|
11428
11439
|
this._activeListIndex = -1;
|
|
@@ -11512,6 +11523,22 @@ class TimeSelectorComponent {
|
|
|
11512
11523
|
this.init();
|
|
11513
11524
|
this.bindEvents();
|
|
11514
11525
|
}
|
|
11526
|
+
ngAfterViewInit() {
|
|
11527
|
+
this.subscriptions.add(fromEvent(this.timeListWrappers.first.nativeElement, 'keydown').subscribe((event) => {
|
|
11528
|
+
const { keyCode, shiftKey } = event;
|
|
11529
|
+
if (keyCode === Keys$1.Tab && shiftKey) {
|
|
11530
|
+
event.preventDefault();
|
|
11531
|
+
this.renderer.removeClass(this.timeListWrappers.first.nativeElement, 'k-focus');
|
|
11532
|
+
this.accept.nativeElement.focus();
|
|
11533
|
+
}
|
|
11534
|
+
}));
|
|
11535
|
+
this.subscriptions.add(fromEvent(this.timeListWrappers.last.nativeElement, 'keydown').subscribe((event) => {
|
|
11536
|
+
const { keyCode, shiftKey } = event;
|
|
11537
|
+
if (keyCode === Keys$1.Tab && !shiftKey) {
|
|
11538
|
+
this.renderer.removeClass(this.timeListWrappers.last.nativeElement, 'k-focus');
|
|
11539
|
+
}
|
|
11540
|
+
}));
|
|
11541
|
+
}
|
|
11515
11542
|
/**
|
|
11516
11543
|
* @hidden
|
|
11517
11544
|
*/
|
|
@@ -11616,6 +11643,16 @@ class TimeSelectorComponent {
|
|
|
11616
11643
|
containsElement(element) {
|
|
11617
11644
|
return Boolean(closest(element, node => node === this.element.nativeElement));
|
|
11618
11645
|
}
|
|
11646
|
+
/**
|
|
11647
|
+
* @hidden
|
|
11648
|
+
*/
|
|
11649
|
+
handleTabOut(event) {
|
|
11650
|
+
const { keyCode, shiftKey } = event;
|
|
11651
|
+
if (keyCode === Keys$1.Tab && !shiftKey) {
|
|
11652
|
+
event.preventDefault();
|
|
11653
|
+
this.timeLists.first.focus();
|
|
11654
|
+
}
|
|
11655
|
+
}
|
|
11619
11656
|
partStep(part) {
|
|
11620
11657
|
return this.steps[part.type] || 1;
|
|
11621
11658
|
}
|
|
@@ -11703,7 +11740,7 @@ class TimeSelectorComponent {
|
|
|
11703
11740
|
}
|
|
11704
11741
|
}
|
|
11705
11742
|
TimeSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeSelectorComponent, deps: [{ token: i1$1.LocalizationService }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.IntlService }, { token: TimePickerDOMService }, { token: i0.NgZone }, { token: i0.Renderer2 }, { token: PickerService, optional: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
11706
|
-
TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: { format: "format", min: "min", max: "max", cancelButton: "cancelButton", setButton: "setButton", nowButton: "nowButton", disabled: "disabled", isAdaptiveEnabled: "isAdaptiveEnabled", isDateTimePicker: "isDateTimePicker", steps: "steps", value: "value" }, outputs: { valueChange: "valueChange", valueReject: "valueReject" }, host: { properties: { "class.k-disabled": "this.disabledClass" } }, providers: [
|
|
11743
|
+
TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: { format: "format", min: "min", max: "max", cancelButton: "cancelButton", setButton: "setButton", nowButton: "nowButton", disabled: "disabled", isAdaptiveEnabled: "isAdaptiveEnabled", isDateTimePicker: "isDateTimePicker", steps: "steps", value: "value" }, outputs: { valueChange: "valueChange", valueReject: "valueReject", tabOutLastPart: "tabOutLastPart" }, host: { properties: { "class.k-disabled": "this.disabledClass" } }, providers: [
|
|
11707
11744
|
LocalizationService,
|
|
11708
11745
|
{
|
|
11709
11746
|
provide: L10N_PREFIX,
|
|
@@ -11761,12 +11798,14 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11761
11798
|
>
|
|
11762
11799
|
<span class="k-title k-timeselector-title">{{intl.dateFieldName(part)}}</span>
|
|
11763
11800
|
<kendo-timelist
|
|
11801
|
+
[isLast]="idx === dateFormatParts.length - 1"
|
|
11764
11802
|
[min]="min"
|
|
11765
11803
|
[max]="max"
|
|
11766
11804
|
[part]="part"
|
|
11767
11805
|
[step]="partStep(part)"
|
|
11768
11806
|
[disabled]="disabled"
|
|
11769
11807
|
[(value)]="current"
|
|
11808
|
+
(tabOutLastPart)="tabOutLastPart.emit()"
|
|
11770
11809
|
[kendoEventsOutsideAngular]="{
|
|
11771
11810
|
focus: handleListFocus,
|
|
11772
11811
|
blur: handleBlur
|
|
@@ -11806,13 +11845,14 @@ TimeSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0",
|
|
|
11806
11845
|
[kendoEventsOutsideAngular]="{
|
|
11807
11846
|
click: handleAccept,
|
|
11808
11847
|
focus: handleFocus,
|
|
11809
|
-
blur: handleBlur
|
|
11848
|
+
blur: handleBlur,
|
|
11849
|
+
keydown: handleTabOut
|
|
11810
11850
|
}"
|
|
11811
11851
|
[scope]="this"
|
|
11812
11852
|
[disabled]="disabled"
|
|
11813
11853
|
>{{localization.get('accept')}}</button>
|
|
11814
11854
|
</div>
|
|
11815
|
-
`, isInline: true, components: [{ type: TimeListComponent, selector: "kendo-timelist", inputs: ["min", "max", "part", "step", "disabled", "value"], outputs: ["valueChange"] }], directives: [{ type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11855
|
+
`, isInline: true, components: [{ type: TimeListComponent, selector: "kendo-timelist", inputs: ["min", "max", "part", "step", "disabled", "value", "isLast"], outputs: ["valueChange", "tabOutLastPart"] }], directives: [{ type: TimeSelectorLocalizedMessagesDirective, selector: "[kendoTimeSelectorLocalizedMessages]" }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
11816
11856
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeSelectorComponent, decorators: [{
|
|
11817
11857
|
type: Component,
|
|
11818
11858
|
args: [{
|
|
@@ -11878,12 +11918,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11878
11918
|
>
|
|
11879
11919
|
<span class="k-title k-timeselector-title">{{intl.dateFieldName(part)}}</span>
|
|
11880
11920
|
<kendo-timelist
|
|
11921
|
+
[isLast]="idx === dateFormatParts.length - 1"
|
|
11881
11922
|
[min]="min"
|
|
11882
11923
|
[max]="max"
|
|
11883
11924
|
[part]="part"
|
|
11884
11925
|
[step]="partStep(part)"
|
|
11885
11926
|
[disabled]="disabled"
|
|
11886
11927
|
[(value)]="current"
|
|
11928
|
+
(tabOutLastPart)="tabOutLastPart.emit()"
|
|
11887
11929
|
[kendoEventsOutsideAngular]="{
|
|
11888
11930
|
focus: handleListFocus,
|
|
11889
11931
|
blur: handleBlur
|
|
@@ -11923,7 +11965,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11923
11965
|
[kendoEventsOutsideAngular]="{
|
|
11924
11966
|
click: handleAccept,
|
|
11925
11967
|
focus: handleFocus,
|
|
11926
|
-
blur: handleBlur
|
|
11968
|
+
blur: handleBlur,
|
|
11969
|
+
keydown: handleTabOut
|
|
11927
11970
|
}"
|
|
11928
11971
|
[scope]="this"
|
|
11929
11972
|
[disabled]="disabled"
|
|
@@ -11979,6 +12022,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
11979
12022
|
type: Output
|
|
11980
12023
|
}], valueReject: [{
|
|
11981
12024
|
type: Output
|
|
12025
|
+
}], tabOutLastPart: [{
|
|
12026
|
+
type: Output
|
|
11982
12027
|
}] } });
|
|
11983
12028
|
|
|
11984
12029
|
/**
|
|
@@ -12753,6 +12798,17 @@ class TimePickerComponent {
|
|
|
12753
12798
|
}
|
|
12754
12799
|
this.windowSize = windowSize();
|
|
12755
12800
|
}
|
|
12801
|
+
/**
|
|
12802
|
+
* @hidden
|
|
12803
|
+
*/
|
|
12804
|
+
onTabOutLastPart() {
|
|
12805
|
+
if (this.cancelButton) {
|
|
12806
|
+
this.timeSelector.cancel.nativeElement.focus();
|
|
12807
|
+
}
|
|
12808
|
+
else {
|
|
12809
|
+
this.timeSelector.accept.nativeElement.focus();
|
|
12810
|
+
}
|
|
12811
|
+
}
|
|
12756
12812
|
toggleTimeSelector(show) {
|
|
12757
12813
|
this.windowSize = windowSize();
|
|
12758
12814
|
if (this.isAdaptive) {
|
|
@@ -13111,6 +13167,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13111
13167
|
[scope]="this"
|
|
13112
13168
|
(valueChange)="handleChange($event)"
|
|
13113
13169
|
(valueReject)="handleReject()"
|
|
13170
|
+
(tabOutLastPart)="onTabOutLastPart()"
|
|
13114
13171
|
>
|
|
13115
13172
|
<kendo-timeselector-messages
|
|
13116
13173
|
[acceptLabel]="localization.get('acceptLabel')"
|
|
@@ -13128,7 +13185,7 @@ TimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", ve
|
|
|
13128
13185
|
</kendo-timeselector-messages>
|
|
13129
13186
|
</kendo-timeselector>
|
|
13130
13187
|
</ng-template>
|
|
13131
|
-
`, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "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$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13188
|
+
`, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "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$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: TimePickerLocalizedMessagesDirective, selector: "[kendoTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
13132
13189
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
13133
13190
|
type: Component,
|
|
13134
13191
|
args: [{
|
|
@@ -13310,6 +13367,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
13310
13367
|
[scope]="this"
|
|
13311
13368
|
(valueChange)="handleChange($event)"
|
|
13312
13369
|
(valueReject)="handleReject()"
|
|
13370
|
+
(tabOutLastPart)="onTabOutLastPart()"
|
|
13313
13371
|
>
|
|
13314
13372
|
<kendo-timeselector-messages
|
|
13315
13373
|
[acceptLabel]="localization.get('acceptLabel')"
|
|
@@ -13508,6 +13566,9 @@ const DEFAULT_ACTIVE_TAB = 'date';
|
|
|
13508
13566
|
const DEFAULT_DATEINPUT_FORMAT = 'g';
|
|
13509
13567
|
const DEFAULT_TIMESELECTOR_FORMAT = 't';
|
|
13510
13568
|
const TWO_DIGIT_YEAR_MAX = 68;
|
|
13569
|
+
const ACCEPT_BUTTON_SELECTOR = '.k-button.k-time-accept';
|
|
13570
|
+
const CANCEL_BUTTON_SELECOTR = '.k-button.k-time-cancel';
|
|
13571
|
+
const DATE_TAB_BUTTON_SELECTOR = '.k-button.k-date-tab';
|
|
13511
13572
|
/**
|
|
13512
13573
|
* Represents the [Kendo UI DateTimePicker component for Angular]({% slug overview_datetimepicker %}).
|
|
13513
13574
|
*/
|
|
@@ -14031,6 +14092,21 @@ class DateTimePickerComponent {
|
|
|
14031
14092
|
return (_a = this.calendar) === null || _a === void 0 ? void 0 : _a.popupId;
|
|
14032
14093
|
}
|
|
14033
14094
|
;
|
|
14095
|
+
get acceptButton() {
|
|
14096
|
+
var _a;
|
|
14097
|
+
return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(ACCEPT_BUTTON_SELECTOR);
|
|
14098
|
+
}
|
|
14099
|
+
;
|
|
14100
|
+
get cancelButtonElement() {
|
|
14101
|
+
var _a;
|
|
14102
|
+
return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(CANCEL_BUTTON_SELECOTR);
|
|
14103
|
+
}
|
|
14104
|
+
;
|
|
14105
|
+
get dateTabButton() {
|
|
14106
|
+
var _a;
|
|
14107
|
+
return (_a = this.popupRef) === null || _a === void 0 ? void 0 : _a.popup.instance.container.nativeElement.querySelector(DATE_TAB_BUTTON_SELECTOR);
|
|
14108
|
+
}
|
|
14109
|
+
;
|
|
14034
14110
|
ngOnInit() {
|
|
14035
14111
|
this.subscriptions.add(this.pickerService.onFocus
|
|
14036
14112
|
// detect popup changes to disable the inactive view mark-up when the popup is open
|
|
@@ -14236,6 +14312,20 @@ class DateTimePickerComponent {
|
|
|
14236
14312
|
}
|
|
14237
14313
|
this.activeTabComponent.focus();
|
|
14238
14314
|
}
|
|
14315
|
+
/**
|
|
14316
|
+
* @hidden
|
|
14317
|
+
*/
|
|
14318
|
+
onTabOutLastPart() {
|
|
14319
|
+
if (!this.cancelButton && !this.calendarValue) {
|
|
14320
|
+
this.dateTabButton.focus();
|
|
14321
|
+
}
|
|
14322
|
+
else if (!this.cancelButton && this.calendarValue) {
|
|
14323
|
+
this.acceptButton.focus();
|
|
14324
|
+
}
|
|
14325
|
+
else if (this.cancelButton) {
|
|
14326
|
+
this.cancelButtonElement.focus();
|
|
14327
|
+
}
|
|
14328
|
+
}
|
|
14239
14329
|
/**
|
|
14240
14330
|
* @hidden
|
|
14241
14331
|
*/
|
|
@@ -14318,22 +14408,41 @@ class DateTimePickerComponent {
|
|
|
14318
14408
|
/**
|
|
14319
14409
|
* @hidden
|
|
14320
14410
|
*/
|
|
14321
|
-
|
|
14322
|
-
|
|
14323
|
-
|
|
14324
|
-
|
|
14325
|
-
|
|
14326
|
-
|
|
14327
|
-
|
|
14328
|
-
|
|
14329
|
-
|
|
14330
|
-
|
|
14331
|
-
|
|
14332
|
-
|
|
14333
|
-
|
|
14334
|
-
|
|
14335
|
-
|
|
14336
|
-
|
|
14411
|
+
handleTab(event) {
|
|
14412
|
+
event.preventDefault();
|
|
14413
|
+
const { shiftKey } = event;
|
|
14414
|
+
switch (event.target) {
|
|
14415
|
+
case this.acceptButton:
|
|
14416
|
+
if (!shiftKey && this.calendarValue) {
|
|
14417
|
+
this.dateTabButton.focus();
|
|
14418
|
+
}
|
|
14419
|
+
break;
|
|
14420
|
+
case this.cancelButtonElement:
|
|
14421
|
+
if (!shiftKey && !this.calendarValue) {
|
|
14422
|
+
this.dateTabButton.focus();
|
|
14423
|
+
}
|
|
14424
|
+
else if (!shiftKey && this.calendarValue) {
|
|
14425
|
+
this.acceptButton.focus();
|
|
14426
|
+
}
|
|
14427
|
+
break;
|
|
14428
|
+
case this.dateTabButton:
|
|
14429
|
+
if (this.calendarValue) {
|
|
14430
|
+
this.acceptButton.focus();
|
|
14431
|
+
}
|
|
14432
|
+
else if (!this.calendarValue && this.cancelButton) {
|
|
14433
|
+
this.cancelButtonElement.focus();
|
|
14434
|
+
}
|
|
14435
|
+
else if (!this.calendarValue && !this.cancelButton) {
|
|
14436
|
+
if (this.activeTab === 'date') {
|
|
14437
|
+
this.calendar.monthView.list.nativeElement.focus();
|
|
14438
|
+
}
|
|
14439
|
+
else {
|
|
14440
|
+
this.timeSelector.focus();
|
|
14441
|
+
}
|
|
14442
|
+
}
|
|
14443
|
+
break;
|
|
14444
|
+
default:
|
|
14445
|
+
break;
|
|
14337
14446
|
}
|
|
14338
14447
|
}
|
|
14339
14448
|
/**
|
|
@@ -14518,6 +14627,15 @@ class DateTimePickerComponent {
|
|
|
14518
14627
|
this.renderer.setAttribute(this.inputElement, attributeNames.ariaControls, this.popupUID);
|
|
14519
14628
|
this.setAriaActiveDescendant();
|
|
14520
14629
|
this.popupRef.popupAnchorViewportLeave.subscribe(() => this.handleCancel());
|
|
14630
|
+
if (this.calendar.type === 'infinite') {
|
|
14631
|
+
this.subscriptions.add(fromEvent(this.calendar.monthView.list.nativeElement, 'keydown').subscribe((event) => {
|
|
14632
|
+
const { keyCode, shiftKey } = event;
|
|
14633
|
+
if (keyCode === Keys$1.Tab && !shiftKey && !this.cancelButton && !this.calendarValue) {
|
|
14634
|
+
event.preventDefault();
|
|
14635
|
+
this.dateTabButton.focus();
|
|
14636
|
+
}
|
|
14637
|
+
}));
|
|
14638
|
+
}
|
|
14521
14639
|
}
|
|
14522
14640
|
setAriaActiveDescendant() {
|
|
14523
14641
|
const focusedCellChangeEvent = this.calendar.type === 'infinite' ?
|
|
@@ -14826,7 +14944,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14826
14944
|
[attr.aria-label]="localization.get('dateTabLabel')"
|
|
14827
14945
|
[kendoEventsOutsideAngular]="{
|
|
14828
14946
|
click: changeActiveTab.bind(this, 'date'),
|
|
14829
|
-
keydown:
|
|
14947
|
+
'keydown.shift.tab': handleTab
|
|
14830
14948
|
}"
|
|
14831
14949
|
[scope]="this"
|
|
14832
14950
|
>
|
|
@@ -14899,6 +15017,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14899
15017
|
[disabled]="disableTimeSelector"
|
|
14900
15018
|
[isAdaptiveEnabled]="isAdaptiveModeEnabled"
|
|
14901
15019
|
[isDateTimePicker]="true"
|
|
15020
|
+
(tabOutLastPart)="onTabOutLastPart()"
|
|
14902
15021
|
>
|
|
14903
15022
|
<kendo-timeselector-messages
|
|
14904
15023
|
[acceptLabel]="localization.get('acceptLabel')"
|
|
@@ -14921,7 +15040,6 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14921
15040
|
*ngIf="!isAdaptive"
|
|
14922
15041
|
class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
|
|
14923
15042
|
[kendoEventsOutsideAngular]="{
|
|
14924
|
-
keydown: handleTabOut,
|
|
14925
15043
|
focusin: handleFocus,
|
|
14926
15044
|
focusout: handleBlur
|
|
14927
15045
|
}"
|
|
@@ -14935,7 +15053,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14935
15053
|
[attr.title]="localization.get('cancelLabel')"
|
|
14936
15054
|
[attr.aria-label]="localization.get('cancelLabel')"
|
|
14937
15055
|
[kendoEventsOutsideAngular]="{
|
|
14938
|
-
click: handleCancel
|
|
15056
|
+
click: handleCancel,
|
|
15057
|
+
'keydown.tab': handleTab
|
|
14939
15058
|
}"
|
|
14940
15059
|
[scope]="this"
|
|
14941
15060
|
>
|
|
@@ -14949,7 +15068,8 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14949
15068
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
14950
15069
|
[disabled]="!calendarValue"
|
|
14951
15070
|
[kendoEventsOutsideAngular]="{
|
|
14952
|
-
click: handleAccept
|
|
15071
|
+
click: handleAccept,
|
|
15072
|
+
'keydown.tab': handleTab
|
|
14953
15073
|
}"
|
|
14954
15074
|
[scope]="this"
|
|
14955
15075
|
>
|
|
@@ -14958,7 +15078,7 @@ DateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
|
|
|
14958
15078
|
</div>
|
|
14959
15079
|
</div>
|
|
14960
15080
|
</ng-template>
|
|
14961
|
-
`, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "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$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: 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", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
15081
|
+
`, isInline: true, components: [{ type: DateInputComponent, selector: "kendo-dateinput", inputs: ["focusableId", "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$1.IconWrapperComponent, selector: "kendo-icon-wrapper", inputs: ["name", "svgIcon", "innerCssClass", "customFontClass"], exportAs: ["kendoIconWrapper"] }, { type: i8.ResizeSensorComponent, selector: "kendo-resize-sensor", inputs: ["rateLimit"], outputs: ["resize"] }, { type: i9.ActionSheetComponent, selector: "kendo-actionsheet", inputs: ["title", "subtitle", "items", "cssClass", "animation", "expanded"], outputs: ["expandedChange", "expand", "collapse", "itemClick", "overlayClick"], exportAs: ["kendoActionSheet"] }, { type: i10.Button, selector: "button[kendoButton], span[kendoButton], kendo-button", inputs: ["toggleable", "togglable", "selected", "tabIndex", "imageUrl", "iconClass", "icon", "disabled", "size", "rounded", "fillMode", "themeColor", "svgIcon", "role", "primary", "look"], outputs: ["selectedChange", "click"], exportAs: ["kendoButton"] }, { type: 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", "size"], outputs: ["activeViewChange", "navigate", "activeViewDateChange", "blur", "focus", "valueChange"], exportAs: ["kendo-calendar"] }, { type: CalendarCustomMessagesComponent, selector: "kendo-calendar-messages" }, { type: TimeSelectorComponent, selector: "kendo-timeselector", inputs: ["format", "min", "max", "cancelButton", "setButton", "nowButton", "disabled", "isAdaptiveEnabled", "isDateTimePicker", "steps", "value"], outputs: ["valueChange", "valueReject", "tabOutLastPart"], exportAs: ["kendo-timeselector"] }, { type: TimeSelectorCustomMessagesComponent, selector: "kendo-timeselector-messages" }], directives: [{ type: LocalizedMessagesDirective, selector: "[kendoDateTimePickerLocalizedMessages]" }, { type: i8.EventsOutsideAngularDirective, selector: "[kendoEventsOutsideAngular]", inputs: ["kendoEventsOutsideAngular", "scope"] }, { type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i7.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i9.ActionSheetTemplateDirective, selector: "[kendoActionSheetTemplate]" }, { type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
14962
15082
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: DateTimePickerComponent, decorators: [{
|
|
14963
15083
|
type: Component,
|
|
14964
15084
|
args: [{
|
|
@@ -15184,7 +15304,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15184
15304
|
[attr.aria-label]="localization.get('dateTabLabel')"
|
|
15185
15305
|
[kendoEventsOutsideAngular]="{
|
|
15186
15306
|
click: changeActiveTab.bind(this, 'date'),
|
|
15187
|
-
keydown:
|
|
15307
|
+
'keydown.shift.tab': handleTab
|
|
15188
15308
|
}"
|
|
15189
15309
|
[scope]="this"
|
|
15190
15310
|
>
|
|
@@ -15257,6 +15377,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15257
15377
|
[disabled]="disableTimeSelector"
|
|
15258
15378
|
[isAdaptiveEnabled]="isAdaptiveModeEnabled"
|
|
15259
15379
|
[isDateTimePicker]="true"
|
|
15380
|
+
(tabOutLastPart)="onTabOutLastPart()"
|
|
15260
15381
|
>
|
|
15261
15382
|
<kendo-timeselector-messages
|
|
15262
15383
|
[acceptLabel]="localization.get('acceptLabel')"
|
|
@@ -15279,7 +15400,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15279
15400
|
*ngIf="!isAdaptive"
|
|
15280
15401
|
class="k-datetime-footer k-action-buttons k-actions k-hstack k-justify-content-stretch"
|
|
15281
15402
|
[kendoEventsOutsideAngular]="{
|
|
15282
|
-
keydown: handleTabOut,
|
|
15283
15403
|
focusin: handleFocus,
|
|
15284
15404
|
focusout: handleBlur
|
|
15285
15405
|
}"
|
|
@@ -15293,7 +15413,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15293
15413
|
[attr.title]="localization.get('cancelLabel')"
|
|
15294
15414
|
[attr.aria-label]="localization.get('cancelLabel')"
|
|
15295
15415
|
[kendoEventsOutsideAngular]="{
|
|
15296
|
-
click: handleCancel
|
|
15416
|
+
click: handleCancel,
|
|
15417
|
+
'keydown.tab': handleTab
|
|
15297
15418
|
}"
|
|
15298
15419
|
[scope]="this"
|
|
15299
15420
|
>
|
|
@@ -15307,7 +15428,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
|
|
|
15307
15428
|
[attr.aria-label]="localization.get('acceptLabel')"
|
|
15308
15429
|
[disabled]="!calendarValue"
|
|
15309
15430
|
[kendoEventsOutsideAngular]="{
|
|
15310
|
-
click: handleAccept
|
|
15431
|
+
click: handleAccept,
|
|
15432
|
+
'keydown.tab': handleTab
|
|
15311
15433
|
}"
|
|
15312
15434
|
[scope]="this"
|
|
15313
15435
|
>
|