@progress/kendo-angular-scheduler 15.2.0-develop.7 → 15.2.0-develop.8

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.
@@ -2,7 +2,8 @@
2
2
  * Copyright © 2024 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 { ControlValueAccessor } from '@angular/forms';
5
+ import { Injector } from '@angular/core';
6
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
6
7
  import { EventEmitter } from '@angular/core';
7
8
  import { DatePickerComponent, DateTimePickerComponent } from '@progress/kendo-angular-dateinputs';
8
9
  import { SchedulerLocalizationService } from '../localization/scheduler-localization.service';
@@ -15,16 +16,18 @@ export declare const SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR: any;
15
16
  * @hidden
16
17
  */
17
18
  export declare class SchedulerDateTimePickerComponent implements ControlValueAccessor {
19
+ private injector;
18
20
  private localization?;
19
21
  datePicker: DatePickerComponent;
20
22
  dateTimePicker: DateTimePickerComponent;
21
23
  isAllDay: boolean;
22
24
  valueChange: EventEmitter<Date>;
23
- constructor(localization?: SchedulerLocalizationService);
25
+ constructor(injector: Injector, localization?: SchedulerLocalizationService);
24
26
  /**
25
27
  * @hidden
26
28
  */
27
29
  get focusableId(): string;
30
+ get formControl(): FormControl;
28
31
  textFor(key: string): string;
29
32
  date: Date;
30
33
  writeValue(newDate: any): void;
@@ -2,8 +2,9 @@
2
2
  * Copyright © 2024 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 { Injector } from '@angular/core';
5
6
  import { EventEmitter } from '@angular/core';
6
- import { ControlValueAccessor } from '@angular/forms';
7
+ import { ControlValueAccessor, FormControl } from '@angular/forms';
7
8
  import { ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
8
9
  import * as i0 from "@angular/core";
9
10
  /**
@@ -16,7 +17,9 @@ export declare const TIME_ZONE_VALUE_ACCESSOR: any;
16
17
  * Used for editing the `start` and `end` timezones of the `SchedulerEvent` objects.
17
18
  */
18
19
  export declare class TimeZoneEditorComponent implements ControlValueAccessor {
20
+ private injector;
19
21
  tzComboBox: ComboBoxComponent;
22
+ tzComboBoxControl: ComboBoxComponent;
20
23
  /**
21
24
  * Specifies the width of the ComboBox which contains the names of the timezones.
22
25
  * @default 260
@@ -30,10 +33,14 @@ export declare class TimeZoneEditorComponent implements ControlValueAccessor {
30
33
  * @hidden
31
34
  */
32
35
  get focusableId(): string;
36
+ /**
37
+ * @hidden
38
+ */
39
+ get formControl(): FormControl;
33
40
  tz: string;
34
41
  tzNames: Array<string>;
35
42
  tzSource: Array<string>;
36
- constructor();
43
+ constructor(injector: Injector);
37
44
  /**
38
45
  * @hidden
39
46
  */
@@ -2,8 +2,8 @@
2
2
  * Copyright © 2024 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 { ViewChild } from '@angular/core';
6
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
5
+ import { Injector, ViewChild } from '@angular/core';
6
+ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
7
7
  import { Component, forwardRef, Input, Output, EventEmitter } from '@angular/core';
8
8
  import { DatePickerComponent, DateTimePickerComponent } from '@progress/kendo-angular-dateinputs';
9
9
  import { SchedulerLocalizationService } from '../localization/scheduler-localization.service';
@@ -11,6 +11,7 @@ import * as i0 from "@angular/core";
11
11
  import * as i1 from "../localization/scheduler-localization.service";
12
12
  import * as i2 from "@progress/kendo-angular-dateinputs";
13
13
  import * as i3 from "@angular/common";
14
+ import * as i4 from "@angular/forms";
14
15
  /**
15
16
  * @hidden
16
17
  */
@@ -23,7 +24,8 @@ export const SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR = {
23
24
  * @hidden
24
25
  */
25
26
  export class SchedulerDateTimePickerComponent {
26
- constructor(localization) {
27
+ constructor(injector, localization) {
28
+ this.injector = injector;
27
29
  this.localization = localization;
28
30
  this.valueChange = new EventEmitter();
29
31
  this.onTouchedCallback = (_) => { };
@@ -35,6 +37,10 @@ export class SchedulerDateTimePickerComponent {
35
37
  get focusableId() {
36
38
  return this.isAllDay ? this.datePicker?.focusableId : this.dateTimePicker?.focusableId;
37
39
  }
40
+ get formControl() {
41
+ const ngControl = this.injector.get(NgControl, null);
42
+ return ngControl?.control || null;
43
+ }
38
44
  textFor(key) {
39
45
  return this.localization.get(key);
40
46
  }
@@ -66,7 +72,7 @@ export class SchedulerDateTimePickerComponent {
66
72
  this.onTouchedCallback = fn;
67
73
  }
68
74
  }
69
- SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: i1.SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
75
+ SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: i1.SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
70
76
  SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: { isAllDay: "isAllDay" }, outputs: { valueChange: "valueChange" }, providers: [
71
77
  SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR
72
78
  ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datepicker"], descendants: true }, { propertyName: "dateTimePicker", first: true, predicate: ["datetimepicker"], descendants: true }], ngImport: i0, template: `
@@ -75,6 +81,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
75
81
  #datepicker
76
82
  [(value)]='date'
77
83
  (valueChange)='onValueChange($event)'
84
+ [formControl]="formControl"
78
85
  >
79
86
  <kendo-datepicker-messages
80
87
  [today]="textFor('editorDateInputsToday')"
@@ -88,6 +95,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
88
95
  #datetimepicker
89
96
  [(value)]='date'
90
97
  (valueChange)='onValueChange($event)'
98
+ [formControl]="formControl"
91
99
  >
92
100
  <kendo-datetimepicker-messages
93
101
  [toggle]="textFor('editorDateInputsToggle')"
@@ -106,7 +114,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
106
114
  >
107
115
  </kendo-datetimepicker-messages>
108
116
  </kendo-datetimepicker>
109
- `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
117
+ `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
110
118
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, decorators: [{
111
119
  type: Component,
112
120
  args: [{
@@ -120,6 +128,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
120
128
  #datepicker
121
129
  [(value)]='date'
122
130
  (valueChange)='onValueChange($event)'
131
+ [formControl]="formControl"
123
132
  >
124
133
  <kendo-datepicker-messages
125
134
  [today]="textFor('editorDateInputsToday')"
@@ -133,6 +142,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
133
142
  #datetimepicker
134
143
  [(value)]='date'
135
144
  (valueChange)='onValueChange($event)'
145
+ [formControl]="formControl"
136
146
  >
137
147
  <kendo-datetimepicker-messages
138
148
  [toggle]="textFor('editorDateInputsToggle')"
@@ -153,7 +163,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
153
163
  </kendo-datetimepicker>
154
164
  `
155
165
  }]
156
- }], ctorParameters: function () { return [{ type: i1.SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
166
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: i1.SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
157
167
  type: ViewChild,
158
168
  args: ['datepicker']
159
169
  }], dateTimePicker: [{
@@ -2,13 +2,15 @@
2
2
  * Copyright © 2024 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 { ViewChild } from '@angular/core';
5
+ import { Injector, ViewChild } from '@angular/core';
6
6
  import { Component, forwardRef, Input, EventEmitter, Output } from '@angular/core';
7
- import { NG_VALUE_ACCESSOR } from '@angular/forms';
7
+ import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
8
8
  import { timezoneNames } from '@progress/kendo-date-math';
9
9
  import { ComboBoxComponent } from '@progress/kendo-angular-dropdowns';
10
10
  import * as i0 from "@angular/core";
11
11
  import * as i1 from "@progress/kendo-angular-dropdowns";
12
+ import * as i2 from "@angular/common";
13
+ import * as i3 from "@angular/forms";
12
14
  /**
13
15
  * @hidden
14
16
  */
@@ -23,7 +25,8 @@ export const TIME_ZONE_VALUE_ACCESSOR = {
23
25
  * Used for editing the `start` and `end` timezones of the `SchedulerEvent` objects.
24
26
  */
25
27
  export class TimeZoneEditorComponent {
26
- constructor() {
28
+ constructor(injector) {
29
+ this.injector = injector;
27
30
  /**
28
31
  * Specifies the width of the ComboBox which contains the names of the timezones.
29
32
  * @default 260
@@ -42,7 +45,14 @@ export class TimeZoneEditorComponent {
42
45
  * @hidden
43
46
  */
44
47
  get focusableId() {
45
- return this.tzComboBox.focusableId;
48
+ return this.tzComboBox?.focusableId || this.tzComboBoxControl?.focusableId;
49
+ }
50
+ /**
51
+ * @hidden
52
+ */
53
+ get formControl() {
54
+ const ngControl = this.injector.get(NgControl, null);
55
+ return ngControl?.control || null;
46
56
  }
47
57
  /**
48
58
  * @hidden
@@ -70,7 +80,7 @@ export class TimeZoneEditorComponent {
70
80
  * @hidden
71
81
  */
72
82
  focus() {
73
- this.tzComboBox.focus();
83
+ this.tzComboBox ? this.tzComboBox.focus() : this.tzComboBoxControl.focus();
74
84
  }
75
85
  /**
76
86
  * @hidden
@@ -85,11 +95,12 @@ export class TimeZoneEditorComponent {
85
95
  this.onTouchedCallback = fn;
86
96
  }
87
97
  }
88
- TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
98
+ TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
89
99
  TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: { width: "width" }, outputs: { valueChange: "valueChange" }, providers: [
90
100
  TIME_ZONE_VALUE_ACCESSOR
91
- ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }], ngImport: i0, template: `
101
+ ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }, { propertyName: "tzComboBoxControl", first: true, predicate: ["tzcomboboxControl"], descendants: true, static: true }], ngImport: i0, template: `
92
102
  <kendo-combobox
103
+ *ngIf="!formControl"
93
104
  #tzcombobox
94
105
  [style.width.px]="width"
95
106
  [allowCustom]="false"
@@ -100,7 +111,20 @@ TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
100
111
  (filterChange)="onTimeZoneFilterChange($event)"
101
112
  (valueChange)="onTimeZoneChange($event)">
102
113
  </kendo-combobox>
103
- `, isInline: true, components: [{ type: i1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }] });
114
+ <kendo-combobox
115
+ *ngIf="formControl"
116
+ #tzcomboboxControl
117
+ [style.width.px]="width"
118
+ [allowCustom]="false"
119
+ [data]="tzSource"
120
+ [filterable]="true"
121
+ [suggest]="true"
122
+ [value]="tz"
123
+ [formControl]="formControl"
124
+ (filterChange)="onTimeZoneFilterChange($event)"
125
+ (valueChange)="onTimeZoneChange($event)">
126
+ </kendo-combobox>
127
+ `, isInline: true, components: [{ type: i1.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
104
128
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
105
129
  type: Component,
106
130
  args: [{
@@ -110,6 +134,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
110
134
  selector: 'kendo-timezone-editor',
111
135
  template: `
112
136
  <kendo-combobox
137
+ *ngIf="!formControl"
113
138
  #tzcombobox
114
139
  [style.width.px]="width"
115
140
  [allowCustom]="false"
@@ -120,11 +145,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
120
145
  (filterChange)="onTimeZoneFilterChange($event)"
121
146
  (valueChange)="onTimeZoneChange($event)">
122
147
  </kendo-combobox>
148
+ <kendo-combobox
149
+ *ngIf="formControl"
150
+ #tzcomboboxControl
151
+ [style.width.px]="width"
152
+ [allowCustom]="false"
153
+ [data]="tzSource"
154
+ [filterable]="true"
155
+ [suggest]="true"
156
+ [value]="tz"
157
+ [formControl]="formControl"
158
+ (filterChange)="onTimeZoneFilterChange($event)"
159
+ (valueChange)="onTimeZoneChange($event)">
160
+ </kendo-combobox>
123
161
  `
124
162
  }]
125
- }], ctorParameters: function () { return []; }, propDecorators: { tzComboBox: [{
163
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tzComboBox: [{
126
164
  type: ViewChild,
127
165
  args: ['tzcombobox', { static: true }]
166
+ }], tzComboBoxControl: [{
167
+ type: ViewChild,
168
+ args: ['tzcomboboxControl', { static: true }]
128
169
  }], width: [{
129
170
  type: Input
130
171
  }], valueChange: [{
@@ -72,7 +72,7 @@ export class ReactiveEditingDirective extends EditingDirectiveBase {
72
72
  }
73
73
  saveHandler(args) {
74
74
  if (this.isFormValid(args)) {
75
- const formValue = args.formGroup.value;
75
+ const formValue = args.formGroup.getRawValue();
76
76
  if (args.isNew) {
77
77
  this.editService.create(formValue);
78
78
  }
@@ -9,7 +9,7 @@ export const packageMetadata = {
9
9
  name: '@progress/kendo-angular-scheduler',
10
10
  productName: 'Kendo UI for Angular',
11
11
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
12
- publishDate: 1710166729,
13
- version: '15.2.0-develop.7',
12
+ publishDate: 1710175323,
13
+ version: '15.2.0-develop.8',
14
14
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
15
15
  };
@@ -15,7 +15,7 @@ import * as i2 from '@progress/kendo-angular-dateinputs';
15
15
  import { PreventableEvent as PreventableEvent$1, CalendarModule, MultiViewCalendarComponent, CalendarsModule, DateInputsModule } from '@progress/kendo-angular-dateinputs';
16
16
  import { Subject, BehaviorSubject, fromEvent, Subscription, combineLatest, merge } from 'rxjs';
17
17
  import * as i14 from '@angular/forms';
18
- import { NG_VALUE_ACCESSOR, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
18
+ import { NG_VALUE_ACCESSOR, NgControl, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
19
19
  import * as i1 from '@progress/kendo-angular-dialog';
20
20
  import { DialogCloseResult, DialogModule } from '@progress/kendo-angular-dialog';
21
21
  import * as i1$4 from '@progress/kendo-angular-intl';
@@ -50,8 +50,8 @@ const packageMetadata = {
50
50
  name: '@progress/kendo-angular-scheduler',
51
51
  productName: 'Kendo UI for Angular',
52
52
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
53
- publishDate: 1710166729,
54
- version: '15.2.0-develop.7',
53
+ publishDate: 1710175323,
54
+ version: '15.2.0-develop.8',
55
55
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
56
56
  };
57
57
 
@@ -3158,7 +3158,8 @@ const SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR = {
3158
3158
  * @hidden
3159
3159
  */
3160
3160
  class SchedulerDateTimePickerComponent {
3161
- constructor(localization) {
3161
+ constructor(injector, localization) {
3162
+ this.injector = injector;
3162
3163
  this.localization = localization;
3163
3164
  this.valueChange = new EventEmitter();
3164
3165
  this.onTouchedCallback = (_) => { };
@@ -3171,6 +3172,10 @@ class SchedulerDateTimePickerComponent {
3171
3172
  var _a, _b;
3172
3173
  return this.isAllDay ? (_a = this.datePicker) === null || _a === void 0 ? void 0 : _a.focusableId : (_b = this.dateTimePicker) === null || _b === void 0 ? void 0 : _b.focusableId;
3173
3174
  }
3175
+ get formControl() {
3176
+ const ngControl = this.injector.get(NgControl, null);
3177
+ return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
3178
+ }
3174
3179
  textFor(key) {
3175
3180
  return this.localization.get(key);
3176
3181
  }
@@ -3202,7 +3207,7 @@ class SchedulerDateTimePickerComponent {
3202
3207
  this.onTouchedCallback = fn;
3203
3208
  }
3204
3209
  }
3205
- SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3210
+ SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3206
3211
  SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: { isAllDay: "isAllDay" }, outputs: { valueChange: "valueChange" }, providers: [
3207
3212
  SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR
3208
3213
  ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datepicker"], descendants: true }, { propertyName: "dateTimePicker", first: true, predicate: ["datetimepicker"], descendants: true }], ngImport: i0, template: `
@@ -3211,6 +3216,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3211
3216
  #datepicker
3212
3217
  [(value)]='date'
3213
3218
  (valueChange)='onValueChange($event)'
3219
+ [formControl]="formControl"
3214
3220
  >
3215
3221
  <kendo-datepicker-messages
3216
3222
  [today]="textFor('editorDateInputsToday')"
@@ -3224,6 +3230,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3224
3230
  #datetimepicker
3225
3231
  [(value)]='date'
3226
3232
  (valueChange)='onValueChange($event)'
3233
+ [formControl]="formControl"
3227
3234
  >
3228
3235
  <kendo-datetimepicker-messages
3229
3236
  [toggle]="textFor('editorDateInputsToggle')"
@@ -3242,7 +3249,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3242
3249
  >
3243
3250
  </kendo-datetimepicker-messages>
3244
3251
  </kendo-datetimepicker>
3245
- `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3252
+ `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3246
3253
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, decorators: [{
3247
3254
  type: Component,
3248
3255
  args: [{
@@ -3256,6 +3263,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3256
3263
  #datepicker
3257
3264
  [(value)]='date'
3258
3265
  (valueChange)='onValueChange($event)'
3266
+ [formControl]="formControl"
3259
3267
  >
3260
3268
  <kendo-datepicker-messages
3261
3269
  [today]="textFor('editorDateInputsToday')"
@@ -3269,6 +3277,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3269
3277
  #datetimepicker
3270
3278
  [(value)]='date'
3271
3279
  (valueChange)='onValueChange($event)'
3280
+ [formControl]="formControl"
3272
3281
  >
3273
3282
  <kendo-datetimepicker-messages
3274
3283
  [toggle]="textFor('editorDateInputsToggle')"
@@ -3289,7 +3298,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3289
3298
  </kendo-datetimepicker>
3290
3299
  `
3291
3300
  }]
3292
- }], ctorParameters: function () { return [{ type: SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
3301
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
3293
3302
  type: ViewChild,
3294
3303
  args: ['datepicker']
3295
3304
  }], dateTimePicker: [{
@@ -3315,7 +3324,8 @@ const TIME_ZONE_VALUE_ACCESSOR = {
3315
3324
  * Used for editing the `start` and `end` timezones of the `SchedulerEvent` objects.
3316
3325
  */
3317
3326
  class TimeZoneEditorComponent {
3318
- constructor() {
3327
+ constructor(injector) {
3328
+ this.injector = injector;
3319
3329
  /**
3320
3330
  * Specifies the width of the ComboBox which contains the names of the timezones.
3321
3331
  * @default 260
@@ -3334,7 +3344,15 @@ class TimeZoneEditorComponent {
3334
3344
  * @hidden
3335
3345
  */
3336
3346
  get focusableId() {
3337
- return this.tzComboBox.focusableId;
3347
+ var _a, _b;
3348
+ return ((_a = this.tzComboBox) === null || _a === void 0 ? void 0 : _a.focusableId) || ((_b = this.tzComboBoxControl) === null || _b === void 0 ? void 0 : _b.focusableId);
3349
+ }
3350
+ /**
3351
+ * @hidden
3352
+ */
3353
+ get formControl() {
3354
+ const ngControl = this.injector.get(NgControl, null);
3355
+ return (ngControl === null || ngControl === void 0 ? void 0 : ngControl.control) || null;
3338
3356
  }
3339
3357
  /**
3340
3358
  * @hidden
@@ -3362,7 +3380,7 @@ class TimeZoneEditorComponent {
3362
3380
  * @hidden
3363
3381
  */
3364
3382
  focus() {
3365
- this.tzComboBox.focus();
3383
+ this.tzComboBox ? this.tzComboBox.focus() : this.tzComboBoxControl.focus();
3366
3384
  }
3367
3385
  /**
3368
3386
  * @hidden
@@ -3377,11 +3395,12 @@ class TimeZoneEditorComponent {
3377
3395
  this.onTouchedCallback = fn;
3378
3396
  }
3379
3397
  }
3380
- TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3398
+ TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3381
3399
  TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: { width: "width" }, outputs: { valueChange: "valueChange" }, providers: [
3382
3400
  TIME_ZONE_VALUE_ACCESSOR
3383
- ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }], ngImport: i0, template: `
3401
+ ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }, { propertyName: "tzComboBoxControl", first: true, predicate: ["tzcomboboxControl"], descendants: true, static: true }], ngImport: i0, template: `
3384
3402
  <kendo-combobox
3403
+ *ngIf="!formControl"
3385
3404
  #tzcombobox
3386
3405
  [style.width.px]="width"
3387
3406
  [allowCustom]="false"
@@ -3392,7 +3411,20 @@ TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3392
3411
  (filterChange)="onTimeZoneFilterChange($event)"
3393
3412
  (valueChange)="onTimeZoneChange($event)">
3394
3413
  </kendo-combobox>
3395
- `, isInline: true, components: [{ type: i1$3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }] });
3414
+ <kendo-combobox
3415
+ *ngIf="formControl"
3416
+ #tzcomboboxControl
3417
+ [style.width.px]="width"
3418
+ [allowCustom]="false"
3419
+ [data]="tzSource"
3420
+ [filterable]="true"
3421
+ [suggest]="true"
3422
+ [value]="tz"
3423
+ [formControl]="formControl"
3424
+ (filterChange)="onTimeZoneFilterChange($event)"
3425
+ (valueChange)="onTimeZoneChange($event)">
3426
+ </kendo-combobox>
3427
+ `, isInline: true, components: [{ type: i1$3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3396
3428
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
3397
3429
  type: Component,
3398
3430
  args: [{
@@ -3402,6 +3434,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3402
3434
  selector: 'kendo-timezone-editor',
3403
3435
  template: `
3404
3436
  <kendo-combobox
3437
+ *ngIf="!formControl"
3405
3438
  #tzcombobox
3406
3439
  [style.width.px]="width"
3407
3440
  [allowCustom]="false"
@@ -3412,11 +3445,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3412
3445
  (filterChange)="onTimeZoneFilterChange($event)"
3413
3446
  (valueChange)="onTimeZoneChange($event)">
3414
3447
  </kendo-combobox>
3448
+ <kendo-combobox
3449
+ *ngIf="formControl"
3450
+ #tzcomboboxControl
3451
+ [style.width.px]="width"
3452
+ [allowCustom]="false"
3453
+ [data]="tzSource"
3454
+ [filterable]="true"
3455
+ [suggest]="true"
3456
+ [value]="tz"
3457
+ [formControl]="formControl"
3458
+ (filterChange)="onTimeZoneFilterChange($event)"
3459
+ (valueChange)="onTimeZoneChange($event)">
3460
+ </kendo-combobox>
3415
3461
  `
3416
3462
  }]
3417
- }], ctorParameters: function () { return []; }, propDecorators: { tzComboBox: [{
3463
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tzComboBox: [{
3418
3464
  type: ViewChild,
3419
3465
  args: ['tzcombobox', { static: true }]
3466
+ }], tzComboBoxControl: [{
3467
+ type: ViewChild,
3468
+ args: ['tzcomboboxControl', { static: true }]
3420
3469
  }], width: [{
3421
3470
  type: Input
3422
3471
  }], valueChange: [{
@@ -16991,7 +17040,7 @@ class ReactiveEditingDirective extends EditingDirectiveBase {
16991
17040
  }
16992
17041
  saveHandler(args) {
16993
17042
  if (this.isFormValid(args)) {
16994
- const formValue = args.formGroup.value;
17043
+ const formValue = args.formGroup.getRawValue();
16995
17044
  if (args.isNew) {
16996
17045
  this.editService.create(formValue);
16997
17046
  }
@@ -15,7 +15,7 @@ import * as i2 from '@progress/kendo-angular-dateinputs';
15
15
  import { PreventableEvent as PreventableEvent$1, CalendarModule, MultiViewCalendarComponent, CalendarsModule, DateInputsModule } from '@progress/kendo-angular-dateinputs';
16
16
  import { Subject, BehaviorSubject, fromEvent, Subscription, combineLatest, merge } from 'rxjs';
17
17
  import * as i14 from '@angular/forms';
18
- import { NG_VALUE_ACCESSOR, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
18
+ import { NG_VALUE_ACCESSOR, NgControl, FormControl, FormGroup, ReactiveFormsModule } from '@angular/forms';
19
19
  import * as i1 from '@progress/kendo-angular-dialog';
20
20
  import { DialogCloseResult, DialogModule } from '@progress/kendo-angular-dialog';
21
21
  import * as i1$4 from '@progress/kendo-angular-intl';
@@ -50,8 +50,8 @@ const packageMetadata = {
50
50
  name: '@progress/kendo-angular-scheduler',
51
51
  productName: 'Kendo UI for Angular',
52
52
  productCodes: ['KENDOUIANGULAR', 'KENDOUICOMPLETE'],
53
- publishDate: 1710166729,
54
- version: '15.2.0-develop.7',
53
+ publishDate: 1710175323,
54
+ version: '15.2.0-develop.8',
55
55
  licensingDocsUrl: 'https://www.telerik.com/kendo-angular-ui/my-license/'
56
56
  };
57
57
 
@@ -3121,7 +3121,8 @@ const SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR = {
3121
3121
  * @hidden
3122
3122
  */
3123
3123
  class SchedulerDateTimePickerComponent {
3124
- constructor(localization) {
3124
+ constructor(injector, localization) {
3125
+ this.injector = injector;
3125
3126
  this.localization = localization;
3126
3127
  this.valueChange = new EventEmitter();
3127
3128
  this.onTouchedCallback = (_) => { };
@@ -3133,6 +3134,10 @@ class SchedulerDateTimePickerComponent {
3133
3134
  get focusableId() {
3134
3135
  return this.isAllDay ? this.datePicker?.focusableId : this.dateTimePicker?.focusableId;
3135
3136
  }
3137
+ get formControl() {
3138
+ const ngControl = this.injector.get(NgControl, null);
3139
+ return ngControl?.control || null;
3140
+ }
3136
3141
  textFor(key) {
3137
3142
  return this.localization.get(key);
3138
3143
  }
@@ -3164,7 +3169,7 @@ class SchedulerDateTimePickerComponent {
3164
3169
  this.onTouchedCallback = fn;
3165
3170
  }
3166
3171
  }
3167
- SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3172
+ SchedulerDateTimePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, deps: [{ token: i0.Injector }, { token: SchedulerLocalizationService }], target: i0.ɵɵFactoryTarget.Component });
3168
3173
  SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: SchedulerDateTimePickerComponent, selector: "kendo-scheduler-datetime-picker", inputs: { isAllDay: "isAllDay" }, outputs: { valueChange: "valueChange" }, providers: [
3169
3174
  SCHEDULER_DATETIMEPICKER_VALUE_ACCESSOR
3170
3175
  ], viewQueries: [{ propertyName: "datePicker", first: true, predicate: ["datepicker"], descendants: true }, { propertyName: "dateTimePicker", first: true, predicate: ["datetimepicker"], descendants: true }], ngImport: i0, template: `
@@ -3173,6 +3178,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3173
3178
  #datepicker
3174
3179
  [(value)]='date'
3175
3180
  (valueChange)='onValueChange($event)'
3181
+ [formControl]="formControl"
3176
3182
  >
3177
3183
  <kendo-datepicker-messages
3178
3184
  [today]="textFor('editorDateInputsToday')"
@@ -3186,6 +3192,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3186
3192
  #datetimepicker
3187
3193
  [(value)]='date'
3188
3194
  (valueChange)='onValueChange($event)'
3195
+ [formControl]="formControl"
3189
3196
  >
3190
3197
  <kendo-datetimepicker-messages
3191
3198
  [toggle]="textFor('editorDateInputsToggle')"
@@ -3204,7 +3211,7 @@ SchedulerDateTimePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion:
3204
3211
  >
3205
3212
  </kendo-datetimepicker-messages>
3206
3213
  </kendo-datetimepicker>
3207
- `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3214
+ `, isInline: true, components: [{ type: i2.DatePickerComponent, selector: "kendo-datepicker", inputs: ["focusableId", "cellTemplate", "monthCellTemplate", "yearCellTemplate", "decadeCellTemplate", "centuryCellTemplate", "weekNumberTemplate", "headerTitleTemplate", "navigationItemTemplate", "showOtherMonthDays", "activeView", "bottomView", "topView", "calendarType", "animateCalendarNavigation", "disabled", "readonly", "readOnlyInput", "popupSettings", "navigation", "min", "max", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "focusedDate", "value", "format", "twoDigitYearMax", "formatPlaceholder", "placeholder", "tabindex", "tabIndex", "disabledDates", "title", "subtitle", "rangeValidation", "disabledDatesValidation", "weekNumber", "size", "rounded", "fillMode", "adaptiveMode"], outputs: ["valueChange", "focus", "blur", "open", "close"], exportAs: ["kendo-datepicker"] }, { type: i2.DatePickerCustomMessagesComponent, selector: "kendo-datepicker-messages" }, { type: i2.DateTimePickerComponent, selector: "kendo-datetimepicker", inputs: ["focusableId", "showOtherMonthDays", "value", "format", "twoDigitYearMax", "tabindex", "disabledDates", "popupSettings", "title", "subtitle", "disabled", "readonly", "readOnlyInput", "cancelButton", "formatPlaceholder", "placeholder", "steps", "focusedDate", "calendarType", "animateCalendarNavigation", "weekNumber", "min", "max", "rangeValidation", "disabledDatesValidation", "incompleteDateValidation", "autoCorrectParts", "autoSwitchParts", "autoSwitchKeys", "enableMouseWheel", "allowCaretMode", "autoFill", "adaptiveMode", "defaultTab", "size", "rounded", "fillMode"], outputs: ["valueChange", "open", "close", "focus", "blur"], exportAs: ["kendo-datetimepicker"] }, { type: i2.DateTimePickerCustomMessagesComponent, selector: "kendo-datetimepicker-messages" }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3208
3215
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SchedulerDateTimePickerComponent, decorators: [{
3209
3216
  type: Component,
3210
3217
  args: [{
@@ -3218,6 +3225,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3218
3225
  #datepicker
3219
3226
  [(value)]='date'
3220
3227
  (valueChange)='onValueChange($event)'
3228
+ [formControl]="formControl"
3221
3229
  >
3222
3230
  <kendo-datepicker-messages
3223
3231
  [today]="textFor('editorDateInputsToday')"
@@ -3231,6 +3239,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3231
3239
  #datetimepicker
3232
3240
  [(value)]='date'
3233
3241
  (valueChange)='onValueChange($event)'
3242
+ [formControl]="formControl"
3234
3243
  >
3235
3244
  <kendo-datetimepicker-messages
3236
3245
  [toggle]="textFor('editorDateInputsToggle')"
@@ -3251,7 +3260,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3251
3260
  </kendo-datetimepicker>
3252
3261
  `
3253
3262
  }]
3254
- }], ctorParameters: function () { return [{ type: SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
3263
+ }], ctorParameters: function () { return [{ type: i0.Injector }, { type: SchedulerLocalizationService }]; }, propDecorators: { datePicker: [{
3255
3264
  type: ViewChild,
3256
3265
  args: ['datepicker']
3257
3266
  }], dateTimePicker: [{
@@ -3277,7 +3286,8 @@ const TIME_ZONE_VALUE_ACCESSOR = {
3277
3286
  * Used for editing the `start` and `end` timezones of the `SchedulerEvent` objects.
3278
3287
  */
3279
3288
  class TimeZoneEditorComponent {
3280
- constructor() {
3289
+ constructor(injector) {
3290
+ this.injector = injector;
3281
3291
  /**
3282
3292
  * Specifies the width of the ComboBox which contains the names of the timezones.
3283
3293
  * @default 260
@@ -3296,7 +3306,14 @@ class TimeZoneEditorComponent {
3296
3306
  * @hidden
3297
3307
  */
3298
3308
  get focusableId() {
3299
- return this.tzComboBox.focusableId;
3309
+ return this.tzComboBox?.focusableId || this.tzComboBoxControl?.focusableId;
3310
+ }
3311
+ /**
3312
+ * @hidden
3313
+ */
3314
+ get formControl() {
3315
+ const ngControl = this.injector.get(NgControl, null);
3316
+ return ngControl?.control || null;
3300
3317
  }
3301
3318
  /**
3302
3319
  * @hidden
@@ -3324,7 +3341,7 @@ class TimeZoneEditorComponent {
3324
3341
  * @hidden
3325
3342
  */
3326
3343
  focus() {
3327
- this.tzComboBox.focus();
3344
+ this.tzComboBox ? this.tzComboBox.focus() : this.tzComboBoxControl.focus();
3328
3345
  }
3329
3346
  /**
3330
3347
  * @hidden
@@ -3339,11 +3356,12 @@ class TimeZoneEditorComponent {
3339
3356
  this.onTouchedCallback = fn;
3340
3357
  }
3341
3358
  }
3342
- TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3359
+ TimeZoneEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, deps: [{ token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component });
3343
3360
  TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: TimeZoneEditorComponent, selector: "kendo-timezone-editor", inputs: { width: "width" }, outputs: { valueChange: "valueChange" }, providers: [
3344
3361
  TIME_ZONE_VALUE_ACCESSOR
3345
- ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }], ngImport: i0, template: `
3362
+ ], viewQueries: [{ propertyName: "tzComboBox", first: true, predicate: ["tzcombobox"], descendants: true, static: true }, { propertyName: "tzComboBoxControl", first: true, predicate: ["tzcomboboxControl"], descendants: true, static: true }], ngImport: i0, template: `
3346
3363
  <kendo-combobox
3364
+ *ngIf="!formControl"
3347
3365
  #tzcombobox
3348
3366
  [style.width.px]="width"
3349
3367
  [allowCustom]="false"
@@ -3354,7 +3372,20 @@ TimeZoneEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0"
3354
3372
  (filterChange)="onTimeZoneFilterChange($event)"
3355
3373
  (valueChange)="onTimeZoneChange($event)">
3356
3374
  </kendo-combobox>
3357
- `, isInline: true, components: [{ type: i1$3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }] });
3375
+ <kendo-combobox
3376
+ *ngIf="formControl"
3377
+ #tzcomboboxControl
3378
+ [style.width.px]="width"
3379
+ [allowCustom]="false"
3380
+ [data]="tzSource"
3381
+ [filterable]="true"
3382
+ [suggest]="true"
3383
+ [value]="tz"
3384
+ [formControl]="formControl"
3385
+ (filterChange)="onTimeZoneFilterChange($event)"
3386
+ (valueChange)="onTimeZoneChange($event)">
3387
+ </kendo-combobox>
3388
+ `, isInline: true, components: [{ type: i1$3.ComboBoxComponent, selector: "kendo-combobox", inputs: ["icon", "svgIcon", "showStickyHeader", "focusableId", "allowCustom", "data", "value", "textField", "valueField", "valuePrimitive", "valueNormalizer", "placeholder", "adaptiveMode", "title", "subtitle", "popupSettings", "listHeight", "loading", "suggest", "clearButton", "disabled", "itemDisabled", "readonly", "tabindex", "tabIndex", "filterable", "virtual", "size", "rounded", "fillMode"], outputs: ["valueChange", "selectionChange", "filterChange", "open", "opened", "close", "closed", "focus", "blur", "inputFocus", "inputBlur"], exportAs: ["kendoComboBox"] }], directives: [{ type: i11.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i14.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i14.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
3358
3389
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: TimeZoneEditorComponent, decorators: [{
3359
3390
  type: Component,
3360
3391
  args: [{
@@ -3364,6 +3395,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3364
3395
  selector: 'kendo-timezone-editor',
3365
3396
  template: `
3366
3397
  <kendo-combobox
3398
+ *ngIf="!formControl"
3367
3399
  #tzcombobox
3368
3400
  [style.width.px]="width"
3369
3401
  [allowCustom]="false"
@@ -3374,11 +3406,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImpo
3374
3406
  (filterChange)="onTimeZoneFilterChange($event)"
3375
3407
  (valueChange)="onTimeZoneChange($event)">
3376
3408
  </kendo-combobox>
3409
+ <kendo-combobox
3410
+ *ngIf="formControl"
3411
+ #tzcomboboxControl
3412
+ [style.width.px]="width"
3413
+ [allowCustom]="false"
3414
+ [data]="tzSource"
3415
+ [filterable]="true"
3416
+ [suggest]="true"
3417
+ [value]="tz"
3418
+ [formControl]="formControl"
3419
+ (filterChange)="onTimeZoneFilterChange($event)"
3420
+ (valueChange)="onTimeZoneChange($event)">
3421
+ </kendo-combobox>
3377
3422
  `
3378
3423
  }]
3379
- }], ctorParameters: function () { return []; }, propDecorators: { tzComboBox: [{
3424
+ }], ctorParameters: function () { return [{ type: i0.Injector }]; }, propDecorators: { tzComboBox: [{
3380
3425
  type: ViewChild,
3381
3426
  args: ['tzcombobox', { static: true }]
3427
+ }], tzComboBoxControl: [{
3428
+ type: ViewChild,
3429
+ args: ['tzcomboboxControl', { static: true }]
3382
3430
  }], width: [{
3383
3431
  type: Input
3384
3432
  }], valueChange: [{
@@ -16943,7 +16991,7 @@ class ReactiveEditingDirective extends EditingDirectiveBase {
16943
16991
  }
16944
16992
  saveHandler(args) {
16945
16993
  if (this.isFormValid(args)) {
16946
- const formValue = args.formGroup.value;
16994
+ const formValue = args.formGroup.getRawValue();
16947
16995
  if (args.isNew) {
16948
16996
  this.editService.create(formValue);
16949
16997
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@progress/kendo-angular-scheduler",
3
- "version": "15.2.0-develop.7",
3
+ "version": "15.2.0-develop.8",
4
4
  "description": "Kendo UI Scheduler Angular - Outlook or Google-style angular scheduler calendar. Full-featured and customizable embedded scheduling from the creator developers trust for professional UI components.",
5
5
  "license": "SEE LICENSE IN LICENSE.md",
6
6
  "author": "Progress",
@@ -26,22 +26,22 @@
26
26
  "@progress/kendo-data-query": "^1.0.0",
27
27
  "@progress/kendo-drawing": "^1.19.0",
28
28
  "@progress/kendo-licensing": "^1.0.2",
29
- "@progress/kendo-angular-tooltip": "15.2.0-develop.7",
30
- "@progress/kendo-angular-buttons": "15.2.0-develop.7",
31
- "@progress/kendo-angular-common": "15.2.0-develop.7",
32
- "@progress/kendo-angular-dateinputs": "15.2.0-develop.7",
33
- "@progress/kendo-angular-dialog": "15.2.0-develop.7",
34
- "@progress/kendo-angular-dropdowns": "15.2.0-develop.7",
35
- "@progress/kendo-angular-icons": "15.2.0-develop.7",
36
- "@progress/kendo-angular-inputs": "15.2.0-develop.7",
37
- "@progress/kendo-angular-intl": "15.2.0-develop.7",
38
- "@progress/kendo-angular-l10n": "15.2.0-develop.7",
39
- "@progress/kendo-angular-popup": "15.2.0-develop.7",
29
+ "@progress/kendo-angular-tooltip": "15.2.0-develop.8",
30
+ "@progress/kendo-angular-buttons": "15.2.0-develop.8",
31
+ "@progress/kendo-angular-common": "15.2.0-develop.8",
32
+ "@progress/kendo-angular-dateinputs": "15.2.0-develop.8",
33
+ "@progress/kendo-angular-dialog": "15.2.0-develop.8",
34
+ "@progress/kendo-angular-dropdowns": "15.2.0-develop.8",
35
+ "@progress/kendo-angular-icons": "15.2.0-develop.8",
36
+ "@progress/kendo-angular-inputs": "15.2.0-develop.8",
37
+ "@progress/kendo-angular-intl": "15.2.0-develop.8",
38
+ "@progress/kendo-angular-l10n": "15.2.0-develop.8",
39
+ "@progress/kendo-angular-popup": "15.2.0-develop.8",
40
40
  "rxjs": "^6.5.3 || ^7.0.0"
41
41
  },
42
42
  "dependencies": {
43
43
  "tslib": "^2.3.1",
44
- "@progress/kendo-angular-schematics": "15.2.0-develop.7",
44
+ "@progress/kendo-angular-schematics": "15.2.0-develop.8",
45
45
  "@progress/kendo-date-math": "^1.3.2",
46
46
  "@progress/kendo-draggable": "^3.0.2",
47
47
  "@progress/kendo-file-saver": "^1.0.7",
@@ -4,9 +4,9 @@ const schematics_1 = require("@angular-devkit/schematics");
4
4
  function default_1(options) {
5
5
  const finalOptions = Object.assign(Object.assign({}, options), { mainNgModule: 'SchedulerModule', package: 'scheduler', peerDependencies: {
6
6
  // peer dep of the dropdowns
7
- '@progress/kendo-angular-treeview': '15.2.0-develop.7',
7
+ '@progress/kendo-angular-treeview': '15.2.0-develop.8',
8
8
  // peer dependency of kendo-angular-inputs
9
- '@progress/kendo-angular-dialog': '15.2.0-develop.7',
9
+ '@progress/kendo-angular-dialog': '15.2.0-develop.8',
10
10
  // peer dependency of kendo-angular-icons
11
11
  '@progress/kendo-svg-icons': '^2.0.0'
12
12
  } });