@progress/kendo-angular-dateinputs 5.3.1-dev.202112011809 → 6.0.0-dev.202201181611
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/LICENSE.md +1 -1
- package/NOTICE.txt +119 -79
- package/README.md +1 -1
- package/dist/cdn/js/kendo-angular-dateinputs.js +2 -2
- package/dist/cdn/main.js +1 -1
- package/dist/es/calendar/calendar.component.js +14 -2
- package/dist/es/calendar/header.component.js +1 -1
- package/dist/es/calendar/multiview-calendar.component.js +28 -12
- package/dist/es/calendar/multiview-calendar.module.js +9 -1
- package/dist/es/calendar/services/dom.service.js +1 -1
- package/dist/es/calendar/view.component.js +1 -1
- package/dist/es/common/models/fillmode.js +4 -0
- package/dist/es/common/models/rounded.js +4 -0
- package/dist/es/common/models/size.js +4 -0
- package/dist/es/dateinput/dateinput.component.js +143 -18
- package/dist/es/datepicker/datepicker.component.js +130 -13
- package/dist/es/daterange/date-range-input.js +1 -1
- package/dist/es/datetimepicker/datetimepicker.component.js +147 -11
- package/dist/es/package-metadata.js +1 -1
- package/dist/es/timepicker/services/dom.service.js +12 -8
- package/dist/es/timepicker/timelist.component.js +3 -2
- package/dist/es/timepicker/timepicker.component.js +130 -13
- package/dist/es/timepicker/timeselector.component.js +2 -2
- package/dist/es/util.js +37 -0
- package/dist/es2015/calendar/calendar.component.d.ts +7 -0
- package/dist/es2015/calendar/calendar.component.js +14 -2
- package/dist/es2015/calendar/header.component.js +4 -4
- package/dist/es2015/calendar/multiview-calendar.component.d.ts +8 -2
- package/dist/es2015/calendar/multiview-calendar.component.js +31 -11
- package/dist/es2015/calendar/multiview-calendar.module.js +9 -1
- package/dist/es2015/calendar/services/dom.service.js +1 -1
- package/dist/es2015/calendar/view.component.js +1 -1
- package/dist/es2015/common/models/fillmode.d.ts +14 -0
- package/dist/es2015/common/models/fillmode.js +4 -0
- package/dist/es2015/common/models/rounded.d.ts +15 -0
- package/dist/es2015/common/models/rounded.js +4 -0
- package/dist/es2015/common/models/size.d.ts +14 -0
- package/dist/es2015/common/models/size.js +4 -0
- package/dist/es2015/dateinput/dateinput.component.d.ts +49 -8
- package/dist/es2015/dateinput/dateinput.component.js +183 -68
- package/dist/es2015/datepicker/datepicker.component.d.ts +47 -5
- package/dist/es2015/datepicker/datepicker.component.js +155 -49
- package/dist/es2015/daterange/date-range-input.js +1 -1
- package/dist/es2015/datetimepicker/datetimepicker.component.d.ts +56 -6
- package/dist/es2015/datetimepicker/datetimepicker.component.js +186 -63
- package/dist/es2015/index.metadata.json +1 -1
- package/dist/es2015/package-metadata.js +1 -1
- package/dist/es2015/timepicker/services/dom.service.d.ts +1 -0
- package/dist/es2015/timepicker/services/dom.service.js +12 -8
- package/dist/es2015/timepicker/timelist.component.js +3 -2
- package/dist/es2015/timepicker/timepicker.component.d.ts +50 -5
- package/dist/es2015/timepicker/timepicker.component.js +174 -69
- package/dist/es2015/timepicker/timeselector.component.js +7 -5
- package/dist/es2015/util.d.ts +18 -0
- package/dist/es2015/util.js +37 -0
- package/dist/fesm2015/index.js +821 -290
- package/dist/fesm5/index.js +663 -92
- package/dist/npm/calendar/calendar.component.js +14 -2
- package/dist/npm/calendar/header.component.js +1 -1
- package/dist/npm/calendar/multiview-calendar.component.js +27 -11
- package/dist/npm/calendar/multiview-calendar.module.js +9 -1
- package/dist/npm/calendar/services/dom.service.js +1 -1
- package/dist/npm/calendar/view.component.js +1 -1
- package/dist/npm/common/models/fillmode.js +6 -0
- package/dist/npm/common/models/rounded.js +6 -0
- package/dist/npm/common/models/size.js +6 -0
- package/dist/npm/dateinput/dateinput.component.js +142 -17
- package/dist/npm/datepicker/datepicker.component.js +129 -12
- package/dist/npm/daterange/date-range-input.js +1 -1
- package/dist/npm/datetimepicker/datetimepicker.component.js +146 -10
- package/dist/npm/package-metadata.js +1 -1
- package/dist/npm/timepicker/services/dom.service.js +15 -10
- package/dist/npm/timepicker/timelist.component.js +3 -2
- package/dist/npm/timepicker/timepicker.component.js +129 -12
- package/dist/npm/timepicker/timeselector.component.js +2 -2
- package/dist/npm/util.js +37 -0
- package/dist/systemjs/kendo-angular-dateinputs.js +1 -1
- package/package.json +2 -2
|
@@ -93,8 +93,9 @@ var TimeListComponent = /** @class */ (function () {
|
|
|
93
93
|
this.dom.ensureHeights();
|
|
94
94
|
this.itemHeight = this.dom.itemHeight;
|
|
95
95
|
this.listHeight = this.dom.timeListHeight;
|
|
96
|
-
|
|
97
|
-
this.
|
|
96
|
+
var titleHeight = this.dom.timeListTitleHeight;
|
|
97
|
+
this.topOffset = (this.listHeight - this.itemHeight - titleHeight) / 2;
|
|
98
|
+
this.bottomOffset = this.listHeight - this.itemHeight - titleHeight;
|
|
98
99
|
this.topThreshold = this.itemHeight * SNAP_THRESHOLD;
|
|
99
100
|
this.bottomThreshold = this.itemHeight * (1 - SNAP_THRESHOLD);
|
|
100
101
|
var translate = "translateY(" + this.topOffset + "px)";
|
|
@@ -17,7 +17,7 @@ import { PickerService } from '../common/picker.service';
|
|
|
17
17
|
import { requiresZoneOnBlur, currentFocusTarget } from '../common/utils';
|
|
18
18
|
import { TIME_PART } from './models/time-part.default';
|
|
19
19
|
import { PreventableEvent } from '../preventable-event';
|
|
20
|
-
import { noop, setTime, isWindowAvailable } from '../util';
|
|
20
|
+
import { noop, setTime, isWindowAvailable, getFillModeClass, getSizeClass, getRoundedClass } from '../util';
|
|
21
21
|
import { timeRangeValidator } from '../validators/time-range.validator';
|
|
22
22
|
import { TOUCH_ENABLED } from '../touch-enabled';
|
|
23
23
|
import { fromEvent } from 'rxjs';
|
|
@@ -29,12 +29,12 @@ var formatRegExp = new RegExp(TIME_PART.hour + "|" + TIME_PART.minute + "|" + TI
|
|
|
29
29
|
* Represents the [Kendo UI TimePicker component for Angular]({% slug overview_timepicker %}#toc-basic-usage).
|
|
30
30
|
*/
|
|
31
31
|
var TimePickerComponent = /** @class */ (function () {
|
|
32
|
-
function TimePickerComponent(zone, localization, cdr, popupService,
|
|
32
|
+
function TimePickerComponent(zone, localization, cdr, popupService, wrapper, renderer, injector, pickerService, intl, touchEnabled) {
|
|
33
33
|
this.zone = zone;
|
|
34
34
|
this.localization = localization;
|
|
35
35
|
this.cdr = cdr;
|
|
36
36
|
this.popupService = popupService;
|
|
37
|
-
this.
|
|
37
|
+
this.wrapper = wrapper;
|
|
38
38
|
this.renderer = renderer;
|
|
39
39
|
this.injector = injector;
|
|
40
40
|
this.pickerService = pickerService;
|
|
@@ -196,6 +196,9 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
196
196
|
this._value = null;
|
|
197
197
|
this._active = false;
|
|
198
198
|
this.domEvents = [];
|
|
199
|
+
this._size = 'medium';
|
|
200
|
+
this._rounded = 'medium';
|
|
201
|
+
this._fillMode = 'solid';
|
|
199
202
|
validatePackage(packageMetadata);
|
|
200
203
|
this.pickerSubscriptions = this.pickerService.onFocus.subscribe(this.handleFocus.bind(this));
|
|
201
204
|
this.pickerSubscriptions.add(this.pickerService.onBlur.subscribe(this.handleBlur.bind(this)));
|
|
@@ -306,6 +309,85 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
306
309
|
enumerable: true,
|
|
307
310
|
configurable: true
|
|
308
311
|
});
|
|
312
|
+
Object.defineProperty(TimePickerComponent.prototype, "size", {
|
|
313
|
+
get: function () {
|
|
314
|
+
return this._size;
|
|
315
|
+
},
|
|
316
|
+
/**
|
|
317
|
+
* Sets the size of the component.
|
|
318
|
+
*
|
|
319
|
+
* The possible values are:
|
|
320
|
+
* * `'small'`
|
|
321
|
+
* * `'medium'` (Default)
|
|
322
|
+
* * `'large'`
|
|
323
|
+
* * `null`
|
|
324
|
+
*
|
|
325
|
+
*/
|
|
326
|
+
set: function (size) {
|
|
327
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
|
|
328
|
+
this.renderer.removeClass(this.toggleButton.nativeElement, getSizeClass('input', this.size));
|
|
329
|
+
if (size) {
|
|
330
|
+
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', size));
|
|
331
|
+
this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('input', size));
|
|
332
|
+
}
|
|
333
|
+
this._size = size;
|
|
334
|
+
},
|
|
335
|
+
enumerable: true,
|
|
336
|
+
configurable: true
|
|
337
|
+
});
|
|
338
|
+
Object.defineProperty(TimePickerComponent.prototype, "rounded", {
|
|
339
|
+
get: function () {
|
|
340
|
+
return this._rounded;
|
|
341
|
+
},
|
|
342
|
+
/**
|
|
343
|
+
* Sets the border radius of the component.
|
|
344
|
+
*
|
|
345
|
+
* The possible values are:
|
|
346
|
+
* * `'small'`
|
|
347
|
+
* * `'medium'` (Default)
|
|
348
|
+
* * `'large'`
|
|
349
|
+
* * `'full'`
|
|
350
|
+
* * `null`
|
|
351
|
+
*
|
|
352
|
+
*/
|
|
353
|
+
set: function (rounded) {
|
|
354
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
|
|
355
|
+
if (rounded) {
|
|
356
|
+
this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(rounded));
|
|
357
|
+
}
|
|
358
|
+
this._rounded = rounded;
|
|
359
|
+
},
|
|
360
|
+
enumerable: true,
|
|
361
|
+
configurable: true
|
|
362
|
+
});
|
|
363
|
+
Object.defineProperty(TimePickerComponent.prototype, "fillMode", {
|
|
364
|
+
get: function () {
|
|
365
|
+
return this._fillMode;
|
|
366
|
+
},
|
|
367
|
+
/**
|
|
368
|
+
* Sets the fillMode of the component.
|
|
369
|
+
*
|
|
370
|
+
* The possible values are:
|
|
371
|
+
* * `'solid'` (Default)
|
|
372
|
+
* * `'flat'`
|
|
373
|
+
* * `'outline'`
|
|
374
|
+
* * `null`
|
|
375
|
+
*
|
|
376
|
+
*/
|
|
377
|
+
set: function (fillMode) {
|
|
378
|
+
this.renderer.removeClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
379
|
+
this.renderer.removeClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
|
|
380
|
+
this.renderer.removeClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
|
|
381
|
+
if (fillMode) {
|
|
382
|
+
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', fillMode));
|
|
383
|
+
this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', fillMode));
|
|
384
|
+
this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + fillMode + "-base");
|
|
385
|
+
}
|
|
386
|
+
this._fillMode = fillMode;
|
|
387
|
+
},
|
|
388
|
+
enumerable: true,
|
|
389
|
+
configurable: true
|
|
390
|
+
});
|
|
309
391
|
Object.defineProperty(TimePickerComponent.prototype, "disabledClass", {
|
|
310
392
|
/**
|
|
311
393
|
* @hidden
|
|
@@ -337,10 +419,10 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
337
419
|
}
|
|
338
420
|
var element = this.wrapper.nativeElement;
|
|
339
421
|
if (value) {
|
|
340
|
-
this.renderer.addClass(element, 'k-
|
|
422
|
+
this.renderer.addClass(element, 'k-focus');
|
|
341
423
|
}
|
|
342
424
|
else {
|
|
343
|
-
this.renderer.removeClass(element, 'k-
|
|
425
|
+
this.renderer.removeClass(element, 'k-focus');
|
|
344
426
|
}
|
|
345
427
|
},
|
|
346
428
|
enumerable: true,
|
|
@@ -397,13 +479,19 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
397
479
|
this.localizationChangeSubscription = this.localization
|
|
398
480
|
.changes.subscribe(function () { return _this.cdr.markForCheck(); });
|
|
399
481
|
this.control = this.injector.get(NgControl, null);
|
|
400
|
-
if (this.
|
|
401
|
-
this.renderer.removeAttribute(this.
|
|
482
|
+
if (this.wrapper) {
|
|
483
|
+
this.renderer.removeAttribute(this.wrapper.nativeElement, 'tabindex');
|
|
402
484
|
this.zone.runOutsideAngular(function () {
|
|
403
485
|
_this.bindEvents();
|
|
404
486
|
});
|
|
405
487
|
}
|
|
406
488
|
};
|
|
489
|
+
/**
|
|
490
|
+
* @hidden
|
|
491
|
+
*/
|
|
492
|
+
TimePickerComponent.prototype.ngAfterViewInit = function () {
|
|
493
|
+
this.setComponentClasses();
|
|
494
|
+
};
|
|
407
495
|
/**
|
|
408
496
|
* @hidden
|
|
409
497
|
*/
|
|
@@ -716,7 +804,7 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
716
804
|
}
|
|
717
805
|
};
|
|
718
806
|
TimePickerComponent.prototype.bindEvents = function () {
|
|
719
|
-
var element = this.
|
|
807
|
+
var element = this.wrapper.nativeElement;
|
|
720
808
|
this.domEvents.push(this.renderer.listen(element, 'keydown', this.handleKeydown.bind(this)));
|
|
721
809
|
if (isWindowAvailable()) {
|
|
722
810
|
this.windowBlurSubscription = fromEvent(window, 'blur').subscribe(this.handleWindowBlur.bind(this));
|
|
@@ -768,6 +856,20 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
768
856
|
this.cdr.markForCheck();
|
|
769
857
|
this.zone.run(function () { return _this.onValidatorChange(); });
|
|
770
858
|
};
|
|
859
|
+
TimePickerComponent.prototype.setComponentClasses = function () {
|
|
860
|
+
if (this.size) {
|
|
861
|
+
this.renderer.addClass(this.wrapper.nativeElement, getSizeClass('input', this.size));
|
|
862
|
+
this.renderer.addClass(this.toggleButton.nativeElement, getSizeClass('button', this.size));
|
|
863
|
+
}
|
|
864
|
+
if (this.rounded) {
|
|
865
|
+
this.renderer.addClass(this.wrapper.nativeElement, getRoundedClass(this.rounded));
|
|
866
|
+
}
|
|
867
|
+
if (this.fillMode) {
|
|
868
|
+
this.renderer.addClass(this.wrapper.nativeElement, getFillModeClass('input', this.fillMode));
|
|
869
|
+
this.renderer.addClass(this.toggleButton.nativeElement, getFillModeClass('button', this.fillMode));
|
|
870
|
+
this.renderer.addClass(this.toggleButton.nativeElement, "k-button-" + this.fillMode + "-base");
|
|
871
|
+
}
|
|
872
|
+
};
|
|
771
873
|
var TimePickerComponent_1;
|
|
772
874
|
tslib_1.__decorate([
|
|
773
875
|
ViewChild('container', { read: ViewContainerRef, static: false }),
|
|
@@ -778,9 +880,9 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
778
880
|
tslib_1.__metadata("design:type", TemplateRef)
|
|
779
881
|
], TimePickerComponent.prototype, "popupTemplate", void 0);
|
|
780
882
|
tslib_1.__decorate([
|
|
781
|
-
ViewChild('
|
|
883
|
+
ViewChild('toggleButton', { static: true }),
|
|
782
884
|
tslib_1.__metadata("design:type", ElementRef)
|
|
783
|
-
], TimePickerComponent.prototype, "
|
|
885
|
+
], TimePickerComponent.prototype, "toggleButton", void 0);
|
|
784
886
|
tslib_1.__decorate([
|
|
785
887
|
Input(),
|
|
786
888
|
tslib_1.__metadata("design:type", String)
|
|
@@ -863,6 +965,21 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
863
965
|
tslib_1.__metadata("design:type", Date),
|
|
864
966
|
tslib_1.__metadata("design:paramtypes", [Date])
|
|
865
967
|
], TimePickerComponent.prototype, "value", null);
|
|
968
|
+
tslib_1.__decorate([
|
|
969
|
+
Input(),
|
|
970
|
+
tslib_1.__metadata("design:type", String),
|
|
971
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
972
|
+
], TimePickerComponent.prototype, "size", null);
|
|
973
|
+
tslib_1.__decorate([
|
|
974
|
+
Input(),
|
|
975
|
+
tslib_1.__metadata("design:type", String),
|
|
976
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
977
|
+
], TimePickerComponent.prototype, "rounded", null);
|
|
978
|
+
tslib_1.__decorate([
|
|
979
|
+
Input(),
|
|
980
|
+
tslib_1.__metadata("design:type", String),
|
|
981
|
+
tslib_1.__metadata("design:paramtypes", [String])
|
|
982
|
+
], TimePickerComponent.prototype, "fillMode", null);
|
|
866
983
|
tslib_1.__decorate([
|
|
867
984
|
Output(),
|
|
868
985
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
@@ -884,12 +1001,12 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
884
1001
|
tslib_1.__metadata("design:type", EventEmitter)
|
|
885
1002
|
], TimePickerComponent.prototype, "close", void 0);
|
|
886
1003
|
tslib_1.__decorate([
|
|
887
|
-
HostBinding('class.k-widget'),
|
|
888
1004
|
HostBinding('class.k-timepicker'),
|
|
1005
|
+
HostBinding('class.k-input'),
|
|
889
1006
|
tslib_1.__metadata("design:type", Boolean)
|
|
890
1007
|
], TimePickerComponent.prototype, "wrapperClasses", void 0);
|
|
891
1008
|
tslib_1.__decorate([
|
|
892
|
-
HostBinding('class.k-
|
|
1009
|
+
HostBinding('class.k-disabled'),
|
|
893
1010
|
tslib_1.__metadata("design:type", Boolean),
|
|
894
1011
|
tslib_1.__metadata("design:paramtypes", [])
|
|
895
1012
|
], TimePickerComponent.prototype, "disabledClass", null);
|
|
@@ -909,7 +1026,7 @@ var TimePickerComponent = /** @class */ (function () {
|
|
|
909
1026
|
PickerService
|
|
910
1027
|
],
|
|
911
1028
|
selector: 'kendo-timepicker',
|
|
912
|
-
template: "\n <ng-container kendoTimePickerLocalizedMessages\n i18n-accept=\"kendo.timepicker.accept|The Accept button text in the timepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timepicker.acceptLabel|The label for the Accept button in the timepicker component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timepicker.cancel|The Cancel button text in the timepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timepicker.cancelLabel|The label for the Cancel button in the timepicker component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timepicker.now|The Now button text in the timepicker component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-toggle=\"kendo.timepicker.toggle|The label for the toggle button in the timepicker component\"\n toggle=\"Toggle time list\"\n >\n </ng-container>\n <
|
|
1029
|
+
template: "\n <ng-container kendoTimePickerLocalizedMessages\n i18n-accept=\"kendo.timepicker.accept|The Accept button text in the timepicker component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timepicker.acceptLabel|The label for the Accept button in the timepicker component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timepicker.cancel|The Cancel button text in the timepicker component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timepicker.cancelLabel|The label for the Cancel button in the timepicker component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timepicker.now|The Now button text in the timepicker component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timepicker.nowLabel|The label for the Now button in the timepicker component\"\n nowLabel=\"Select now\"\n\n i18n-toggle=\"kendo.timepicker.toggle|The label for the toggle button in the timepicker component\"\n toggle=\"Toggle time list\"\n >\n </ng-container>\n <kendo-dateinput\n #input\n [focusableId]=\"focusableId\"\n [hasPopup]=\"true\"\n [isPopupOpen]=\"show\"\n [disabled]=\"disabled\"\n [readonly]=\"readonly || readOnlyInput\"\n [role]=\"inputRole\"\n [ariaReadOnly]=\"readonly\"\n [format]=\"format\"\n [formatPlaceholder]=\"formatPlaceholder\"\n [placeholder]=\"placeholder\"\n [min]=\"normalizeTime(min)\"\n [max]=\"normalizeTime(max)\"\n [incompleteDateValidation]=\"incompleteDateValidation\"\n [fillMode]=\"fillMode\"\n [rounded]=\"rounded\"\n [size]=\"size\"\n [steps]=\"steps\"\n [tabindex]=\"!show ? tabindex : -1\"\n [title]=\"title\"\n [value]=\"value\"\n (valueChange)=\"handleInputChange($event)\"\n ></kendo-dateinput>\n <button\n #toggleButton\n type=\"button\"\n class=\"k-input-button k-button k-icon-button\"\n [attr.title]=\"localization.get('toggle')\"\n [attr.aria-label]=\"localization.get('toggle')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleIconClick,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n >\n <span class=\"k-button-icon k-icon k-i-clock\"></span>\n </button>\n <ng-template #popupTemplate>\n <kendo-timeselector\n #timeSelector\n [cancelButton]=\"cancelButton\"\n [nowButton]=\"nowButton\"\n [format]=\"format\"\n [min]=\"min\"\n [max]=\"max\"\n [steps]=\"steps\"\n [value]=\"value\"\n [kendoEventsOutsideAngular]=\"{\n keydown: handleKeydown,\n mousedown: handleMousedown\n }\"\n [scope]=\"this\"\n (valueChange)=\"handleChange($event)\"\n (valueReject)=\"handleReject()\"\n >\n <kendo-timeselector-messages\n [acceptLabel]=\"localization.get('acceptLabel')\"\n [accept]=\"localization.get('accept')\"\n [cancelLabel]=\"localization.get('cancelLabel')\"\n [cancel]=\"localization.get('cancel')\"\n [nowLabel]=\"localization.get('nowLabel')\"\n [now]=\"localization.get('now')\"\n >\n </kendo-timeselector-messages>\n </kendo-timeselector>\n </ng-template>\n <ng-container #container></ng-container>\n "
|
|
913
1030
|
}),
|
|
914
1031
|
tslib_1.__param(9, Optional()), tslib_1.__param(9, Inject(TOUCH_ENABLED)),
|
|
915
1032
|
tslib_1.__metadata("design:paramtypes", [NgZone,
|
|
@@ -414,7 +414,7 @@ var TimeSelectorComponent = /** @class */ (function () {
|
|
|
414
414
|
tslib_1.__metadata("design:type", Boolean)
|
|
415
415
|
], TimeSelectorComponent.prototype, "componentClass", void 0);
|
|
416
416
|
tslib_1.__decorate([
|
|
417
|
-
HostBinding('class.k-
|
|
417
|
+
HostBinding('class.k-disabled'),
|
|
418
418
|
tslib_1.__metadata("design:type", Boolean),
|
|
419
419
|
tslib_1.__metadata("design:paramtypes", [])
|
|
420
420
|
], TimeSelectorComponent.prototype, "disabledClass", null);
|
|
@@ -475,7 +475,7 @@ var TimeSelectorComponent = /** @class */ (function () {
|
|
|
475
475
|
}
|
|
476
476
|
],
|
|
477
477
|
selector: 'kendo-timeselector',
|
|
478
|
-
template: "\n <ng-container kendoTimeSelectorLocalizedMessages\n i18n-accept=\"kendo.timeselector.accept|The Accept button text in the timeselector component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timeselector.acceptLabel|The label for the Accept button in the timeselector component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timeselector.cancel|The Cancel button text in the timeselector component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timeselector.cancelLabel|The label for the Cancel button in the timeselector component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timeselector.now|The Now button text in the timeselector component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timeselector.nowLabel|The label for the Now button in the timeselector component\"\n nowLabel=\"Select now\"\n >\n </ng-container>\n <div class=\"k-time-header\">\n <span class=\"k-title k-timeselector-title\">\n {{ intl.formatDate(current, format) }}\n </span>\n <button\n #now\n *ngIf=\"showNowButton\"\n class=\"k-button k-flat k-time-now\"
|
|
478
|
+
template: "\n <ng-container kendoTimeSelectorLocalizedMessages\n i18n-accept=\"kendo.timeselector.accept|The Accept button text in the timeselector component\"\n accept=\"Set\"\n\n i18n-acceptLabel=\"kendo.timeselector.acceptLabel|The label for the Accept button in the timeselector component\"\n acceptLabel=\"Set time\"\n\n i18n-cancel=\"kendo.timeselector.cancel|The Cancel button text in the timeselector component\"\n cancel=\"Cancel\"\n\n i18n-cancelLabel=\"kendo.timeselector.cancelLabel|The label for the Cancel button in the timeselector component\"\n cancelLabel=\"Cancel changes\"\n\n i18n-now=\"kendo.timeselector.now|The Now button text in the timeselector component\"\n now=\"Now\"\n\n i18n-nowLabel=\"kendo.timeselector.nowLabel|The label for the Now button in the timeselector component\"\n nowLabel=\"Select now\"\n >\n </ng-container>\n <div class=\"k-time-header\">\n <span class=\"k-title k-timeselector-title\">\n {{ intl.formatDate(current, format) }}\n </span>\n <button\n #now\n *ngIf=\"showNowButton\"\n type=\"button\"\n class=\"k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-time-now\"\n [attr.title]=\"localization.get('nowLabel')\"\n [attr.aria-label]=\"localization.get('nowLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleNow,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('now')}}</button>\n </div>\n <div class=\"k-time-list-container\">\n <span class=\"k-time-highlight\"></span>\n <ng-template ngFor [ngForOf]=\"dateFormatParts\" let-part let-idx=\"index\">\n <div\n #listWrapper\n class=\"k-time-list-wrapper\"\n role=\"presentation\" tabindex=\"-1\"\n *ngIf=\"part.type !== 'literal'\"\n >\n <span class=\"k-title k-timeselector-title\">{{intl.dateFieldName(part)}}</span>\n <kendo-timelist\n [min]=\"min\"\n [max]=\"max\"\n [part]=\"part\"\n [step]=\"partStep(part)\"\n [disabled]=\"disabled\"\n [(value)]=\"current\"\n [kendoEventsOutsideAngular]=\"{\n focus: handleListFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [attr.data-timelist-index]=\"idx\"\n ></kendo-timelist>\n </div>\n <div class=\"k-time-separator\" *ngIf=\"part.type === 'literal'\">\n {{part.pattern}}\n </div>\n </ng-template>\n </div>\n <div class=\"k-time-footer k-action-buttons k-actions k-hstack k-justify-content-stretch\" *ngIf=\"setButton || cancelButton\">\n <button\n #cancel\n *ngIf=\"cancelButton\"\n class=\"k-button k-time-cancel k-button-md k-rounded-md k-button-solid k-button-solid-base\"\n type=\"button\"\n [attr.title]=\"localization.get('cancelLabel')\"\n [attr.aria-label]=\"localization.get('cancelLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleReject,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('cancel')}}</button>\n <button\n #accept\n *ngIf=\"setButton\"\n type=\"button\"\n class=\"k-button k-time-accept k-button-md k-rounded-md k-button-solid k-button-solid-primary\"\n [attr.title]=\"localization.get('acceptLabel')\"\n [attr.aria-label]=\"localization.get('acceptLabel')\"\n [kendoEventsOutsideAngular]=\"{\n click: handleAccept,\n focus: handleFocus,\n blur: handleBlur\n }\"\n [scope]=\"this\"\n [disabled]=\"disabled\"\n >{{localization.get('accept')}}</button>\n </div>\n "
|
|
479
479
|
}),
|
|
480
480
|
tslib_1.__param(7, Optional()),
|
|
481
481
|
tslib_1.__metadata("design:paramtypes", [LocalizationService,
|
package/dist/es/util.js
CHANGED
|
@@ -355,4 +355,41 @@ export var isTabExitingCalendar = function (calendarType, focusedElement, shiftK
|
|
|
355
355
|
(!shiftKey && focusedElement.classList.contains('k-next-view')) // exited on next button focused and regular tab
|
|
356
356
|
);
|
|
357
357
|
};
|
|
358
|
+
/**
|
|
359
|
+
* @hidden
|
|
360
|
+
* Returns the size class based on the component and size input.
|
|
361
|
+
*/
|
|
362
|
+
export var getSizeClass = function (component, size) {
|
|
363
|
+
var SIZE_CLASSES = {
|
|
364
|
+
'small': "k-" + component + "-sm",
|
|
365
|
+
'medium': "k-" + component + "-md",
|
|
366
|
+
'large': "k-" + component + "-lg"
|
|
367
|
+
};
|
|
368
|
+
return SIZE_CLASSES[size];
|
|
369
|
+
};
|
|
370
|
+
/**
|
|
371
|
+
* @hidden
|
|
372
|
+
* Returns the rounded class based on the rounded input.
|
|
373
|
+
*/
|
|
374
|
+
export var getRoundedClass = function (rounded) {
|
|
375
|
+
var ROUNDED_CLASSES = {
|
|
376
|
+
'small': 'k-rounded-sm',
|
|
377
|
+
'medium': 'k-rounded-md',
|
|
378
|
+
'large': 'k-rounded-lg',
|
|
379
|
+
'full': 'k-rounded-full'
|
|
380
|
+
};
|
|
381
|
+
return ROUNDED_CLASSES[rounded];
|
|
382
|
+
};
|
|
383
|
+
/**
|
|
384
|
+
* @hidden
|
|
385
|
+
* Return the fillMode class based on the component and fillMode input.
|
|
386
|
+
*/
|
|
387
|
+
export var getFillModeClass = function (component, fillMode) {
|
|
388
|
+
var FILLMODE_CLASSES = {
|
|
389
|
+
'solid': "k-" + component + "-solid",
|
|
390
|
+
'flat': "k-" + component + "-flat",
|
|
391
|
+
'outline': "k-" + component + "-outline"
|
|
392
|
+
};
|
|
393
|
+
return FILLMODE_CLASSES[fillMode];
|
|
394
|
+
};
|
|
358
395
|
export { ɵ0, ɵ1, ɵ2 };
|
|
@@ -388,6 +388,13 @@ export declare class CalendarComponent implements ControlValueAccessor, OnChange
|
|
|
388
388
|
* @hidden
|
|
389
389
|
*/
|
|
390
390
|
activeCellTemplate(): any;
|
|
391
|
+
/**
|
|
392
|
+
* @hidden
|
|
393
|
+
*/
|
|
394
|
+
handleNavigate(event: {
|
|
395
|
+
focusedDate: Date;
|
|
396
|
+
activeView: CalendarView;
|
|
397
|
+
}): void;
|
|
391
398
|
/**
|
|
392
399
|
* @hidden
|
|
393
400
|
*/
|
|
@@ -600,6 +600,14 @@ let CalendarComponent = class CalendarComponent {
|
|
|
600
600
|
return null;
|
|
601
601
|
}
|
|
602
602
|
}
|
|
603
|
+
/**
|
|
604
|
+
* @hidden
|
|
605
|
+
*/
|
|
606
|
+
handleNavigate(event) {
|
|
607
|
+
this.focusedDate = event.focusedDate;
|
|
608
|
+
this.activeView = event.activeView;
|
|
609
|
+
this.emitNavigate(this.focusedDate);
|
|
610
|
+
}
|
|
603
611
|
/**
|
|
604
612
|
* @hidden
|
|
605
613
|
*/
|
|
@@ -738,6 +746,10 @@ let CalendarComponent = class CalendarComponent {
|
|
|
738
746
|
}
|
|
739
747
|
}
|
|
740
748
|
handleKeydown(args) {
|
|
749
|
+
const headerActive = this.type === 'classic' && this.multiViewCalendar.isHeaderActive;
|
|
750
|
+
if (headerActive) {
|
|
751
|
+
return;
|
|
752
|
+
}
|
|
741
753
|
// reserve the alt + arrow key commands for the picker
|
|
742
754
|
const arrowKeyPressed = [Keys.ArrowUp, Keys.ArrowRight, Keys.ArrowDown, Keys.ArrowLeft].indexOf(args.keyCode) !== -1;
|
|
743
755
|
if (isPresent(this.pickerService) && arrowKeyPressed && args.altKey) {
|
|
@@ -987,7 +999,7 @@ tslib_1.__decorate([
|
|
|
987
999
|
], CalendarComponent.prototype, "calendarTabIndex", null);
|
|
988
1000
|
tslib_1.__decorate([
|
|
989
1001
|
HostBinding('attr.aria-disabled'),
|
|
990
|
-
HostBinding('class.k-
|
|
1002
|
+
HostBinding('class.k-disabled'),
|
|
991
1003
|
tslib_1.__metadata("design:type", Boolean),
|
|
992
1004
|
tslib_1.__metadata("design:paramtypes", [])
|
|
993
1005
|
], CalendarComponent.prototype, "ariaDisabled", null);
|
|
@@ -1083,7 +1095,7 @@ CalendarComponent = tslib_1.__decorate([
|
|
|
1083
1095
|
[value]="value"
|
|
1084
1096
|
[disabledDates]="disabledDates"
|
|
1085
1097
|
(activeViewChange)="handleActiveViewChange($event)"
|
|
1086
|
-
(navigate)="
|
|
1098
|
+
(navigate)="handleNavigate($event)"
|
|
1087
1099
|
(valueChange)="handleMultiViewCalendarValueChange($event, multiviewcalendar.focusedDate)"
|
|
1088
1100
|
(focus)="handleFocus()"
|
|
1089
1101
|
(blur)="handleBlur($event)"
|
|
@@ -159,7 +159,7 @@ HeaderComponent = tslib_1.__decorate([
|
|
|
159
159
|
Component({
|
|
160
160
|
selector: 'kendo-calendar-header',
|
|
161
161
|
template: `
|
|
162
|
-
<span class="k-button k-flat k-
|
|
162
|
+
<span class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-calendar-title" [class.k-disabled]="!navigate"
|
|
163
163
|
[kendoEventsOutsideAngular]="{
|
|
164
164
|
click: handleNavigation
|
|
165
165
|
}"
|
|
@@ -175,7 +175,7 @@ HeaderComponent = tslib_1.__decorate([
|
|
|
175
175
|
<span class="k-calendar-nav k-hstack">
|
|
176
176
|
<button
|
|
177
177
|
*ngIf="showNavigationButtons"
|
|
178
|
-
class="k-button k-flat k-icon-button k-prev-view"
|
|
178
|
+
class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-prev-view"
|
|
179
179
|
type="button"
|
|
180
180
|
[attr.aria-disabled]="isPrevDisabled"
|
|
181
181
|
[disabled]="isPrevDisabled"
|
|
@@ -186,7 +186,7 @@ HeaderComponent = tslib_1.__decorate([
|
|
|
186
186
|
</button>
|
|
187
187
|
<span
|
|
188
188
|
class="k-today k-nav-today"
|
|
189
|
-
[class.k-
|
|
189
|
+
[class.k-disabled]="!todayAvailable"
|
|
190
190
|
[kendoEventsOutsideAngular]="{
|
|
191
191
|
click: handleTodayClick
|
|
192
192
|
}"
|
|
@@ -196,7 +196,7 @@ HeaderComponent = tslib_1.__decorate([
|
|
|
196
196
|
</span>
|
|
197
197
|
<button
|
|
198
198
|
*ngIf="showNavigationButtons"
|
|
199
|
-
class="k-button k-flat k-icon-button k-next-view"
|
|
199
|
+
class="k-button k-button-md k-rounded-md k-button-flat k-button-flat-base k-icon-button k-next-view"
|
|
200
200
|
type="button"
|
|
201
201
|
[attr.aria-disabled]="isNextDisabled"
|
|
202
202
|
[disabled]="isNextDisabled"
|
|
@@ -24,6 +24,7 @@ import { CalendarViewEnum } from './models/view.enum';
|
|
|
24
24
|
import { SelectionRangeEnd } from './models/selection-range-end.type';
|
|
25
25
|
import { SelectionRange } from './models/selection-range.interface';
|
|
26
26
|
import { CalendarSelection } from './models/selection';
|
|
27
|
+
import { PickerService } from '../common/picker.service';
|
|
27
28
|
/**
|
|
28
29
|
* @hidden
|
|
29
30
|
*/
|
|
@@ -55,6 +56,7 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
|
|
|
55
56
|
private zone;
|
|
56
57
|
private disabledDatesService;
|
|
57
58
|
private selectionService;
|
|
59
|
+
private pickerService?;
|
|
58
60
|
/**
|
|
59
61
|
* @hidden
|
|
60
62
|
*/
|
|
@@ -308,7 +310,7 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
|
|
|
308
310
|
/**
|
|
309
311
|
* @hidden
|
|
310
312
|
*/
|
|
311
|
-
|
|
313
|
+
handleFocusout(event: any): void;
|
|
312
314
|
/**
|
|
313
315
|
* @hidden
|
|
314
316
|
*/
|
|
@@ -333,7 +335,7 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
|
|
|
333
335
|
* @hidden
|
|
334
336
|
*/
|
|
335
337
|
keydown(event: KeyDown): void;
|
|
336
|
-
constructor(bus: BusViewService, element: ElementRef, navigator: NavigationService, renderer: Renderer2, cdr: ChangeDetectorRef, zone: NgZone, disabledDatesService: DisabledDatesService, selectionService: SelectionService);
|
|
338
|
+
constructor(bus: BusViewService, element: ElementRef, navigator: NavigationService, renderer: Renderer2, cdr: ChangeDetectorRef, zone: NgZone, disabledDatesService: DisabledDatesService, selectionService: SelectionService, pickerService?: PickerService);
|
|
337
339
|
ngOnInit(): void;
|
|
338
340
|
ngOnChanges(changes: any): void;
|
|
339
341
|
ngOnDestroy(): void;
|
|
@@ -358,6 +360,10 @@ export declare class MultiViewCalendarComponent implements AfterViewInit, Contro
|
|
|
358
360
|
* Blurs the Calendar component.
|
|
359
361
|
*/
|
|
360
362
|
blur(): void;
|
|
363
|
+
/**
|
|
364
|
+
* @hidden
|
|
365
|
+
*/
|
|
366
|
+
handleHeaderFocus(): void;
|
|
361
367
|
/**
|
|
362
368
|
* @hidden
|
|
363
369
|
*/
|
|
@@ -3,8 +3,7 @@
|
|
|
3
3
|
* Licensed under commercial license. See LICENSE.md in the project root for more information
|
|
4
4
|
*-------------------------------------------------------------------------------------------*/
|
|
5
5
|
import * as tslib_1 from "tslib";
|
|
6
|
-
|
|
7
|
-
import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone } from '@angular/core';
|
|
6
|
+
import { Component, ChangeDetectorRef, ChangeDetectionStrategy, ContentChild, EventEmitter, ElementRef, Renderer2, isDevMode, forwardRef, HostBinding, HostListener, Input, Output, ViewChild, NgZone, Optional } from '@angular/core';
|
|
8
7
|
import { NG_VALUE_ACCESSOR, NG_VALIDATORS } from '@angular/forms';
|
|
9
8
|
import { L10N_PREFIX, LocalizationService } from '@progress/kendo-angular-l10n';
|
|
10
9
|
import { cloneDate, isEqual } from '@progress/kendo-date-math';
|
|
@@ -31,6 +30,7 @@ import { MIN_DATE, MAX_DATE } from '../defaults';
|
|
|
31
30
|
import { areDatesEqual, dateInRange, getToday, hasExistingValue, last, noop } from '../util';
|
|
32
31
|
import { Subscription } from 'rxjs';
|
|
33
32
|
import { isPresent } from '../common/utils';
|
|
33
|
+
import { PickerService } from '../common/picker.service';
|
|
34
34
|
const BOTTOM_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-bottomview';
|
|
35
35
|
const TOP_VIEW_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-topview';
|
|
36
36
|
const MIN_DOC_LINK = 'http://www.telerik.com/kendo-angular-ui/components/dateinputs/api/CalendarComponent/#toc-min';
|
|
@@ -67,7 +67,7 @@ export const RANGE_CALENDAR_RANGE_VALIDATORS = {
|
|
|
67
67
|
* ```
|
|
68
68
|
*/
|
|
69
69
|
let MultiViewCalendarComponent = class MultiViewCalendarComponent {
|
|
70
|
-
constructor(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService) {
|
|
70
|
+
constructor(bus, element, navigator, renderer, cdr, zone, disabledDatesService, selectionService, pickerService) {
|
|
71
71
|
this.bus = bus;
|
|
72
72
|
this.element = element;
|
|
73
73
|
this.navigator = navigator;
|
|
@@ -76,6 +76,7 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
|
|
|
76
76
|
this.zone = zone;
|
|
77
77
|
this.disabledDatesService = disabledDatesService;
|
|
78
78
|
this.selectionService = selectionService;
|
|
79
|
+
this.pickerService = pickerService;
|
|
79
80
|
/**
|
|
80
81
|
* @hidden
|
|
81
82
|
*/
|
|
@@ -362,21 +363,22 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
|
|
|
362
363
|
/**
|
|
363
364
|
* @hidden
|
|
364
365
|
*/
|
|
365
|
-
|
|
366
|
-
const
|
|
367
|
-
if (!this.element.nativeElement.contains(
|
|
366
|
+
handleFocusout(event) {
|
|
367
|
+
const relatedTarget = event.relatedTarget;
|
|
368
|
+
if (!this.element.nativeElement.contains(relatedTarget)) {
|
|
368
369
|
this.blurEvent.emit(event);
|
|
369
370
|
this.onControlTouched();
|
|
370
371
|
}
|
|
371
372
|
this.isActive = false;
|
|
372
373
|
this.isHovered = false; //ensure that hovered is also not active
|
|
373
|
-
this.isHeaderActive = this.headerElement.nativeElement.contains(
|
|
374
|
+
this.isHeaderActive = this.headerElement.nativeElement.contains(relatedTarget);
|
|
374
375
|
}
|
|
375
376
|
/**
|
|
376
377
|
* @hidden
|
|
377
378
|
*/
|
|
378
379
|
handleFocus() {
|
|
379
380
|
this.isActive = true;
|
|
381
|
+
this.isHeaderActive = false;
|
|
380
382
|
}
|
|
381
383
|
/**
|
|
382
384
|
* @hidden
|
|
@@ -409,7 +411,13 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
|
|
|
409
411
|
* @hidden
|
|
410
412
|
*/
|
|
411
413
|
keydown(event) {
|
|
414
|
+
if (this.isHeaderActive) {
|
|
415
|
+
return;
|
|
416
|
+
}
|
|
412
417
|
if (event.keyCode === Keys.Enter) {
|
|
418
|
+
if (isPresent(this.pickerService)) {
|
|
419
|
+
event.preventDefault(); // Don't submit form from Datepicker popup
|
|
420
|
+
}
|
|
413
421
|
this.performSelection(this.focusedDate, event);
|
|
414
422
|
}
|
|
415
423
|
const candidate = dateInRange(this.navigator.move(this.focusedDate, this.navigator.action(event), this.activeViewEnum), this.min, this.max);
|
|
@@ -484,6 +492,12 @@ let MultiViewCalendarComponent = class MultiViewCalendarComponent {
|
|
|
484
492
|
}
|
|
485
493
|
this.element.nativeElement.blur();
|
|
486
494
|
}
|
|
495
|
+
/**
|
|
496
|
+
* @hidden
|
|
497
|
+
*/
|
|
498
|
+
handleHeaderFocus() {
|
|
499
|
+
this.isHeaderActive = true;
|
|
500
|
+
}
|
|
487
501
|
/**
|
|
488
502
|
* @hidden
|
|
489
503
|
*/
|
|
@@ -890,7 +904,7 @@ tslib_1.__decorate([
|
|
|
890
904
|
], MultiViewCalendarComponent.prototype, "calendarTabIndex", null);
|
|
891
905
|
tslib_1.__decorate([
|
|
892
906
|
HostBinding('attr.aria-disabled'),
|
|
893
|
-
HostBinding('class.k-
|
|
907
|
+
HostBinding('class.k-disabled'),
|
|
894
908
|
tslib_1.__metadata("design:type", Boolean),
|
|
895
909
|
tslib_1.__metadata("design:paramtypes", [])
|
|
896
910
|
], MultiViewCalendarComponent.prototype, "ariaDisabled", null);
|
|
@@ -902,9 +916,9 @@ tslib_1.__decorate([
|
|
|
902
916
|
tslib_1.__decorate([
|
|
903
917
|
HostListener('focusout', ['$event']),
|
|
904
918
|
tslib_1.__metadata("design:type", Function),
|
|
905
|
-
tslib_1.__metadata("design:paramtypes", [
|
|
919
|
+
tslib_1.__metadata("design:paramtypes", [Object]),
|
|
906
920
|
tslib_1.__metadata("design:returntype", void 0)
|
|
907
|
-
], MultiViewCalendarComponent.prototype, "
|
|
921
|
+
], MultiViewCalendarComponent.prototype, "handleFocusout", null);
|
|
908
922
|
tslib_1.__decorate([
|
|
909
923
|
HostListener("focus"),
|
|
910
924
|
tslib_1.__metadata("design:type", Function),
|
|
@@ -984,6 +998,10 @@ MultiViewCalendarComponent = tslib_1.__decorate([
|
|
|
984
998
|
(todayButtonClick)="handleTodayButtonClick({ selectedDates: [$event], focusedDate: $event })"
|
|
985
999
|
(prevButtonClick)="navigateView(prevView)"
|
|
986
1000
|
(nextButtonClick)="navigateView(nextView)"
|
|
1001
|
+
[kendoEventsOutsideAngular]="{
|
|
1002
|
+
focusin: handleHeaderFocus
|
|
1003
|
+
}"
|
|
1004
|
+
[scope]="this"
|
|
987
1005
|
>
|
|
988
1006
|
</kendo-calendar-header>
|
|
989
1007
|
<kendo-calendar-horizontal
|
|
@@ -1012,6 +1030,7 @@ MultiViewCalendarComponent = tslib_1.__decorate([
|
|
|
1012
1030
|
</kendo-calendar-horizontal>
|
|
1013
1031
|
`
|
|
1014
1032
|
}),
|
|
1033
|
+
tslib_1.__param(8, Optional()),
|
|
1015
1034
|
tslib_1.__metadata("design:paramtypes", [BusViewService,
|
|
1016
1035
|
ElementRef,
|
|
1017
1036
|
NavigationService,
|
|
@@ -1019,6 +1038,7 @@ MultiViewCalendarComponent = tslib_1.__decorate([
|
|
|
1019
1038
|
ChangeDetectorRef,
|
|
1020
1039
|
NgZone,
|
|
1021
1040
|
DisabledDatesService,
|
|
1022
|
-
SelectionService
|
|
1041
|
+
SelectionService,
|
|
1042
|
+
PickerService])
|
|
1023
1043
|
], MultiViewCalendarComponent);
|
|
1024
1044
|
export { MultiViewCalendarComponent };
|
|
@@ -7,6 +7,7 @@ import { NgModule } from '@angular/core';
|
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
import { IntlModule } from '@progress/kendo-angular-intl';
|
|
9
9
|
import { PopupModule } from '@progress/kendo-angular-popup';
|
|
10
|
+
import { EventsModule } from '@progress/kendo-angular-common';
|
|
10
11
|
import { CalendarCommonModule } from './calendar-common.module';
|
|
11
12
|
import { TemplatesModule } from './templates.module';
|
|
12
13
|
import { HorizontalViewListComponent } from './horizontal-view-list.component';
|
|
@@ -72,7 +73,14 @@ MultiViewCalendarModule = tslib_1.__decorate([
|
|
|
72
73
|
CalendarCommonModule,
|
|
73
74
|
TemplatesModule
|
|
74
75
|
],
|
|
75
|
-
imports: [
|
|
76
|
+
imports: [
|
|
77
|
+
CommonModule,
|
|
78
|
+
CalendarCommonModule,
|
|
79
|
+
IntlModule,
|
|
80
|
+
TemplatesModule,
|
|
81
|
+
PopupModule,
|
|
82
|
+
EventsModule
|
|
83
|
+
],
|
|
76
84
|
providers: [
|
|
77
85
|
NavigationService,
|
|
78
86
|
CenturyViewService,
|